EP-4738837-A1 - METHOD FOR WATERMARKING A MEDIA CONTENT, CORRESPONDING COMPUTER PROGRAM PRODUCTS AND DEVICES
Abstract
A method is proposed for generating an additional watermarked variant of a segment of a media content from at least two initial watermarked variants of the segment. Each initial watermarked variant comprises a sequence of sub-segments carrying a watermark pattern associated with the initial watermarked variant. Such method comprises: - obtaining the at least two initial watermarked variants; and - generating the additional watermarked variant, the generating comprising, for at least one sub-segment of given rank in the sequence of an initial watermarked variant: replacing the sub-segment of given rank in the sequence by a replacing sub-segment having the same given rank in a sequence of another initial watermarked variant.
Inventors
- CELIK, MEHMET
Assignees
- Nagravision Sarl
Dates
- Publication Date
- 20260506
- Application Date
- 20241031
Claims (15)
- Method for generating at least one additional watermarked variant (190av) of a segment of a media content (100) from at least two initial watermarked variants (190iv) of the segment, each initial watermarked variant comprising a sequence of sub-segments carrying a watermark pattern associated with the initial watermarked variant, characterized in that it comprises: - obtaining (S400) the at least two initial watermarked variants; and - generating (S410) at least one additional watermarked variant, said generating comprising, for at least one sub-segment of given rank in the sequence of an initial watermarked variant: replacing (S410c) the sub-segment of given rank in the sequence by a replacing sub-segment having the same given rank in a sequence of another initial watermarked variant, the replacing delivering the additional watermarked variant comprising a sequence of sub-segments carrying different watermark patterns associated with at least two initial watermarked variants.
- Method according to claim 1, wherein said replacing is executed for a plurality of sub-segments of respective given rank in the sequence of the initial watermarked variant, wherein each of the sub-segments of respective given rank is replaced by a replacing sub-segment having the respective given rank in a sequence of another initial watermarked variant among the at least two initial watermarked variants.
- Method according to any of the claims 1 to 2, wherein the generating further comprises: updating (S410d) at least one header field of the segment, the updated header field reflecting technical features of the replacing sub-segment.
- Method according to any of the claims 1 to 3, wherein the generating further comprises: parsing (S410a) the initial watermarked variant to identify sub-segment boundaries.
- Method according to any of the claims 1 to 4, wherein said generating further comprises: - determining (S410aa) a maximum size of the sub-segments of given rank in the sequences of the at least two initial watermarked variants; and, before executing said replacing: - padding (S410ab) with dummy data the replacing sub-segment if a size of said replacing sub-segment is lower than the maximum size.
- Method according to any of the claims 1 to 5, wherein said generating further comprises: - determining (S410aa), for another rank than the given rank, another maximum size of the sub-segments having the other rank in the sequences of the at least two initial watermarked variants; and - padding (S410ab) with dummy data a sub-segment having the other rank in the sequence of the sub-segment to be replaced if a size of said sub-segment having the other rank in the sequence is lower than the other maximum size.
- Method according to any of the claims 1 to 4, wherein said generating further comprises: - determining (S410ba), for each possible given rank, a maximum size of the sub-segments of the possible given rank in the sequences of the initial watermarked variants, delivering a set of maximum sizes; - determining (S410bb) a maximum segment size as a sum of the maximum sizes of the set; and, after executing said replacing: - padding (S410bc) with dummy data the delivered additional watermarked variant for having a size of the delivered additional watermarked variant to be equal to the maximum segment size.
- Method according to any of the claims 1 to 7, wherein said generating further comprises: comparing (S410b) the watermark pattern of the sub-segment of given rank to be replaced and a predetermined watermark pattern, and wherein said replacing is executed only if the watermark pattern of the sub-segment of given rank to be replaced is not equal to the predetermined watermark pattern.
- Method according to claim 8, wherein said comparing is executed only if the given rank corresponds to a predetermined rank.
- Method for watermarking a media content (100), the method comprising, for at least one segment of the media content: - receiving (S500) a request, initiated by a media player, for the segment; - selecting (S510), based on an identifier associated to the media player, a watermarked variant of the segment among a set of watermarked variants of the segment; and - sending (S520) the watermarked variant of the segment to the media player, characterized in that the set comprises: - at least one initial watermarked variant (190iv) of the segment, the initial watermarked variant comprising a sequence of sub-segments carrying a watermark pattern associated to the initial watermarked variant; and - at least one additional watermarked variant (190av) comprising a sequence of sub-segments carrying different watermark patterns associated with at least two initial watermarked variants, and in that , when the identifier is expressed as a sequence of data symbols, the watermark patterns carried by the sub-segments of the selected watermarked variant form a sequence of watermark patterns representative of successive data symbols of the sequence.
- Method according to claim 10, wherein said selecting (S510) comprises: - obtaining (S510a) a time position of the segment in the media content; and - determining (S510b) the successive data symbols of the sequence to be used for watermarking the media content at that time position.
- Method according to any of the claims 1 to 11, wherein a format of the segment belongs to the group comprising: - ISO base media file format; - MPEG2 transport stream; and - Audio data transport stream.
- Computer program product characterized in that it comprises program code instructions for implementing a method according to at least one of the claims 1 to 12, when said program is executed on a computer or a processor.
- Electronic device (110d) comprising at least one processor or at least one field-programmable gate array or at least one dedicated computing machine configured for carrying out the steps of the method of any of the claims 1 to 9 or of the method of claim 12 in that it depends on any of the claims 1 to 9.
- Electronic device (120d) comprising at least one processor or at least one field-programmable gate array or at least one dedicated computing machine configured for carrying out the steps of the method of claim 10 or 11 or of the method of claim 12 in that it depends on the claim 10 or 11.
Description
FIELD OF THE DISCLOSURE The field of the disclosure is that of the delivery of media contents to end-users. More specifically, the disclosure relates to a technic for preventing piracy of delivered media contents. The disclosure can be of interest in any field wherein such media contents have to be delivered to end-users. This is the case for instance in the field of digital video or audio streaming. TECHNOLOGICAL BACKGROUND To fight content piracy, content owners increasingly request that invisible watermarks are inserted into their digital assets, e.g. video or audio assets, when these assets are delivered to the end-users. The watermark is used e.g. for traitor-tracing: an identifier encoded within the watermark allows to uniquely identify the media player that received the content from a streaming platform, or to uniquely identify the respective user account used to access the content, which is leaked or shared publicly. For instance, considering the digital video streaming context, from an implementation point of view, video encoders generate independently decodable chunks (e.g. Group of Pictures (GOPs) or Instantaneous Decoder Refresh (IDR) intervals) that are put into container packets called segments. Such segments are listed in manifests (e.g. a Hypertext Transfer Protocol (HTTP) Live Streaming (HLS) manifest or a Dynamic Adaptive Streaming over HTTP (DASH) manifest) and requested by the player using HTTP requests. A common approach in the field of streaming relies on A/B watermarking. It consists in encoding two versions of the same content, one with a watermark pattern (or mark) A and one with a watermark pattern B and to provide unique sequences of video segments to respective media players - each video segment either encoding an A or a B watermark pattern. The identifier of a given media player or of a respective user account corresponds to a combined sequence of A/B watermark patterns. In other words, if watermark pattern A encodes e.g. a low state bit "0" and watermark pattern B encodes a high state bit "1", the sequence of A/B watermark patterns corresponds to the binary representation of an identifier associated with the considered player. If the digital asset is pirated, the sequence of A/B watermark patterns is extracted to identify the pirate user and/or the corresponding media player. The media player or the user account may be blocked for further streaming as a result. This relies on a unique watermark token (comprising e.g. a watermark identifier or directly a watermark pattern) when accessing the content, e.g. during a streaming session. Such watermark token needs to be provided to the media player which, in turn, needs to append it to the segment request when accessing the content. In common implementations, the segment duration is set to 2-seconds. However, some deployments prefer to use longer segment durations, e.g. a segment duration of 4-seconds or 6-seconds. For instance, the http live streaming protocol recommends a segment duration of 6-seconds. But, having that each segment either encodes an A or a B watermark pattern, increasing the segment duration increases the content duration for the same A/B sequence, i.e. for conveying the same identifier of a media player or of a respective user account. This has several drawbacks such as: longer content is needed for detection, delays blocking action for live streaming, limitations in collusion robustness which depends on the sequence (code) length. One known solution is to use more variants, e.g. A or B or C or D..., to be carried by the segments, a variant thus encoding more than one bit of the identifier of the media player or of the user account. However, this is done at the expense of an extra computation on the encoder side to prepare more variants (especially if the variants are differentiated before encoding and packaging). Such encoding requires a high computation load, in particular for video contents. There is thus a need for a solution that allows reducing the latency in the detection of the sequence of watermark patterns e.g. in the context of media streaming e.g. when the sequence of watermark patterns represents an identifier associated to a media player or an identifier of a user account accessed from the media player. Preferably, such solution should minimize the computation load at the encoder stage. SUMMARY A particular aspect of the present disclosure relates to a method for generating at least one additional watermarked variant of a segment of a media content from at least two initial watermarked variants of the segment, each initial watermarked variant comprising a sequence of sub-segments carrying a watermark pattern associated with the initial watermarked variant. Such method comprises: obtaining the at least two initial watermarked variants; andgenerating at least one additional watermarked variant, the generating comprising, for at least one sub-segment of given rank in the sequence of an initial watermark