Methods for reading watermarks in unknown data types, and...

Motion video signal processing for recording or reproducing – Local trick play processing – With randomly accessible medium

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C360S060000, C380S201000

Reexamination Certificate

active

06766102

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to digital video, and more particularly relates to techniques for recognizing digital video so that certain usage-control systems may be implemented.
DETAILED DESCRIPTION
Certain applications would benefit from knowing whether a media-specific watermark is present in, effectively, a “bucket of bits.” In other words, one only knows, a priori, that one has a set of binary information, and even the very existence of a media object—whether audio, video or still image—is in question. It would be nice to first answer the question of whether a media object exists within this bucket of bits, followed by determining the specific form or format of that object (e.g., MPEG stream, JPEG image, BMP image, WAV file, etc.). Once the media object(if any) is characterized, it can be examined for a watermark. This disclosure provides a method for doing just this. It is presented in the harshest case of complete ignorance about the bucket of bits, whereas most practical applications will have additional knowledge about the data that can assist in correctly identifying its form and function, thus assisting in the watermark reading process.
Imagine we start with 10 Kilobytes of data randomly taken from any of the dozens of the digital physical media available (CD's, DVD's, Hard drives, memory, communication streams . . . anywhere at all). These bytes just show up on your doorstep somehow. You ask, is this a media object I should be interested in? And if so, is there a watermark in there?
Let's begin with two extremes, one where it is generally impossible to figure out whether or not a media object is present and what its form is, and one where it is relatively straightforward. We will then move on to the gray area in between.
The “impossible” case is where some data object such as text, a program, a video, an image, whatever, has been encrypted using decent modern cryptographic methods. The essential point of cryptography is to not let some random person know what is “within the data.” Generally speaking, gross level characteristics and statistics of such data have been tidily swept clean and no discernable patterns can be found. The act of determining whether a watermark exists in such data is predicated upon specific breakdowns in cryptographic procedure, an area we will happily steer around in this disclosure and leave for braver souls.
On the other hand, one example of very many straightforward cases might be the following. A program is written simply to hunt for JPEG headers. Byte by byte, it simply walks through the whole bucket of bits and, bit by bit or byte by byte, simply “assumes” that a given bit or byte is the beginning of a JPEG header and sees if it can coherently decode the header using that bit/byte as a starting point, not quite knowing exactly where the ending point is. (Some headers have very precise lengths, speaking to this latter point about not knowing how long it is). As with the millions of monkeys typing on their keyboards eventually producing Hamlet, every now and then this program will think it has found a valid header when it has indeed found garbage, but it can then either begin to look for telltale huffman streams and refine its ability to recognize a JPEG image, or, more simply, it can simply not care it might be finding garbage and invoke a watermark reading process on “presumed” JPEG data. The worst that can happen is that no watermark is found or read.
(The present technology is applicable with any digital watermarking technique; exemplary watermarking techniques are disclosed in U.S. Pat. Nos. 5,832,119, 5,825,892, and 5,915,027.)
In this simpler case of looking for a JPEG header, the process of reading a watermark from this initially unknown bucket of bits is then to simply run the JPEG header-hunter routine followed by any standard watermark reading routine. End of story.
Let's now look at some more difficult cases and attempt to specify certain operations that could underpin any generalized watermark reader on generalized unknown data.
Let's look at the case of an MPEG stream where it may be impractical to “search for telltale headers.” It might even be that a non-crytpographic-grade scrambling function has been applied to the pure MPEG stream, i.e., a scrambling function which is meant to stop average consumers from co-opting materials but certainly has no pretensions of stopping cryptographic pro's.
In the non-scrambled version, a “random sampling watermark detector” can be built which basically operates on some small but non-trivial “chunk” of data, essentially asking a series of questions all revolving around the basic question of “do you have MPEG-like data structures.” Examples include: “are there data structures which resemble sequences of macroblocks, with subsequences of 4 blocks within the macroblocks.” More specifically, and similar to the JPEG header-hunter, the existence of macroblocks can be assumed, but with an unknown “start point;” many trial start points can be tried and some start points (followed by typical decoding steps associated with MPEG/Huffman decoding) will start to produce what appear to be true macroblock data. Options include assuming it is indeed macroblock data and attempting watermark reading, but more likely other questions will be asked of the data before the step of watermark reading is invoked.
Returning back to the “do you have MPEG-like data structures” issue then, another example might include looking for interframe sub-header data structures as well, or looking for these only if an earlier step thinks it might be seeing true macroblock data. One can also treat raw ones and zeros of the data stream as a time waveform and look at is spectral and statistical properties and look for “MPEG class signatures” within these transformed spaces.
In any event, once some reasonable level of confidence is obtained that an MPEG object exists within the bucket of bits and once some general notion of where macroblocks are synchronized, a watermark reading routine can be invoked and a “positive read” (in the case where false positives are pre-designed to be very unlikely) is the best way of making sure that an object is an MPEG object.
One final note on the non-scrambled MPEG case, the “do you have MPEG-like data structures” questions can be seen as distinct modules, each with a probability attached. These modules can be stacked in order to gain sufficient confidence that an MPEG stream is present. Furthermore, interim states of confidence can invoke grabbing of more data and reapplying the question modules to more data if a sufficient level of confidence is not reached right away. The issue here gets down to “which is computationally cheaper,” getting more data and building confidence, or simply going for a full watermark read routine.
Moving on to the scrambled MPEG video case, a similar philosophy of asking a set of modularized questions can be used, only they will be much more along the classic cryptographic analysis lines than in the non-scrambled case which can search for specific structures. Furthermore, presumably most applications which intend to look for these scrambled signals will also have the means to unscramble the data if a scrambled stream is indeed found. Building in the means to “sleuth the scrambling” is certainly not an intent of this disclosure. Implicit in all of this is that the process to “descramble the signal using all arbitrary starting points” is computationally more expensive than the process to ask the questions “do you have scrambled MPEG-like data characteristics.” Key words have changed in this phrasing of the question.
In the scrambled case, then, we find a three step process: 1) look for scrambled MPEG signal characteristics, including looking for specific commercial flavors of scrambling; 2) descramble the data if a certain confidence level is reached in number 1, where one may need to grab more data if the initial chunk grabbed is insufficient for descrambling; then 3) invoke any given watermark reading

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Methods for reading watermarks in unknown data types, and... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Methods for reading watermarks in unknown data types, and..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Methods for reading watermarks in unknown data types, and... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3187204

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.