Signal encoding to reduce perceptibility of changes over time
10664940 ยท 2020-05-26
Assignee
Inventors
Cpc classification
G06T1/005
PHYSICS
G06T1/0085
PHYSICS
International classification
Abstract
The present disclosures relates generally to digital watermarking and data hiding. One claim recites a smartphone comprising: a camera to capture video of a display that is rendering video, in which the video comprises a first watermark signal embedded in a first portion of the data, a second watermark signal embedded in a second portion of the data, and a third watermark signal embedded in a third portion of the data, in which at least two of the first watermark signal, second watermark signal and third watermark signal are inversely related to one another; electronic memory for buffering data representing captured video; one or more electronic processors programmed for: applying a first perspective distortion to the data representing the captured video to yield first perspective distorted video; and analyzing the first perspective distorted video to detect digital watermarking, in which a second perspective distortion is applied to the data representing the captured video to yield second perspective distorted video when the analyzing does not detect digital watermarking, and then performing analyzing the second perspective distorted video to detect digital watermarking. Of course, other claims are provided too.
Claims
1. A method comprising: obtaining data representing video; using one or more electronic processors, transforming the data representing video by encoding a signal therein, in which the encoding introduces changes to the data representing video over time so as to reduce perceptible changes introduced by the encoding, and in which the encoding comprises first watermarking and second watermarking, which are encoded in corresponding spatial positions of the video, in which said transforming yields encoded data, in which the first watermarking utilizes a first embedding bump size, and the second watermarking utilizes a second embedding bump size, in which the first embedding bump size corresponds with a first detection range distance when capturing optical scan data of encoded data, and the second embedding bump size corresponds with a second, larger detection range distance when capturing optical scan data of the encoded data and in which portions within the data representing video which host the encoding change over time; and providing the encoded data.
2. The method of claim 1 in which use of both the first embedding bump size and the second embedding bump size extends the detection range distance when capturing optical scan data associated with the encoded data.
3. The method of claim 2 in which the optical scan data comprises video data captured from a rendering of the encoded data.
4. The method of claim 1 further comprising preconditioning the signal prior to encoding.
5. The method of claim 1 in which the portions change in terms of pixel area or size.
6. The method of claim 5 in which the portions comprises bumps.
7. The method of claim 6 in which the bumps comprise encoding areas.
8. The method of claim 1 in which the encoding reduces perceptible changes introduced by the encoding by inversing polarity of related adjustments to the data representing video.
9. An apparatus comprising: an input to receive data representing video; memory storing instructions; one or more electronic processors configured with said instructions to perform the following: altering the data representing video by encoding a signal therein, in which the encoding introduces changes to the data representing video over time so as to reduce perceptible changes introduced by the encoding, in which the encoding reduces perceptible changes introduced by the encoding by inversing polarity of related adjustments to the data representing video, and in which the altering yields encoded data, and in which portions within the data representing video which host the encoding change over time; and providing the encoded data.
10. The apparatus of claim 9 in which the encoding comprises first watermarking and second watermarking, which are encoded in corresponding spatial positions of the video, and in which the first watermarking utilizes a first embedding bump size, and the second watermarking utilizes a second embedding bump size, in which the first embedding bump size corresponds with a first detection range distance when capturing optical scan data of a rendering of the encoded data, and the second embedding bump size corresponds with a second, larger detection range distance when capturing optical scan data of a rendering of the encoded data.
11. The apparatus of claim 10 in which use of both the first embedding bump size and the second embedding bump size extends the detection range distance when capturing optical scan data associated with the encoded data.
12. The apparatus of claim 11 in which the optical scan data comprises video data captured from a rendering of the encoded data.
13. The apparatus of claim 9 in which the one or more electronic processors are configured with said instructions to perform preconditioning the signal prior to encoding.
14. The apparatus of claim 9 in which the portions change in terms of pixel area or size.
15. The apparatus of claim 14 in which the portions comprises bumps.
16. The apparatus of claim 15 in which the bumps comprise encoding areas.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
DETAILED DESCRIPTION
(19) Some aspects of the following disclosure discuss a digital watermarking technique that utilizes at least two chrominance channels (also called color planes, color channels and/or color direction). Chrominance is generally understood to include information, data or signals representing color components of an image or video. In contrast to a color image or video, a grayscale (monochrome) image or video has a chrominance value of zero.
(20) Media content that includes a color image (or color video) is represented in
(21) Let's first discuss the additive and subtractive effects on
(22) Now let's consider watermarking in the context of
(23) In a case where a media signal includes (or may be broken into) at least two chrominance channels, a watermark embedder may insert digital watermarking in both the a color direction (
WMa=a(channel)+wm(1)
WMb=b(channel)wm(2)
(24) WMa is a watermarked a channel, WMb is a watermarked b channel, and wm represents a watermark signal. A watermarked color image (including L and WMb and WMa) can be provided, e.g., for printing, digital transfer or viewing.
(25) An embedded color image is obtained (from optical scan data, memory, transmission channel, etc.), and data representing the color image is communicated to a watermark detector for analysis. The detector (or a process, processor or electronic processing circuitry used in conjunction with the detector) subtracts WMb from WMa resulting in WMres as shown below:
WMres=WMaWMb(3)
WMres=(a+wm)(bwm)(4)
WMres=(ab)+2*wm(5)
(26) This subtraction operation yields reduced image content (e.g.,
(27)
(28) A watermark detector may extract or utilize characteristics associated with a synchronization signal (if present) from a frequency domain representation of WMres. The detector may then use this synchronization signal to resolve scale, orientation, and origin of the watermark signal. The detector may then detect the watermark signal and obtain any message or payload carried thereby.
(29) To even further illustrate the effects of improving the watermark signal-to-media content ratio with our inventive processes and systems, we provide some additive and subtractive examples in the content of watermarking.
(30) For the following example, a watermark signal with the same polarity is embedded in each of the a color channel and the b color channel. The same signal polarity is represented by a plus (+) sign in equations 6 and 7.
WMa=a+wm(6)
WMb=b+wm(7)
(31) WMa is a watermarked a channel, WMb is a watermarked b channel, and wm represents a watermark signal. A watermarked color image (including L and WMb and WMa) can be provided, e.g., for printing, digital transfer or viewing.
(32) An embedded color image is obtained, and data representing the color image is communicated to a watermarked detector for analysis. The detector (or a process, processor, or electronic processing circuitry used in conjunction with the detector) adds the a and b color channels to one another (resulting in WMres) as shown below:
WMres=WMa+WMb(8)
WMres=(a+wm)+(b+wm)(9)
WMres=(a+b)+2*wm(10)
(33) This addition operation results in increased image content (e.g.,
(34) By way of further example, if WMb is subtracted from WMa (with watermark signals having the same polarity), the following results:
WMres=WMaWMb(11)
WMres=(a+wm)(b+wm)(12)
WMres=(ab)+0*wm(13)
(35) A subtraction or inverting operation in a case where a watermark signal includes the same polarity decreases image content (e.g.,
(36)
(37) With reference to
(38) With reference to
(39) In addition to the Lab color scheme discussed above, a watermark signal may be embedded in color image (or video) data represented by RGB, Yuv, Ycc, CMYK or other color schemes, with, e.g., a watermark signal inserted in a first chrominance direction (e.g., red/green direction, similar to that discussed above for the a channel) and a second chrominance direction (e.g., a blue/yellow direction, similar to that discussed above for the b channel). For watermark signal detection with an alterative color space, e.g., an RGB or CMYK color space, an image can be converted to Lab (or other color space), or appropriate weights of, e.g., RGB or CMY channels, can be used. For example, the following RGB weights may be used to calculate ab: Chrominance Difference=0.35*R1.05*G+0.70*B+128, where R, G and B are 8-bit integers.
(40) Further Considerations of Video
(41) The human contrast sensitivity function curve shape with temporal frequency (e.g., relative to time) has a very similar shape to the contrast sensitivity with spatial frequency.
(42) Successive frames in a video are typically cycled at about at least 60 Hz to avoid objectionable visual flicker. So-called flicker is due to the high sensitivity of the human visual system (HVS) to high temporal frequency changes in luminance. The human eye is about ten (10) times less sensitive to high temporal frequency chrominance changes.
(43) Consider a video sequence with frames as shown in
(44) In order to recover the watermark, pairs of frames are processed by a watermark detector, and the a channels are subtracted from each other as shown below.
Det_a=(a1+wm)(a2wm)=(a1a2)+2*wm(14)
(45) Det_a refers to watermark detection processing of the a channel. Because of the temporal correlation between frames, the image content in equation 14 is reduced while the watermark signal is reinforced.
(46) In a similar way the b channels are also subtracted from each other
Det_b=(b1wm)(b2+wm)=(b1b2)2*wm(15)
(47) Det_a refers to watermark detection processing of the b channel. Equation 14 and 15 are then subtracted from each other as shown below in equation 16.
(48)
(49) In general, related (but not necessarily immediately adjacent) frames will have spatially correlated content. Because of the spatial correlation between the a and b frames, the image content is reduced while the watermark signal is reinforced. See equation 16.
(50) For any one pair of frames selected by a watermark detector, the polarity of the watermark could be either positive or negative. To allow for this, the watermark detector may examine both polarities.
(51) The linear transform (rotation, scale, differential scale, shear) estimation process at the detector will be unaffected by inversion (e.g., the subtraction in the above equations). If translation is estimated in a watermark detection process, an inverted watermark (e.g., negative signal) may include a phase rotation of 180 degrees. Once an inverted state is determined during translation estimation, the message recovery can be performed in an inverted state. Frames of mixed polarity may benefit from special processing at the detector. In these cases, smaller image regions containing the watermark can be tested for both signal polarities before combining watermark signal information from such regions.
(52) Improving Watermark Imperceptibility
(53) With reference to
(54) W.sub.1 and W.sub.2 preferably carry the same payload or message. In terms of signal characteristics, however, W.sub.1 and W.sub.2 are preferably inversely related to one another. For example, their signal polarity is inversely related. Instead of two (2) watermark signals, a single watermark signal can be used. When using a single signal, however, the signal polarity is preferably inversely alternated between video frames.
(55) The human eye performs temporal averaging of the watermark signals W.sub.1 and W.sub.2 as they are rendered for viewing. That is, when looking at sequential presentment of frames f1 and f2, the human eye/mind averages the two signals, effectively canceling them out, since they include inversely related polarities. Another way to view this effect is to consider signal adjustments or tweaks. Recall from above that a digital watermark signal can be introduced into media content by altering data representing audio or video or imagery. If W.sub.1 introduces a positive (+) tweak or alteration in f1, then to achieve the favorable temporal averaging, W.sub.2 preferably introduces a corresponding negative () tweak or alteration in f2. These changes are preferably consistent from the first frame to the second frame. That is, if watermark changes are introduced to a first spatial area (or first set of coefficients) in the first frame, an inverse change is made to a corresponding spatial area (or coefficients) in the second frame.
(56) Thus, the perceived perceptibility with temporal averaging=W.sub.1W.sub.20.
(57) A programmed electronic processor (or multiple processors) embeds video accordingly.
(58) A watermark detector is used to read the watermarking as watermarked video is rendered. For example, the watermarked video is rendered on a display such as a computer monitor, TV or cell phone display (e.g., Apple's iPhone). A camera or video camera can be used to capture imagery (e.g., streaming mode capture). Captured imagery is provided to a watermark detector which analyses captured imagery. For example, the watermark detector may analyze a single video frame (e.g., a positively (+) embedded image frame) to decode the watermarking therefrom, or from combined frames (e.g., equations (10), (14) and (16)) as discussed above.
(59) A mobile device (e.g., an iPhone) executing a watermark detector application may be used for such a watermark detector. Mobile devices are increasingly shipped with high quality video cameras. Of course, there are many other suitable devices besides the iPhone that can serve as watermark detectors.
(60) Additional methods are now provided to improve a user's experience when trying to read a watermark from displayed or rendered video.
(61) A user points a camera (e.g., included in a mobile device such as the iPhone) at a display and starts video capture (see
(62) One approach is to increase a watermark's tolerance to image capture range and perspective angle. A watermark can be adjusted to increase detection tolerances. For example, an embedding area or bump can be adjusted to allow for increased image capture range. (An embedding area or bump refers to a host signal area or other characteristics at which a signal alteration is introduced to represent at least some portion of a watermark signal.)
(63) If an embedding bump covering a 22 pixel area (4 pixels) corresponds to a sweet spot range of 4-8 inches, then doubling the bump size eight pixels to will increase the sweet spot range to about 16 inches. (The specific number and embedding details are not intended to be limiting, and are provided as examples only.)
(64) Multiple bump sizes can be used when embedding watermarking in a video sequence to provide an extended image capture range. For example, consider the following frames and bump sizes:
(65) TABLE-US-00001 Frame Frame Frame Frame Frame Frame Frame Frame 1 2 3 4 5 6 7 8 Bump 1 Bump 1 Bump 2 Bump 2 Bump 1 Bump 1 Bump Bump 2 2
(66) A first pair of frames is embedded at a first bump size, and a second pair of frames is embedded at a second bump size, and so on. This will allow an extended image capture range corresponding to both bump sizes as the video is rendered. At a frame rate of 25 frames/second or higher (e.g., 60 frames/second or higher), the user will experience quicker detection rates and lower frustration as she positions the camera relative to the display.
(67) Of course, three or more embedding bump sizes may be used to even further extend the image capture range. And, three or more frames may be grouped together instead of using pairs.
(68) Now let's consider image capture perspective (see
(69) One approach is to precondition the watermark signal to allow for a wider range of perspective angle image capture while still allowing for watermark detection. For example, if a watermark signal can typically be read over the range of +/5 degrees perspective angle distortion, preconditioning the watermark signal prior to embedding to +/10 degrees on some video frames allows the image capture perspective range to be extended to approximately +/15 degrees. For example a perspective filter can be set to a certain horizontal perspective, and the watermark signal may be passed through the filter.
(70) By way of example, please consider a watermark signal represented by a set of, e.g., horizontal lines as shown in
(71) By way of example, this precondition can be alternated in frames as shown below:
(72) TABLE-US-00002 Frame Frame Frame Frame Frame Frame Frame Frame 1 2 3 4 5 6 7 8 No No 10 10 +10 +10 No No change change degrees degrees degrees degrees change change
(73) A first pair of frames is embedded without any preconditioning, a second pair of frames is embedded with a precondition signal at 10 degrees perspective, and a third pair of frames is embedded with a preconditioned signal at +10 degrees perspective, and so on. This will allow an extended image capture perspective angle range as the video is rendered. At a frame rate of 25 frames/second or higher, the user will experience quicker detection rates and lower frustration as she positions the camera relative to the display.
(74) Of course, additional angle preconditioning can be used, with different embedding intervals, over a different number of frame pairs/triplets/quads, etc. as well. Also, while we have used 10 degrees, the preconditioning can cover a range of values, e.g., over 520 degrees.
(75) Moreover, both perspective preconditioning and embedding bump sizes can be combined to yield both increased range and perspective changes. For example:
(76) TABLE-US-00003 1.sup.st Frame Pair 2.sup.nd Frame Pair 3.sup.rd Frame Pair 4.sup.th Frame Pair 5.sup.th Frame Pair 6.sup.th Frame Pair Bump size 1; Bump size 1; +10 Bump size 1; 10 Bump size 2; Bump size 2; +10 Bump size 1; 10 No precondition degrees precondition degrees precondition No precondition degrees precondition degrees precondition
(77) Of course, other combinations involving both bump size and horizontal and/or vertical preconditions can be used as well. In some cases the so-called I frames are used as a starting reference for bump size and/or preconditioning. Sequences can be renewed or altered when an I frame is encountered.
(78) Smoother transitions over angles and scales can be used to even further improve detection. For example, detection over viewing angles and scales can be obtained by cycling through a discrete set of pre-distortionsnegative horizontal to positive horizontal (e.g. 60, 30, 0, +30, +60), negative vertical to positive vertical, and over scale as well. We can even use smaller steps in pre-distortion to help facilitate a smooth transition and reduce potential gaps in detection when a detecting device is between a discrete step, and to help reduce any residual visibility impact when switching from one pre-distortion to the next. Although use of polarity reversals and higher frame rates reduce visibility, the boundary frames between two pre-distortions can be different, and in this case the watermark signal may show up in the form of a slight flicker. Using a smoother transition (e.g., smaller step sizes) of angles (e.g., 60 to +60 in steps of 10-5 degrees or even less) and scales can address both these issues. In another implementation, pre-distortion step sizes change between pair frames according with a smooth function, e.g., such as a sine wave.
(79) Based on the disclosure in this patent document, watermark detection over wider viewing angles can be obtained by pre-distorting a watermark signal to introduce perspective distortion. For example, let's say the watermark signal is pre-distorted such that it has a perspective corresponding to a +30 degree horizontal tilt. With a +30 degree pre-distortion, video capture at 30 degree horizontal tilt appears head-on (e.g., no perspective angle), allowing watermark detection to proceed as normal. But in the +30 degree pre-distortion, one edge of the watermark signal (e.g., if represented as a tile as in
(80) Various elements of a psychovisual system (generically referred to as a PVS in
(81) With reference to
(82)
(83) In one implementation, a communications session is established with a user via the user's mobile device which captured imagery of a display or monitor, e.g., a session akin to that described in assignee's U.S. Pat. No. 8,412,577, which is incorporated herein by reference in its entirety.
(84) The watermark embedder in
(85) The watermark detector may also cooperate with a facial or image recognition module (not pictured in
(86) When embedding saturated colors, light regions (whites), and dark regions (blacks) can be modified to improve detection and visibility. Whites and saturated colors can be adapted to allow room for introducing both polarities of a polarity-alternating watermark in alternating frames. This can be achieved, e.g., using pre-calculated look-up tables.
(87) Now please consider assume a digital display system where the definition of white is 255, 255, 255 (which corresponds to red (R), green (G) and blue (B) fully on).
(88) The watermark embedder introduces a change in chrominance by balancing R and B tweaks with G tweaks in the opposite direction (see
(89) Since luminance can be defined by:
L=0.3*R+0.6*G+0.1*B, then(17)
(90) the change in luminance, deltaL, can be defined by:
deltaL=0.3*deltaR+0.6*deltaG+0.1*deltaB, where deltaR is the change in Red, deltaB is the change in B, and deltaG is the change in green.(18)
(91) deltaL is kept to zero by balancing the R and B tweaks (e.g., a change attributed to a watermark signal) by G tweaks in the opposite direction. For example, a positive tweak of 10 in G is balanced by 14 negative in R and 18 negative in B.
deltaL=0.3*(14)+0.6*(10)+0.1*(18)=0, for positive green tweaks,(19)
and
deltaL=0.3*(14)+0.6*(10)+0.1*(18)=0, for negative green tweaks(20)
(92) Thus the average change in luminance over an area with positive and negative tweaks is approximately zero.
(93) However when one of the colors is clipped at 255 as shown in
(94) The change in luminance then becomes:
deltaL=0.3*(14)+0.6*(0)+0.1*(18)=6, for positive green tweaks,(21)
and
deltaL=0.3*(14)+0.6*(10)+0.1*(18)=0, for negative green tweaks(22)
(95) Thus the average change in luminance over an area with positive and negative tweaks is (6+0)/2=3.
(96) A luminance change can be reduced (or limited) by limiting the watermark tweak size by the absolute magnitude of the range available in R, G and B. This is used to calculate a scaling factor for rTweak, gTweak and bTweak. The minimum of these 3 scaling factors can be selected and this scale is applied to the red, green and blue tweaks. (A clipped or saturated threshold can be established to use when other high color values besides 255 are detected. For example, if the value is greater than 85% of the max value then scaling factors are determined.)
(97) Watermark Detector Improvements
(98) Some watermark detectors can be configured to recover a full affine transform of analyzed data, e.g., looking to characterize a known orientation or other watermark component. See, e.g., U.S. Pat. Nos. 6,408,082 and 7,480,393, which are each hereby incorporated herein by reference. This can be extended to obtain a full perspective transform. One extension analyzes correlation peaks in a log-polar domain. In the presence of perspective geometry, a log-polar peak undergoes a spreading. This spreading can be analyzed to obtain clues to the nature of the perspective transform. These clues (e.g., a first estimate of perspective distortion) can be used to correct the imagery to improve the probability of successful detection.
(99) Detection at larger distances from a monitor or display can be achieved by increasing resolution of video capture. When running a watermark detector on high resolution video frames, a multi-resolution detection strategy (e.g., where the watermark detection is performed at multiple resolutions) can be employed to achieve detection over a range of distances. As a pre-process, prior to watermark detection, an image can be zoomed into specific areas and these zoomed in images can be fed to the watermark detector. In another case, low resolution images are combined or stitched together and then provided to the watermark detector. In some cases we can use the super-resolution image generating techniques discussed in U.S. Pat. No. 7,218,751, which is incorporated herein by reference in its entirety, to modify imagery prior to watermark detection.
(100) Video and relatively higher resolution images can be cycled as input to a watermark detector to improve watermark detection. As mentioned above, higher resolution captures provide a greater capability of detection over larger distances. In a mobile environment, a still image capture (or image acquisition) typically offers the highest resolution and, therefore, the relatively larger image capture distance envelope. However, detection using image capture provides only one opportunity (e.g., the still image) for successful detection. In comparison, video capture provides several opportunities for successful detection in the form of multiple video frames that can be used for detection. The best of both worlds can be obtained by cycling through video acquisition and image acquisition. For example, a smartphone may be controlled to first capture video of a display screen, and then snap a still image of the display screen and then capture some more video and another still image of the display screen. Each type of imagery is communicated during or after acquisition to a watermark detector for analysis.
(101) Determining perspective by image analysis can be used as a pre-filter prior to watermark detection. When detecting watermarks displayed on digital displays, the assumption is that there is a rectangular display (e.g., either LED, LCD, projection etc.). A perspective view of the display captured by a camera on the detecting device transforms the rectangular shape of the display into a quadrilateral. Computer vision and image processing techniques can be employed to determine the presence of such quadrilaterals (e.g., corner detection, edge and line detection, determining line intersections, etc.) and estimating the inverse perspective transform required to transform these quadrilaterals back into rectangles. Image data can be transformed according to the inverse perspective transform prior to watermark detection.
(102) Just as pre-distortions can be used at the embedder to condition a watermark signal, as discussed above, pre-distortion can also be used at the detector to improve detection robustness. For example, at the detector distortion of captured imagery would involve attempting detection at multiple resolutions (scales) and distorting the imagery (video frame or captured image) with various amounts of perspective before performing detection. Note that this strategy of cycling through pre-distortions at the detector can be used either instead of, or in addition to, a strategy of pre-distorting a watermark signal at the embedder. When working in concert, the embedder may employ a rough step approach, e.g., changing the perspective distortion by 25-30 degrees, while the detector employs a smooth step cycle, e.g., distorting imagery by 5-10 degrees per step.
(103) An audio signal accompanying a video display can be used to help synchronize detector-side distortions of received imagery. For example, the audio signal may indicate the timing or sequence of positive or negative horizontal or vertical perspective distortion of an embedded watermark signal. (In some cases, the display will include or cooperate with a watermark detector, and generate the audio signal based on the detected watermark signal.) The audio signal is preferable imperceptible to a human listener, but detectable by microphone captured audio.
(104) Frame throughput at the detector can be improved to facilitate better detection. For example, the faster each frame (or image) is processed at the detector, generally, the more likely it is that the detector can keep up with the watermark pre-distortions that are displayed at the embedding end. This increases the probability of the detector encountering a suitable frame for detection at any given viewing angle or distance. Faster detection can be enabled by using specialized instruction sets that are available on some mobile device architectures (e.g. SIMD instructions such as ARM NEON instructions), utilizing a GPU for performing detection operations at the detector, and utilizing the GPU for performing geometric distortions, if any, at the detector.
(105) As discussed further in assignee's U.S. patent application Ser. No. 12/640,386 (now U.S. Pat. No. 8,175,617), hereby incorporated herein by reference in its entirety, target patterns may be included in a scene from which, e.g., the distance to, and orientation of, surfaces within the viewing space can be discerned. Such targets thus serve as beacons, signaling distance and orientation information to a camera system. One such target is the TRIPcode, detailed, e.g., in de Ipia, TRIP: a Low-Cost Vision-Based Location System for Ubiquitous Computing, Personal and Ubiquitous Computing, Vol. 6, No. 3, May, 2002, pp. 206-219.
(106) As detailed in the Ipia paper, the target (shown in
(107) It may be advantageous to conceal the presence of such TRIPcodes. One camouflage method relies on the fact that color printing is commonly performed with four inks: cyan, magenta, yellow and black (CMYK). Normally, black material is printed with black ink. However, black can also be imitated by overprinting cyan and magenta and yellow. To humans, these two techniques are essentially indistinguishable. To a digital camera, however, they may readily be discerned. This is because black inks typically absorb a relatively high amount of infrared light, whereas cyan, magenta and yellow channels do not.
(108) The arrangement just described can be adapted for use with any color printed imagerynot just black regions. Details for doing so are provided in U.S. Pat. No. 7,738,673, which is hereby incorporated herein by reference in its entirety. By such arrangements, TRIPcode targets can be concealed or hidden from human view wherever printing may appear in a visual scene, allowing accurate measurement of certain features and objects within the scene by reference to such targets.
(109) A hidden TRIPcode may be advantageously used to improve watermark detection. For example, a hidden TRIPcode may be encoded in video prior to rendering on a display. A mobile phone or other camera captures video of the display rendering the encoded video. The mobile phone analyzes the captured video to discern details from the TRIPcode. These details include information to allow the mobile phone to discern an image capture range and image capture perspective angle. Armed with this information, the mobile phone warps (e.g., alters or transforms) the captured video to compensate for image capture distance and perspective angle. This warping counteracts the effects of distance and perspective changes. This warped video is then provided to a watermark detector. From the watermark detector's perspective, the video is (relatively) distortion free. The detector searches for a watermark in the warped video.
(110) Although it could be, a TRIPcode (or other target pattern) need not be placed in every video frame. In fact, such a tool could be placed every 10 or more frames. In one embodiment, the watermark detection processes is not initiated until a TRIPcode (or other target pattern) is found. The video data is warped to compensate for distortion, and the warped video is then presented to the watermark detector.
(111) Concluding Remarks
(112) 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 many other, different, forms. To provide a comprehensive disclosure without unduly lengthening the specification, applicant hereby incorporates by reference each of the above referenced patent documents in its entirety. Such documents are incorporated in their entireties, even if cited above in connection with specific of their teachings. These documents disclose technologies and teachings that can be incorporated into the arrangements detailed herein, and into which the technologies and teachings detailed herein can be incorporated.
(113) The methods, processes, components, apparatus and systems described above may be implemented in hardware, software or a combination of hardware and software. For example, the watermark encoding processes and embedders may be implemented in software, firmware, hardware, combinations of software, firmware and hardware, a programmable computer, electronic processing circuitry, and/or by executing software or instructions with a processor or circuitry. Similarly, watermark data decoding or decoders may be implemented in software, firmware, hardware, combinations of software, firmware and hardware, a programmable computer, electronic processing circuitry, and/or by executing software or instructions with a multi-purpose electronic processor, parallel processors or cores, and/or other multi-processor configurations.
(114) The methods and processes described above (e.g., watermark embedders and detectors) also may be implemented in software programs (e.g., written in C, C++, Visual Basic, Java, Python, Tcl, Perl, Scheme, Ruby, executable binary files, etc.) stored in memory (e.g., a computer readable medium, such as an electronic, optical or magnetic storage device) and executed by an electronic processor (or electronic processing circuitry, hardware, digital circuit, etc.).
(115) While one embodiment discusses inverting the polarity in a second color channel (e.g., a b channel), one could also invert the polarity in the first color channel (e.g., an a channel) instead. In such a case, the first color channel is then preferably subtracted from the second color channel.
(116) 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 are also contemplated.