Watermarking is an effective tool for tracing the source and distribution path of content items, such as movies, pictures, songs, radio and television, which could be made available in streams or downloadable form. One application of watermarking is forensic tracking: when an unauthorized copy of a content item is discovered, an identifier embedded as a watermark may help to determine the origin or path of the unauthorized copy. For example, the name or customer ID of the buyer of a movie can be embedded as a watermark.
When watermarking content is to be distributed, the manner of distribution can be taken into consideration. Some techniques for content distribution operate on the basis of fragments: small portions of a content item, each no longer than a given maximum. Fragment-based distribution fits well with the Internet Protocol, and is often used when a content item is to be distributed for direct viewing (‘streaming’) instead of as a download. Well-known techniques in the context of internet streaming include Apple HTTP Live Streaming, Microsoft SmoothStreaming and MPEG-DASH. Such techniques may be referred to as adaptive streaming, wherein the content is made available in fragments which are simultaneously encoded at different bit rates. When receiving content, a playback device may for each fragment select the content stream with the maximum bit rate that current network conditions allow. Streaming may be done on ‘live’ content, i.e. as the content is being generated, or ‘non-live’, i.e. the delivery of content in a streaming manner from a source having a pre-recorded version of that content.
Each fragment distributed individually, and may take different routes to arrive at a recipient. In fact, different copies of a fragment may be watermarked with different payload information, allowing tracking or identification of each particular copy.
The watermarking of the content however is performed on segments of the content prior to the encoding and fragmenting, each segment being part of a watermarking period. Each segment may be provided with a watermark having a different payload. Furthermore, in combination with adaptive streaming it is not uncommon to watermark the content into more than one streams having a specific symbol as payload to enable distribution to specific destinations or end users.
As watermarking and fragmenting are generally not performed synchronously, i.e. the watermarking periods and fragments are not aligned in time. As a result, after decoding at a receiving device, the fragments may contain segments or parts of segments that have different watermark payloads. This is known as symbol overflow. More precisely, symbol overflow occurs when the watermarking periods in the content during which a single watermark symbol is embedded have a fixed position and a fragment may partially fall into two neighbouring segments having different payload. Detection on fragments of content received may produce suboptimal results. Because of the misalignment watermarked payload data from one fragment may be conflated with payload data from another fragment, resulting in failure to detect either, or in a false symbol detection. So it is impossible to ensure that a fragment only contains watermark symbols from one period.
A known way to cope with the problem of symbol overflow due to varying fragment length is to make the duration of the watermark periods dependent on the fragment lengths instead of fixed. For example, for each symbol embedding a number of fragments is used such that their accumulated duration is at least some pre-determined duration that is required for reliable detection. The downside of this method is that the detector needs to know how the content is divided into fragments to derive the period configuration. Since the fragment durations can generally not be derived from the input stream to the detector, the detector needs side information from the other components in the system. In other words, the detector is informed rather than blind.
Thus, there is a need for a watermarking method that can deal with symbol overflow while not requiring an informed watermark detector.