Describes various concepts and terms related to PallyCon Forensic Watermarking service.
This technology is designed to track illegal distribution of multimedia content such as videos, images, and audio. By inserting information that can not be detected by the human eye into the content, the user information can be extracted from the leaked content.
In the video below, you can see the process of embedding, mixing and detecting the watermark using forensic watermarking technology. This demo is intended to help you understand PallyCon Forensic Watermarking solution, and it is different from the scenarios that apply to actual commercial services.
For optimal playback, select ‘1080p’ as the video quality and select subtitle (Korean or English) for playback.
In order to embed a watermark in the original video, a preprocessing operation is required in the content encoding process. A watermarked value (0 and 1) is inserted in the original uncompressed video frame to generate a watermarked frame and output as two sets of encoded video.
The inserted watermark value is encrypted using a secret key unique to each content service provider, and can not be extracted from the outside arbitrarily.
The watermark embedding method can be selected from CLI embedder, embedder library or watermarking packaging service depending on the customer’s environment.
It is a Command Line Interface (CLI) based watermark embedder that inserts a watermark to the encoded result. It runs on a packaging server built by the service site itself, and produces the mp4 original video as two streaming contents with watermark (0 or 1) through watermark embedding and packaging process.
It is a watermark embedder implemented as a C ++ library so that it can be ported to an encoding solution. By embedding a watermark directly in the video encoding process, you can omit the re-encoding process required for watermark insertion using CLI embedder.
By default, porting to FFMPEG-based encoders is supported, and work with encoder solution vendors is required to apply them to other commercial encoders.
A watermarking service provided in the form of cloud SaaS. You can embed watermarking and package your content using the PallyCon cloud service without having to build a separate server using the CLI embedder or embedder library.
A URL that is used to send the results of a packaging job to a watermarking service customer who signed up packaging service. You need to build this webpage on your server by following our specification and input its URL into the settings page of PallyCon Console site. PallyCon server calls the URL when a packaging job is finished. Please refer to the Packaging Service Guide for details.
Two versions of video marked ‘0’ and ‘1’ are combined in real-time at playback time. It converts session information, such as user ID, to binary format, and thus composes the output stream by combining segments from the DASH or HLS content.
As a result, unique information about the playback session is inserted invisibly in the video and sent to the client.
The segment list of the DASH manifest (.mpd) or HLS playlist (.m3u8) passed as a Session URL applies the same path and filename to all users, regardless of session information. Therefore, it is safe from segment naming attack which is mixing the segment lists of multiple sessions for the same content.
Various client information such as user ID, content ID and time of playback. Depending on the needs of the service site, you can apply any session data as a string up to 254 bytes length.
Up to 7 bytes of payload data can be inserted into the final content with a watermark combination of 0 and 1. Actual session data such as user ID is managed in a separate database in the PallyCon service, and the payload is used as the key of the session data.
This module is applied to the CDN of the service site. When the content is requested for playback on the client, the watermarked video is streamed by mixing ‘0’ and ‘1’ marked segments. It delivers the segments in a unique order according to the watermark payload value for the session information.
By default, it supports the Lambda@Edge module of the AWS CloudFront CDN, and is applicable to other CDN Edge in a similar manner.
It is a content URL which is used for playback of watermarked content stream. Depending on the type of streaming, a DASH manifest(.mpd) or HLS playlist(.m3u8) URL is used, and an encrypted watermark payload is added as part of the unique session-based URL.
It is a function of PallyCon cloud server which generates Session URL for watermark mixing. It stores session information received from service site in session database and responds a Session URL which has encrypted payload.
If the watermarked video is leaked and distributed illegally, you can request the PallyCon service to detect the suspicious content. Watermark detection analyzes each frame of the video to detect the original watermark pattern and decrypts the data with the secret key used at the time of insertion.
If the watermark payload is found through the detection process, the session database finds the session information whose key value is the payload and reports it as the detection result.
PallyCon Forensic Watermarking supports the below specifications.
|Content Type||Supports video contents only|
|Format and codec||MP4 (CBR) VOD video, H.264/H.265 codec supported||Live video will be supported later|
|Supported Resolution||Up to 4K/UHD resolution|
|Dynamic Range||SDR (Standard Dynamic Range) supported||HDR will be supported later|
|Streaming Protocol||MPEG-DASH, HLS (Http Live Streaming)|
|CDN Integration||AWS CloudFront CDN supported||Contact us for other CDN integration|
|Watermark Data Size||Up to 255 bytes string using mapping table|
|DRM Integration||Multi DRM (PlayReady, Widevine, FairPlay) supported|