Analog video tagging and encoding system
First Claim
1. A process for decoding in-band tag field data from a video stream, comprising the steps of:
- parsing a tag field or frame from said video stream;
decoding the data in said tag field;
assembling said decoded data into data objects;
applying a regular pattern of maximally colored blocks horizontally outside the data window, forming an array of stripes;
examining the DC component of the first macroblock in each slice;
horizontally registering each tag data slice;
wherein each stripe is two macroblocks high, and extends into said window by at least one macroblock;
wherein between each maximally colored stripe is a stripe of minimally colored macroblocks of the same size; and
wherein each slice is examined in turn until a maximum DC component value is detected, indicating that the slice begins a tag data slice and every other slice is a tag data slice.
7 Assignments
0 Petitions
Accused Products
Abstract
An analog video tagging and encoding system is disclosed. The invention inserts an analog tag frame into the analog video stream such that the luminance (Y) values are made to approach zero, i.e., black, allowing a potential tag frame to be quickly identified. Tag information is then encoded as a structured color pattern into the chrominance (Cb and Cr) portions of the frame, making the tag itself invisible to the casual viewer and contains program start/stop information, program segment identification, or data downloads. The color pattern is chosen such that when it is converted into digital form according to the Moving Picture Experts Group (MPEG) standard. In a simple embodiment of the invention, the structured analog color pattern may appear as a pattern of colored blocks aligned with the macroblock segmentation performed on the analog signal by the MPEG encoding process. The simplest color pattern uses two colors with extremely different Cr or Cb values, and derives a binary encoding sequence where a binary zero (0) might be represented by values near one color, and a binary one (1) represented by values near the other color. This is easily extended to create a number of different chrominance levels within each encoded macroblock, allowing multiple bits of tag information to be encoded by each macroblock, where the number of chrominance levels available for data encoding are limited by the transmission accuracy and color distortion caused by the transmission process.
391 Citations
12 Claims
-
1. A process for decoding in-band tag field data from a video stream, comprising the steps of:
-
parsing a tag field or frame from said video stream;
decoding the data in said tag field;
assembling said decoded data into data objects;
applying a regular pattern of maximally colored blocks horizontally outside the data window, forming an array of stripes;
examining the DC component of the first macroblock in each slice;
horizontally registering each tag data slice;
wherein each stripe is two macroblocks high, and extends into said window by at least one macroblock;
wherein between each maximally colored stripe is a stripe of minimally colored macroblocks of the same size; and
wherein each slice is examined in turn until a maximum DC component value is detected, indicating that the slice begins a tag data slice and every other slice is a tag data slice. - View Dependent Claims (2, 3, 4)
keying on an initial phase shift that indicates that valid data follows, wherein said phase shift is a two-macroblock gap of minimal DC component value before the data encoding pattern.
-
-
5. An apparatus for decoding in-band tag field data from a video stream, comprising:
-
a module for parsing a tag field or frame from said video stream;
a module for decoding the data in said tag field;
a module for assembling said decoded data into data objects;
a module for applying a regular pattern of maximally colored blocks horizontally outside the data window, forming an array of stripes;
a module for examining the DC component of the first macroblock in each slice;
a module for horizontally registering each tag data slice;
wherein each stripe is two macroblocks high, and extends into said window by at least one macroblock;
wherein between each maximally colored stripe is a stripe of minimally colored macroblocks of the same size; and
wherein each slice is examined in turn until a maximum DC component value is detected, indicating that the slice begins a tag data slice and every other slice is a tag data slice. - View Dependent Claims (6, 7, 8)
a module for keying on an initial phase shift that indicates that valid data follows, wherein said phase shift is a two-macroblock gap of minimal DC component value before the data encoding pattern.
-
-
9. A program storage medium readable by a computer, tangibly embodying a program of instructions executable by the computer to perform method steps for decoding in-band tag field data from a video stream, comprising the steps of:
-
parsing a tag field or frame from said video stream;
decoding the data in said tag field;
assembling said decoded data into data objects;
applying a regular pattern of maximally colored blocks horizontally outside the data window, forming an array of stripes;
examining the DC component of the first macroblock in each slice;
horizontally registering each tag data slice;
wherein each stripe is two macroblocks high, and extends into said window by at least one macroblock;
wherein between each maximally colored stripe is a stripe of minimally colored macroblocks of the same size; and
wherein each slice is examined in turn until a maximum DC component value is detected, indicating that the slice begins a tag data slice and every other slice is a tag data slice. - View Dependent Claims (10, 11, 12)
keying on an initial phase shift that indicates that valid data follows, wherein said phase shift is a two-macroblock gap of minimal DC component value before the data encoding pattern.
-
Specification