CA2212328A1 - Method and apparatus for coding information - Google Patents

Method and apparatus for coding information

Info

Publication number
CA2212328A1
CA2212328A1 CA002212328A CA2212328A CA2212328A1 CA 2212328 A1 CA2212328 A1 CA 2212328A1 CA 002212328 A CA002212328 A CA 002212328A CA 2212328 A CA2212328 A CA 2212328A CA 2212328 A1 CA2212328 A1 CA 2212328A1
Authority
CA
Canada
Prior art keywords
image
region
block
function
insert function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002212328A
Other languages
French (fr)
Inventor
Martin Peter Todd
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Central Research Laboratories Ltd
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of CA2212328A1 publication Critical patent/CA2212328A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • 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
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32203Spatial or amplitude domain methods
    • H04N1/32208Spatial or amplitude domain methods involving changing the magnitude of selected pixels, e.g. overlay of information or super-imposition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32203Spatial or amplitude domain methods
    • H04N1/32229Spatial or amplitude domain methods with selective or adaptive application of the additional information, e.g. in selected regions of the image
    • H04N1/3224Spatial or amplitude domain methods with selective or adaptive application of the additional information, e.g. in selected regions of the image in edge regions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32203Spatial or amplitude domain methods
    • H04N1/32251Spatial or amplitude domain methods in multilevel data, e.g. greyscale or continuous tone data
    • 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/32309Methods relating to embedding, encoding, decoding, detection or retrieval operations in colour image data
    • 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/3232Robust embedding or watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • H04N21/23892Multiplex stream processing, e.g. multiplex stream encrypting involving embedding information at multiplex stream level, e.g. embedding a watermark at packet level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection

Abstract

A method of encoding invisible identification code into an image, which is highly resistant to degradation across communications links, and which does not require the presence of the original image for decoding, comprises analysing the image and determining strongly featured regions such as edges, and inserting code into such regions by altering the structure of the image in a predictable manner, as for example a concave elliptical insert centered on and aligned with an edge, which alteration is not visible to the eye. When decoding, areas of concavity are determined, and a correlation is performed with a predicted insert function to assess whether code has been inserted. A
hardware embodiment is described.

Description

-CA 02212328 1997-08-0~
W 096J25005 ~ I/~D_ ~_246 MEl-HOD AND ,~PPARATUS FOR CODING INFORMATION

The present invention relates to a method and a~ tus for the insertion, and subsequent decoding, of coded inforrnation into images.
It is known to insert codes into images for example video transmissions or videoclips or stills tr~ncmitte-12~cross a telecommunication link, for the purpose of identifying the owner of the images. There are a number of known schemes for inserting i(lentific~tion codes into the sync periods, and more recently it has been proposed to insert identification codes into the image itself, but in such a manner that the code 10 cannot be d!etected by the eye.
All of the schemes heretofore proposed suffer from the disadvantage that low pass filtering and other processes such as data compression, which may occur in image compression algoliti~ s or tr~ncmiccion across a telecommunication link may remove the code or degrade it to an extent where it cannot be recognised.
EP-A-0581317 discloses a scheme wherein relative extrema of intensity within the image are ~letecte~l andl the intensity values are modified by a certain amount. This provides a large number of sites within the image and a cign~tl-re is created bymodifying the value of intensity at selected sites. Although it is claimed that this method is resistant to certain types of image processing, nevertheless a more robust 20 scheme for ~ ncmiccion e.p. broadcasting is desirable. Further, a disadvantage with this method is that in order to recover the encoded digital cign~tllre, it is n~ceC.s~ry to have to hand the original image; this severely limits the application of the method.
WO 95/14289, published on 26 May 1995, discloses the embedding of an identificatioll code throughout an image by modlll~ting a ~ iticed version of the image 25 with a small noise signal. 1 he spec;fic system described suffers from the disadvantage of requiring to hand the original image for code identification. Further improvements in code robustness for tr~ncmiscion over telecommunications links or broadcasting are also desirable.
WO 95/20291, published on 27 July 1995, discloses a method of hiding 30 copyright related messages with a digital data work, which relies on commonlyoccurring p~ rnc or sequences of data in the work acting as signposts to target data elements wh;ch are modified according to certain rules. The disclosed method suffers from a lack of robustness to signal degradation.

CA 02212328 1997-08-0~

A-ll of the above references suffer from a disadvantage that they are concerned wholl y or principally with the digital domain, and the disclosed techniques are not suited to the analog domain, in particular where digital to analog conversion and analog to 5 digital conversion may easily lose or degrade individual pixel values.
WO 89/08915 discloses an invasive coding technique in which insignificant digitsof recorded material are replaced with a code digit from an independent sequence. WO
90/09/563 discloses a non-invasive technique wherein data words are identified according to predetermined criteria and a unique identifying pattern is created therefrom. Neither of lo these techniques is well suited to practical use such as in broadcasting applications.
~ n object of the present invention is to provide a highly robust method of encoding information. into an image, which is highly resistant to image manipulation and degradation and is efi.ective equally in analog and digital domains.
The present invention is based in one aspect on the realisation that coded 15 inforrmation may be inserted into an image in strongly featured regions of the image in such a way that the code is resistant to image compression and/or low pass filtering such as may occur in transmission over telecommunication links, but is not visible to the eye, and f~lrthermore the code does not require for decoding the presence of the original image.
In a first spec.ific aspect, the invention provides a method for inserting codedinforrnation into an irnage, comprising analysing the image, identifying strongly featured regions and inserting coded information into these regions.
By strongly i'eatured regions is meant, for the purposes of this specification, regions of primary sb-ength to which the eye responds in viewing an image for example textured regions or l.ines or boundaries between two regions of different luminance, wherein in such regions, it is possible to insert a relatively large amount of information without significantly altering the image in its appearance to the eye; such regions will be referred to herein as "strongly featured region(s) as defined herein". It is possible in some applications in order for an adequate prospect of decoding the code, that the code is inserted at an intensity which may risk some visible artefact; nevertheless the present invention always perrnits the possibility of completely invisible code insertion.
Because the rnethod of the invention relies on an analysis of the entire image and code being inserted in strongly featured regions rather than in individual pixels as in the L l '~ G C ~ S H L E r prior art, the code is better able to survive analog to digital conversions and digital to analogr conversions, where there will inevitably be pixel misalignments.

AMEND~n SH~ET

CA 02212328 1997-08-0~
W 096/25005 ~lJ~ C246 bct~cn tho original and proccsssd im~es, and hence the pixe~--values ~will- be a~ lltly altercd~
As preferred, edge regions between areas of different lurninance are employed since these are very distinctive and will permit code insertion without visibly degrading 5 the image. However, edge regions between areas of different clllolllinance may~ltPrn~fively or in addition be employed . In a further preferred form, textured regions may be e]nployed as will hereinafter be described.
As preferred, the coded information is inserted into strongly featured regions by altering the structure of the image in such region in a predictable or identifiable manner.
10 The structure of the image may be altered by inserting a distinct subimage, for example a rectangular bar or ellipse along the length of an edge region. ~ltPrn~tively amd as pl~fel.~d, the image is a~ltered by applying an insert function to an area including the strongly featured region, which insert function gradually decreases in intensity from the centre of its region of application, so as to blend with the surrounding region.
A main advantage of applying the coded information by altering the image in a predictable or i~lPntifi~'r-le manner is that the information can be recovered in a decoding process at a remote location without having the original to hand. Thus, upon decoding, the image is ~ma~ysed and a search is made for any feature resembling the structural alteration. If one or more features can provisionally be identified, then such 20 features can be regarded as coded information; as ~l~fe~l~d a "confidence factor" may be attached to each ~etectPd feature denoting the degree of reliability of the identific~tion.
Prior to inserting the information, the image is preferably analysed to determine at least one m~cking threshold or m~cking parameter which provides a measure of by 25 how much the structure of the image may be altered without risking the coded information becoming visible. If such threshold or pararneter is sufficient to enable insertion of coded information of sufficient intensity to pern~it decoding, the coded information is inserted at a level ~çterminP-d by the m~cking pararneter or threshold.
Thus as ~l~fellcl1 an ~csescmPnt is made of the strength or energy of the 30 strongly featured regions within the image, in order to det~rmine the permicsihle strength of insertion. This ~ccescmPnt value is employed to ap~l~pliately scale the insert fun,ction as it is inserted into the image. Further m~ckin~S thresholds may be provided by ~ccescingS whether the image is suitable for code insertion, for example the degree of consistency of the edge, the definition of the edge centre, and the strength to 35 prevent insertions when t];1e image is determined to be unsuitable.

