Watermarking compressed data

Information

  • Patent Grant
  • 7949147
  • Patent Number
    7,949,147
  • Date Filed
    Tuesday, November 21, 2006
    18 years ago
  • Date Issued
    Tuesday, May 24, 2011
    14 years ago
Abstract
A method of embedding auxiliary data in coefficients generated for a compressed data stream applies embedding rules to selected coefficients in different blocks to embed the data. The method receives coefficients in a data stream in which the coefficients are divided into blocks. It changes the value of selected coefficients to embed multi-bit message data in the coefficients. The process of changing the coefficients includes controlling changes to the selected coefficients from different blocks so that the relationship of the selected coefficients from the different blocks satisfy an embedding rule. One embedding rule causes the embedded data to form a pattern across the blocks. Another rule causes coefficients of blocks to have a desired phase relationship. Another rule enforces entropy and/or bit rate constraints onto the data stream. These embedding rules facilitate data hiding within bit rate and perceptibility constraints, while increasing robustness.
Description
TECHNICAL FIELD

The invention relates to digital watermarking.


BACKGROUND AND SUMMARY

The advent of technology for storing images on digital media has increased the need for a method to protect against piracy. Images stored on prior forms of media (e.g. VHS, Beta, audiotapes, etc.) are inherently degraded when copied. Images stored on digitally encoded media can be copied with no degradation; therefore, perfect copies of copies of copies, etc. can be made.


The introduction of Digital Versatile Discs (DVD) containing movies has created increased incentives for both casual and professional unauthorized copying. At the movie industry's urging, technology has been put in place to protect against simple duplication of DVD disks using equipment available to unsophisticated consumers. This is similar to the protection that exists which prevents one from duplicating a VCR tape by connecting together two commercially available VCRs.


While such protection mechanisms protect against some types of copying, a personal computer connected to a DVD device present a much more complicated problem. Open architecture devices such as personal computers reproduce the signals in the “clear” and such devices have many entry points, which can be used to duplicate material once it is in the “clear”. Some embodiments of the invention use digital watermarks to address the above described problem. The invention also has other applications.


The invention provides a method of embedding auxiliary data in coefficients generated for a compressed data stream. The method receives coefficients in a data stream in which the coefficients are divided into blocks. It changes the value of selected coefficients to embed multi-bit message data in the coefficients. The process of changing the coefficients includes controlling changes to the selected coefficients from different blocks so that the relationship of the selected coefficients from the different blocks satisfy an embedding rule. One embedding rule causes the embedded data to form a pattern across the blocks. Another rule causes coefficients of blocks to have a desired phase relationship. Another rule enforces entropy and/or bit rate constraints onto the data stream.


Another aspect of the invention is a method of embedding auxiliary data in coefficients generated for a compressed data stream. This method receives coefficients in the data stream and changes the value of selected coefficients to embed multi-bit message data in the coefficients. The changing of coefficients includes controlling changes to entropy codes representing the selected coefficients, and these changes are made so as to satisfy an established bit rate constraint.


This document also describes methods and related systems for embedding and detecting watermarks in compressed data formats, such as JPEG or MPEG formatted images as well as other types of image signals. One method receives transform coefficients of the image, and changes the value of selected coefficients to embed watermark data in the coefficients. The changing of the coefficients is controlled such that it both embeds the data and forms an orientation signal that facilitates determination of rotation or scale of the image.


For example, to facilitate the detection of digital watermarks, one can insert a watermark signal that forms an orientation signal called a grid. The grid can be used to determine orientation and scale. In one embodiment described in this document, the data signal and the grid signal are integrated into a single watermark signal in such a manner that the visual artifacts introduced by the watermark are minimized.


Another aspect of this disclosure is a variation of embedding a watermark in an image. This method receives message bits to be embedded in the image, receives transform coefficients of the image, and maps the message bits to selected transform coefficients. The method changes the value of selected coefficients to embed data in the coefficients. The characteristics of the image are used to control the change of transform coefficients to embed the watermark, and a bit rate control is used to modify the change of transform coefficients to embed the watermark according to a bit rate limit.


In applications such as DVD storage of content, an important factor that needs be considered is the bit rate of the bit stream. There are disadvantages if introduction of a watermark into a bit stream changes the bit rate. For example if images are going to be recorded on a medium such as a DVD disc, increasing the number of bits in the bit stream will decrease the number of images that can be recorded on a single disk. It is known that, in general, adding a watermark to a stream of images will increase the number of bits in the bit stream. An embodiment provides a method and apparatus, which preserves the bit rate even though watermarks are introduced into the images.


