Abstract:
A perceptual model performs an analysis of a media signal, such as an image or audio signal. The model may be used in media signal processing applications such as digital watermarking and data compression to reduce perceptibility of changes made to code the signal. For image applications, the model computes the sensitivity of an image to changes based upon local image contrast, while taking into account the sensitivity of connected directional edges. By comparing the local image strength of various directionally filtered versions of the image, the model creates a directional control vector. This control vector may be used to reduce changes to an image in text and edge regions, and thus, avoid perceptible artifacts in those regions. The model takes into account the local contrast of the image and the directional control vector to create a gain vector. Using the local contrast measurements, the model follows the eye&#39;s nonlinear response to contrast discrimination.

Description:
RELATED APPLICATION DATA 
     The subject matter of the present application is related to that disclosed in U.S. Pat. No. 5,862,260, and in co-pending applications 09/503,881, filed Feb. 14, 2000; which are hereby incorporated by reference. 
    
    
     TECHNICAL FIELD 
     The invention relates to multimedia signal processing, and in particular relates to perceptual modeling of media signals, such as images, video and audio. 
     BACKGROUND AND SUMMARY 
     Perceptual modeling is often used in media signal processing applications to assess the extent to which changes to a media signal are noticeable to the human eye or ear. A perceptual model analyzes a media signal&#39;s ability to hide or mask changes. Such models are used in lossy signal compression and digital watermarking to minimize the perceptibility of these processes to a viewer or listener of the processed signal. 
     Lossy signal compression typically quantizes signal samples to reduce the memory or bandwidth required to store and transmit image and audio signals. Media signal codecs, like those defined in MPEG standards, use perceptual models to identify parts of media signal that can be more heavily compressed while staying within a desired quality. 
     Digital watermarking is a process for modifying media content to embed a machine-readable code into the data content. The data may be modified such that the embedded code is imperceptible or nearly imperceptible to the user, yet may be detected through an automated detection process. Most commonly, digital watermarking is applied to media such as images, audio signals, and video signals. However, it may also be applied to other types of data, including documents (e.g., through line, word or character shifting), software, multi-dimensional graphics models, and surface textures of objects. 
     Digital watermarking systems have two primary components: an embedding component that embeds the watermark in the media content, and a reading component that detects and reads the embedded watermark. The embedding component embeds a watermark signal by altering data samples of the media content. The reading component analyzes content to detect whether a watermark is present. In applications where the watermark encodes information, the reader extracts this information from the detected watermark. 
     In digital watermarking, one aim is to insert the maximum possible watermark signal without significantly affecting signal quality. Perceptual models may be used to determine how to embed the watermark in a host media signal such that signal masks the watermark. In image watermarking, a watermark embedder can take advantage of the masking effect of the eye to increase the signal strength of a watermark in busy or high contrast image areas. However if this is done for all high frequency areas, a visually objectionable watermark or ‘ringing’ may become visible on connected directional edges. 
     In audio watermarking, busy or high contrast segments of an audio signal tend to have a greater masking effect. However, embedding a watermark in portions of an audio signal that represent pure tones may make the watermark more audible. 
     The invention provides methods for perceptual analysis of media signals. While particularly adapted to image signals, the invention applies to other types of media signals as well. One aspect of the invention is a method for perceptually analyzing a media signal to reduce perceptible artifacts around directional edges. The method analyzes the media signal to compute a measure of directional edges. Based at least in part on the measure of directional edges, the method computes control data used to control changes to the media signal in a manner that controls perceptibility of the changes around directional edges. 
     For digital watermark applications, this method may be used to reduce perceptible artifacts around connected edges. The method may also be used to reduce artifacts around directional edges in lossy signal compression schemes. 
     Another aspect of the invention is a method for perceptual analysis of a media signal based on local contrast. This method analyzes the media signal to compute measures of local contrast at samples within the media signal. Based at least in part on the measures of local contrast, it computes a measure of visual sensitivity to changes of the media signal at the samples. To compute visual sensitivity to the local contrast, it applies a human visual model that relates local contrast to visual sensitivity. 
     In one implementation, the human visual model performs a non-linear mapping function that is tuned to the eye&#39;s sensitivity to local contrast. In a plot of visual sensitivity versus contrast, visual sensitivity initially increases with contrast and then decreases. The mapping function exploits this attribute. 
     As in the case of the perceptual analysis based on directional edges, the perceptual analysis based on local contrast may be applied to a variety of media signal processing applications. Some examples include digital watermarking and lossy signal compression. 
     The perceptual analyses based on directional edges and local contrast may be used independently, in combination with each other, or in combination with other perceptual models. 
     Further features will become apparent with reference to the following detailed description and accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a diagram illustrating a method for perceptual modeling of a media signal. 
     FIG. 2 is a diagram illustrating a perceptual model for image signals. 
     FIG. 3 is a plot depicting a non-linear mapping function used to map local contrast to human sensitivity in a human perceptual model. 
    
    
     DETAILED DESCRIPTION 
     FIG. 1 is a diagram illustrating a method for perceptual analysis of a media signal. The following discussion describes this method as applied to still image signals. However, the principals of the method are applicable to video and audio signals as well. This method includes perceptual modeling based on local contrast and directional edges. The result of this perceptual modeling may be combined with other forms of perceptual modeling. In addition, perceptual modeling based on local contrast and directional edges may be used independently. 
     The input to the perceptual analysis is a media signal  100 , such as an image or audio signal. For the sake of an example, we describe an implementation for still images. In this case, the media signal is an image or part of an image. One aspect of the perceptual analysis  102  computes a measure of directional edges ( 104 ) at positions throughout the media signal. The method uses this measure to compute data to control changes to the input signal in a manner that reduces perceptibility of those changes. For example, the control data may be used to suppress a change to a sample or set of samples of a media signal as a function of the measure of directional edges at the position of the sample or samples in the media signal. 
     Another aspect of the perceptual analysis  106  computes a measure of local contrast at positions in the media signal. It then computes perceptual sensitivity at these positions based on the local contrast measurements and a perceptual model that models human sensitivity to contrast. 
     The perceptual analysis uses the results of the directional edge and local contrast perceptual modeling to compute a control vector ( 110 ). Elements of the control vector correspond to samples of the media signal. The magnitude of these elements reflect the relative impact that changes to corresponding samples are expected to have on perceptibility. A larger element value in the control vector means that changes to a media signal at the position of that element are less likely to be noticeable, and thus, can tolerate greater changes for a desired amount of perceptibility. A smaller element value, conversely, means that changes will have a greater impact on perceptibility. 
     The perceptual analysis may combine either or both of the local contrast and directional edge measurements with other perceptual analyses data to compute the control vector ( 110 ). In the example of an image signal, the perceptual analysis may also compute a measure of image activity. Parts of an image that are highly busy or textured can withstand more changes for a desired amount of perceptibility relative to less busy, smoothly varying parts. 
     One way to perceptually analyze such signal activity is to high pass filter parts of the signal to measure the high frequency content of each part. The amount of high frequency components in a given part of the signal means that the part is more busy and likely to withstand more changes for a desired amount of perceptibility. 
     Another way to analyze signal activity is to measure the edges or sharp transitions per unit of the signal. A high measure of edges over a given area tends to indicate greater signal activity, and thus, a greater tolerance for changes for a desired amount of perceptibility. The exception, as noted above, is that directional edges are more sensitive to changes. Thus, a general measure of edginess without concern for directional edges will roughly indicate the extent to which a signal is perceptually insensitive to changes. A measure of directed edges over the same part of the signal indicates the extent to which the signal has directional edges that are sensitive to changes. In a similar manner, the watermark detector should ignore areas with directional edges thus reducing the jamming effect of text and other strong directional edges. 
     In computing the control vector, the perceptual analysis takes into account the local contrast measure, the directional edge measure, and possibly other perceptual modeling such as models based on signal activity. Each of these perceptual analyses contributes to a composite control vector. Depending on the application, the perceptual analysis process may apply additional post processing to the composite vector to generate a final control vector  112 . This final control vector  114 , or intermediate control vectors from the local contrast or directional edge analyses, may then be used in a variety of applications of perceptual modeling. 
     One such application is the embedding of a digital watermark. For example, a control vector may be used to control the strength with which a watermark signal is embedded in the media signal. The control vector can be used to adapt the watermark to the host signal in which it is embedded. This perceptual analysis method applies broadly to watermark methods that embed a watermark by changing the host signal in a temporal or spatial domain in which the signal is perceived (viewed or heard) or by changing the host signal in a transform domain, such as modifying transform coefficients, subband samples, etc. 
     For example, some watermark methods transform a host signal to a transform domain, modify transform coefficients or samples, and then inverse transform the modified coefficients or samples to produce a watermarked signal. Some examples include methods that modify Discrete Cosine Transform, Discrete Wavelet Transform, or Discrete Fourier Transform coefficients. Elements of the control vector may correspond to parts of the host signal that are transformed to the selected transform domain. For example, in watermark process that encodes auxiliary information in DCT blocks, the elements of the control vector may correspond to the strength of watermark encoding in the DCT blocks. In a watermark process that encodes auxiliary information in subband samples, the elements of the control vector may correspond to subband samples or groups of subband samples. 
     Another such application is lossy data compression of media signals. For example, a control vector may be used to control quantization of media signal samples in lossy compression schemes for images (e.g., JPEG, JPEG 2000), video (MPEG, H263, Windows Media Video), and audio (MPEG, AAC, Qdesign, Windows Media Audio, Twin VQ, ATRAC3, Dolby Digital AC-3, ePAC). As noted above, elements of the control vector may correspond to samples of the media signal, or transform coefficients or samples. 
     The granularity of the control vector may vary with the application and media signal type. For image signals, elements of the control vector may correspond to a pixel or blocks of pixels at a given spatial resolution. For audio signals, the elements of the control vector may correspond to an audio sample or frame of temporally contiguous audio samples. 
     The control vector may also correspond to media signal samples in a transform domain. An audio signal may be transformed into a time-frequency domain and then analyzed using aspects of the perceptual model described above. For example, an analysis tool may transform overlapping, temporal frames of an audio signal into a time frequency space, where the time axis corresponds to temporal frames, and the frequency corresponds to frequency coefficients for each frame. 
     The control vector may be used as a gain vector with elements that are used to adjust the strength of corresponding signal samples. For example, the elements may be used to adjust the signal strength of corresponding samples or groups of samples of a watermark signal. 
     FIG. 2 is a block diagram illustrating an implementation of a perceptual analysis for image signals. The inputs to the perceptual analysis include images or image blocks. In particular, the image input includes two versions of the same image at two different resolutions  200 ,  202 . The resolution of the image may be obtained from the header file or may be estimated from the image itself. The format of the image at this stage depends on the application. In this particular example, the perceptual analysis operates on luminance samples. The luminance samples may be generated by mapping color vector samples in an image from color space representations like RGB or CMYK to luminance values. The desired resolution of the image may be obtained by up or down-sampling the image. 
     An initialization process  204  sets up blocks of the image at two different resolutions. In this case, one resolution (resolution x) is double the other (resolution y). The model applies the higher resolution block to directional edge mask  206  and edge strength detector  208 . The directional edge mask measures directional edges in a local neighborhood around each image sample. In particular, it computes the edge in several directions around a center sample in the neighborhood. The edge strength is calculated in four directions (horizontal, vertical, and along two diagonals), using the appropriate Gabor filters. The pixel is marked as a directional edge if the edge in one direction is significantly higher than the average of the other edge directions. 
     The edge strength detector  208  measures the strength of edges over the same neighborhood of image samples. One way to implement the edge strength detector is to apply a Laplacian filter to each neighborhood. The filter computes the dot product of the samples in the neighborhood with a two-dimensional array of scale factors (e.g., in a three by three window of samples, the center element has a peak value surrounded by elements of a constant, negative value such as 
     −1 −1 −1 
     −1 8 −1 
     −1 −1 −1 
     Pratt, ‘Digital Image Processing’, p482, 1978). 
     The Next, the model combines  210  corresponding elements of the edge mask and strength of edge calculations. In particular, it multiplies corresponding elements together. It then smooths the result by down sampling the resulting vector (e.g., down sample by 2) ( 212 ). 
     The model then applies a filter that grows directional edges  214 . The effect of this filter is to retain directional edges and connect directional edges that are slightly disconnected. In effect, this process estimates the extent to which the directional edges are connected. One way to accomplish this effect is to apply an order filter over a neighborhood of samples and choose an element less than halfway deep in the ordering from large to small values (e.g., five by five window choosing element  10 ). At this stage, the perceptual analysis of directional edges has generated control data, and particularly, a control vector representing a measure of directional edges. This vector may then be applied to selectively suppress the strength of a watermark signal where directional edges are stronger. 
     Another aspect of the perceptual analysis measures local contrast, and maps the local contrast to a control data representing visual sensitivity. A local contrast analyzer  216 , in this example, operates on the lower resolution version of the input image. It measures the local contrast in a neighborhood around each image sample in that image. There are many different types of filters that may be used to measure local contrast. One such example is to compute the absolute value of the difference between the center element and each of eight surrounding elements, and then average the differences. 
     Next, the perceptual analysis maps the local contrast measurements to control values based on a perceptual model  218  that simulates the eye&#39;s sensitivity to contrast. FIG. 3 illustrates a plot showing an example of the perceptual model. The perceptual model is depicted as a mapping function that maps local contrast values to a corresponding sensitivity values. These sensitivity values may act as control data, or may be converted to control data, used to adjust changes to the image. 
     For example, the control data for the image may comprises a control vector with elements that represent sensitivity: larger values mean low sensitivity, while smaller values mean high sensitivity. The mapping function follows the human eye&#39;s sensitivity to contrast. The vertical axis corresponds to a gain boost, meaning that larger values reflect that the image can tolerate more changes for a desired level of perceptibility. The horizontal axis is a log scale of contrast. From FIG. 3, one can see that the eye is more sensitive to small levels of contrast, than no contrast. As the contrast increases, however, the eye becomes increasingly less sensitive to changes. 
     The increase in signal strength in the presence of a reference signal before being visually perceptible is a non-linear function (Barten, ‘Contrast Sensitivity of the Human Eye’, p.139, 1999). For watermarking applications, the mapping function has been derived experimentally, by applying a watermark signal at different strengths on top of a textured image of different contrasts. The strength at which the mark was just noticeable at each contrast was then determined visually, to generate a contrast versus watermark gain control curve. 
     The result of remapping the local contrast measurements is a control vector that adjusts changes to an image based on sensitivity. Elements of the vector corresponding to less sensitive image areas increase the change, while elements of the vector corresponding to more sensitive areas decrease the change. 
     The perceptual analysis combines  220  the control vector from the contrast and directional edge modeling to form a gain vector. Additional post processing  222  may then be applied to the gain vector. In the example shown in FIG. 2, the model applies a filter  224  that removes isolated directional edges. To accomplish this, the perceptual analysis depicted in FIG. 2 uses a filter that suppresses random spikes in the gain vector. One such filter is a generalized order filter. One implementation of this type of filter orders elements from large to small values in a window around each element of the gain vector and replaces the center element with an element near the top (e.g., in a ordering of elements in a five by five window, choosing element  4 ). 
     For optimal performance for a particular applications, the model can be tuned by selecting combinations of filters that compliment each other and fine tuning the parameters of each filter. 
     The components of the perceptual analysis shown in FIG. 2 may vary from one implementation to another. Experiments indicate that a similar implementation to the one shown in FIG. 2, without the direction edge filter  214 , may provide better results. In some implementations, the re-mapping function applied to local contrast may not be a log mapping, but instead, some other non-linear mapping. Processes such as the just noticeable difference tests described above may be used to experimentally derive the non-linear mapping function for a particular application and type of media signal. 
     The perceptual analysis performs a contrast measurement and a directional edge measurement. In one implementation, it combines the two measurements and re-maps the result to take into account the human&#39;s perception of contrast. In an alternative implementation, the re-mapping may be applied to the contrast measurement, without a directional edge measurement. 
     CONCLUDING REMARKS 
     Having described and illustrated the principles of the technology with reference to specific implementations, it will be recognized that the technology can be implemented in any other, different, forms. To provide a comprehensive disclosure without unduly lengthening the specification, applicants incorporate by reference the patents and patent applications referenced above. Processes and components described in these applications may be used in various combinations with processes and components described above. 
     The methods and processes described above may be implemented in hardware, software or a combination of hardware and software. For example, the process may be incorporated into a watermark or media signal encoding system implemented in a computer or computer network. The methods and processes described above may be implemented in programs executed from the system&#39;s memory (a computer readable medium, such as an electronic, optical or magnetic storage device.) 
     The particular combinations of elements and features in the above-detailed embodiments are exemplary only; the interchanging and substitution of these teachings with other teachings in this and the incorporated-by-reference patents/applications are also contemplated.