CA 02212328 1997-08-0~

Thus in a more specific aspect, the invention provides a method for inserting coded information into an image, comprising analysing the image, identifying strongly featured regions, rl~terminin~ for at least one such region a m~kin, parameter, and 5 inserting coded information into such region in a predictable or identifiable manner by an amount determined by said m~cking parameter.

As preferred the coded information is inserted into an edge region by varying the luminance intensity in a local area, along the length of an edge, for example, by 10 applying over the area a luminance intensity having a non-linear contour~ for example a concave or convex function, which is aligned with the edge. A function applied in this way may represent a digital " 1 " or "0" according to whether it is concave or convex (for the purposes of this specification, where the terms concave, concavity and concaveness are used, they are to be understood as including convexity, which may be regarded as 15 concavity with a negative radius of curvature). Such a method is very resistant to signal degradation arising for exarnple from image co~ s~.ion. Other methods of encoding may be envisaged for example applying a non-linear function which varies perpendicular to the edge.
For textured regions, an example of which is a carpet with several colours 20 distributed at random in the carpet fibre, a code would be inserted by first performing a statistical cluster analysis on the image to identify regions which consist of two or more basic values which are randomly distributed. The most intense "foreground" value is determined. and a circular function, ~pplopliately scaled by a suitable m~cking parameter, centred in the textured region and gradually tlimini~hing to zero radially, is 25 applied to the foreground pixels to modulate their intensities. In the decoding process, a similar analysis is applied to the image, and the set of foreground pixels in each textured region is analysed to assess whether such circular function has been applied.
As preferred, the image, e.g. a video frame or field, is divided up into a number MxN of blocks in M rows and N columns, each block comprising nxn pixel elements 30 (e.g. 8x8). Strongly featured regions are searched in each block for insertion of code.
In order to encode a ~ignific~nt amount of information into an image, it is necessary to apply the insertion function to a number of featured regions, say edges, in the image.
If for example, one edge is chosen in each block into which the image is divided, then in order to increase confidence when a~LelllpLil~g to recognise the code, the edges in one 35 row may be encoded according to two separate pseudo-random codes, representing a CA 02212328 1997-08-0~
W ~961250~5 PCT/C~ 246 "1" or "0". Thus when an image is scanned for a code, the insertion function in each block may or may not be: located with a degree of confidence. The identified functions for a row of blocks, with a~plu~liate confidence weighting factors, are compared with ~ the pseudo-random codes to derive a " 1 " or "0" with a much higher confidence factor.
However as plert;llcd and as an alternative to relying on rows of blocks, each row representing one bit, the various blocks which together represent one bit, may be distributed throughout the image according to a further predetermined code. Thus, when decoding an image, knowledge of the predet~-rmined code enables the blocks to be grouped together for ,analysis with the pseudo random codes to determint~ the value 10 of the bit. This method has the advantage that areas where no edges occur, for example ~ background regions of sk:y, can be avoided.
Although two p,seudo random codes of ones and zeros are ~lcr~llcd for decoding data, other pseudo random codes may be employed. For example, a single pseudo random code may be employed where a w~ ki-lg type code is required 15 in~lie~tin~ ownership of the image. Other types of code may also be employed.
A problem with clividing an image into a number of blocks occurs in decoding the image, since if there; re only a few edges in the image and many blocks without an edge, it is difFlcult to mzlint~in synchronisation with the encoding process.
As a means of ov,ercoming this problem, the video synchronisation process may 20 be altered so that synchronisation occurs at the start of each row or line of blocks; if then as described above, each row represents a single bit of information, a secure method of coding is provided. One means of providing synchronisation information, for example, where video images are employed, is to use the line sync pulses as a method of synchronisation. As an alternative, a very low frequency modulation may be 25 applied to an entire image (for example a ~ligiticed still photograph image) so that there is provided a part of a cycle or one or two cycles of a low frequency modulation across the width and/or height of the image to enable cente.illg of the decoding process onto this low frequency modulation, in a manner somewhat analogous to an archer's target.
In any event, the decodi:ng stage will automatically align to the reception of digital 30 information to permit the required synchronisation.
In regions of the ;mage where there does not occur strong features, for example background regions, it may be desired to insert a code in the form of a region of fixed or variable lnmin~nce, for example a circle which although relatively large in size, is not visible to the eye. This ensures that coding information is present in all parts of an 35 image for robustness of tr~ncmiccion and decoding.

CA 02212328 1997-08-0~
W 096/25005 P~T/GB96/00246 In a further specific object therefore the present invention provides a method of coding information into an image, dividing the image in MxN blocks in N rows and M
columns, and inserting into selected blocks code information of one of a plurality of types, the type of code inserted depending on an ~csessm~-.nt of the image features in the 5 respective block.
The present invention also extends to a method of decoding, and according the invention provides in a further aspect a method of decoding information contained in an image, the method comrri~ing analysing the image, identifying strongly featured regions, tlptermining for at least one such region an anticipated insertion of coded 10 information, and correlating such anticipated insertion with the image to determine ~ whether there has been inserted into the strongly featured region coded information.
As p~ ;d in the decoding method, similar processing steps are catTied out as in the encoding method, involving analysing the image and defining an anticipated insertion function, as will become clear in the description of the preferred embodiment.

The present invention also extends to appaldLus for carrying out any of the aforesaid aspects of the invention.
The information encoded into an image may be used for a variety of purposes, for example as follows:
- to insert copyright or identification information in video clips or films;
- to insert copyright or identification information into stills;
- to log when adverts or films are played in bro~lc~t~, for moniforing purposes;
- to identify the master copy from which pirated videos are copied.
The information encoded may represent coding information which initiates operations within the decoding al)~dldlus, or provides specific identification information, for example copyright information with the name of the copyright owner etc. ~lt~rn~tively, the information may be merely analogous to a w~term~rk, serving merely to identify the source of the image information but not being specific to the 30 particular image.
Brief Description of the Drawings A ~lerell~d embodiment of the invention will now be described with reference to the accompanying drawing wherein:

CA 02212328 1997-08-0~
WO 96/2~005 PCT/~B96/00246 Figures 1 to 7 are diagrams for explaining the preferred method of the present invention; and Figures 8 and 9 alre block diagrams of a preferred embodiment of a~l~dlus of the present invention.
S Description of the Pl eferl ~d Embodiment In accordance with a preferred embodiment of the invention, there is hidden local insertions in edges within the image. Edge regions are known to have m~king properties because of the way the human visual system works. In particular the local orientatioll of the edges are important, and there are specific structures in the primary 10 visual cortex for clet~-cting both the presence of an edge and its local orientation (to a resolution of about 32 different orientations).
The insertions ~re such that they do not alter the local orientation. They must also survive low pass filtering since this is a common process for images. The insertions are made along the length of a local section of edge, and make the grey level 15 gradient along the direction of the edge either a concave or a convex function over the t~nce of t'ne insertion i.e. travelling from the start to the end point of the insertion along the direction of the edge of the grey level is either greater or less than would be expected by a simple linear interpolation from the start and end points. One illlpO~ t point of this is that at the start and end points the grey level must return to the value of 20 the original image in order to prevent any propagation of the distortion, or any discontinu;ties .
The insertions are made as a 2D function, by using an ellipse which is aligned to the local orientation. The ellipse has a cross sectional function which is a 1/2 cycle of a cos function and is used to weight the extent of the insertion, i.e. outside the ellipse no 25 insertion is made, within it the insertion is weighted by the cos function. This gives the concave or convex function by adding or subtracting it to the image. The m~gnit~lcle of the insertion can be varied according to the amount of activity in the block; for a high activity block a stronger insertion can be buried. It is not always possible to produce the required function; a block which already has a very strong convex function may require 30 the insertion to be very large to convert it to a concave one, and this may produce a - visible artefact. This is one of the reasons for using an accumulation of a number of blocks to produce a single bit (see below).
The size of the insertions and their positions are fixed by processing the imagein a block by block manner, typically with a block size of 8 by 8 pixels.