JPEG and MPEG data compression techniques transform images utilizing a discrete cosine transform (DCT) which produces a matrix of DCT coefficients. These coefficients are arranged into blocks (e.g., into 8 by 8 blocks of coefficients). The blocks of DCT coefficients are in turn arranged into macro blocks (e.g., into 16 by 16 arrays containing four 8 by 8 blocks). In one embodiment of a digital watermark encoder, selected DCT coefficients in each block are slightly increased or slightly decreased in response to a watermark signal. The changes in the blocks that comprise each macro block are done in a coordinated manner so that the phase of the watermark signal is preserved across the block boundaries. By preserving the phase across block boundaries, a detectable grid is formed which can be used as an orientation and scaling grid.


An embodiment of the watermark encoder also maintains the bit rate of the image signal. The bit rate of the signal is preserved by maintaining a count (referred to as the cumulative change count) that represents the amount that the bit rate has been increased by changes in coefficients less the amount that the bit rate has been decreased by changes in the coefficients. If at any time the cumulative change count exceeds a pre-established limit, coefficient changes that decrease the cumulative change count continue; however, coefficient changes that increase the cumulative change count are suspended. The suspension of coefficient changes that increase the cumulative change count continues until the cumulative change count falls below the pre-established limit. The above described process can be described as selectively changing the intensity of a watermark signal in a bit stream so as to prevent the entropy of the combined signal from exceeding a pre-established limit.


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 how the pixels in an image are arranged into blocks and how the resulting DCT coefficients are numbered.



FIG. 2 is a diagram, which shows how the blocks of DCT coefficients are arranged into macro blocks.



FIG. 3 is a program flow diagram showing how the coefficients in each block of a macro block are treated so as to preserve the phase of watermark signal in each macro block.



FIG. 4 is a program flow diagram showing how the bit rate in the data stream is maintained constant.





DETAILED DESCRIPTION

The MPEG (Motion Picture Expert Group) and JPEG (Joint Photographic Expert Group) image compression techniques use a DCT (Discrete Cosine Transform) to generate a matrix of coefficients. An embodiment of the invention shown herein slightly modifies the DCT coefficients (either slightly increases or slightly decreases the value of the coefficients) so as to embed a digital watermark in the image. Such a digital watermark can later be detected by cross correlation techniques.


As illustrated in FIG. 1, the MPEG and JPEG techniques divide an image into 8 by 8 blocks of pixels. Each block of pixels is then used to generate an eight by eight block of DCT coefficients. The 8 by 8 blocks of coefficients are divided into “macro blocks”, each of which consists of four of the original blocks. This is illustrated in FIG. 2. The rows and columns of DCT coefficients in each block are numbered from top to bottom and left to right as illustrated in FIG. 1. The first row and the first column are designated as the “0” row and “0” column.


Certain of the DCT coefficients in each block are selected as the coefficients that will carry a selected bit of the digital watermark signal. In one embodiment, the three coefficients circled in FIG. 1 are used to carry the first or “0” bit of the watermark data signal. These three coefficients are modified, that is, either slightly increased or slightly decreased depending upon the value of the “0” bit of the watermark data. In a similar manner, other coefficients are slightly changed in order to carry the other bits of the watermark signal.


One aspect of the embodiment is directed to insuring that the sinusoids generated by the changes made to the DCT coefficients are continuous, that is, in-phase across the four blocks that constitute each macro block. First, if the sinusoids that carry the watermark are continuous across each macro block, there will be less edge effects and the watermark will be less visually noticeable. Second, the sinusoids which are continuous over the four blocks of each macro block create a low level orientation or grid signal. This low level grid signal can be detected to determine the orientation and scale of the watermark. The grid signal can then be detected using cross correlation techniques. Cross correlation detection techniques are for example shown in patent application Ser. No. 08/649,149 filed May 16, 1996 (Now U.S. Pat. No. 5,862,260) and in issued patent U.S. Pat. Nos. 5,748,763 and 5,748,783.


If certain DCT coefficients in adjacent blocks are modified in the same direction, the resulting sinusoids will not be continuous across block boundaries. In the embodiment, the changes made to the coefficients of each of the four blocks in a macro block are coordinated so that the resulting sinusoids will be continuous across block boundaries within each macro block. The changes are coordinated using the rules explained below.


The blocks in each macro block are numbered as shown in FIG. 2. Block one is considered the base block. The coefficients in this block are changed in a conventional way by the associated bits of the watermark signal. Note, the following paragraphs relate to how the coefficients which are circled in FIG. 1 are changed in response to the “0” bit of the watermark. It should be understood that other coefficients must be similarly changed to carry the other bits in the watermark data.


