1. Field of the Invention
This invention relates to standards- or format-compliant visible watermarking techniques for digital images and video which operate on decoded transform-coefficients. The techniques can be implemented in apparatuses, methods, and programs of instructions, e.g., software.
2. Description of the Related Art
A watermark is a digital pattern embedded into the original content of a host signal, such as a digital image. A watermark can be inserted into a digital image by manipulating pixel values in the spatial domain representation or by altering certain transform coefficients in the frequency (e.g., DCT) domain representation. In the case of a block-based DCT representation, such as that used in the JPEG or MPEG compression standards, frequency coefficients in select blocks can be altered to produce a desired watermark pattern.
There are different types of watermarks which serve different purposes. One type of watermark is visibly applied to a digital image or video frame(s) to prevent or discourage unauthorized use of the image or video. The watermark may be something simple and unobtrusive, such as a small logo in a corner of the image or video frame. However, such a watermark can be easily cropped away or concealed without a drastic loss in quality. At the other extreme, the entire image may be “corrupted” in a manner that can be undone using a key. This is similar to encrypting all of the data, except that straight-forward encryption does not leave the data format-compliant.
It is therefore an object of the present invention to provide watermarking techniques that address a visible watermarking problem that lies between the two above-mentioned extremes, and provides a range of solutions for still image and video.
According to one aspect of this invention, a method for inserting a watermark in digital data is provided. The digital data into which the watermark is inserted comprises a plurality of blocks of coded transform coefficients, each block containing one of a first type of coefficient, such as a DC coefficient, and a plurality of a second type of coefficient, such as AC coefficients. The method comprises the step of applying a scrambling algorithm to each block in a predetermined pattern area of the digital data to insert the watermark in the digital data such that the resulting watermarked digital data is format compliant. The scrambling algorithm is applied by performing at least one of the following scrambling operations (i) for at least some of the blocks in the pattern area, XORing magnitude bits of each of selected ones of the second type of coefficient with a pseudo random number, (ii) for a select number of pairs of blocks in the pattern area, swapping the plurality of second type coefficients from one block in each pair with the plurality of second type coefficients from the other block in the pair, (iii) for blocks in a first sequence of blocks in the pattern area, shuffling differential values of the first type of coefficient among blocks in the first sequence, or (iv) for blocks in a second sequence of blocks in the pattern area, shuffling select bits of the first type of coefficient among blocks in the second sequence.
The inserted watermark is preferably visible and obtrusive, and the scrambling algorithm is preferably reversible.
Preferably, each of the second type of coefficient is coded by a code (Rl, s(Vl)) followed by s(Vl) bits from the least significant positions of the 1's complement representation of Vl, and if the scrambling algorithm is applied by performing at least operation (i), then preferably the magnitude bits of each of selected ones of the second type of coefficient which are XORed with a pseudo random number comprises the s(Vl) bits of that coefficient.
If the scrambling algorithm is applied by performing at least operation (ii), then preferably the select number of pairs of blocks to which operation (ii) is applied are constrained to lie within a predetermined number of rows of digital data.
If the scrambling algorithm is applied by performing at least operation (iii), then preferably the differential values of the first type of coefficient are shuffled among blocks in the first sequence without changing the sum of the values of the first type of coefficient in the first sequence of blocks.
If the scrambling algorithm is applied by performing at least operation (iv), then preferably the select bits of the first type of coefficient that are shuffled among blocks in the second sequence are select left-most bits.
Another aspect of the invention involves a method for inserting multiple watermarks in an image which may include video frame(s). The image comprises a plurality of blocks of coded transform coefficients, each block containing one of a first type of coefficient and a plurality of a second type of coefficient. The method comprises the steps of applying a first watermark to each block in a first predetermined pattern area of the image; and applying a second watermark to each block in a second predetermined pattern area of the image; wherein multiple watermarks are inserted such that the resulting watermarked image is format compliant, each watermark being applied by performing at least one of the scrambling operations (i), (ii), (iii) or (iv) described above.
With this method, preferably the first predetermined pattern area comprises a central area of the image and the second predetermined pattern area comprises a peripheral ring surrounding the central area.
In accordance with further aspects of the invention, any of the above-described methods or steps thereof may be embodied in a program of instructions (e.g., software) which may be stored on, or conveyed to, a computer or other processor-controlled device for execution. Alternatively, any of the methods or steps thereof may be implemented using functionally equivalent hardware (e.g., application specific integrated circuit (ASIC), digital signal processing circuitry, etc.) or a combination of software and hardware.
In another aspect, the invention involves an apparatus for inserting a watermark in digital data that comprises a plurality of blocks of coded transform coefficients, each block containing one of a first type of coefficient and a plurality of a second type of coefficient. The apparatus comprises a processing device configured to apply a scrambling algorithm to each block in a predetermined pattern area of the digital data to insert the watermark in the digital data such that the resulting watermarked digital data is format compliant. The scrambling algorithm is applied by performing at least one of the scrambling operations (i), (ii), (iii) or (iv) described above.
Preferably, the processing device is at least one of a microprocessor, an application specific integrated circuit, or a digital signal processor.
In accordance with another aspect of the invention, a method of selling images (which may include video) over a network is provided. This method comprises the steps of maintaining a plurality of images on a network site accessible by network browsing software; enabling a customer running the network browsing software to access the network site and to view a low quality version of each of the plurality of images; enabling the customer to select at least one image and to retrieve a watermarked version of each selected image; and transmitting a key to the customer in exchange for a specified payment, whereby the client can view or print a high-quality, watermark-free version of each selected image for which payment was received; wherein the watermark on each selected image was inserted in a predetermined pattern area of that image such that each resulting watermarked image is format compliant, the scrambling algorithm being applied by performing at least one of the scrambling operations (i), (ii), (iii) or (iv) described above.
Preferably, the low quality version of each image available for viewing by the customer is a thumbnail version.
In addition, the key may include a descrambler and a printer driver, and may also be session-based.
Another method of selling images (including video) over a network comprises the steps of maintaining a plurality of images on a network site accessible by network browsing software; enabling a customer running the network browsing software to access the network site and to view a low quality version of each of the plurality of images; enabling the customer to select at least one image and to retrieve a version of each selected image having a first watermark in a first predetermined pattern area, such as a central area, and a second watermark in a second predetermined pattern area, such as a peripheral ring surrounding the central area; and transmitting a first key to the customer in exchange for a first specified payment, with which the client can remove the first watermark of each selected image for which the first specified payment was received; transmitting a second key to the customer in exchange for a second specified payment, with which the client can remove the second watermark of each selected image for which the second specified payment was received; the first and second watermarks having been inserted such that the each watermarked image is format compliant and by performing at least one of the scrambling operations (i), (ii), (iii) or (iv) described above.
Other objects and attainments together with a fuller understanding of the invention will become apparent and appreciated by referring to the following description and claims taken in conjunction with the accompanying drawings.
a) shows an un-watermarked image.
b) shows the image of
c) shows the image of
d) shows the image of
A. Overview
The present invention provides visible watermarking techniques which prevent or discourage unauthorized use of the watermarked digital data and, in so doing, solves various problems that arise in real and practical commercial imaging applications. An overview of the solutions provided by this invention are described below.
Consider a still image, I, as shown in
For uncompressed raw images the desired effect shown in
This invention provides a scrambler S and descrambler D for transform-coefficient-coded host signals (e.g., Huffman-coded JPEG images) to solve this problem. In accordance with the invention, a compressed image I is scrambled to produce I′=S(I,K) which is also a valid image in the same compressed format and shows the distinctive pattern. (Note that since the description is directed to compressed images, the notation is not complicated with any additional qualifiers, such as c(I) to indicate compressed images.) A very advantageous feature of this format-compliant visible watermarking approach is that I′ can be viewed by any image viewer capable of viewing I, and can also be passed through any compression-aware components of an imaging and/or network system.
In some embodiments, the scrambling algorithm provides another desirable property as well: it introduces no coding overheads. That is, the size (in bytes) of I′ is exactly the same as that of I. In other embodiments, a variant scrambling algorithm is provided in which a moderate size increase is incurred to make the watermark appear more strongly.
B. JPEG Review
The “Joint Photographic Experts Group” (JPEG) compression standard is a transform-based image compression/decompression architecture that is widely used for efficient storage and transmission of images. While the techniques of this invention may employed with other known transform-based compression/decompression formats, such techniques are specifically designed with the widely accepted JPEG standard in mind. Hence, some core concepts of JPEG are reviewed below, with emphasis on those pertinent to the visible watermarking techniques of this invention.
A JPEG image consists of 8×8 blocks which have been transformed using the Discrete Cosine Transform (DCT), quantized using a table of 64 scalar quantizers, and then entropy-coded. The 8×8 blocks of the image are grouped into Minimum Coded Units (MCUs). Each MCU corresponds to an equal area of the image, with the dimensions of this area being multiples of 8. The number of 8×8 blocks from different color planes that comprise an MCU may be different, depending upon sub-sampling, the details of which can be found in any of a number of JPEG references. For the purpose of this invention, it is sufficient to summarize the structure of a JPEG image I consisting of N color planes as follows:
1. I is a sequence of coded MCUs. There are h rows of w MCUs each. The MCUs are coded in raster order.
2. Each MCU consists of mn 8×8 blocks from color component number n(0≦n<N).
3. An MCU is coded by coding the m0 blocks from color component number 0 (in raster order within the MCU), then the m1 blocks from component 1, and so on.
It is useful to consider this JPEG image structure in a color component-wise manner. That is, look at the 8×8 blocks for each (potentially sub-sampled) color component separately, and in the relative order in which they would be found within the JPEG format. This simplifies the presentation as it is not necessary to refer to further details about MCUs. Let Fn,k denote the 8×8 block of quantized coefficients numbered k from color component number n. Note that this notation has absorbed the fact the k is not necessarily the raster index of the block, because of sub-sampling and MCU structure. Here, 0≦n<N and 0≦k<whmk. This notation is illustrated in
Let Fn,k(z) denote coefficient number z(0≦z≦63) in the zig-zag order used in JPEG. The first coefficient, Fn,k(0), is the DC coefficient which is the scaled average of all the pixel values in the 8×8 block. The DC values within each color plane's blocks are differentially coded in JPEG to exploit correlation across blocks. Thus, for k>0, the value coded in the bitstream is Fn,k(0)−Fn,k−1(0). Let Dn,k denote this differential DC value, keeping in mind that Dn,0=Fn,0(0).
The JPEG standard allows either Huffman coding or arithmetic coding to be used for entropy coding. While the techniques of the present invention may be employed with any known entropy coding, the following discussion focuses on Huffman-coded images since Huffman coding is the chosen alternative most of the time. In a Huffman-coded JPEG image, differential DC values Dn,k are coded as follows. Given a value ν to code, let s(ν) denote the “magnitude category” of ν, which is the number of bits in |ν| up to the most significant 1. For example, s(0)=0, s(1)=s(−1)=1,s(3)=s(2)=s(−2)=s(−3)=2, and so on. The JPEG bitstream consists of a Huffman code for s(Dn,k), followed by s(Dn,k) least significant bits from the 1's complement representation of Dn,k. The DC Huffman coding tables may be different for different color components, or some of them may be the same.
The coding of AC coefficients (1≦z≦63) also uses the magnitude category function s(·). Additionally, the frequently occurring situation of long runs of zeros within AC coefficient sequences is also exploited in the JPEG format. For the sequence of AC coefficients in a block Fn,k consider the representation:
(R0,V0),(R1,V1), . . . , (Rl,Vl)
Here, R0 is the length of the run of zeros leading to the first non-zero coefficient (which has the value V0). This is followed by a run of R1zeros and then another non-zero value (V1), and so on. The JPEG bitstream consists of Huffman codes for pairs of (Rl, s(Vl)). Each such code is followed by s(Vl) additional bits taken from the least significant positions in the 1's complement representation of Vi. The AC Huffman coding tables may also be different for different color components.
C. The Scrambling Algorithm
The goal of the scrambling process is to “corrupt” those 8×8 blocks which lie in the pattern area, while making sure that the decoded image will not be corrupted outside the pattern area and also to ensure that this corruption can be undone by the descrambler.
Let ρ(n,k) be a binary function that is 1 if and only if Fn,k (block number k from component number n) lies in the pattern area. The function ρ (and hence the pattern) need not be secret, and therefore may be available to any attacker. In some embodiments, the scrambling algorithm efficiently produces a JPEG image I′=S(I,K) such that I′ and I are exactly the same for MCUs where ρ(i,j) is 0, and are distinctly different where ρ(i,j) is 1. In other words; the blocks where ρ is 1 are scrambled by S. The descrambler D reverses the scrambling completely, with the correct key.
The scrambling algorithm comprises a set of operations. In one embodiment, all of these operations are applied while in other embodiments a subset of these operations are applied. In a practical implementation, the selected operation(s) is/are applied in a single pass through the image. For clarity, each of these operations is separately described below. The scrambling and descrambling algorithms preferably use a common pseudo random number generator (PRNG) whose seed is the secret key. PRNG may also be used to generate masking values as well as random permutations and selections. To keep the notation simple, the subscript PRNG is used to indicate that a value, permutation, or selection has been obtained by invoking the PRNG.
C.1. AC Masks
For each block Fn,k for which ρ(n,k)=1, the magnitude bits of the AC coefficients are masked by XORing with a value obtained from the PRNG. As discussed above, the AC coefficients are coded by grouping them into run-value pairs, (Rl,Vl), and the coded bitstream consists of a Huffman code for (Rl,s(Vi)) followed by s(Vl) bits from the least significant positions of the 1's complement representation of Vi. Referring to these s(Vl) bits as B, the AC masking operation comprises replacing B with B⊕XPRNG, where XPRNG represents random values. This maintains format compliance and does not change the size of the coded image. It will be apparent to one skilled in the art that the descrambler can reverse this operation by XORing again with XPRNG.
C.2. AC Swaps
Since the AC coefficients are coded independently from block to block, the entirety of AC coefficients can be swapped across any two blocks for which ρ is 1. That is, if ρ(n,k1)=ρ(n,k2)=1, then Fn,k
In practice, it may be better to perform the swaps only within a small number of rows to minimize the buffering requirements of the scrambler and descrambler. Thus, in one embodiment the AC-swap operation comprises selecting (using the PRNG) a number of pairs of blocks Fn
C.3. DC Shuffles
The previous two operations modify the AC coefficients. In practice, however, modifications to DC coefficients has far more impact upon watermark visibility than modification of AC coefficients. Accordingly, this and the next sub-section describe operations that modify DC coefficients.
Consider (within color component number n) a maximal consecutive sequence of l blocks
Fn,k,Fn,k+1, . . . , Fn,k+l−1
each lying on the pattern. This is maximal in the sense that ρ(n,k−1)=ρ(n,k+l)=0 and ρ(n,i)=1 for k≦i<k+l. The DC-shuffle operation corrupts the DC value of each block in the sequence, ensuring that the DC value for the first block after the sequence remains unchanged, and that the bits required remain the same, by shuffling the differential DC values.
Recalling that the notation Dn,k is used to denote the differential DC value for Fn,k, the DC value for the block after the sequence is given by equation (1):
Thus, as long as the sum
does not change, the individual Dn,l values may be freely changed without affecting the DC values of the first block after the sequence. Moreover, if the changes are made by simply permuting the Dn,l, then the bit rate will also be exactly the same.
In one embodiment, the DC-shuffle operation generates a random permutation σPRNG and applies it to the sequence of Dn,l values, k≦i<k+l. Note that the differential DC value of the first block after the sequence also participates in this permutation, but the net result is that its DC value (actual, not differential) is not changed.
3.4. DC Bit Shuffles
Now, consider the bit-wise composition of the Dn,l values in this sequence of blocks, k≦i<k+l. For simplicity the subscript n is dropped. Let si denote s(Dn,l) and let bl(j), (0≦j<sl) denote the si bits of the 1's complement representation of Dn,i. Then,
Here, the first term just makes sure that if the left-most bit (i.e., bit number si−1) is 0, then the appropriate negative number is obtained by the subtraction operation 2s
Observe that because of the 1's complement representation, the left-most bit bi(si−1) of each Dn,l has a disproportionate weight.
By substituting the value of Dn,l from equation (3) into equation (1) it can be seen that the DC value of the first block after the sequence, i.e., Fn,k+1(0), is a constant plus a weighted sum of all the bl(j) values, with the weight being 2j for bits other than the left-most ones. The weight of each left-most bit is 3×2j−1−1.
Thus, bit-plane permutation can be applied to these bits, while keeping Fn,k+l(0) unchanged, as long as care is taken not to mix left-most bits with non-left-most bits. Let q denote the maximum value of si, for k≦i<k+l. Then, for each bit-plane j, (0≦j<q), apply two pseudo-random permutations within the bl(j) values: σPRNG(j) and πPRNG(j). In the first permutation, σPRNG(j), only those bits from bit-plane j participate which are the left-most bits. That is, only the bl(j) for which sl−1=j participate in σPRNG(j). The non-left-most bits participate in the second permutation. That is, only the bl(j) for which sl−1>j participate in πPRNG(j).
It can be seen that applying these 2q permutations (two disjoint permutations σPRNG(j) and πPRNG(j) on each bit-plane) ensures that the DC values within the pattern area are corrupted securely, while the DC value of the first following block is untouched. Moreover, the coded size remains exactly the same as it was prior to this operation.
Four operations that are applied with the scrambling algorithm of the present invention have now been described. The descrambler is straight forward in that it merely applies the inverse operations. The scrambling operations have been designed such that they are reversible. The determinations made during scrambling (such as the s(Dn,l) values) are not affected by the scrambling and hence can be repeated by the descrambler with identical results.
C.5. A Variant with Modest Size Increase
The previous four operations have been designed to ensure that the compressed size of the scrambled image I′ is exactly the same as that of the original image I. Sometimes this may not be a strict requirement, and it may be acceptable to incur a modest increase in size. In such situations, the visibility of the watermark can be increased considerably by one additional operation. Here, a pseudo random number can be added to each DC value within the pattern area. Thus, if ρ(n,k)=1, then set
Fn,k(0)=Fn,k(0)+XPRNG,
where XPRNG can be positive or negative. Note that this is a reversible operation, when care is taken to do the addition modulo the limit on the magnitude of DC differential values. Since each such actual DC value is being modified, the differential DC values will also change. Moreover, the changes are not guaranteed to maintain the compressed size. Indeed, since the “randomness” of the DC coefficient differentials is being increased, the compressed size will increase. However, by placing limits on the additive value of XPRNG, this size increase can be kept small.
D. Flow Chart Summary of Watermarking Operations
The flow chart of
It will be noted that the process illustrated in
E. Video Data
In the case of DCT-coded video data, such as in the various MPEG formats, motion prediction causes a problem. Applying the scrambling algorithm described above to MPEG video may result in corruption of blocks outside the pattern (for which ρ is 0) because their motion vectors may be predicted from areas of other frames which have been corrupted. Thus, the distinctive pattern would show in the video, but there would likely be additional corruption outside the pattern. This additional corruption may be small or extensive, depending on the video sequence and block-matching algorithms used during coding.
One way to alleviate this problem is to only apply the scrambling to bi-directional coded frames (B-frames), since these frames are not used for predicting any blocks or other frames. Typically, B-frames comprise a significant fraction of all frames, and in such cases, the pattern shows up distinctively—albeit in a flashing manner. But sometimes coded video sequences do not contain any B-frames. In such cases, the only frames which can be properly corrupted (that is, without propagating the corruption to arbitrary areas on other frames) are those uni-directionally predicted frames (P-frames) which are immediately before a non-predicted frame (I-frame).
The terms “image” and “images” as used in the claims in intended to include video, in addition to still image(s).
F. Implementations
The techniques of the present invention may be conveniently implemented in software which may be run on an image processing system of the type illustrated in
A number of controllers and peripheral devices are also provided, as shown in
In the illustrated system, all major system components connect to bus 66 which may represent more than one physical bus.
Depending on the particular application of the invention, various system components may or may not be in physical proximity to one another. For example, the input data (e.g., the input image to which S or D is to be applied) and/or the output data (e.g., the output image to which S or D has been applied) may be remotely transmitted from one physical location to another. Also, programs that implement various aspects of this invention may be accessed from a remote location (e.g., a server) over a network. Such data and/or programs may be conveyed through any of a variety of machine-readable medium including magnetic tape or disk or optical disc, network signals, or any other suitable electromagnetic carrier signals including infrared signals.
While the present invention may be conveniently implemented with software, a hardware implementation or combined hardware/software implementation is also possible. A hardware implementation may be realized, for example, using ASIC(s), digital signal processing circuitry, or the like. As such, the term device-readable medium further includes hardware having a program of instructions hardwired thereon. With these implementation alternatives in mind, it is to be understood that the figures and accompanying description provide the functional information one skilled in the art would require to write program code (i.e., software) or to fabricate circuits (i.e., hardware) to perform the processing required.
G. Applications
The visible watermarking techniques of the present invention, which are designed to prevent or discourage unauthorized use of the digital data, may be employed in a variety of real and practical commercial imaging applications. One such application is an Internet-based “image shop” which sells high-quality professional art that customers may purchase remotely and print. Such an arrangement is schematically illustrated in
To facilitate the transactions, the server 72 contains appropriate watermark removing tools 76, in accordance with this invention, which may be in the form of software and may include keys, descramblers and printer drivers. The images may be watermarked either before or after they are uploaded to the server 72; if after, the server 72 would also include watermarking tools in accordance with this invention. The server 72 also contains appropriate software 77, which verifies payment and interacts with the watermark removing tools so that the appropriate tools can be transmitted to the client 74 for removal of the watermark(s). Software 77 also preferably includes software for ensuring secure transmission of images, payment and watermark removing tools.
The advantage of using the visible watermarking scheme of this invention in the above system, as opposed to simple encryption of the whole image, is that the client software can display the watermarked image. Moreover, standard technologies for retrieving content over the Internet can be used, with the knowledge that cached copies of the artwork (in the network as well as in the client's local disk cache) will only be of marginal value because of the obtrusive watermark.
For video, the sample application could be delivered over satellite or cable networks. Again, the watermarked video would be viewable to give the flavor of its content without revealing all of it. Paying customers may retrieve the key(s) needed to descramble and view the un-watermarked video.
Another application involves watermarking the same image/video multiple times with different patterns and keys. For example, a first watermarked pattern area obscures a small central area. A second watermarked pattern area obscures a larger peripheral ring. A user pays a certain amount of money to get the key to remove the watermark on the peripheral ring. The user then pays an additional amount of money to remove the watermark on the central area.
H. Effects
As the foregoing description demonstrates, the present invention provides visible watermarking techniques for digital images and video in transformed-based compressed formats. The insertion algorithm reversibly but securely scrambles parts of the digital data to obstrusively mark the image. Full access to the image is obtained by procuring the correct key to completely remove the watermark to recover an image exactly the same as the original. The watermarked data is completely format-compliant, and in most of the techniques, the same size as the original.
The scrambling and descrambling algorithms are very efficient and operate on transform (e.g., DCT) coefficients obtained by decoding the entropy (e.g., Huffman) codes. Advantageously, the algorithms do not require that the coefficients be de-zigzagged nor dequantized. In fact, the algorithms only examine the compact sequence of the non-zero coefficients within each block.
While the invention has been described in conjunction with several specific embodiments, many further alternatives, modifications, variations and applications will be apparent to those skilled in the art that in light of the foregoing description. Thus, the invention described herein is intended to embrace all such alternatives, modifications, variations and applications as may fall within the spirit and scope of the appended claims.
This application claims the benefit of U.S. Provisional Application No. 60/307,046 filed Jul. 20, 2001 under 35 U.S.C. §119(e).
Number | Name | Date | Kind |
---|---|---|---|
6037984 | Isnardi et al. | Mar 2000 | A |
6154541 | Zhang | Nov 2000 | A |
6208745 | Florencio et al. | Mar 2001 | B1 |
6222932 | Rao et al. | Apr 2001 | B1 |
6229924 | Rhoads et al. | May 2001 | B1 |
6240121 | Senoh | May 2001 | B1 |
6246802 | Fujihara et al. | Jun 2001 | B1 |
6285775 | Wu et al. | Sep 2001 | B1 |
6343138 | Rhoads | Jan 2002 | B1 |
6411725 | Rhoads | Jun 2002 | B1 |
6539475 | Cox et al. | Mar 2003 | B1 |
6611607 | Davis et al. | Aug 2003 | B1 |
6668246 | Yeung et al. | Dec 2003 | B1 |
6671376 | Koto et al. | Dec 2003 | B1 |
Number | Date | Country |
---|---|---|
1 039 414 | Sep 2000 | EP |
1 069 757 | Jan 2001 | EP |
WO 0116869 | Mar 2001 | WO |
WO 0145316 | Jun 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20030033529 A1 | Feb 2003 | US |
Number | Date | Country | |
---|---|---|---|
60307046 | Jul 2001 | US |