Geo Target TRP Box

Update Geo Target client logo

A replacement for India's TV-ratings measurement hardware. Instead of the incumbent's 650-channel audio-watermark approach, I built an HDMI pass-through device that identifies channels via EPG template matching — dynamic, channel-agnostic, and a fifth of the cost.

Status
Shipped
Client
Update Geo Target
Context
TV-ratings (TRP) measurement for Indian households
Role
Creator — hardware, firmware, server, template-matching pipeline.

Bill of materials

  • Embedded Linux
  • HDMI capture
  • Computer vision (template matching)
  • Python
  • Backend data lake

India’s TV-ratings measurement ran on boxes placed in ~10,000 homes. Each box cost roughly ₹20,000 and worked by listening for inaudible high-frequency audio watermarks embedded in the broadcast of ~650 partnered channels. Two big problems. Cost: ten thousand ₹20,000 boxes isn’t a trivial line item. Coverage: India has thousands of TV channels, including heavy regional variation, and the watermark approach structurally can’t handle any channel that hasn’t pre-agreed to embed a watermark. Update Geo Target asked me to solve both.

The approach

Instead of listening to audio, the device sits on the HDMI path. HDMI from the set-top box passes through the device to the TV, and a copy gets branched into the box itself. When a household changes channels, the set-top box overlays an EPG (electronic programme guide) banner — different visually per set-top-box brand, but predictable in structure and always present at the moment of channel change. The device runs a lightweight template matcher on the captured frames. When an EPG is detected, that single frame is sent to the server, which identifies the channel from the logo + programme name in the overlay.

Why this works

Channel coverage is no longer gated by a list of pre-partnered broadcasters. Any channel that renders its logo and programme name in the EPG — which is all of them — is automatically indexable. The device itself stores no customer data, streams only at the moments of channel change (low bandwidth), and is considerably cheaper.

Cost and scale

Per-unit cost dropped from ~₹20,000 to ~₹4,000. Deployed in a pilot of 100 homes with accurate results. The project then stalled in bureaucratic process around transferring the government-adjacent ratings contract from the incumbent — a procurement problem, not a technology problem. The pilot ran successfully for its duration.