In block 1, the coefficients that are circled in FIG. 1 are slightly increased or slightly decreased in response to the “0” bit of the watermark data. In blocks 2, 3 and 4, the circled coefficients shown in FIG. 1 are changed in response to the zero bit of the watermark according to the following rules.


Block 2: invert the direction of the change if the coefficient is in an odd row.


Block 3: invert the direction of the change if the coefficient is in an odd column


Block 4: invert the direction of the change if the coefficient is in an odd row or if it is in and odd column, but do not invert the direction of the change if the coefficient is in both and odd row and in an odd column.


If the above rules are followed the sinusoids generated by the change in the DCT coefficients will be continuous across the boundaries in the four blocks that form each macro block. These sinusoids will be able to be detected using cross correlation techniques, and they can be used as a grid to determine the scale and rotation of the image. The data bits in the watermark will also be able to be detected using conventional watermark detection techniques. Thus, the watermark data itself is used to form the grid that can be used to determine scale and rotation.



FIG. 3 is an overall program flow diagram of the above described aspect of an embodiment. The system accepts a stream of data that represents images. Block 301 is a conventional device or program module that generates DCT coefficients for the images in the data stream. These coefficients are sent to a decision unit 302 which separates the data into macro blocks and sends it to units 311, 312, 313 and 314 depending upon whether the data represents a block 1, 2, 3 or 4 in a macro block. Units 311-313 modify the DCT coefficients in order to imbed a watermark signal according to the following rules.


Unit 311: modify the coefficients in a conventional manner to imbed watermark.


Unit 312: invert the direction of the change if the coefficient is in an odd row.


Unit 313: invert the direction of the change if the coefficient is in an odd column


Unit 314: invert the direction of the change if the coefficient is in an odd row or if it is in and odd column, but do not invert the direction of the change if the coefficient is in both and odd row and in an odd column.


The output of units 322 to 314 is combined by unit 320 back into a single data stream. It is noted that each of the units shown in FIG. 3 could be separate units, which are either programmed, or hardwired to perform the specified functions. Alternatively, all of the functions could be performed in a single programmed computer on a time-shared basis. The unit which generates DCT coefficients is conventional and such units are known.


The previous discussion describes how a watermark can be introduced in the DCT domain. It is noted that the durability of the overall watermarking can be increased by using two watermarks. One watermark can be added by modification of the pixels in the original image in the manner as described in U.S. Pat. Nos. 5,748,763 or 5,748,783 and then a second watermark can be added by modification of the coefficients in the DCT domain as described herein.


Another problem addressed by the present invention is the need to maintain a constant bit rate in a stream of bits representing a series of images even though watermarks are added to the images. It is noted that MPEG and JPEG systems use variable length codes to represent data; hence, adding watermarks generally increases the bit rate of a data stream. In some watermarking systems, a watermark has no correlation with the image into which the watermark is embedded. Thus, embedding a watermark in an image produces an image which has higher entropy than the original image. The bit rate of a data stream transmitting an image correlates directly to the entropy of the image.


Typically the number of codes used to code an image, that is, the number of entries in the Huffman table of a coded image, is relatively large (e.g., 500). However, the changes that occur when a watermark is introduced into an image can be illustrated with following simple example. Consider a data stream that has only four symbols, s1, s2, s3 and s4, which are encoded as follows:
















Symbol
code



















s1
0



S2
01



S3
110



S4
111











Then consider a data stream as follows:

















Bit stream:
0011010111010



Decoded stream
0/0/110/10/111/0/10



Decoded message:
s1, s2, s3, s2, s4, s1, s2









When a watermark is added to an image the bits in the image are slightly changed. In the above simplistic illustrative example, in some situation the symbol s2 would be changed to the symbol s3 and hence the number of bits in a bit stream which transmits the image would be increased. In fact, there are mathematical principles (not explained herein) which show that when a normally distributed watermark (that is, a watermark with a Gaussian distribution) is added to an image, and the image is transmitted using variable length Huffman codes, the length of the bit stream will of necessity be increased.


One embodiment of the encoder uses a technique for insuring that when a watermark is added to a data stream, the bit rate will be maintained constant. It is noted that the embodiment does not violate the above-described mathematical principle because some of the redundancy normally used to watermark images is in certain circumstances decreased. That is, in certain circumstances the intensity of the watermark is decreased.


In the embodiment, the watermark is modified in response to characteristics of the image. Thus, to some extent the watermark is correlated to the image into which the watermark in embedded. In this way, a watermark can be embedded into an image and the entropy of the combined image and watermark will be substantially equal to the entropy of the watermark alone.


