GPU Shader Watermarking for OTT Piracy Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current digital watermarking techniques for video streaming services are not robust enough to secure content across various devices and environments, particularly in over-the-top (OTT) video streaming, where client devices lack control and integration is complex, leading to vulnerabilities in content piracy.

Innovation Solution

A server-controlled, client-inserted watermarking system that leverages the Graphics Processing Unit (GPU) of client devices to embed watermarks during video playback, using graphics languages like OpenGL, with secure execution and detection capabilities to prevent piracy, including real-time identification and takedown of illegally rebroadcasted content.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If client-based watermarking is used, then the content can be modified by client devices, but integration becomes difficult and complex across many environments

Engineering Contradiction:
Improveease of integrationVSAvoidintegration complexity
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary component - the GPU shader program - that acts as a mediator between the content delivery system and the client device rendering pipeline. The shader program is distributed through standard content delivery mechanisms and automatically executes on client GPUs without requiring integration into diverse client environments. This intermediary approach resolves the contradiction by providing a unified watermarking interface that works across all client devices without complex integration requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If server-based watermarking is used, then the system can be easily changed, but it introduces delays in live broadcasts and increases storage bandwidth costs

Engineering Contradiction:
ImproveflexibilityVSAvoidbroadcast delay
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by embedding the watermarking logic directly into GPU shader programs that are prepared in advance and distributed with the video content. The watermarking operations are performed client-side during normal video rendering, eliminating the need for real-time server processing. This approach provides server-based flexibility in watermark design while avoiding broadcast delays and additional storage bandwidth requirements, as the watermarking capability is pre-loaded with the content.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If GPU-based watermarking is implemented, then robustness and flexibility improve, but integration into existing systems becomes complex

Engineering Contradiction:
Improvewatermark robustnessVSAvoidsystem integration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent leverages the universal nature of GPU shaders, which are a standard component of modern graphics hardware. The watermarking system uses OpenGL ES 2.0 or later shader language, a universal interface already present in all mobile and desktop devices. By using the GPU's existing parallel processing capabilities for both graphics rendering and watermark embedding, the system achieves robust watermarking without adding integration complexity, as the GPU hardware and shader language provide a unified platform across all devices.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP3682414B1Device and method for GPU-based watermarking
Publication Date: 2022.11.09 IRDETO BV
  • EP3682414B1 patent drawingFigure 1
  • EP3682414B1 patent drawingFigure 2
  • EP3682414B1 patent drawingFigure 3

AI summary

A method and system for watermarking content utilizing a user device GPU, Embodiments include receiving on a processing server a request from a video server for a video to be played on the user's device. The processing server may extract a set of identifying information, such as user information, from the request for the video. The processing server may further prepare shader software code which is to be executed on a GPU present on the user's device. The code preparation may include creating a watermarking procedure to be executed during playback on the user device. The processing server may further transmit the shader software code to the streaming video server to be transmitted to the user device for execution during video playback.