WO1999048006A1 - Method and apparatus for camouflaging data - Google Patents

Method and apparatus for camouflaging data Download PDF

Info

Publication number
WO1999048006A1
WO1999048006A1 PCT/SG1998/000023 SG9800023W WO9948006A1 WO 1999048006 A1 WO1999048006 A1 WO 1999048006A1 SG 9800023 W SG9800023 W SG 9800023W WO 9948006 A1 WO9948006 A1 WO 9948006A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
elements
data element
data elements
steganographic encoding
Prior art date
Application number
PCT/SG1998/000023
Other languages
French (fr)
Inventor
Anthony Tung Shuen Ho
Original Assignee
Datamark Technologies Pte Ltd
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 Datamark Technologies Pte Ltd filed Critical Datamark Technologies Pte Ltd
Priority to CA002319601A priority Critical patent/CA2319601A1/en
Priority to JP2000537139A priority patent/JP2002507771A/en
Priority to AU69363/98A priority patent/AU6936398A/en
Priority to PCT/SG1998/000023 priority patent/WO1999048006A1/en
Priority to EP98915102A priority patent/EP1062585A1/en
Publication of WO1999048006A1 publication Critical patent/WO1999048006A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/98Adaptive-dynamic-range coding [ADRC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/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
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3225Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
    • H04N2201/3233Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of authentication information, e.g. digital signature, watermark
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/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
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3225Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
    • H04N2201/3243Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of type information, e.g. handwritten or text document
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/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
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3269Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of machine readable codes or marks, e.g. bar codes or glyphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/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
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3274Storage or retrieval of prestored additional information

Definitions

  • the present invention relates generally to encoding methods, and more particularly to a method and apparatus for steganographic encoding of data.
  • the encoding method is espartially suited to digital camouflaging of audio, still image and video data and it will be convenient to describe the method and associated apparatus in relation to that example application. It should be appreciated, however, that the invention is intended for broader application and use.
  • the encoding method of the present invention may also be used in the field of data encryption.
  • Rhoads discloses methods to impress an identification code on a carrier, such as an electronic data signal or a physical medium, in a manner that permits the identification code to be later discerned and the carrier thereby identified.
  • Sandford and Handel disclose a method of embedding auxiliary information into host data, such as a photograph, television signal, facsimile transmission, or identification card. The method operates by manipulating a noise component of the host data in accordance with the auxiliary information.
  • steganography is intended to denote any of various methods seeking to conceal the existence of a message within some other medium such that any unintended party who intercepts the 2 medium does not know it contains the concealed message and does not therefore obtain the information contained in the message.
  • Digital watermarking is one example of a steganographic method used to embed secondary data, such as text, in primary or host data, such as a digitized image.
  • the word “cryptography” is intended to denote any of various techniques seeking to hide information contained in a message such that when the message is transmitted from a sender to a receiver any third party intercepting the message cannot read it or extract the information contained in the message.
  • the word "camouflaging” is intended to denote a steganographic encoding method which conceals secondary data by utilizing a combination of primary or host data and key data.
  • the encoding method may not actually embed information in the primary data, as in watermarking, but may utilize information elements existing in the primary data.
  • a steganographic encoding method and apparatus which may allow a relatively long string of secondary data (such as text) to be camouflaged in association with primary data (such as image, audio or video data) whilst producing minimal degradation of the primary or host data.
  • the primary data may be absolutely unaltered by the encoding process.
  • many potential consumer, commercial and service applications may benefit from the use of 3 digital camouflaging/watermarking technology, both for copyright protection purposes and for secure transmission of information. These applications include encoding of text containing ownership identification or attribute information associated with digital still or video cameras, copyright protection and royalty tracking of sound recordings in the music industry.
  • Commercial and service sectors may also benefit from secure transmission and reception of sensitive information that could be camouflaged in normal data streams transmitted through an open channel.
  • the present invention provides a method of steganographic encoding including the steps of:
  • the address of the matching first data element may be stored as a key element associated with the second data element.
  • a string of key elements (containing addresses) may be associated with a corresponding string of second data elements.
  • the string of key elements may specify where in the primary data each second data element of the secondary data is to be found.
  • the secondary data may in this context be considered to be camouflaged in the primary data and the key data.
  • Unique key data which is generated for given primary and secondary data may be stored for use in a complementary decoding method which is 4 described below.
  • the primary and secondary data may be represented digitally. However, in its broadest aspects, the invention is applicable to any form of data representation or notation using any convenient set of symbols.
  • the primary data may represent a still image, motion video, audio, text or other type of information.
  • the secondary data may represent a still image, motion video, audio, text or other information.
  • the secondary data includes a text message and each second data element includes an alphanumeric character. The alphanumeric characters may be used to compose the text message.
  • the text message may include copyright information relating to the image, video, audio, etc. contained in the primary data.
  • the text message may include one or more of the following: a title, an artist, a copyright holder, a body to which royalties should be paid, and general terms of publisher distribution.
  • the primary data may include a still image.
  • the first data elements may be arranged in a two-dimensional array wherein each first data element defines a characteristic associated with a still image element.
  • the first data elements are obtained from a stream of data representing a digitised still image.
  • the image may be obtained from a still digital camera, a computer game or other software, or other source. It may be a grayscale or color image, for example, and may be stored in any known format, eg. BMP, GIF, TIFF, or JPEG.
  • the primary data may alternatively or additionally include motion video.
  • the first data elements may be arranged in a three-dimensional array wherein each first data element defines a characteristic associated with a motion video element.
  • the first data elements are obtained from a stream of data representing digitised motion video.
  • the digitised video may be obtained from a Video Compact Disc (VCD) player, a Laser Disc (LD) player, a computer game or other software, a Digital Versatile Disc (DVD) player or other source, and may be stored in any known format, eg. MPEG.
  • the primary data may alternatively or additionally include audio 5 information.
  • the first data elements may be arranged in a one-dimensional array wherein each first data element defines a characteristic associated with a digital audio sample.
  • the digital audio samples are obtained from a stream of data representing digitised sound or music.
  • the digitised sound may be obtained from a Compact Disc (CD) player, Digital Audio Tape (DAT) player, Laser Disc player, Video Compact Disc (VCD) player or other source, and may be stored in any known format eg. WAV, AIFF, etc.
  • the digital audio samples are obtained from two streams of data representing two channels of digitised sound for stereo reproduction.
  • the first and second data elements may be represented by integer values and step (C) may further include: when a match is not found for the content of a second data element;
  • the method may further include:
  • a search is conducted to locate values 104 or 106. If one of these values is found, the address of the first data element containing that value is stored in a key element, and the content of the first data element (104 or 106) is replaced with the value 105. If on the other hand the values 104 or 106 are not found, a 6 search is conducted for values 103 or 107.
  • This modification of the primary data may be considered to be a form of embedding of the secondary data in the primary data, in the watermarking sense, but is only performed in the relatively rare event that a desired integer value is not found in the primary data. It has been found that these rarely occurring changes are imperceptible in the modified primary image, video or audio data.
  • the modified version of the primary data may subsequently be stored for distribution via the internet or other means.
  • the modified primary data contains the secondary data which can be extracted at any future time using the associated key data generated during the encoding process.
  • the encoding method may include "data shifting" steps prior to step (C).
  • the data shifting steps may be required whenever the range for the secondary data does not fall within the range for the primary data. This may occur for example when the primary data is a digitised audio signal and the secondary data is a text message. Similar data shifting steps may be applied to other types of data.
  • the data shifting steps may include: determining a range for the contents of the first data elements, determining a range for the contents of the second data elements, comparing the range for the first data elements with the range for the second data elements, shifting the contents of the second data elements when the range for the second data elements falls outside of the range for the first data elements, such that the range for the second data elements falls substantially within the range for the first data elements, and using the shifted second data elements as the second data elements in step (C).
  • the step of determining a range for the contents of the first data elements includes: calculating a mean and standard deviation for the first data elements; and determining a lower limit for the first data elements based on the mean and standard deviation.
  • the step of determining a range for the contents of the second data elements may include establishing as a reference a minimum 7 value which can be attributed to the range of possible second data elements.
  • the step of comparing may include calculating an offset value by subtracting the reference value from the lower limit, and the step of shifting may include adding the offset value to the contents of each second data element.
  • the offset value is stored with the key elements in the key data.
  • the complementary decoding method should also include steps to reverse the data shifting offset.
  • the offset value may be retrieved from the key data.
  • the present invention has the distinct advantage that long sentences of text may be camouflaged. Even with long text strings, the integrity of the primary data is in most cases not affected or compromised.
  • the primary data may remain absolutely unchanged by the encoding method because the method utilises data already present in the primary data. Even in those cases where specific values contained in the secondary data cannot be found in the primary data, and the primary data is modified to insert those values, the primary data may remain substantially unaltered.
  • the present invention provides a method of steganographic decoding of secondary data including a plurality of second data elements, said secondary data being encoded in key elements in association with primary data, said method including the steps of:
  • the present invention provides an apparatus for steganographic encoding including:
  • (C) means for searching, for each second data element, a first data element which matches content of the second data element
  • (D) means for generating a key element including the address of the matching first data element when a match is found for the content of the second data element.
  • the present invention provides an apparatus for steganographic decoding of secondary data including a plurality of second data elements, said secondary data being encoded in key elements in association with primary data, said apparatus including:
  • A means for providing said primary data containing a plurality of addressable first data elements
  • B means for providing said key elements, each key element including an address of a first data element
  • (C) means for generating a second data element for each key element by extracting the content of the addressed first data element.
  • the method of encoding described above may be applied to cryptography.
  • a hidden message may be transmitted from a sender to a receiver.
  • the message may be encoded in the key elements which are generated by the method in association with the primary data.
  • the message to be hidden in this case corresponds to the second data elements.
  • the hidden message may be decoded by the receiver from the key elements by utilizing the primary data in a complementary decoding method.
  • Figure 1A illustrates a one dimensional data array containing integer values representing a digitised audio signal
  • Figure 1 B illustrates a two dimensional data array containing integer values representing a digital still image
  • Figure 2 illustrates an example of an audio signal
  • Figure 3 illustrates an example of a digital image
  • Figure 4 illustrates a table of the ASCII character set
  • Figure 5 illustrates a typical greyscale histogram for a digital image
  • Figures 6A and 6B illustrate a two dimensional data array of 4 x 8 data elements representing pixels of a greyscale image
  • Figure 7 is a schematic block diagram of a digital camouflaging apparatus according to the present invention.
  • Figure 8 is a pseudocode of the digital camouflaging text encoder
  • Figure 9 is a pseudocode of the digital camouflaging text decoder
  • Figure 10 is a pseudocode of the spatial location program used in the encoding process shown in Figure 8;
  • Figure 11 illustrates an example of digital camouflaging of an alphanumeric text message in an image;
  • Figure 12 illustrates an entire English text paragraph which is camouflaged in the image of Figure 11.
  • Figure 1A illustrates a one dimensional data array containing integer values which may, for example, represent a digital audio signal (speech or music) 10 sampled under a conventional digital sound format.
  • Figure 1B illustrates a two dimensional data array containing integer values which may, for example, represent a digital still image in GIF or JPEG format, or a video frame in MPEG format.
  • Figure 2 illustrates a typical digital sampled audio waveform (music) in
  • FIG. 3 illustrates a typical 8 bit greyscale image of 512 x 512 pixels.
  • Digital camouflaging may be described as analogous to natural camouflaging, where the camouflaged object (for example a leaf, insect or reptile) conceals itself completely into the surrounding environment.
  • digital camouflaging conceals secondary data, such as an alphanumeric text string in integer form, in primary data, such as an image, by locating the spatial positions of integer values that match the text string values.
  • Figure 4 illustrates a table of the ASCII character set.
  • the digits at the left of the table are the left digits of the decimal equivalent (0 - 127) of the character code, and the digits at the top of the table are the right digits of the character code.
  • the character code for "F” is 70
  • the character code for "&" is 38.
  • the commonly used alphanumeric codes for text strings are as follows: 48 to 57 represent the numeric values "0 - 9", 65 to 90 represent the upper case alphabet "A - Z", and
  • 97 to 122 represent the lower case alphabet "a - z".
  • the present invention may be applied to many different data formats for audio, image and video data.
  • a histogram distribution for most natural images, such as human faces or landscapes would span a wide range of greyscale levels. For example, an 8 - bit or 256 grey level image would contain image pixel values between 0 and 255.
  • Figure 5 illustrates a typical image histogram. It can be seen that a wide spread of pixel values is available in the image for exact matching to alphanumeric character codes to be camouflaged. It can also be seen that a large number of pixels at different spatial locations within the image have the same integer value. For example, the value 105 appears in approximately 2500 11 pixels in the image.
  • a search for an exact matching of this character to an image pixel is first performed. Once the pixel value is found, the address of the spatial location of the pixel is stored in a key element. However, more than one pixel containing the same value as the alphanumeric character value is likely to arise. When this occurs, the encoding method will preferably select the first pixel that it finds. The address of this pixel will form an important part of key data that will later be used to decode the camouflaged alphanumeric character text string. Table 1 gives an example of an alphanumeric text string "This is an Example" and the corresponding integer values.
  • Figures 6A and 6B show an example of a two-dimensional data array representing pixel values of a 4 x 8 pixel image.
  • the terms (1 , 1), (1 , 2), (4, 8) 12 are spatial location addresses of the pixels in the image. These addresses are stored as key elements when the alphanumeric character values are matched to pixel values during searching. For example, in the encoding process, the first alphanumeric character "T" with its integer value of 84 (shown in bold in Figure 6A) would match the values of pixels located at (3,1) and (2, 8). The address of the first location (3, 1) will be stored in a corresponding key element for later use in the complementary decoding process.
  • the present invention will perform a new search for an adjusted value that is one pixel off either side of the character value.
  • the address of the pixel containing the adjusted value is then stored as the key element. For example, if the first alphanumeric character of the text string is a "T", with an integer value of 84, when the search of the pixel values does not locate a single value of 84, a new search would commence to locate values 83 or 85. These values correspond to alphanumeric characters of "S" and "U", respectively.
  • the new search when the new search locates a pixel having a value of 83 or 85 it will first check whether that pixel has already been used. If so, and providing that the same pixel values occur at other addresses, the encoding method will select another pixel having the value of 83 or 85. Once such a pixel has been found, the pixel value is overwritten with the character value of 84.
  • a second search commences to locate a pixel value having a new adjusted value, of 2 pixel values off either side of the character value (ie. 82 and 86 in the present example). The matching and overwriting steps are then repeated as before.
  • the complementary decoding process is relatively straight forward as it uses the unique key data generated from the spatial location addresses of pixels that match the alphanumeric characters composing the text string.
  • the unique key data provides the addresses of the spatial locations from which the camouflaged text string may be extracted from the image.
  • the key data is unique to a specific text string and specific image. If the key data is applied to another image, the text string extracted will be just a random sequence of characters.
  • the dynamic range of values of audio samples associated with music or speech may not be as wide as in the case for digital still/video images.
  • the audio integer values may also be in a range that is somewhat different to the range of alphanumeric character values.
  • a slightly different approach is therefore needed for camouflaging of alphanumeric text strings in digital audio data.
  • the present invention may accordingly include an adaptive statistical approach to first determine the dynamic range of the audio samples.
  • the mean ( ⁇ ) and the standard deviation ( ⁇ ) of the audio samples are determined and used to calculate a lower limit of the audio samples.
  • the alphanumeric character set may be adaptively shifted to coincide with the dynamic range of the audio samples.
  • This adaptive statistical approach has proven very robust for embedding alphanumeric text strings into digital audio samples of music and speech.
  • the method steps involved in the adaptive statistical range shifting process are preferably as follows:
  • FIG. 7 there is shown a schematic block diagram of a digital encoding/decoding apparatus according to an embodiment of the present invention.
  • Data samples 10 are encoded with an alphanumeric character string 12 through a data encoding means 14.
  • Encoded data samples 16 and unique key data 18, containing spatial location addresses, are obtained from the data encoding means 14. These two outputs 16, 18 are used in the reverse decoding means 20.
  • the original alphanumeric character string 12 is extracted as 12A from the encoded data samples 16 using the location address contained in the unique key data 18.
  • the encoded data samples 16 remain unchanged or minimally changed as 16A by the decoding means 20.
  • a pseudocode of the digital camouflaging text encoder is shown in Figure 8 and a pseudocode of the digital camouflaging text decoder is shown in Figure 9.
  • a pseudocode of the spatial location program used in the encoding process is shown in Figure 10.
  • the term "unlabelled” is used to refer to the original data and the term “labelled” is used to refer to the encoded data.
  • FIG. 11 An example of the use of the present invention for camouflaging text labels in a digital image is illustrated in Figure 11.
  • a text string containing 83 characters "This example shows an alphanumeric text message camouflaged into the image of Lena.” is camouflaged in the Lena image.
  • the correlation coefficient equals exactly one, indicating that there is no difference between the labelled and unlabelled images.
  • an entire paragraph of English text containing 126 words and 784 characters, as shown in Figure 12 is camouflaged in the same Lena image and, once again, the correlation coefficient is equal to exactly one.
  • camouflaging alphanumeric character text strings into digital data has many potential applications for resolving copyright protection 16 issues in the consumer sector or for secure transmission of messages in the commercial and service sectors.
  • data camouflaging may be incorporated into consumer electronic products, such as digital still/video cameras and, more recently, VCD and DVD players, to authenticate the true ownership of intellectual property rights or product ownership.
  • Another major consumer area for data camouflaging is that of preventing illegal copying and downloading of satellite images, music CD's, and tapes.

Abstract

A method and apparatus for encoding is disclosed. Primary data such as a work in which copyright subsists, is utilized in a steganographic process to encode secondary data, such as ownership or copyright information. The primary data contains a plurality of addressable first data elements and the secondary data contains a plurality of second data elements. The method includes searching for first data elements which match the contents of the second data elements. When a matching first data element is found a key element including the address of the matching first data element is generated. In one embodiment the method may be used for camouflaging a text message such as copyright information in primary data, such as audio, an image or video data. In another embodiment the method may be used to encrypt data for secure transmission of messages. Complementary decoding methods and apparatus are also disclosed.

Description

1
METHOD AND APPARATUS FOR CAMOUFLAGING DATA
Fi lri of the Invention
The present invention relates generally to encoding methods, and more particularly to a method and apparatus for steganographic encoding of data.
The encoding method is espartially suited to digital camouflaging of audio, still image and video data and it will be convenient to describe the method and associated apparatus in relation to that example application. It should be appreciated, however, that the invention is intended for broader application and use. For example, the encoding method of the present invention may also be used in the field of data encryption.
Background of the Invention
The tremendous growth in multimedia products and services provided via the internet has led to the need for copyright authentication and for protecting data integrity. In the past few years, a number of digital watermarking techniques have been developed for the purpose of resolving legal use issues associated with copyright information on the internet.
A number of digital watermarking techniques have recently been patented. Examples of these include US Patent 5,636,292 to Rhoads (1997) and US Patent 5,659,726 to Sandford and Handel (1997). Rhoads discloses methods to impress an identification code on a carrier, such as an electronic data signal or a physical medium, in a manner that permits the identification code to be later discerned and the carrier thereby identified. Sandford and Handel disclose a method of embedding auxiliary information into host data, such as a photograph, television signal, facsimile transmission, or identification card. The method operates by manipulating a noise component of the host data in accordance with the auxiliary information.
Throughout this specification the word "steganography" is intended to denote any of various methods seeking to conceal the existence of a message within some other medium such that any unintended party who intercepts the 2 medium does not know it contains the concealed message and does not therefore obtain the information contained in the message. Digital watermarking is one example of a steganographic method used to embed secondary data, such as text, in primary or host data, such as a digitized image. The word "cryptography" is intended to denote any of various techniques seeking to hide information contained in a message such that when the message is transmitted from a sender to a receiver any third party intercepting the message cannot read it or extract the information contained in the message.
In the present context, the word "camouflaging" is intended to denote a steganographic encoding method which conceals secondary data by utilizing a combination of primary or host data and key data. The encoding method may not actually embed information in the primary data, as in watermarking, but may utilize information elements existing in the primary data.
Many prior art digital watermarking techniques, including the techniques disclosed in the above US patents, are only able to conceal limited information, such as a few logical bits (ie. "1" and "0") or a few characters (eg. "A12"), in the host data. However, to record detailed ownership information for a host work in which copyright subsists, such as an image of Singapore, an entire message or sentence may need to be concealed in, or associated with, the host data. For example, the sentence "Digital image of Singapore is the property of Mr John Tan, dated 16 December 1997" may provide more conclusive proof as to true ownership of the host work than having to rely on just a simple code to assess copyright infringement.
There therefore remains a need for a steganographic encoding method and apparatus which may allow a relatively long string of secondary data (such as text) to be camouflaged in association with primary data (such as image, audio or video data) whilst producing minimal degradation of the primary or host data. In some embodiments, the primary data may be absolutely unaltered by the encoding process. Besides the above mentioned application on the internet, many potential consumer, commercial and service applications may benefit from the use of 3 digital camouflaging/watermarking technology, both for copyright protection purposes and for secure transmission of information. These applications include encoding of text containing ownership identification or attribute information associated with digital still or video cameras, copyright protection and royalty tracking of sound recordings in the music industry. Commercial and service sectors may also benefit from secure transmission and reception of sensitive information that could be camouflaged in normal data streams transmitted through an open channel.
Summary of the Invention
In one aspect, the present invention provides a method of steganographic encoding including the steps of:
(A) providing primary data containing a plurality of addressable first data elements; (B) providing secondary data containing a plurality of second data elements; and
(C) for each second data element:
(C1) searching for a first data element which matches content of the second data element, and (C2) generating a key element including the address of the matching first data element when a match is found for the content of the second data element.
When a match is found for the content of the second data element, the address of the matching first data element may be stored as a key element associated with the second data element. A string of key elements (containing addresses) may be associated with a corresponding string of second data elements. The string of key elements may specify where in the primary data each second data element of the secondary data is to be found. The secondary data may in this context be considered to be camouflaged in the primary data and the key data. Unique key data which is generated for given primary and secondary data may be stored for use in a complementary decoding method which is 4 described below.
The primary and secondary data may be represented digitally. However, in its broadest aspects, the invention is applicable to any form of data representation or notation using any convenient set of symbols. The primary data may represent a still image, motion video, audio, text or other type of information. Likewise, the secondary data may represent a still image, motion video, audio, text or other information. In a preferred form of the invention, the secondary data includes a text message and each second data element includes an alphanumeric character. The alphanumeric characters may be used to compose the text message.
In a typical application of the invention the text message may include copyright information relating to the image, video, audio, etc. contained in the primary data. In one embodiment, the text message may include one or more of the following: a title, an artist, a copyright holder, a body to which royalties should be paid, and general terms of publisher distribution.
The primary data may include a still image. The first data elements may be arranged in a two-dimensional array wherein each first data element defines a characteristic associated with a still image element. Typically, the first data elements are obtained from a stream of data representing a digitised still image. The image may be obtained from a still digital camera, a computer game or other software, or other source. It may be a grayscale or color image, for example, and may be stored in any known format, eg. BMP, GIF, TIFF, or JPEG.
The primary data may alternatively or additionally include motion video. The first data elements may be arranged in a three-dimensional array wherein each first data element defines a characteristic associated with a motion video element. Typically, the first data elements are obtained from a stream of data representing digitised motion video. The digitised video may be obtained from a Video Compact Disc (VCD) player, a Laser Disc (LD) player, a computer game or other software, a Digital Versatile Disc (DVD) player or other source, and may be stored in any known format, eg. MPEG.
The primary data may alternatively or additionally include audio 5 information. The first data elements may be arranged in a one-dimensional array wherein each first data element defines a characteristic associated with a digital audio sample. Typically, the digital audio samples are obtained from a stream of data representing digitised sound or music. The digitised sound may be obtained from a Compact Disc (CD) player, Digital Audio Tape (DAT) player, Laser Disc player, Video Compact Disc (VCD) player or other source, and may be stored in any known format eg. WAV, AIFF, etc.. In one embodiment, the digital audio samples are obtained from two streams of data representing two channels of digitised sound for stereo reproduction. In the encoding method described above, the first and second data elements may be represented by integer values and step (C) may further include: when a match is not found for the content of a second data element;
(C3) producing an adjusted second data element by incrementing or decrementing the integer value of the second data element, (C4) searching for a first data element which matches the integer value of the adjusted second data element, and
(C5) generating a key element including the address of the matching first data element when a match is found for the adjusted second data element, and replacing the content of the matching first data element with the integer value of the second data element prior to producing the adjusted second data element.
When a match is not found for the adjusted second data element the method may further include:
(C6) producing a new adjusted second data element by incrementing or decrementing the adjusted second data element and repeating steps (C4) and (C5) for the new adjusted second data element.
For example, if a desired integer value, say, 105 is not found in the primary data, a search is conducted to locate values 104 or 106. If one of these values is found, the address of the first data element containing that value is stored in a key element, and the content of the first data element (104 or 106) is replaced with the value 105. If on the other hand the values 104 or 106 are not found, a 6 search is conducted for values 103 or 107. This modification of the primary data may be considered to be a form of embedding of the secondary data in the primary data, in the watermarking sense, but is only performed in the relatively rare event that a desired integer value is not found in the primary data. It has been found that these rarely occurring changes are imperceptible in the modified primary image, video or audio data.
The modified version of the primary data may subsequently be stored for distribution via the internet or other means. The modified primary data contains the secondary data which can be extracted at any future time using the associated key data generated during the encoding process.
The encoding method may include "data shifting" steps prior to step (C). The data shifting steps may be required whenever the range for the secondary data does not fall within the range for the primary data. This may occur for example when the primary data is a digitised audio signal and the secondary data is a text message. Similar data shifting steps may be applied to other types of data. The data shifting steps may include: determining a range for the contents of the first data elements, determining a range for the contents of the second data elements, comparing the range for the first data elements with the range for the second data elements, shifting the contents of the second data elements when the range for the second data elements falls outside of the range for the first data elements, such that the range for the second data elements falls substantially within the range for the first data elements, and using the shifted second data elements as the second data elements in step (C).
Preferably, the step of determining a range for the contents of the first data elements includes: calculating a mean and standard deviation for the first data elements; and determining a lower limit for the first data elements based on the mean and standard deviation. The step of determining a range for the contents of the second data elements may include establishing as a reference a minimum 7 value which can be attributed to the range of possible second data elements. The step of comparing may include calculating an offset value by subtracting the reference value from the lower limit, and the step of shifting may include adding the offset value to the contents of each second data element. Preferably the offset value is stored with the key elements in the key data.
It will be appreciated that when a data shifting offset is applied to the secondary data by the encoding method, the complementary decoding method should also include steps to reverse the data shifting offset. The offset value may be retrieved from the key data. Compared to existing steganographic or watermarking techniques the present invention has the distinct advantage that long sentences of text may be camouflaged. Even with long text strings, the integrity of the primary data is in most cases not affected or compromised. The primary data may remain absolutely unchanged by the encoding method because the method utilises data already present in the primary data. Even in those cases where specific values contained in the secondary data cannot be found in the primary data, and the primary data is modified to insert those values, the primary data may remain substantially unaltered.
In another aspect, the present invention provides a method of steganographic decoding of secondary data including a plurality of second data elements, said secondary data being encoded in key elements in association with primary data, said method including the steps of:
(A) providing said primary data containing a plurality of addressable first data elements; (B) providing said key elements, each key element including an address of a first data element; and
(C) for each key element, generating a said second data element by extracting the content of the addressed first data element.
In a further aspect, the present invention provides an apparatus for steganographic encoding including:
(A) means for providing primary data containing a plurality of 8 addressable first data elements;
(B) means for providing secondary data containing a plurality of second data elements;
(C) means for searching, for each second data element, a first data element which matches content of the second data element, and
(D) means for generating a key element including the address of the matching first data element when a match is found for the content of the second data element.
In a still further aspect, the present invention provides an apparatus for steganographic decoding of secondary data including a plurality of second data elements, said secondary data being encoded in key elements in association with primary data, said apparatus including:
(A) means for providing said primary data containing a plurality of addressable first data elements; (B) means for providing said key elements, each key element including an address of a first data element; and
(C) means for generating a second data element for each key element by extracting the content of the addressed first data element.
In a still further aspect of the present invention the method of encoding described above may be applied to cryptography. In applications involving cryptographic encoding a hidden message may be transmitted from a sender to a receiver. The message may be encoded in the key elements which are generated by the method in association with the primary data. The message to be hidden in this case corresponds to the second data elements. The hidden message may be decoded by the receiver from the key elements by utilizing the primary data in a complementary decoding method.
Brief Description of the Drawings
The accompanying drawings, which are incorporated into and constitute part of the description of the invention, illustrate embodiments of the invention and serve to explain the principles thereof. It is to be understood, however, that 9 the drawings and following detailed description are given for the purposes of illustration only and are not intended as a definition of the limits of the invention.
In the drawings:
Figure 1A illustrates a one dimensional data array containing integer values representing a digitised audio signal;
Figure 1 B illustrates a two dimensional data array containing integer values representing a digital still image;
Figure 2 illustrates an example of an audio signal;
Figure 3 illustrates an example of a digital image; Figure 4 illustrates a table of the ASCII character set;
Figure 5 illustrates a typical greyscale histogram for a digital image;
Figures 6A and 6B illustrate a two dimensional data array of 4 x 8 data elements representing pixels of a greyscale image;
Figure 7 is a schematic block diagram of a digital camouflaging apparatus according to the present invention;
Figure 8 is a pseudocode of the digital camouflaging text encoder;
Figure 9 is a pseudocode of the digital camouflaging text decoder;
Figure 10 is a pseudocode of the spatial location program used in the encoding process shown in Figure 8; Figure 11 illustrates an example of digital camouflaging of an alphanumeric text message in an image; and
Figure 12 illustrates an entire English text paragraph which is camouflaged in the image of Figure 11.
Description of Preferred Embodiments
In a preferred embodiment of the present invention, involving digital camouflaging, the invention exploits the data values present in various digital formats, such as for audio, image and video, for encoding and decoding of alphanumeric character strings. Figure 1A illustrates a one dimensional data array containing integer values which may, for example, represent a digital audio signal (speech or music) 10 sampled under a conventional digital sound format.
Figure 1B illustrates a two dimensional data array containing integer values which may, for example, represent a digital still image in GIF or JPEG format, or a video frame in MPEG format. Figure 2 illustrates a typical digital sampled audio waveform (music) in
WAV format, with amplitude (vertical axis) plotted against time (horizontal axis). Figure 3 illustrates a typical 8 bit greyscale image of 512 x 512 pixels. Digital camouflaging may be described as analogous to natural camouflaging, where the camouflaged object (for example a leaf, insect or reptile) conceals itself completely into the surrounding environment. In the present invention, digital camouflaging conceals secondary data, such as an alphanumeric text string in integer form, in primary data, such as an image, by locating the spatial positions of integer values that match the text string values.
Figure 4 illustrates a table of the ASCII character set. The digits at the left of the table are the left digits of the decimal equivalent (0 - 127) of the character code, and the digits at the top of the table are the right digits of the character code. For example, the character code for "F" is 70, and the character code for "&" is 38. The commonly used alphanumeric codes for text strings are as follows: 48 to 57 represent the numeric values "0 - 9", 65 to 90 represent the upper case alphabet "A - Z", and
97 to 122 represent the lower case alphabet "a - z". The present invention may be applied to many different data formats for audio, image and video data. In the case of digital image and video camouflaging, a histogram distribution for most natural images, such as human faces or landscapes, would span a wide range of greyscale levels. For example, an 8 - bit or 256 grey level image would contain image pixel values between 0 and 255. Figure 5 illustrates a typical image histogram. It can be seen that a wide spread of pixel values is available in the image for exact matching to alphanumeric character codes to be camouflaged. It can also be seen that a large number of pixels at different spatial locations within the image have the same integer value. For example, the value 105 appears in approximately 2500 11 pixels in the image.
For each alphanumeric character of a text string to be encoded in an image, a search for an exact matching of this character to an image pixel is first performed. Once the pixel value is found, the address of the spatial location of the pixel is stored in a key element. However, more than one pixel containing the same value as the alphanumeric character value is likely to arise. When this occurs, the encoding method will preferably select the first pixel that it finds. The address of this pixel will form an important part of key data that will later be used to decode the camouflaged alphanumeric character text string. Table 1 gives an example of an alphanumeric text string "This is an Example" and the corresponding integer values.
TABLE 1
Alphanumeric Character Inteαer Value
T 84 h 104 i 105 s 115 space 32 i 105 s 115 space 32 a 97 n 110 space 32
E 69
X 120 a 97 m 109
P 112
I 108
Figure imgf000013_0001
e 101
Thus, "This is an Example" is equivalent to the data array [84 104 105 115
32 105 115 32 97 110 32 69 120 97 109 112 108 101].
Figures 6A and 6B show an example of a two-dimensional data array representing pixel values of a 4 x 8 pixel image. The terms (1 , 1), (1 , 2), (4, 8) 12 are spatial location addresses of the pixels in the image. These addresses are stored as key elements when the alphanumeric character values are matched to pixel values during searching. For example, in the encoding process, the first alphanumeric character "T" with its integer value of 84 (shown in bold in Figure 6A) would match the values of pixels located at (3,1) and (2, 8). The address of the first location (3, 1) will be stored in a corresponding key element for later use in the complementary decoding process.
There are some instances, however, where after searching through all the pixel values in an image, a particular alphanumeric character value does not result in an exact match to its value. In these instances, the present invention will perform a new search for an adjusted value that is one pixel off either side of the character value. The address of the pixel containing the adjusted value is then stored as the key element. For example, if the first alphanumeric character of the text string is a "T", with an integer value of 84, when the search of the pixel values does not locate a single value of 84, a new search would commence to locate values 83 or 85. These values correspond to alphanumeric characters of "S" and "U", respectively.
In one embodiment, when the new search locates a pixel having a value of 83 or 85 it will first check whether that pixel has already been used. If so, and providing that the same pixel values occur at other addresses, the encoding method will select another pixel having the value of 83 or 85. Once such a pixel has been found, the pixel value is overwritten with the character value of 84.
If the adjusted value, being one pixel value off either side of the character value, cannot be found, then a second search commences to locate a pixel value having a new adjusted value, of 2 pixel values off either side of the character value (ie. 82 and 86 in the present example). The matching and overwriting steps are then repeated as before.
Referred to Figure 6B, and using the same example of alphanumeric text and image pixel values as in Figure 6A, the third and sixth alphanumeric characters "i", which correspond to the value 105, will not. find an exact match after searching the (4 x 8) image, as there is no such value existing. In this case, 13 the encoding method will search for a value that is an increment or decrement to that value.
The method steps involved in "off-pixel" searching and overwriting are as follows: 1. Search for character value of 105 ("i") in image.
2. None found.
3. Increment or decrement value to 104 or 106.
4. None found for 106.
5. Two pixels found having value 104 (shown in bold in Figure 6B). 6. Check whether pixel has been used previously.
7. If yes, store second pixel spatial location address; overwrite pixel value in image with character value 105.
8. If no, store first pixel spatial location address; overwrite pixel value in image with character value 105. Most natural images contain pixel values spanning over a wide range, thus allowing almost all alphanumeric character values to be exactly matched. After many tests with different natural images it has been found that the maximum number of off-pixel searches required is generally less than + 3 pixel values. Correlation analysis preformed on the same image before and after data camouflaging using the present invention indicates that the images are often exactly identical. Even when there is no exact match of the pixel values to the alphanumeric character values, the minute change caused by overwriting just a few pixels in the image, for example from 104 to 105, has an insignificant degrading affect on image quality. Under these conditions, the correlation coefficient between the two images still results, for all practical cases, in a value of substantially one.
The complementary decoding process is relatively straight forward as it uses the unique key data generated from the spatial location addresses of pixels that match the alphanumeric characters composing the text string. The unique key data provides the addresses of the spatial locations from which the camouflaged text string may be extracted from the image. 14
The key data is unique to a specific text string and specific image. If the key data is applied to another image, the text string extracted will be just a random sequence of characters.
For digital audio camouflaging, the dynamic range of values of audio samples associated with music or speech may not be as wide as in the case for digital still/video images. The audio integer values may also be in a range that is somewhat different to the range of alphanumeric character values. A slightly different approach is therefore needed for camouflaging of alphanumeric text strings in digital audio data. The present invention may accordingly include an adaptive statistical approach to first determine the dynamic range of the audio samples. The mean (μ) and the standard deviation (σ) of the audio samples are determined and used to calculate a lower limit of the audio samples. For example, using the alphanumeric character code for "A", which corresponds to an integer value of 65, as a reference, the alphanumeric character set may be adaptively shifted to coincide with the dynamic range of the audio samples. This adaptive statistical approach has proven very robust for embedding alphanumeric text strings into digital audio samples of music and speech. The method steps involved in the adaptive statistical range shifting process are preferably as follows:
Encoding
1. Store integer value of alphanumeric reference character, eg. 65 for "A".
2. Determine mean and standard deviation of audio samples.
3. Calculate lower limit of audio sample range, eg. by subtracting three times the standard deviation from the mean (ie. μ - 3σ).
4. Obtain "data shifting offset" by subtracting reference character value from the lower limit of the audio sample range.
5. Add data shifting offset to each alphanumeric character.
6. Perform search, key element generation and overwriting steps as described above in relation to image example.
7. Generate unique key data from key elements. 15
Decoding
8. Extract audio sample values based on locations addressed in key elements of unique key data.
9. Reverse data shifting process, by subtracting data shifting offset from values extracted, to obtain alphanumeric character values.
Referring now to Figure 7, there is shown a schematic block diagram of a digital encoding/decoding apparatus according to an embodiment of the present invention. Data samples 10 are encoded with an alphanumeric character string 12 through a data encoding means 14. Encoded data samples 16 and unique key data 18, containing spatial location addresses, are obtained from the data encoding means 14. These two outputs 16, 18 are used in the reverse decoding means 20. The original alphanumeric character string 12 is extracted as 12A from the encoded data samples 16 using the location address contained in the unique key data 18. The encoded data samples 16 remain unchanged or minimally changed as 16A by the decoding means 20.
A pseudocode of the digital camouflaging text encoder is shown in Figure 8 and a pseudocode of the digital camouflaging text decoder is shown in Figure 9. A pseudocode of the spatial location program used in the encoding process is shown in Figure 10. In these figures the term "unlabelled" is used to refer to the original data and the term "labelled" is used to refer to the encoded data.
An example of the use of the present invention for camouflaging text labels in a digital image is illustrated in Figure 11. A text string containing 83 characters "This example shows an alphanumeric text message camouflaged into the image of Lena." is camouflaged in the Lena image. The correlation coefficient equals exactly one, indicating that there is no difference between the labelled and unlabelled images. Moreover, an entire paragraph of English text containing 126 words and 784 characters, as shown in Figure 12, is camouflaged in the same Lena image and, once again, the correlation coefficient is equal to exactly one. The present invention of camouflaging alphanumeric character text strings into digital data has many potential applications for resolving copyright protection 16 issues in the consumer sector or for secure transmission of messages in the commercial and service sectors. For example, data camouflaging may be incorporated into consumer electronic products, such as digital still/video cameras and, more recently, VCD and DVD players, to authenticate the true ownership of intellectual property rights or product ownership. Another major consumer area for data camouflaging is that of preventing illegal copying and downloading of satellite images, music CD's, and tapes.
In the commercial sector, copyright protection of multimedia data on the Internet needs also to be monitored closely, as there is a tremendous amount of original data, in the form of music, image and video, illegally downloaded and redistributed without the consent of the true owners. The present invention can be used to address this problem, as well as providing for the secure transmission of messages in commercial and other operations. Similarly, in the service sector such as security and banking, secret text messages can be camouflaged in an ordinary image or speech for secure transmission.
Those skilled in the art would appreciate that various adaptations and modifications of the just described preferred embodiments may be configured without departing from the scope and spirit of the invention. Therefore, it is to be understood that, within the scope of the appended claims, the invention may be practiced other than as specifically described herein.

Claims

17CLAIMS
1. A method of steganographic encoding including the steps of:
(A) providing primary data containing a plurality of addressable first data elements;
(B) providing secondary data containing a plurality of second data elements; and
(C) for each second data element:
(C1) searching for a first data element which matches content of the second data element, and
(C2) generating a key element including the address of the matching first data element when a match is found for the content of the second data element.
2. A method of steganographic encoding as defined in claim 1 wherein the first and second data elements are represented by integer values and wherein step (C) further includes: when a match is not found for the content of a second data element;
(C3) producing an adjusted second data element by incrementing or decrementing the integer value of the second data element,
(C4) searching for a first data element which matches the integer value of the adjusted second data element, and
(C5) generating a key element including the address of the matching first data element when a match is found for the adjusted second data element, and replacing the content of the matching first data element with the integer value of the second data element prior to producing the adjusted second data element.
3. A method of steganographic encoding as defined in claim 2 wherein step (C) further includes: when a match is not found for the content of the adjusted second 18 data element;
(C6) producing a new adjusted second data element by incrementing or decrementing the adjusted second data element and repeating steps (C4) and (C5) for the new adjusted second data element.
4. A method of steganographic encoding as defined in claim 1 wherein, prior to step (C) the method includes: determining a range for the contents of the first data elements, determining a range for the contents of the second data elements, comparing the range for the first data elements with the range for the second data elements, shifting the contents of the second data elements when the range for the second data elements falls outside of the range for the first data elements, such that the range for the second data elements falls substantially within the range for the first data elements, and using the shifted second data elements as the second data elements in step (C).
5. A method of steganographic encoding as defined in claim 4 wherein the step of determining a range for the contents of the first data elements includes: calculating a mean and standard deviation for the first data elements; and determining a lower limit for the first data elements based on the mean and standard deviation.
6. A method of steganographic encoding as defined in claim 4 wherein the step of determining a range for the contents of the second data elements includes: establishing as a reference a minimum value which can be attributed to the range of possible second data elements.
A method of steganographic encoding as defined in claim 6 wherein the 19 step of comparing includes calculating an offset value by subtracting the reference value from the lower limit.
8. A method of steganographic encoding as defined in claim 7 wherein the step of shifting includes adding the offset value to the contents of each second data element.
9. A method of steganographic encoding as defined in claim 1 , further including storing the key elements.
10. A method of steganographic encoding as defined in claim 7 further including storing the offset value with the key elements.
11. A method of steganographic encoding as defined in claim 1 wherein: step (A) includes providing a digital representation of the content of each first data element, step (B) includes providing a digital representation of the content of each second data element, and step (C1) includes comparing values of the digital representations of the first and second data elements.
12. A method of steganographic encoding as defined in claim 1 wherein the secondary data includes a text message and each second data element includes an alphanumeric character.
13. A method of steganographic encoding as defined in claim 12 wherein the text message includes one or more of the following: a title, an artist, a copyright holder, a body to which royalties should be paid, and 20 general terms for publisher distribution.
14. A method of steganographic encoding as defined in claim 2 further including storing the primary data or modified primary data produced by step (C5).
15. A method of steganographic encoding as defined in claim 1 wherein the primary data includes first data elements arranged in a two-dimensional array wherein each first data element defines a characteristic associated with a still image element.
16. A method of steganographic encoding as defined in claim 15 wherein the first data elements are obtained from a stream of data representing a digitised still image.
17. A method of steganographic encoding as defined in claim 16 wherein the digitised still image is obtained from a still digital camera.
18. A method of steganographic encoding as defined in claim 16 wherein the digitised still image is obtained from a computer game or other software.
19. A method of steganographic encoding as defined in claim 1 wherein the primary data includes first data elements arranged in a three-dimensional array wherein each first data element defines a characteristic associated with a motion video element.
20. A method of steganographic encoding as defined in claim 19 wherein the first data elements are obtained from a stream of data representing digitised motion video.
21. A method of steganographic encoding as defined in claim 20 wherein the digitised video is obtained from a Video Compact Disc player. 21
22. A method of steganographic encoding as defined in claim 20 wherein the digitised video is obtained from a Laser Disc player.
23. A method of steganographic encoding as defined in claim 20 wherein the digitised video is obtained from a digitised movie contained within a computer game or other software.
24. A method of steganographic encoding as defined in claim 20 wherein the digitised video is obtained from a Digital Versatile Disc player.
25. A method of steganographic encoding as defined in claim 1 wherein the primary data includes first data elements arranged in a one-dimensional array wherein each first data element defines a characteristic associated with a digital audio sample.
26. A method of steganographic encoding as defined in claim 25 wherein the digital audio samples are obtained from a stream of data representing digitised sound or music.
27. A method of steganographic encoding as defined in claim 25 wherein the digital audio samples are obtained from two streams of data representing two channels of digitised sound for stereo reproduction.
28. A method of steganographic encoding as defined in claim 25 wherein the digitised sound or music is obtained from a Compact Disc player.
29. A method of steganographic encoding as defined in claim 25 wherein the digitised sound or music is obtained from a Digital Audio Tape player.
30. A method of steganographic encoding as defined in claim 25 wherein the 22 digitised sound or music is obtained from a Laser Disc player.
31. A method of steganographic encoding as defined in claim 25 wherein the digitised sound or music is obtained from a Video Compact Disc player.
32. A method of steganographic encoding as defined in claim 1 wherein the number of first data elements is greater than the number of second data elements.
33. A method of steganographic encoding as defined in claim 1 wherein the address of each first data element is used only once for generating the key elements, whereby second data elements having equal contents are matched to first data elements having different addresses.
34. A method of steganographic decoding of secondary data including a plurality of second data elements, said secondary data being encoded in key elements in association with primary data, said method including the steps of:
(A) providing said primary data containing a plurality of addressable first data elements; (B) providing said key elements, each key element including an address of a first data element; and
(C) for each key element, generating a said second data element by extracting the content of the addressed first data element.
35. A method of steganographic decoding as defined in claim 34 wherein the contents of the second data elements are shifted by an offset value further including:
(D) providing said offset value, and
(E) subtracting the offset value from the contents of the second data elements. 23
36. A method of steganographic decoding as defined in claim 34 wherein each second data element includes an alphanumeric character.
37. An apparatus for steganographic encoding including: (A) means for providing primary data containing a plurality of addressable first data elements;
(B) means for providing secondary data containing a plurality of second data elements;
(C) means for searching, for each second data element, a first data element which matches content of the second data element, and
(D) means for generating a key element including the address of the matching first data element when a match is found for the content of the second data element.
38. An apparatus for steganographic encoding as defined in claim 37 wherein the first and second data elements are represented by integer values, said apparatus further including:
(E) means for producing an adjusted second data element by incrementing or decrementing the integer value of the second data element when a match is not found for the content of a secondary data element,
(F) means for searching for a first data element which matches the integer value of the adjusted second data element,
(G) means for generating a key element including the address of the matching first data element when a match is found for the adjusted second data element, and
(H) means for replacing the content of the matching first data element with the integer value of the second data element prior to producing the adjusted second data element.
39. An apparatus for steganographic encoding as defined in claim 37 further including, means for producing a new adjusted data element by incrementing or 24 decrementing the adjusted second data element when a match is not found for the adjusted second data element.
40. An apparatus for steganographic encoding as defined in claim 37 further including: means for determining a range for the contents of the first data elements, means for determining a range for the contents of the second data elements, means for comparing the range for the first data elements with the range for the second data elements, means for shifting the contents of the second data elements when the range for the second data elements falls outside of the range for the first data elements, such that the range for the second data elements falls substantially within the range for the first data elements, and means for using the shifted second data elements as the second data elements.
41. An apparatus for steganographic decoding of secondary data including a plurality of second data elements, said secondary data being encoded in key elements in association with primary data, said apparatus including:
(A) means for providing said primary data containing a plurality of addressable first data elements;
(B) means for providing said key elements, each key element including an address of a first data element; and (C) means for generating a second data element for each key element by extracting the content of the addressed first data element.
42. A method of cryptographic encoding including the steps of:
(A) providing primary data containing a plurality of addressable first data elements;
(B) providing secondary data containing a plurality of second data 25 elements; and
(C) for each second data element:
(C1) searching for a first data element which matches content of the second data element, and (C2) generating a key element including the address of the matching first data element when a match is found for the content of the second data element.
43. A method of cryptographic decoding of secondary data including a plurality of second data elements, said secondary data being encoded in key elements in association with primary data, said method including the steps of:
(A) providing said primary data containing a plurality of addressable first data elements;
(B) providing said key elements, each key element including an address of a first data element; and
(C) for each key element, generating a second data element by extracting the content of the addressed first data element.
44. An apparatus for cryptographic encoding including: (A) means for providing primary data containing a plurality of addressable first data elements;
(B) means for providing secondary data containing a plurality of second data elements;
(C) means for searching for each second data element a first data element which matches content of the second data element, and
(D) means for generating a key element including the address of the matching first data element when a match is found for the content of the second data element.
45. An apparatus for cryptographic decoding of secondary data including a plurality of second data elements, said secondary data being encoded in key 26 elements in association with primary data, said apparatus including:
(A) means for providing said primary data containing a plurality of addressable first data elements;
(B) means for providing said key elements, each key element including an address of a first data element; and
(C) means for generating a second data element for each key element by extracting the content of the addressed first data element.
PCT/SG1998/000023 1998-03-18 1998-03-18 Method and apparatus for camouflaging data WO1999048006A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CA002319601A CA2319601A1 (en) 1998-03-18 1998-03-18 Method and apparatus for camouflaging data
JP2000537139A JP2002507771A (en) 1998-03-18 1998-03-18 Method and apparatus for data spoofing
AU69363/98A AU6936398A (en) 1998-03-18 1998-03-18 Method and apparatus for camouflaging data
PCT/SG1998/000023 WO1999048006A1 (en) 1998-03-18 1998-03-18 Method and apparatus for camouflaging data
EP98915102A EP1062585A1 (en) 1998-03-18 1998-03-18 Method and apparatus for camouflaging data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SG1998/000023 WO1999048006A1 (en) 1998-03-18 1998-03-18 Method and apparatus for camouflaging data

Publications (1)

Publication Number Publication Date
WO1999048006A1 true WO1999048006A1 (en) 1999-09-23

Family

ID=20429845

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SG1998/000023 WO1999048006A1 (en) 1998-03-18 1998-03-18 Method and apparatus for camouflaging data

Country Status (5)

Country Link
EP (1) EP1062585A1 (en)
JP (1) JP2002507771A (en)
AU (1) AU6936398A (en)
CA (1) CA2319601A1 (en)
WO (1) WO1999048006A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002084515A1 (en) * 2001-04-12 2002-10-24 Copyseal Pty Ltd System and method for preventing unauthorized copying of electronic documents
US9727748B1 (en) * 2011-05-03 2017-08-08 Open Invention Network Llc Apparatus, method, and computer program for providing document security

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5532473B2 (en) * 2009-07-29 2014-06-25 谷電機工業株式会社 Address color system, encoding method and decoding method using color photographic image, and encryption method
CN112445539A (en) * 2019-09-02 2021-03-05 珠海市魅族科技有限公司 Method, device, electronic equipment and storage medium for identifying disguised music playing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997026732A1 (en) * 1996-01-17 1997-07-24 The Dice Company Method for stega-cipher protection of computer code
WO1997043761A2 (en) * 1996-05-15 1997-11-20 Intertrust Technologies Corp. Cryptographic methods, apparatus and systems for storage media electronic rights management in closed and connected appliances

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997026732A1 (en) * 1996-01-17 1997-07-24 The Dice Company Method for stega-cipher protection of computer code
WO1997043761A2 (en) * 1996-05-15 1997-11-20 Intertrust Technologies Corp. Cryptographic methods, apparatus and systems for storage media electronic rights management in closed and connected appliances

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002084515A1 (en) * 2001-04-12 2002-10-24 Copyseal Pty Ltd System and method for preventing unauthorized copying of electronic documents
US9727748B1 (en) * 2011-05-03 2017-08-08 Open Invention Network Llc Apparatus, method, and computer program for providing document security

Also Published As

Publication number Publication date
AU6936398A (en) 1999-10-11
JP2002507771A (en) 2002-03-12
EP1062585A1 (en) 2000-12-27
CA2319601A1 (en) 1999-09-23

Similar Documents

Publication Publication Date Title
Cox et al. A review of watermarking principles and practices 1
US6983057B1 (en) Methods for embedding image, audio and video watermarks in digital data
Xu et al. Applications of digital watermarking technology in audio signals
EP1256086B1 (en) Methods and apparatus for multi-layer data hiding
US6925342B2 (en) System and method for protecting digital media
US6674861B1 (en) Digital audio watermarking using content-adaptive, multiple echo hopping
US7224819B2 (en) Integrating digital watermarks in multimedia content
AU2010201199B2 (en) Desynchronized fingerprinting method and system for digital multimedia data
US7398395B2 (en) Using multiple watermarks to protect content material
KR101088080B1 (en) System, method and processor-readable recording medium for inserting watermarks to media
US7496197B2 (en) Method and system for robust embedding of watermarks and steganograms in digital video content
Petitcolas et al. Weaknesses of copyright marking systems
EP1125189A1 (en) Methods of digital steganography for multimedia data
WO1999048006A1 (en) Method and apparatus for camouflaging data
Xu et al. Digital audio watermarking and its application in multimedia database
US6988201B1 (en) Method and apparatus for watermarking wavetable synthesis architectures
Asad et al. A modification of least significant digit (LSD) digital watermark technique
Singh et al. A survey on Steganography in Audio
Kankana et al. A robust audio authentication scheme using (11, 7) hamming error correcting code
Heijmans et al. Reversible data embedding based on the haar wavelet decomposition
Agbaje et al. Robustness and Security Issues in Digital Audio Watermarking
Kung et al. A robust watermarking and image authentication technique on block property
Jannoud et al. Digital Watermarking Technique for Hiding Text Into Image1
Steinebach et al. Capacity-optimized mp2 audio watermarking
Raju et al. A NOVEL LSB BASED AUDIO STEGANOGRAPHY

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CA JP SG US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1998915102

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 69363/98

Country of ref document: AU

ENP Entry into the national phase

Ref document number: 2319601

Country of ref document: CA

Ref country code: CA

Ref document number: 2319601

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 09622470

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1998915102

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1998915102

Country of ref document: EP