In the embodiment, the encoder system maintains a cumulative count of the amount that the coefficients have been changed to any point in time. That is, the amount of positive changes less the amount of negative changes made since the beginning of the bit stream is tracked. This amount is herein referred to as the cumulative change count. If at any time, the cumulative change count exceeds a pre-established positive limit, no further positive changes are made.


Normally, it is only necessary to insure that changes do not increase the bit rate unduly; however, in some instances it may also be desirable to insure that changes do not unduly decrease the bit rate. If this is desired, the same technique as described above can be used to insure that the cumulative change amount does not exceed a pre-established negative limit. That is, if the cumulative change amount exceeds a pre-established negative value, positive changes continue in a normal manner, but no further negative changes are made.


The magnitude of the pre-established maximum (and in both a positive and negative direction) are established at the values which constitutes the change in bit rate which can be tolerated in a particular system.



FIG. 4 is a program flow diagram showing how the data rate is maintained constant not withstanding the fact that watermarks are added to the images in the data stream. Block 403A shows that a limit on the amount of positive changes that can be made to DCT coefficients is established and stored. Blocks 403C shows that the cumulative change amount is stored. The cumulative change amount is the amount of positive changes less the amount of negative changes that have been made to coefficients since the start of the data stream.


The DCT coefficients are calculated in the normal manner as indicated by block 401. Likewise the change in each the DCT coefficients needed to embed the watermark is also calculated in the normal manner as shown by block 405. Block 405 shows that a check is made to determine if the needed change in a particular DCT coefficient is positive or negative. Block 409 indicates that if the change is positive a check is made to determine if the maximum allowable cumulative change amount stored in block 403A will be exceeded if the change is made.


Blocks 415, and 417 indicate that the coefficients will only be changed, if the change does not cause the cumulative change amount to exceed the limit in 403A. Finally as indicated by blocks 425 and 427, the cumulative change amount in register 403C is incremented or decremented if a change to the coefficients is in fact made. Block 431 indicates that the coefficients are sent to the output of this process and they are then transmitted and processed in a normal manner.


It is noted that this embodiment relates to embedding a watermark in an image. Various know techniques can be used to detect watermarks embedded in images utilizing this approach. For example techniques such as those described in U.S. Pat. Nos. 5,748,763, and 5,748,783 or in the “Communications of the ACM” July 1998/vol 41, No. 7 or in U.S. application Ser. No. 08/746,613 filed Nov. 12, 1996 (Now U.S. Pat. No. 6,122,403) and Ser. No. 08/649,419 which was filed May 16, 1996 (Now U.S. Pat. No. 5,862,260) (all of which are hereby incorporated herein by reference) could be used.


While the process has been described above as one where a change is either made or not made, it should be understood that alternatively, the amount of the change could be decreased if the limit in the cumulative change value is being approached. It is also noted that the system shown in FIG. 4 prevents the cumulative change value from exceeding a pre established positive limit. Since adding a watermark to an image generally increases the entropy of the image and since Huffman code tables are normally constructed such that an increase in entropy result in increased bit rate, the use of only a positive limit is normally appropriate. However, in some situations, it may be appropriate to track if the cumulative change amount exceeds a limit in both the positive and negative directions. Such a check could be added to FIG. 4 prior to block 427.


It is recognized that by implementing the described embodiment, the strength of the watermark is in some cases reduced. However, the reduction is not sufficient to prevent detection of the watermark. The changes made with the above embodiment merely lower the intensity of the watermark in a selective manner. Thus, in some instances, more processing may be required to detect the watermark.


In many systems, each Huffman code covers several symbols. In such systems the calculation indicated by block 405 is not the change in a single symbol that results from adding a watermark to the image. In such systems the calculation indicated by block 405 is a calculation of the change that results in the bit string of whatever combination of symbols used in the Huffman code to represent a symbol. In some cases the calculation might have to be done over several combinations of symbols.


It is also noted that various aspects of the present invention are shown herein in a single embodiment. Other alternative embodiments could use one but not all aspects of the invention. For example, the part that relates to maintaining bit rate could be used in embodiments which do not use macro blocks to establish an orientation grid. Likewise the aspect which relates to the use of macro blocks could be used without the part that relates to maintaining a constant bit rate. Finally, while the invention has been shown in an embodiment that inserts a watermark in the DCT domain, the invention could be used in applications where watermarks are inserted in other domains.


While the invention has been shown and described with respect to preferred embodiments of the invention, various changes in form and detail could be made without departing from the spirit and scope of the invention. The applicant's invention is limited only by the appended claims.