CA 02212328 1997-08-0~
W 096/25005 P~1/~,''~-246 There may be insufficient edge blocks within an image to generate a con~i~tent result, particularly since the selection of these edge blocks may be inconsistent when the images are processed. This can lead to problems in keeping the decoding process in synchronisation with the encoding process, such that the correct blocks were used to 5 det~rrnine each bit.
To overcome this, the synchronisation process is aligned to the start of a line of blocks. Thus all the blocks within the first line of blocks are used to encode/decode the first bit. Then all the blocks within the second line would encode/decode the second bit etc. This may be ext.on-le-l so that a number of lines are used to encode/decode each bit, 10 which reduces the amount of information which could be inserted but improves the robustness to proces.cing.
In a modification and as preferred, a group of blocks contributing to a single bit may be distributed throughout an image according to a predeter~Tlined code. This has the advantage as compared with a line of blocks contributing to a bit, that the blocks 15 may be sited where strongly featured regions occur, and are not located for example in a background region with no strong features.
A Pseudo Random Sequence (PRS) is used to improve the accumulation of results from the individual blocks to ~iet~rrnine a single bit. The PRS consists of a random but fixed sequence of +l or -l's. +l means that the insertions is added to 20 produce a convex functions, -1 means that it is subtracted to produce a concave function. For the encoding process, each block is processed in turm, and the next element in the PRS determines whether the insertion is added or subtracted. There are two different sequences, one for the 1 data bit and one of the 0 data bit. Thus for the decoding process the concave/convex-ness of each block is correlated with both 25 sequences, and the sequence which produces the highest correlation determines whether what the decoded data bit is.
A second method of coding is to code low-pass regions as well as edge regions.
The low-pass regions are coded with circular insertions centred on the block. The insertions in this case are of a fixed strength, and not related to the activity in the block.
30 This improves the robustness of the process.
The encoding and decoding algo,ilhllls are listed below as a sequence of steps:

CA 02212328 1997-08-0~
W 096/25005 PCT~D~.C'~_2~6 F.nco-ling Algorithm 1) split the frame into adjacent blocks each of n*n pixels 2) calculate the domiinant orientation in each block 3) calculate the amolmt of activity in each block S 4) calculate the consiistency of the dominant orientation 5) to encode one data bit process each block within a predefined set of blocks distributed throughout the: image, as follows:
~a) look up the next element of the PRS for the data bit 1) if il: is a 1 set up add 2) if it is a -1 set to subtract Sb) segment the blocks in the following categories a) a si:ngle edge/line in a dorninant orientation b) a low activity block c) several major lines or edges lS Sc) process the blocks as follows:-a) add/subtract an elliptical function al) centred on the edge a2) aligned to the block orientation a3) scaled by the activity in the block b) add~'subtract a circular function bl) centred on the centre of the block b2) fixed strength c) no insertion 6) repeat step 5) until all the bits are encoded.
25 Decoding ~Igorithm 1) split the frarne into adjacent blocks each of n*n pixels 2) calculate the doIr~inant orientation in each block 3) calculate the amount of activity in each block 4) calculate the consiskency of the dominant orientation 30 S) to decode one data bit process each block within the predefined set of blocks distributed throughout the image, as follows:-5a) segment the blocks in the following categories W 096/2SOOS P~ll~b~ o246 a) a single edge/line in a dominant orientation b) a low activity block c) several major lines or edges 5b) process the blocks as follows:-a) calculate the concave/convex-ness of an elliptical function al) centred on the edge a2) aligned to the block orientation a3) scaled by the activity in the block b) calculate the concave/convex-ness of a circular function ~ 10 bl) centred on the centre of the block b2) fixed strength c) do nothing 5c) correlate the convex/concave-ness of the block with the next element of the data bit 1 PRS and accl-m--l~te the result.
Sd) correlate the convex/concave-ness of the block with the next element of the data bit 0 PRS and ~- cl-m~ te the result.
6) conl~a c the data bit 1 accllmlll~tt-.d correlation with the data bit 0 accnm~ t~
correlation. The larger of the two is the decoded data bit. The size of the correlation is the confidence in the result.
20 7) repeat steps 5) and 6) for e~ch data bit.

Referring now to Figures 1 to 8, the alg~Jlitl~ ic steps listed above will now be explained in detail.
The frame axis conventions used to describe the mathematics are shown in 25 Figure 1. A pixel is defined by its coordinates (x,y) and its lnmin~nce value is r(x,y). Note that the top left pixel of an image is the (0,0) pixel, and that the y axis has its positive direction down the frame.
As shown in Figure 2, the frarne is segmented into non-overlapping blocks, each block being of size n by n pixels. Smaller values of n mean that it is more likely 30 that only a single edge will be found in any given block. It also means that more individual blocks will be available for the correlation process. Lauger values of n mean that larger, and therefore more robust, insertions can be made. In practice a -W 09612500~ P~~ 0246 good choice of n is 8. The block axis conventions used in segmenting the frame are shown in Figure 2.
Referring to Figure 3, the local orientation for each point in the frame is calculated from four surrounding points by a process as described below. This gives 5 a vector at each point in the frame, with the m~gnitlld~ of the vector representing the strength of the feature, and the angle representing twice the local orientation.
This is illustrated in Figure 3. Thus the local (m~nt~tion gives a measure of gradient of lunnin~nce in a particular direction within the block. A very large value of orientation indicates l:he existence of an edge; In this double angle forrn the vectors 10 can be vector average d over a block to give the local orientation for the block. This provid.es a relatively i ast estim~tin~ algorithm.
e.g, as shown in Figu~re 3:
~-~Sdegrees: byconvention, ~ isassociatedwithpointa = (x,y) -alx ~ 0.7 -a~y ~ ~. 7 is estim~t.-cl from a = r(x,y) b = r(x,y + 1) c = r(x+l,y) d = r(x+l,y+l) e = d--a f =b--c Re =--2*e*f Im=e2 _f2 0= 2Tan~~(R ) ~ is in single angle fo]m Re,Im are in double angle form orientations are averaged in the Re,Im double angle form.
The calculation of the average block vector is simply a matter of ~ the 20 local vectors for the block, as shown in Figure 4. A large average block vector indicates a strong edge running through the block. The average energy in the block CA 02212328 1997-08-0=, W 096/25005 PCT/GB96/0024~

