Use of steganographically-encoded time information as basis to establish a time offset, to facilitate taking content-related action
Abstract
A method and system for using steganographically-encoded time information as a basis to control when a client carries out a content-related action. The client processes for presentation one or more linear media streams, each defining a respective time sequence of frames of media content, and at least one of the streams being steganographically encoded with at least one watermark at a respective time-point within the linear media stream, the watermark encoding a timestamp of the respective time-point within the linear media stream according to a server clock. The client extracts the timestamp from the watermark and computes a time offset based on a difference between the extracted timestamp and a current time according to a client clock. And the client uses the computed time offset as a basis to determine when the client should carry out a content-related action in a given one of the one or more linear media streams.
Claims
exact text as granted — not AI-modifiedWe claim:
1. A method comprising:
processing by a client multiple linear media streams for presentation, the multiple linear media streams including a first linear media stream and a second linear media stream, each media stream of the multiple linear media streams defining a respective time sequence of frames of media content, the first linear media stream being steganographically encoded with a watermark at a time-point within first linear media stream, the watermark encoding a timestamp of the time-point within the first linear media stream according to a server clock;
extracting by the client the timestamp from the watermark, and computing by the client a time offset based on a difference between the extracted timestamp and a current time according to a client clock; and
using by the client the computed time offset as a basis to determine when the client should carry out a content-related action in the second linear media stream.
2. The method of claim 1 , wherein computing the time offset based on the difference between the extracted timestamp and the current time according to the client clock comprises computing the time offset as the difference.
3. The method of claim 1 , wherein the first linear media stream is steganographically encoded with multiple watermarks each at a respective media-stream time-point within the first linear media stream and each encoding a respective timestamp of the respective media-stream time-point according to the server clock, the method further comprising:
extracting by the client from each of the multiple watermarks the respective timestamp, and
computing by the client multiple time offsets including, respectively for each extracted respective timestamp, a respective time offset between the extracted respective timestamp and a respective current time according to the client clock,
wherein computing by the client the time offset based on a difference between the extracted timestamp and the current time according to the client clock comprises computing by the client a statistical representation of the multiple computed time offsets.
4. The method of claim 3 , wherein the statistical measure comprises an average.
5. The method of claim 1 , wherein the content-related action comprises dynamic content modification.
6. The method of claim 5 , wherein the content-related action comprises dynamic ad replacement.
7. The method of claim 5 , further comprising:
receiving by the client from a server a directive for the client to carry out the content-related action in the second linear media stream, the directive specifying an action time point when the client should carry out the content-related action, the action time point being defined according to the server clock,
wherein using by the client the computed time offset as a basis to determine when the client should carry out the content-related action in the second linear media stream comprises applying by the client the computed time offset as a basis to translate the specified action time point into an associated client time point according to the client clock.
8. The method of claim 7 , wherein the applying the computed time offset as the basis to translate the specified action time point into the associated client time point according to the client clock comprises adding the computed time offset to the specified action time point.
9. The method of claim 7 , wherein the multiple linear media streams are distributed by a content distribution system, wherein processing by a client the multiple linear media streams for presentation comprises receiving the multiple linear media streams distributed by the content distribution system, and wherein the server clock defines time according to the content distribution system.
10. The method of claim 7 , further comprising:
generating, by the client, query fingerprints representing the second linear media stream; and
transmitting, from the client to the server, the generated query fingerprints to enable the server to identify the second linear media stream.
11. A media client comprising:
a content input interface;
a network communication interface;
a processing unit;
non-transitory data storage; and
program instructions stored in the non-transitory data storage and executable by the processing unit to cause the media client to carry out operations including:
processing multiple linear media streams for presentation, the multiple linear media streams including a first linear media stream and a second linear media stream, each media stream of the multiple linear media streams defining a respective time sequence of frames of media content, the first linear media stream being steganographically encoded with a watermark at a time-point within first linear media stream, the watermark encoding a timestamp of the time-point within the first linear media stream according to a server clock,
extracting the timestamp from the watermark, and computing a time offset based on a difference between the extracted timestamp and a current time according to a media-client clock, and
using the computed time offset as a basis to determine when the media client should carry out a content-related action in the second linear media stream.
12. The media client of claim 11 , wherein the media client is a television.
13. The media client of claim 11 , wherein the media client is a media content receiver.
14. The media client of claim 11 , wherein the first linear media stream is steganographically encoded with multiple watermarks each at a respective media-stream time-point within the first linear media stream and each encoding a respective timestamp of the respective media-stream time-point according to the server clock, the method further comprising:
extracting by the client from each of the multiple watermarks the respective timestamp, and
computing by the client multiple time offsets including, respectively for each extracted respective timestamp, a respective time offset between the extracted respective timestamp and a respective current time according to the client clock,
wherein computing by the client the time offset based on a difference between the extracted timestamp and the current time according to the client clock comprises computing by the client a statistical representation of the multiple computed time offsets.
15. The media client of claim 11 , wherein the content-related action comprises dynamic content modification.
16. The media client of claim 15 , wherein the content-related action comprises dynamic ad replacement.
17. The media client of claim 15 , wherein the operations further include:
receiving from a server a directive for the media client to carry out the content-related action in the second linear media stream, the directive specifying an action time point when the media client should carry out the content-related action, the action time point being defined according to the server clock,
wherein using the computed time offset as a basis to determine when the media client should carry out the content-related action in the second linear media stream comprises applying the computed time offset as a basis to translate the specified action time point into an associated media-client time point according to the media-client clock.
18. The media client of claim 17 , wherein the multiple linear media streams are distributed by a content distribution system, wherein processing the multiple linear media streams for presentation comprises receiving the multiple linear media streams distributed by the content distribution system, and wherein the server clock defines time according to the content distribution system.
19. The media client of claim 17 , wherein the operations further comprise:
generating query fingerprints representing the second linear media stream; and
transmitting, to the server, the generated query fingerprints to enable the server to identify the second linear media stream.
20. A non-transitory computer-readable medium embodying program instructions executable by a processing unit to carry out to cause a media client to carry out operations comprising:
processing multiple linear media streams for presentation, the multiple linear media streams including a first linear media stream and a second linear media stream, each media stream of the multiple linear media streams defining a respective time sequence of frames of media content, the first linear media stream being steganographically encoded with a watermark at a time-point within first linear media stream, the watermark encoding a timestamp of the time-point within the first linear media stream according to a server clock;
extracting the timestamp from the watermark, and computing a time offset based on a difference between the extracted timestamp and a current time according to a clock of the media client; and
using the computed time offset as a basis to determine when the media client should carry out a content-related action in the second linear media stream.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.