Claims
  • 1. A method comprising: in a programmed or hardwired processing unit, receiving coefficients in a data stream, wherein the coefficients are divided into blocks;using the programmed or hardwired processing unit, changing a value of selected coefficients to embed multi-bit message data in the coefficients, the changing including controlling changes to the selected coefficients from different blocks so that a relationship of the selected coefficients from the different blocks satisfies an embedding rule.
  • 2. The method of claim 1, wherein the embedding rule comprises a phase relationship of the selected coefficients from the different blocks.
  • 3. The method of claim 1, wherein the changing of the value of the selected coefficients comprises changing of the selected coefficients such that the changing embeds the multi-bit message data and forms an orientation signal that facilitates determination of rotation or scale of an image represented by the coefficients.
  • 4. The method of claim 1, wherein the coefficients comprise Discrete Cosine Transform coefficients.
  • 5. The method of claim 1, wherein the coefficients are extracted from compressed image blocks.
  • 6. The method of claim 1, wherein the multi-bit message data comprises message bits, and wherein a message bit is mapped to the selected coefficients.
  • 7. The method of claim 1, wherein the changing of the value of the selected coefficients to embed the multi-bit message data is modified by a characteristic of an image corresponding to the coefficients.
  • 8. The method of claim 1, wherein the changing of the value of the selected coefficients to embed the multi-bit message data is modified to control a bit rate of an image corresponding to the coefficients according to a bit rate limit.
  • 9. The method of claim 3, wherein the orientation signal is formed by embedding message bits according to the embedding rule.
  • 10. The method of claim 1, wherein the coefficients form part of a video.
  • 11. The method of claim 1, wherein the changes are made to entropy coded symbols representing the selected coefficients.
  • 12. The method of claim 11, wherein the changes to the entropy coded symbols are controlled to maintain a bit rate of the data stream within a desired level.
  • 13. A method comprising: in a programmed or hardwired processing unit, receiving coefficients in a data stream; andusing the programmed or hardwired processing unit, changing a value of selected coefficients to embed multi-bit message data in the coefficients, the changing including controlling changes to entropy codes representing the selected coefficients so as to satisfy an established bit rate constraint.
  • 14. A non-transitory computer readable medium on which is stored instructions, the instructions comprising: instructions to receive coefficients in a data stream, wherein the coefficients are divided into blocks;instructions to change a value of selected coefficients to embed multi-bit message data in the coefficients, the changing including controlling changes to the selected coefficients from different blocks so that a relationship of the selected coefficients from the different blocks satisfies an embedding rule.
  • 15. A non-transitory computer readable medium on which is stored instructions, the instructions comprising: instructions to receive coefficients in a data stream; andinstructions to change a value of selected coefficients to embed multi-bit message data in the coefficients, the changing including controlling changes to entropy codes representing the selected coefficients so as to satisfy an established bit rate constraint.
  • 16. The non-transitory computer readable medium of claim 14, wherein the embedding rule comprises a phase relationship of the selected coefficients from the different blocks.
  • 17. The non-transitory computer readable medium of claim 14, wherein the changing of the value of the selected coefficients comprises changing of the selected coefficients such that the changing embeds the multi-bit message data and forms an orientation signal that facilitates determination of rotation or scale of an image represented by the coefficients.
  • 18. The non-transitory computer readable medium of claim 14, wherein the coefficients comprise Discrete Cosine Transform coefficients.
  • 19. The non-transitory computer readable medium of claim 14, wherein the coefficients are extracted from compressed image blocks.
  • 20. The non-transitory computer readable medium of claim 14, wherein the multi-bit message data comprises message bits, and wherein a message bit is mapped to the selected coefficients.
  • 21. The non-transitory computer readable medium of claim 14, wherein the changing of the value of the selected coefficients to embed the multi-bit message data is modified by a characteristic of an image corresponding to the coefficients.
  • 22. The non-transitory computer readable medium of claim 14, wherein the changing of the value of the selected coefficients to embed the multi-bit message data is modified to control a bit rate of an image corresponding to the coefficients according to a bit rate limit.
  • 23. The non-transitory computer readable medium of claim 17, wherein the orientation signal is formed by embedding message bits according to the embedding rule.
  • 24. The non-transitory computer readable medium of claim 14, wherein the coefficients form part of a video.
  • 25. The non-transitory computer readable medium of claim 14, wherein the changes are made to entropy coded symbols representing the selected coefficients.
  • 26. The non-transitory computer readable medium of claim 25, wherein the changes to the entropy coded symbols are controlled to maintain a bit rate of the data stream within a desired level.
RELATED APPLICATION DATA

This application is a continuation of application Ser. No. 10/953,134, filed Sep. 28, 2004 (Now U.S. Pat. No. 7,139,408), which is a continuation of application Ser. No. 09/778,307, filed Feb. 6, 2001 (Now U.S. Pat. No. 6,798,894), which is a continuation of application Ser. No. 09/138,061, filed Aug. 21, 1998 (Now U.S. Pat. No. 6,229,924), which claims the benefit of patent application Ser. No. 60/056,968, which was filed on Aug. 26, 1997. These prior patents and patent applications are hereby incorporated by reference.