can be calculated by ~.,."~",i"g the m~gnit~ s of the individual vectors. From these two figures, the local block orientation can be calculated by taking 1/2 the angle of the block vector, and a measure of block consistency calculated by taking the ratio of the m~gnitude of the block vector to the block energy.
S The local energy can be used to distinguish between blocks which have small activity (little variations in image) and blocks which have some activity. The consistency measure can be use to distinguish between blocks which have a consistent o7rient~tion and these which have a incon~i~tent orientation. This allows the blocks to be split into three categories as shown in Figure 5.
For blocks with a con~i~tent local o~ nt~tion a centre of the edge needs to be calculated. The method is shown below with reference to Figure 4. Each individual vector is resolved into a component in the same orientation as the block ~ nt~tion.
Then the local centroid of these components is calculated in the orthogonal axis of the local orientation. This local centroid is the centre of the edge which is used to centre the insertion on the edge. During the calculation a variance is also calcul~tP-I, which is used to ~ett-rmine if there are two edges in the same block, in which case the block is cl~ ifi~:l as inconsistent, and no insertion is made. This is to prevent the insertion being made half way between the two edges. An alternative strategy in this case would be to split the insertion and make two insertions, calcul~ting the centres by a binary splitting local centroid algorithm.
Referring to Figure 4, the orientations are held as the real Re(x,y) and im~gin~ry Im(x,y) components of the double angle form they are averaged in this form Re_ A = ~, Re(x, y) Im_ A = ~, Im(x, y) ~.Y
2~ The energy of the block is calculated from Strength = M_ A(k, I) = ~, sqrt ( Re(x, y), Im(x, y~ ) ~.y The local block orientation is calculated from ~3(k,1) = 2 Tan (Re A) The block consistency is ca'lculated from W 096~25005 PCrJ~ C246 ~'(k 1) sqrt( Re_A * Re_A + Im_A * Im_A) M_A(k,l) To calculate the centre point c(x,y) tr~nSl~te coordinates l:o centre of block N

xl=x--2 N
yl=y- 2 5 rotate axis to local orientation x2 =dx*x+dy*y - y2=--dy*x+dx*y calculate component of activity in block orientation r = dx * sin(~(x, y)) + dy * (-cos(~(x, y)) calculate local centroid of components ~,(r * x2) lcx = ~'Y
Y
~,(r*y2) lcy= ~Y
~.y rotate and translate coordinates back cx = dx * lcx--dy * lcy + 2 cy = dy * lcx + dx * lcy+ 2 also calculate a variance figure ~,(r*y2*y2-lcy*lcy) var_ x.y ~;r Figure 5 illustrates how the different block types are processed. The oriented blocks are given an elliptical insertion aligned with the edge within the block. The CA 02212328 1997-08-0~
W O 96/25005 P~1/~,'~00246 strength of the insertion is scaled by the energy within the block. The low energy blocks have a circular insertion, centred on the centre of the block, and with a fLxed strength. They may also have a small dither to prevent contouring. Inconsistent blocks have no insertion.
The elliptical insertion function is calculated for each point within the block based on its distance from the centre point, by rotating to align a local axis with the block orientation, and scaling the y-axis to produce an elliptical rather than circular function, as shown in l~igure 6. The cross sectional function of the insertion is a 1/2 cycle of a cos function. This insertion function is then used to weight the concave/convex-ness of the individual points, so as to limit the extent of the mserhon.
Referring to Figure 6, the insertion function is calculated as follows. Calculate the distance vector between point (x,y) and point (cx,cy) xl = x--cx yl =y-cy Rotate the local axis to align with the local block orientation x2=dx*xl+dy*yl y2 =--dy*xl+dx*yl scale the y axis to produce an elliptical function in distance y3 = y2 * ratio calculate the radial distance of the point(x,y) d~x22+y32 MAX_ d calculate the insertion function if(d > l)d = 1 i(x, y) = 0. 5 * (cos(d * ~) + 1) The insert function is a~ o~liately scaled by the block energy factor, M_A.
Whilst the scaling may be a simple proportionality factor, other scalings may be25 envisaged. In general, the scaled insert factor, is may be represented as:
is( x,y) = f ( i(x,y), M_A ) The calculation of the convex/concave-ness of a block is illustrated in ~igure 7.
The edge points of the block are used to estimate the inside points using a linear interpolation in the direction of the block orientation. The difference between the CA 02212328 1997-08-0~
WO 96125005 PL l1VJ~ 246 estimated value and the actual value then gives a +ve or -ve number. These numbers are then weighted by the insertion function aLnd summed over the block to give afinal ~ve or -ve value for the block which indicated its concave or convex-ness.
Referring to Figure 7, predicted value at point (x,y) p(x, y) = Lin(p(xl, yl), p(x2, y2)) p(xl,yl) = Lin(r(xl 1,yl),r(xl2,yl)) p(x2,y2) = Lin(r(x2,y21),r(x2,y22)) concave/convexness of point (x,y) c(x, y) = r(x, y) - p(x, y) Overall concave/convexness olF block(k,l), when scaled insert function is added:C(k, 1) = ~, c(x, y) * is(X~ y) X,y The measure C of block concavity is a significant factor which is computed during the encoding process, and is employed during the decoding process to derive the inserted code.
In the encoding process, the measure C is computed, and a further factor is computed from C, as will be explained in more detail below to ~et~rmine by how much the scaled insert function should be further scaled to produce the desired value of C in the individual encoded pixels which are L.,.~ d In the decoding process, the existing concavity C of the image block is ~csessed( which will include f:he inserted scaled insert function ), and to this is added the concavity of the predicted insert function is A correlation process is then employed to determine whethemm insert function exists within the image.
By way of example, in a decoding process, measures of block concave~convex-ness are combined across a predefined set of blocks in order to produce a reliable result for each bit. For example the measures from 4 successive lines of blocks can be combined to produce each bit. The combination is done by correlating to one of two dilferent pseudo-random sequences as shown below. The elements of the PRS
are multiplied by the measures for successive blocks, and the results accnmlll~Pd this is done for both sequences. Then the largest of the two de.termin~s which bit is decoded, and ratio of the largest correlating value to the m~ximum possible one gives a measure of confidence that the correlation is co~Tect. Note that a measure of confidence is only reli,able for a large number of blocks.

CA 02212328 1997-08-0~

EXAMPLE

- two correlation sequences e.g.
Zero: +1, -1, +1,+1, -1, +1, +1, +1, -1, -1, +1 One: -1, -1, -1, +1, +1, -1, +1, -1, +1, -1, +1 - correlated with C(x,y) e.g.
C(x,y): +0.2, -0.9, +0.1, etc...
zero gives: (+1)*(+0.2) +(-1)* (-0.9) + (+1)* (+0.1) = +1.2 one gives: (-1)*(+0.. 2) + (-1)*(-0.9) + (-1)*(+0.1) = +0-6 sum gives: (+0.2) + (+0.9) + (+0.1) =+1.2 - ~ximllm of zero or one determines 0 or 1 bit decision e.g. zero = +1.2 gives a 0 bit - 100* (zero/sum) gives measure of confidence as a n~ lber up to a m~imnm of e.g. 100* (zero/sum) = 100 Referring now to Figure 8 which shows an encoder for encoding video images, video data is input on line 10 to an 8 x 8 blocking device 12, which performs the 20 operation shown in Figure 2 of dividing the input data into blocks each of 64 pixels.
The block data DATA is then passed to two devices 14, 16 for estim~ting the local orientation of each point within the block and giving the real component Re_A of the orientation and the im~gin~ry component Im_A of the orientation by a process of interpolation described with reference to Figure 3. The values are averaged in ~ g 25 devices 18, 20 to give average values for the block and from these average values, the block orientation ~ is calculated as at 22 by dividing the angle of the block vector by two as described with reference to Figure 4. Signals Im_A and Re_A are applied as inputs to an energy calculation unit 68 which generates a signal Stren~th, representing the energy or strength of the featured regions in the block, in the manner described with 30 reference to Figure 4. A measure of the consistency of ~rient~tion in the block is obtained as at 24 by taking the ratio of the m~gnit~ e of the block vector to the block energy. This provides an output ,B which is applied to a logic unit 80 to be described.

W 096125005 PCT/~b~ C24~

The block; orientation un,it 22 output ~ is applied to devices 26, 28 together with the individual values of each vector from units 14,16 in order to perform the calculation described with reference to Figure 4 of calc~ ting for each vector the cornponent of activity parallel to the axis of the block orientation. In addition, device 28 rotates the 5 coordinates of the vectors to be parallel with the block orientation vector. Tlle centroid ~ of the comiponents is cornputed as at 30, 32 and outputs lcx, lcy are applied to unit 34 which is operative to translate the components back to the original x, y axes and provide centroid components cx, cy. In addition device 36 calculates a variance figure var as described with reference to Figure 4.
10Devices 40, 42, ~14 receive signals cx, cy, the block orientation ~, and the ~ Strenp;,th signal. Devices 40, 42, 44 are operative to calculate the elliptical insertion function i as described wiith reference to Figure 6. The Stren~th signal is employed to scale the imsert function and produce a scaled insert function is. The insertion function is employed to weight the amount of luminance applied to each pixel dependent on its 15 radial position with refere,nce to the edge centre.
Devices 46, 48, 50, 52, 54, 56 are employed to interpolate the pixel addresses of the edge and to tostim~te the çxi~tin~ concavity of the block. Firstly, a point within t'ne block (x,y~ is recon.~tit~lt~ d from the orientation ~ as at 46, 48. As described with reference to Figure 7, edge addresses xll - x22 are estimated at 50 by a process of 20 interpolation at the edge of the block, and the luminance values p(x,l, Y1). P(x2, Y2) are then estimzlted as at 52, 54 by a process of linear interpolation. The lllmin~nce of the point p(x, y) is then calcu]ated by a further linear interpolation as at 56. The difference c(x, y) between the actual value r(x, y) and the estim~t~d value p(x, y) is then found in subtractor 58. The value c(x, y) weighted by the insertion function i(x, y) and surnmed 25 at 60 over the entire block gives a sum value C(k,l) representing the concavity of the entire bloc~: as described above.
As mentioned above, this value is employed directly in the decoding process. In the encoding process, this value is employed, as will now be described, to determine the wei~hting to be applied to the luminance of individual pixels. A value is derived 30 representing the maximum, strength of the insert which will not risk the insert becoming visible. This value is derived from a look up table 70 which is accessed by the Stren~th signal. The lookup table value is limited as at 72 and modulated as at 74 by the pseudo random code bit to be applied to the block. The result is then subtracted from the overall concavity figure IC in subtractor 62. The result of the subtraction gives a 35 multiplying factor lc~l~sel-ting by how much the insert function must be adjusted to give the a~rupliate luminance value for individual pixels. This value is limited at 78. If CA 02212328 1997-08-0~

the multiplying factor is too great, creating the risk of a visible artefact, then the lirniter 78 will return a m~ximum value only.
The multiplying factor is subject to a logical function at 80 which receives a control input from a logic block 81, which thresholds and combines inputs compri~in~
5 the con~i.ctency angle ~, the variance var, and the signal Stren~th from unit 68 to in~ic~te whether the block is a suitable block for cont~ining data. Effectively the units 80, 81 perform the function indicated in Figure 5 to assess whether the block is suitable for code insertion.
The scaled insert function is is multiplied at unit 82 with the multiplying factor and 10 summed at 84 on a pixel-by-pixel basis with the input data from unit 12 to provide a coded output signal as at 84.
In the case where the block is unsuitable for code insertion along an edge in that the Stren~th signal indicates that the block is of low activity as exemplified in Fig. Sb, then units 40-44 are adapted to compute a circular insert function. In the case where as 15 in(lir~tec~ in Figure Sa, insertion along an edge is possible, then units 40 - 44 compute the elliptical insertion function is defined above with reference to Figure 6.
Referring now to Figure 9, the decoding section which receives the coded output from the encoder operates in a very similar manner and similar units are indicated by the same reference numeral. The essential difference is that units 70 - 82 of the encoder 20 are omitted and are replaced in the decoder by unit 100, which is operative to perform the correlation function outlined above (see EXAMPLE ) with the pseudo random codes in order to decode the data. Thus the decoder computes the overall concavity of the block as at 58, and the anticipated scaled insert function is These values are summed as at 60 to give a value for the whole block, and a correlation is performed in 25 unit 100 with the two pseudo random codes representing the two possible binary values.
Whilst the above has been described as a preferred embodiment, other embodiments may be implemented. For example an embodiment will now be described for encoding textured regions.
ENCODER
1. An image is to be encoded cont~ining textured regions comprising a random mixture of small localised areas having different chrominance values. For each block of the MxN blocks of the image, the texture statistical p~r~m~t~rs are calculated by a cluster analysis process which produces clusters of cl~o~ lance values and the variance values for each cluster. The number of clusters and cluster variances are used to 35 identify blocks which consist of two (or more ) basic chrominance v,alues (colours ) -CA 02212328 1997-08-0~
WO 96125005 PCI~/~5~ C246 which are distributed in a. random or relatively random pattern. The computed statistical p~r~rneters are used to identify the more intense "foreground" value. A threshold is set based on the statistical par~mloterc~ and used to identify pixels within each block which belong to the foreground value.
2. A circular function centered on the centre of the sub-bit block, with a ~ rn~lcimllm value at its centre and tapering to zero with an a~p.opliate cross-sectional function, a 1/2 wave raised cosine function, is calculated. The m~nitllcle of the circular function is set from the cluster statistics ( by means of empirical measurements), to m~ximi~e the insertion strength whilst limiting visibility. It is also limited by the 10 existing concavity/ convexity of the sub-bit block, which is calculated as in the above - described embodiment.
3. The insertion fimction thus calculated is applied to adjust the cluster value in a positive or negative manner depending on the existing concavity, according to the required sign. The adjus~ment is made only to those pixels which have been identified 15 as part of the foreground value.

DECODER
1. As with step l. of the Encoder, the statistical p~r~m~ters of the sub-bit block are calcula.ted to identify ~he "foreground" pixels.
2. For each i~entif;ed foreground pixel, the distance from the centre of the sub-bit block (circular insert fi1nction) is calculated.
3. All different combinations of pairs Pi of foreground pixels are determined, and for each pair Pi the nearer pixel to the centre is calculated. The difference in the intensity values Vi of each pair is computed by subtracting the value of the pixel nearer 25 the centre from the value of the pixel further from the center. The difference Di in the distances of the pixels of e ach pair from the centre is also calculated.
4. A factor C is now computed = ~i Vi*Di 5. C is now the eslimate of concavity and is used as in the main embodiment as described above.

Claims

1. A method of inserting coded information into an image, comprising analysing the image, identifying at least one strongly featured region as defined herein, and inserting into the or each such region a predetermined geometric insert function extendingspatially within such region, in order to represent coded information.
2. A method according to claim 1, including determining the maximum strength said insert function may have without producing a visible artefact, and determining the intensity of the insert function in accordance with said maximum strength.
3. A method according to claim 2, including assessing the image as to the degree of strength of the strongly featured region within the image, and determining said maximum strength in dependence on such strength assessment.
4. A method according to claim 3, including varying in a predetermined manner the intensity of the geometric insert function over its spatial extent, determining a function representing the extent to which the intensity of the image varies in a similar manner, and determining the product of such function and the geometric insert function.
5. A method according to claim 4, wherein the geometric insert function varies in intensity in a concave manner between its edges and across its central region.
6. A method according to claim 4 or 5, wherein the intensity of the insert function is scaled by a value representing the difference between said maximum strength and said product.
7. A method according to any preceding claim, including determining whether the strongly featured region is sufficiently well defined to permit insertion of coded information.
8. A method according to any preceding claim, comprising dividing the image up into blocks formed in N rows and M columns, and carrying out the aforesaid analysing and inserting steps in each block.
9. A method according to claim 8, wherein a group of blocks, selected according to a predetermined rule, are encoded according to a pseudo random sequence so that one element in the sequence represents one item of coded information which is inserted into a respective block of the group.

10. A method of decoding information contained in an image, the method comprising analysing the image, identifying a strongly featured region, determining for the region a predetermined geometric insert function extending spatially within the region and representing coded information, and performing a correlation operation with suchpredetermined insert function and the image to determine the value of coded information inserted into the strongly featured region.
11. A method according to claim 10, wherein the intensity of the anticipated geometric insert function varies in a predetermined manner overs its spatial extent, and determining a function representing the extent to which the intensity of the image varies in a similar manner, determining the product of such function and the geometric insert function, and correlating such product with the possible values of the coded information to determine the most likely value.
12. A method according to any of claims 10 or 11, comprising dividing the image up into blocks formed in N rows and M columns, and carrying out the aforesaid decoding steps in each block.
13. A method according to claim 12, wherein a group of blocks, selected according to a predetermined rule, are correlated with the possible values of an anticipated pseudo random sequence, the possible values of each element of the sequence being correlated with a respective block.
14. A method of inserting coded information according to claim 8 or 9, or a method of decoding according to claim 12 or 13, wherein an assessment is made of the type of image within each block, whether it has a single strongly featured region, has several such regions, or is a block having low activity in terms of image information.
15. A method according to claim 14 wherein if a block is assessed to have a low activity, the geometric insert function comprises a geometric region wherein the pixels within the region have a luminance modulated according to a predetermined function.
16. A method of inserting coded information according to any of claims 1 to 9, or a method of decoding according to any of claims 10 to 13, wherein the strongly featured regions comprise edge regions between areas of different luminance and/ or chrominance.
17. A method of inserting coded information according to any of claims 1 to 9, or a method of decoding according to any of claims 10 to 13, wherein the strongly featured regions comprise textured regions having randomly distributed therein local areas of different luminance and/or chrominance values.
18. A method according to claim 17, comprising analysing a textured region by a process of cluster analysis, identifying a cluster of local areas with a certain quality and which are more prominent to the eye than other local areas, and modifying the chrominance and/or luminance values of the cluster with a geometric insert function which decreases in intensity from its centre, for representing one of two binary values.
19. A method according to claim 16, wherein the geometric insert function has anintensity varying in a non-linear manner along a length of the edge, for representing one of two binary values.
20. A method according to claim 19, wherein the insert function is elliptical in extent, with its intensity gradually changing in a direction along its major axis, and with its major axis extending along the length of the edge.
21. A method according to claim 20, wherein the elliptical function is centred on the centre of the edge.
22. A method according to any preceding claim, wherein the insert function varies in intensity over its spatial extent in a concave manner, either increasing or decreasing in intensity from its centre towards its edges to represent either one of two binary values.

23. Apparatus for inserting coded information into an image, comprising means for analysing the image and identifying strongly featured regions as defined herein, and means for inserting into at least one such region a predetermined geometric insert function extending spatially within such region and representing coded information.
24. Apparatus according to claim 23, including means for determining the maximumstrength the insert function may have without producing a visible artefact, and means for determining the intensity of the insert function in accordance with said maximumstrength.
25. Apparatus according to claim 24, including means for assessing the image as to the degree of strength of the strongly featured region within the image, and means for determining said maximum strength in dependence on such strength assessment.
26. Apparatus according to claim 25, wherein the intensity of the geometric insert function varies in a predetermined manner overs its spatial extent, and including means for determining a function representing the extent to which the intensity of the image varies in a similar manner, and means for determining the product of such function and the geometric insert function 27. Apparatus according to claim 26, including means for scaling the intensity of the insert function by a value representing the difference between said maximum strength and the existing variation product.
28. Apparatus according to any of claims 23 to 29, including means for dividing the image up into blocks formed in N rows and M columns, and carrying out the aforesaid analysing and inserting steps in each block.
29. Apparatus according to claim 28, including means for selecting a group of blocks according to a predetermined rule, and means for encoding the group according to a pseudo random sequence so that the blocks in the group represent one or more bits of information.

30. Apparatus for decoding information contained in an image, comprising means for analysing the image and identifying a strongly featured region as defined herein, means for determining for the region an anticipated geometric insert function extending spatially within the region and representing coded information, and means for performing a correlation operation with such anticipated insert function and the image to determine the value of coded information inserted into the strongly featured region.
31. Apparatus according to claim 30, wherein the intensity of the anticipated geometric insert function varies in a predetermined manner overs its spatial extent, and including means for determining a function representing the extent to which the intensity of the image varies in a similar manner, means for determining the product of such function and the geometric insert function, and means for correlating such product with the possible values of the coded information to determine the most likely value.
32. Apparatus according to claim 30 or 31, comprising means for dividing the image up into blocks formed in N rows and M columns, and means for carrying out the aforesaid decoding steps in each block.
33. Apparatus according to claim 32, including means for correlating a group of blocks, selected according to a predetermined rule, with the possible values of an anticipated pseudo random sequence, the possible values of each element of the sequence being correlated with a respective block.

80. A method of coding information into an image, comprising dividing the image in MxN blocks in N rows and M columns, and inserting into selected blocks code information of one of a plurality of types, the type of code inserted depending on an assessment of the image features in the respective block.
81. A method according to claim 80, wherein for each block, strongly featured regions for the eye are sought, and if identified, an appropriate code is inserted into strongly featured region.
82. A method according to claim 81, wherein the strongly featured regions comprise edge regions between areas of different luminance and/or chrominance, or textured regions having distributed therein localised areas of different luminance and/orchrominance.
83. A method according to any of claims 80 to 82, wherein in each block, weakly featured or background regions are sought, and if identified, an appropriate insert function is inserted into such region.
84. A method according to claim 83, wherein the insert function is a relatively large region having a constant or slowly varying luminance over its area.

85. Apparatus for coding information into an image, comprising means for dividing the image in MxN blocks in N rows and M columns, and means for inserting into selected blocks code information of one of a plurality of types, the type of code inserted depending on an assessment of the image features in the respective block.
86. Apparatus according to claim 85, including analysing means for determining, for each block, strongly featured regions for the eye, and if identified, said inserting means is operative to insert an appropriate code into the strongly featured region.
87. Apparatus according to claim 86, wherein the strongly featured regions comprise edge regions between areas of different luminance and/or chrominance, or textured regions having distributed therein localised areas of different luminance and/orchrominance.

88. Apparatus according to any of claims 85 to 87, including analysing means for determining in each block, weakly featured or background regions, and if identified, said inserting means is arranged to insert an appropriate insert function into such region.
89. Apparatus according to claim 88, wherein the insert function is a relatively large region having a constant or slowly varying luminance over its area.

90. A method of decoding information from an image, comprising dividing the image in MxN blocks in N rows and M columns, and detecting in selected blocks code information of one of a plurality of types, the type of code detected depending on an assessment of the image features in the respective block.
91. A method according to claim 90, wherein for each block, strongly featuredregions for the eye are sought, and if identified, an appropriate code is detected in a strongly featured region.
92. A method according to claim 91, wherein the strongly featured regions comprise edge regions between areas of different luminance and/or chrominance, or textured regions having distributed therein localised areas of different luminance and/orchrominance.
93. A method according to any of claims 90 to 92, wherein in each block, weakly featured or background regions are sought, and if identified, an appropriate insert function is detected in such region.
94. A method according to claim 93, wherein the insert function is a relatively large region having a constant or slowly varying luminance over its area.

95. Apparatus for decoding information from an image, comprising means for dividing the image in MxN blocks in N rows and M columns, and means for detecting in selected blocks code information of one of a plurality of types, the type of code detected depending on an assessment of the image features in the respective block.
96. Apparatus according to claim 95, including analysing means for determining, for each block, strongly featured regions for the eye, and if identified, said detecting means is operative to detect an appropriate code in the strongly featured region.
97. Apparatus according to claim 96, wherein the strongly featured regions comprise edge regions between areas of different luminance and/or chrominance, or textured regions having distributed therein localised areas of different luminance and/orchrominance.
98. Apparatus according to any of claims 95 to 97, including analysing means fordetermining in each block weakly featured or background regions, and if identified, said detecting means is arranged to detect an appropriate insert function in such region.
99. Apparatus according to claim 98, wherein the insert function is a relatively large region having a constant or slowly varying luminance over its area.
100. Apparatus according to claim 99, wherein the insert function is circular having an intensity which varies in a concave manner in a radial direction.
CA002212328A 1995-02-06 1996-02-05 Method and apparatus for coding information Abandoned CA2212328A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9502274.5 1995-02-06
GBGB9502274.5A GB9502274D0 (en) 1995-02-06 1995-02-06 Method and apparatus for coding information

Publications (1)

Publication Number Publication Date
CA2212328A1 true CA2212328A1 (en) 1996-08-15

Family

ID=10769150

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002212328A Abandoned CA2212328A1 (en) 1995-02-06 1996-02-05 Method and apparatus for coding information

Country Status (8)

Country Link
US (1) US6181802B1 (en)
EP (1) EP0878094B1 (en)
JP (1) JPH10513324A (en)
KR (1) KR100413655B1 (en)
CA (1) CA2212328A1 (en)
DE (1) DE69617467T2 (en)
GB (1) GB9502274D0 (en)
WO (1) WO1996025005A1 (en)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6614914B1 (en) 1995-05-08 2003-09-02 Digimarc Corporation Watermark embedder and reader
US6449377B1 (en) 1995-05-08 2002-09-10 Digimarc Corporation Methods and systems for watermark processing of line art images
US5822436A (en) 1996-04-25 1998-10-13 Digimarc Corporation Photographic products and methods employing embedded information
US6516079B1 (en) 2000-02-14 2003-02-04 Digimarc Corporation Digital watermark screening and detecting strategies
US6611607B1 (en) 1993-11-18 2003-08-26 Digimarc Corporation Integrating digital watermarks in multimedia content
US7171016B1 (en) * 1993-11-18 2007-01-30 Digimarc Corporation Method for monitoring internet dissemination of image, video and/or audio files
US6993152B2 (en) * 1994-03-17 2006-01-31 Digimarc Corporation Hiding geo-location data through arrangement of objects
US20020136429A1 (en) * 1994-03-17 2002-09-26 John Stach Data hiding through arrangement of objects
US7724919B2 (en) * 1994-10-21 2010-05-25 Digimarc Corporation Methods and systems for steganographic processing
US6590996B1 (en) 2000-02-14 2003-07-08 Digimarc Corporation Color adaptive watermarking
DE69637782D1 (en) * 1995-05-08 2009-01-29 Digimarc Corp Method for embedding machine-readable steganographic code
US7224819B2 (en) 1995-05-08 2007-05-29 Digimarc Corporation Integrating digital watermarks in multimedia content
DE69636084T2 (en) * 1995-09-28 2006-09-14 Nec Corp. Method and apparatus for inserting a spread spectrum watermark into multimedia data
US7715446B2 (en) * 1996-04-25 2010-05-11 Digimarc Corporation Wireless methods and devices employing plural-bit data derived from audio information
GB9616571D0 (en) * 1996-08-07 1996-09-25 Central Research Lab Ltd Method and apparatus for coding information
US6069914A (en) * 1996-09-19 2000-05-30 Nec Research Institute, Inc. Watermarking of image data using MPEG/JPEG coefficients
US5848155A (en) * 1996-09-04 1998-12-08 Nec Research Institute, Inc. Spread spectrum watermark for embedded signalling
US5915027A (en) * 1996-11-05 1999-06-22 Nec Research Institute Digital watermarking
JP3601566B2 (en) * 1996-12-18 2004-12-15 日本電信電話株式会社 Information multiplexing method and copyright protection system
AUPO521897A0 (en) * 1997-02-20 1997-04-11 Telstra R & D Management Pty Ltd Invisible digital watermarks
GB9705045D0 (en) * 1997-03-12 1997-04-30 Central Research Lab Ltd Method and apparatus for coding information
JP3560441B2 (en) 1997-04-07 2004-09-02 日本アイ・ビー・エム株式会社 Multiple frame data hiding method and detection method
US8090142B2 (en) * 1997-07-24 2012-01-03 Regents Of The University Of Minnesota Embedding data in and detecting embedded data from video objects
US8155375B2 (en) * 1997-07-24 2012-04-10 Regents Of The University Of Minnesota Video watermarking using temporal analysis
US6404781B1 (en) 1997-09-02 2002-06-11 Hitachi, Ltd. Data transmission method for embedded data, data transmitting and reproducing apparatuses and information recording medium therefor
EP0901282B1 (en) * 1997-09-03 2006-06-28 Hitachi, Ltd. Method for recording and reproducing electronic watermark information
EP0901274B1 (en) * 1997-09-03 2004-04-07 Hitachi, Ltd. Method and system for embedding information into contents
JP3902863B2 (en) 1997-09-03 2007-04-11 株式会社日立製作所 Data superimposing method and data reproducing method, information embedding method and information reading method
US6108434A (en) * 1997-09-12 2000-08-22 Signafy, Inc. Counteracting geometric distortions for DCT based watermarking
SG70120A1 (en) * 1997-09-17 2000-01-25 Hitachi Ltd Recording/reproducing method and apparatus processing apparatus and recording medium for video signal having copy control information
US6700994B2 (en) 1998-01-09 2004-03-02 Koninklijke Philips Electronics N.V. Embedding and detecting a watermark in images
US6198832B1 (en) * 1998-01-09 2001-03-06 U.S. Philips Corporation Embedding and detecting a watermark in images
JP3570213B2 (en) 1998-03-27 2004-09-29 株式会社日立製作所 Digital watermark image processing method
US6263086B1 (en) 1998-04-15 2001-07-17 Xerox Corporation Automatic detection and retrieval of embedded invisible digital watermarks from halftone images
US6773547B2 (en) * 1998-05-08 2004-08-10 American Air Liquide, Inc. Process for the bleaching of low consistency pulp using high partial pressure ozone
US6553127B1 (en) 1998-05-20 2003-04-22 Macrovision Corporation Method and apparatus for selective block processing
JP3156667B2 (en) * 1998-06-01 2001-04-16 日本電気株式会社 Digital watermark insertion system, digital watermark characteristic table creation device
US6154571A (en) 1998-06-24 2000-11-28 Nec Research Institute, Inc. Robust digital watermarking
JP3592545B2 (en) * 1998-08-07 2004-11-24 株式会社リコー Image processing apparatus, image processing method, and information recording medium
US6362492B1 (en) * 1999-11-18 2002-03-26 Komax Holding Ag Method and device for detecting edge structures
US6665417B1 (en) * 1998-12-02 2003-12-16 Hitachi, Ltd. Method of judging digital watermark information
JP3397157B2 (en) * 1999-01-13 2003-04-14 日本電気株式会社 Digital watermark insertion system
US7013021B2 (en) * 1999-03-19 2006-03-14 Digimarc Corporation Watermark detection utilizing regions with higher probability of success
JP3607521B2 (en) * 1999-03-24 2005-01-05 株式会社東芝 Digital watermark embedding device, digital watermark detection device, digital information distribution device, and storage medium
US6636633B2 (en) * 1999-05-03 2003-10-21 Intel Corporation Rendering of photorealistic computer graphics images
JP2001008019A (en) * 1999-06-18 2001-01-12 Canon Inc Image processing unit and its method
EP1210685A1 (en) 1999-09-01 2002-06-05 Digimarc Corporation Watermarking digital images with intensity specified by area
FI117533B (en) * 2000-01-20 2006-11-15 Nokia Corp Procedure for filtering digital video images
EP1186161A1 (en) * 2000-02-29 2002-03-13 Koninklijke Philips Electronics N.V. Embedding and detecting a watermark in an information signal
JP2001275115A (en) 2000-03-23 2001-10-05 Nec Corp Electronic watermark data insertion device and detector
JP3630071B2 (en) * 2000-04-05 2005-03-16 日本電気株式会社 Digital watermark detector and digital watermark detection method used therefor
US6631198B1 (en) * 2000-06-19 2003-10-07 Digimarc Corporation Perceptual modeling of media signals based on local contrast and directional edges
US6633654B2 (en) * 2000-06-19 2003-10-14 Digimarc Corporation Perceptual modeling of media signals based on local contrast and directional edges
JP3898128B2 (en) * 2000-11-07 2007-03-28 コニンクリユケ フィリップス エレクトロニクス エヌ.ブイ. Method and apparatus for embedding a watermark in an information signal
US6707928B2 (en) * 2000-11-29 2004-03-16 Intel Corporation Method for block-based digital image watermarking
US6950519B2 (en) * 2001-03-05 2005-09-27 Digimarc Corporation Geographically watermarked imagery and methods
US7061510B2 (en) 2001-03-05 2006-06-13 Digimarc Corporation Geo-referencing of aerial imagery using embedded image identifiers and cross-referenced data sets
US7042470B2 (en) * 2001-03-05 2006-05-09 Digimarc Corporation Using embedded steganographic identifiers in segmented areas of geographic images and characteristics corresponding to imagery data derived from aerial platforms
US7249257B2 (en) * 2001-03-05 2007-07-24 Digimarc Corporation Digitally watermarked maps and signs and related navigational tools
US6664976B2 (en) 2001-04-18 2003-12-16 Digimarc Corporation Image management system and methods using digital watermarks
US7197160B2 (en) * 2001-03-05 2007-03-27 Digimarc Corporation Geographic information systems using digital watermarks
US7254249B2 (en) * 2001-03-05 2007-08-07 Digimarc Corporation Embedding location data in video
US7098931B2 (en) 2001-03-05 2006-08-29 Digimarc Corporation Image management system and methods using digital watermarks
US9363409B2 (en) * 2001-03-05 2016-06-07 Digimarc Corporation Image management system and methods using digital watermarks
US20020191812A1 (en) * 2001-04-24 2002-12-19 Nam-Deuk Kim Object edge watermarking
US7068809B2 (en) * 2001-08-27 2006-06-27 Digimarc Corporation Segmentation in digital watermarking
FR2829343A1 (en) * 2001-09-04 2003-03-07 St Microelectronics Sa METHOD FOR INSERTING BINARY MESSAGES INTO A DIGITAL IMAGE
US7321667B2 (en) 2002-01-18 2008-01-22 Digimarc Corporation Data hiding through arrangement of objects
US7046820B2 (en) * 2002-07-16 2006-05-16 Matsushita Electric Industrial Co., Ltd. Methods for digital watermarking of images and images produced thereby
US7194106B2 (en) 2003-04-03 2007-03-20 Digimarc Corporation Creating electronic forms through digital watermarking
US20060291690A1 (en) * 2003-05-21 2006-12-28 Roberts David K Digital fingerprints and watermarks for images
TWI220363B (en) * 2003-10-06 2004-08-11 Sunplus Technology Co Ltd Directional interpolation method and device for increasing resolution of an image
JP4981455B2 (en) * 2004-02-04 2012-07-18 ディジマーク コーポレイション On-chip digital watermarked image signal and photo travel log with digital watermark
TWI288873B (en) 2004-02-17 2007-10-21 Mitsubishi Electric Corp Method for burying watermarks, method and device for inspecting watermarks
DE102004022976B4 (en) * 2004-05-10 2010-09-16 Clemens Brüntrup Offset-Reproduktion GmbH Steganographic printing process and verification system
US7668334B2 (en) * 2004-07-02 2010-02-23 Digimarc Corp Conditioning imagery to better receive steganographic encoding
FR2890517A1 (en) * 2005-09-08 2007-03-09 Thomson Licensing Sas METHOD AND DEVICE FOR DISPLAYING IMAGES
JP4905142B2 (en) * 2007-01-15 2012-03-28 富士通株式会社 Image processing apparatus, printed matter, and image processing program
US8325970B2 (en) * 2007-03-19 2012-12-04 Ricoh Company, Limited Apparatus, method, and computer product for image processing
TWI397299B (en) * 2008-12-04 2013-05-21 Nat Univ Chung Hsing Method of high capacity reversible data hiding scheme using edge prediction error
US8488900B2 (en) 2010-06-23 2013-07-16 Digimarc Corporation Identifying and redressing shadows in connection with digital watermarking and fingerprinting
JP5729464B2 (en) 2011-03-22 2015-06-03 富士通株式会社 POSITION INFORMATION ADDING DEVICE, POSITION INFORMATION ADDING METHOD, POSITION INFORMATION ADDING COMPUTER PROGRAM, AND POSITION DETECTION DEVICE
US9367770B2 (en) 2011-08-30 2016-06-14 Digimarc Corporation Methods and arrangements for identifying objects
US10474858B2 (en) 2011-08-30 2019-11-12 Digimarc Corporation Methods of identifying barcoded items by evaluating multiple identification hypotheses, based on data from sensors including inventory sensors and ceiling-mounted cameras
US9224184B2 (en) 2012-10-21 2015-12-29 Digimarc Corporation Methods and arrangements for identifying objects
US9059852B2 (en) * 2013-03-27 2015-06-16 International Business Machines Corporation Validating a user's identity utilizing information embedded in a image file
US10371650B2 (en) * 2016-09-22 2019-08-06 Advanced Manufacturing LLC Macrotexture map visualizing texture heterogeneity in polycrystalline parts

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8806452D0 (en) 1988-03-18 1988-04-20 Imperial College Digital data security system
US5721788A (en) * 1992-07-31 1998-02-24 Corbis Corporation Method and system for digital image signatures
EP0987855A2 (en) 1993-11-18 2000-03-22 Digimarc Corporation Method and apparatus for encoding audio with auxiliary digital data
GB9400971D0 (en) 1994-01-19 1994-03-16 Mor Limited Method of and apparatus for manipulating digital data
US5848155A (en) * 1996-09-04 1998-12-08 Nec Research Institute, Inc. Spread spectrum watermark for embedded signalling

Also Published As

Publication number Publication date
JPH10513324A (en) 1998-12-15
KR19980701981A (en) 1998-06-25
WO1996025005A1 (en) 1996-08-15
EP0878094A1 (en) 1998-11-18
KR100413655B1 (en) 2004-03-18
DE69617467T2 (en) 2002-08-22
EP0878094B1 (en) 2001-11-28
DE69617467D1 (en) 2002-01-10
US6181802B1 (en) 2001-01-30
GB9502274D0 (en) 1995-03-29

Similar Documents

Publication Publication Date Title
CA2212328A1 (en) Method and apparatus for coding information
Wolfgang et al. A watermark for digital images
Swanson et al. Multiresolution scene-based video watermarking using perceptual models
US6654501B1 (en) Method of integrating a watermark into an image
Kutter et al. A vision-based masking model for spread-spectrum image watermarking
Swanson et al. Object-based transparent video watermarking
US7072487B2 (en) Watermark detection using adaptive color projections
EP1366464B1 (en) Alternating watermarking of images
Parthasarathy et al. An improved method of content based image watermarking
EP0840513A2 (en) Digital data watermarking
CA2368136A1 (en) Watermarking
Yeung et al. Fragile watermarking of three-dimensional objects
KR20020001840A (en) Method for inserting a watermark into an image
Dittmann Content-fragile watermarking for image authentication
US7006254B2 (en) Method and system for data hiding and authentication via halftoning and coordinate projection
Goffin et al. Low-cost perceptive digital picture watermarking method
Thiemert et al. Applying interest operators in semi-fragile video watermarking
EP0966837B1 (en) Method and apparatus for coding information
US6324303B1 (en) Method and apparatus for coding information
Delaigle et al. Low cost watermarking based on a human visual model
Westfeld Lessons from the BOWS contest
Lee et al. Adaptive video watermarking using motion information
Najeeb New Techniques of Watermark Images using Bit Plane Slicing and Cubic-spline Interpolation
Butman et al. Multi-level watermarking with independent decoding
Kailasanathan Fragile watermark based on polarity of pixel points

Legal Events

Date Code Title Description
EEER Examination request
FZDE Discontinued