US Referenced Citations (262)
Number Name Date Kind
4939515 Adelson Jul 1990 A
4969041 O'Grady et al. Nov 1990 A
5319735 Preuss et al. Jun 1994 A
5337361 Wang et al. Aug 1994 A
5530751 Morris Jun 1996 A
5530759 Braudaway et al. Jun 1996 A
5613004 Cooperman et al. Mar 1997 A
5636292 Rhoads Jun 1997 A
5646997 Barton Jul 1997 A
5652626 Kawakami et al. Jul 1997 A
5659726 Sandford, II et al. Aug 1997 A
5663766 Sizer Sep 1997 A
5664018 Leighton Sep 1997 A
5668898 Tatsuta Sep 1997 A
5687191 Lee et al. Nov 1997 A
5687236 Moskowitz et al. Nov 1997 A
5710834 Rhoads Jan 1998 A
5721788 Powell Feb 1998 A
5727092 Sandford et al. Mar 1998 A
5745604 Rhoads Apr 1998 A
5748783 Rhoads May 1998 A
5768426 Rhoads Jun 1998 A
5778102 Sandford et al. Jul 1998 A
5799092 Kristol et al. Aug 1998 A
5809139 Girod et al. Sep 1998 A
5832119 Rhoads Nov 1998 A
5835639 Honsinger et al. Nov 1998 A
5841886 Rhoads Nov 1998 A
5848155 Cox et al. Dec 1998 A
5857038 Owada et al. Jan 1999 A
5859920 Daly et al. Jan 1999 A
5862260 Rhoads Jan 1999 A
5901178 Lee et al. May 1999 A
5903892 Hoffert May 1999 A
5905819 Daly May 1999 A
5915027 Cox et al. Jun 1999 A
5915044 Gardos et al. Jun 1999 A
5930369 Cox Jul 1999 A
5930377 Powell et al. Jul 1999 A
5933798 Linnartz Aug 1999 A
5946414 Cass et al. Aug 1999 A
5949055 Fleet et al. Sep 1999 A
5949885 Leighton Sep 1999 A
5956716 Kenner Sep 1999 A
5960081 Vynne Sep 1999 A
5983176 Hoffert Nov 1999 A
5987459 Swanson Nov 1999 A
6005643 Morimoto et al. Dec 1999 A
6018593 Yamagata Jan 2000 A
6026193 Rhoads Feb 2000 A
6031914 Tewfik et al. Feb 2000 A
6037984 Isnardi Mar 2000 A
6061451 Muratani May 2000 A
6061793 Tewfik May 2000 A
6069914 Cox May 2000 A
6094722 Astola Jul 2000 A
6104826 Nakagawa Aug 2000 A
6108434 Cox Aug 2000 A
6122403 Rhoads Sep 2000 A
6181813 Fan Jan 2001 B1
6208745 Florencio et al. Mar 2001 B1
6211919 Zink et al. Apr 2001 B1
6226387 Tewfik et al. May 2001 B1
6229924 Rhoads et al. May 2001 B1
6266419 Lacy et al. Jul 2001 B1
6266430 Rhoads Jul 2001 B1
6282299 Tewfik et al. Aug 2001 B1
6285776 Rhoads Sep 2001 B1
6307949 Rhoads Oct 2001 B1
6311214 Rhoads Oct 2001 B1
6314192 Chen Nov 2001 B1
6332030 Manjunath et al. Dec 2001 B1
6334187 Kadono Dec 2001 B1
6343138 Rhoads Jan 2002 B1
6345104 Rhoads Feb 2002 B1
6359985 Koch et al. Mar 2002 B1
6373965 Liang Apr 2002 B1
6381341 Rhoads Apr 2002 B1
6385329 Sharma et al. May 2002 B1
6385330 Powell et al. May 2002 B1
6408082 Rhoads et al. Jun 2002 B1
6411392 Bender et al. Jun 2002 B1
6411725 Rhoads Jun 2002 B1
6421070 Ramos et al. Jul 2002 B1
6424725 Rhoads et al. Jul 2002 B1
6424726 Nakano et al. Jul 2002 B2
6449379 Rhoads Sep 2002 B1
6483927 Brunk et al. Nov 2002 B2
6516079 Rhoads et al. Feb 2003 B1
6522770 Seder et al. Feb 2003 B1
6522771 Rhoads Feb 2003 B2
6535617 Hannigan et al. Mar 2003 B1
6542927 Rhoads Apr 2003 B2
6553129 Rhoads Apr 2003 B1
6563936 Brill et al. May 2003 B2
6567533 Rhoads May 2003 B1
6580808 Rhoads Jun 2003 B2
6580819 Rhoads Jun 2003 B1
6590996 Rhoads et al. Jul 2003 B1
6608919 Alattar Aug 2003 B1
6611607 Davis et al. Aug 2003 B1
6614914 Rhoads et al. Sep 2003 B1
6625297 Bradley Sep 2003 B1
6647128 Rhoads Nov 2003 B1
6647130 Rhoads Nov 2003 B2
6650761 Rodriguez et al. Nov 2003 B1
6674876 Hannigan et al. Jan 2004 B1
6681028 Rhoads et al. Jan 2004 B2
6681029 Rhoads Jan 2004 B1
6694042 Seder et al. Feb 2004 B2
6694043 Seder et al. Feb 2004 B2
6700990 Rhoads Mar 2004 B1
6700995 Reed Mar 2004 B2
6704869 Rhoads et al. Mar 2004 B2
6711276 Yoshiura et al. Mar 2004 B1
6718046 Reed et al. Apr 2004 B2
6718047 Rhoads Apr 2004 B2
6721440 Reed et al. Apr 2004 B2
6754377 Rhoads Jun 2004 B2
6760463 Rhoads Jul 2004 B2
6763123 Reed et al. Jul 2004 B2
6768809 Rhoads et al. Jul 2004 B2
6771795 Isnardi Aug 2004 B1
6775392 Rhoads Aug 2004 B1
6798894 Rhoads Sep 2004 B2
6813366 Rhoads Nov 2004 B1
6823075 Perry Nov 2004 B2
6879701 Rhoads Apr 2005 B1
6917724 Seder et al. Jul 2005 B2
6920232 Rhoads Jul 2005 B2
6947571 Rhoads et al. Sep 2005 B1
6959098 Alattar Oct 2005 B1
6961444 Levy Nov 2005 B2
6973197 Miller Dec 2005 B2
6975744 Sharma et al. Dec 2005 B2
6975746 Davis et al. Dec 2005 B2
6988202 Rhoads et al. Jan 2006 B1
6993153 Bradley Jan 2006 B2
6996252 Reed et al. Feb 2006 B2
6999598 Foote et al. Feb 2006 B2
7003731 Rhoads et al. Feb 2006 B1
7024016 Rhoads et al. Apr 2006 B2
7027614 Reed Apr 2006 B2
7035427 Rhoads Apr 2006 B2
7044395 Rhoads et al. May 2006 B1
7051086 Rhoads et al. May 2006 B2
7054465 Rhoads May 2006 B2
7062069 Rhoads Jun 2006 B2
7095871 Jones et al. Aug 2006 B2
7111170 Rhoads et al. Sep 2006 B2
7113614 Rhoads Sep 2006 B2
7139408 Rhoads et al. Nov 2006 B2
7158654 Rhoads Jan 2007 B2
7164780 Brundage et al. Jan 2007 B2
7171016 Rhoads Jan 2007 B1
7174031 Rhoads et al. Feb 2007 B2
7177443 Rhoads Feb 2007 B2
7213757 Jones et al. May 2007 B2
7224819 Levy et al. May 2007 B2
7248717 Rhoads Jul 2007 B2
7261612 Hannigan et al. Aug 2007 B1
7305104 Carr et al. Dec 2007 B2
7308110 Rhoads Dec 2007 B2
7313251 Rhoads Dec 2007 B2
7319775 Sharma et al. Jan 2008 B2
7330564 Brundage et al. Feb 2008 B2
7369678 Rhoads May 2008 B2
7377421 Rhoads May 2008 B2
7391880 Reed et al. Jun 2008 B2
7406214 Rhoads et al. Jul 2008 B2
7424131 Alattar et al. Sep 2008 B2
7427030 Jones et al. Sep 2008 B2
7433491 Rhoads Oct 2008 B2
7444000 Rhoads Oct 2008 B2
7444392 Rhoads et al. Oct 2008 B2
7450734 Rodriguez et al. Nov 2008 B2
7460726 Levy et al. Dec 2008 B2
7466840 Rhoads Dec 2008 B2
7486799 Rhoads Feb 2009 B2
7502759 Hannigan et al. Mar 2009 B2
7508955 Carr et al. Mar 2009 B2
7515733 Rhoads Apr 2009 B2
7536034 Rhoads et al. May 2009 B2
7537170 Reed et al. May 2009 B2
7545952 Brundage et al. Jun 2009 B2
7564992 Rhoads Jul 2009 B2
RE40919 Rhoads Sep 2009 E
7602978 Levy et al. Oct 2009 B2
7628320 Rhoads Dec 2009 B2
7643649 Davis et al. Jan 2010 B2
7650009 Rhoads Jan 2010 B2
7653210 Rhoads Jan 2010 B2
7657058 Sharma Feb 2010 B2
7685426 Ramos et al. Mar 2010 B2
7693300 Reed et al. Apr 2010 B2
7697719 Rhoads Apr 2010 B2
7711143 Rhoads May 2010 B2
7738673 Reed Jun 2010 B2
7747038 Rhoads Jun 2010 B2
7751588 Rhoads Jul 2010 B2
7751596 Rhoads Jul 2010 B2
7756290 Rhoads Jul 2010 B2
7760905 Rhoads et al. Jul 2010 B2
7762468 Reed et al. Jul 2010 B2
7787653 Rhoads Aug 2010 B2
7792325 Rhoads et al. Sep 2010 B2
20010019611 Hilton Sep 2001 A1
20010034705 Rhoads et al. Oct 2001 A1
20010053237 Hashimoto et al. Dec 2001 A1
20010055407 Rhoads Dec 2001 A1
20020009208 Alattar et al. Jan 2002 A1
20020076083 Levy Jun 2002 A1
20020108043 Tanaka Aug 2002 A1
20020131076 Davis Sep 2002 A1
20020164046 Walker et al. Nov 2002 A1
20020172394 Venkatesan et al. Nov 2002 A1
20020172395 Foote et al. Nov 2002 A1
20020176003 Seder et al. Nov 2002 A1
20020186886 Rhoads Dec 2002 A1
20020191810 Fudge et al. Dec 2002 A1
20020196272 Ramos et al. Dec 2002 A1
20030021439 Lubin et al. Jan 2003 A1
20030040957 Rhoads et al. Feb 2003 A1
20030059082 Suzuki et al. Mar 2003 A1
20030105730 Davis et al. Jun 2003 A1
20030123659 Forstrom et al. Jul 2003 A1
20030130954 Carr et al. Jul 2003 A1
20030185417 Alattar et al. Oct 2003 A1
20040005093 Rhoads Jan 2004 A1
20040125952 Alattar et al. Jul 2004 A1
20040190750 Rodriguez et al. Sep 2004 A1
20040240704 Reed Dec 2004 A1
20040264733 Rhoads et al. Dec 2004 A1
20050041835 Reed et al. Feb 2005 A1
20050058318 Rhoads Mar 2005 A1
20050192933 Rhoads et al. Sep 2005 A1
20060013435 Rhoads Jan 2006 A1
20060041591 Rhoads Feb 2006 A1
20060120559 Levy Jun 2006 A1
20060251291 Rhoads Nov 2006 A1
20070055884 Rhoads Mar 2007 A1
20070108287 Davis et al. May 2007 A1
20070276841 Rhoads et al. Nov 2007 A1
20070276928 Rhoads et al. Nov 2007 A1
20080121728 Rodriguez May 2008 A1
20080133555 Rhoads et al. Jun 2008 A1
20080292134 Sharma et al. Nov 2008 A1
20090012944 Rodriguez et al. Jan 2009 A1
20090067671 Alattar Mar 2009 A1
20090116687 Rhoads et al. May 2009 A1
20090125475 Rhoads et al. May 2009 A1
20090232352 Carr et al. Sep 2009 A1
20090286572 Rhoads et al. Nov 2009 A1
20090290754 Rhoads Nov 2009 A1
20100027837 Levy et al. Feb 2010 A1
20100045816 Rhoads Feb 2010 A1
20100062819 Hannigan et al. Mar 2010 A1
20100094639 Rhoads Apr 2010 A1
20100141779 Rhoads Jun 2010 A1
20100142749 Ellingson et al. Jun 2010 A1
20100172540 Davis et al. Jul 2010 A1
20100198941 Rhoads Aug 2010 A1
Foreign Referenced Citations (6)
Number Date Country
29 43 436 May 1981 DE
0824821 Feb 1998 EP
1217840 Jun 2002 EP
3-185585 Aug 1991 JP
WO9827510 Jun 1998 WO
WO02060182 Aug 2002 WO
Related Publications (1)
Number Date Country
20070154064 A1 Jul 2007 US
Provisional Applications (1)
Number Date Country
60056968 Aug 1997 US
Continuations (3)
Number Date Country
Parent 10953134 Sep 2004 US
Child 11562357 US
Parent 09778307 Feb 2001 US
Child 10953134 US
Parent 09138061 Aug 1998 US
Child 09778307 US