Method and system for embedding binary data sequences into video bitstreams
First Claim
1. A method for embedding information into a digitally compressed bitstream, the method comprising the steps of:
- providing a compressed bitstream;
determining a type of coding of the compressed bitstream wherein the type of coding is inter coding or intra coding;
identifying locations in the bitstream for embedding data bits into the bitstream;
extracting a plurality of data bits from the locations of the bitstream;
producing embedded data bits based on the plurality of data bits from the bitstream wherein the embedded data bits are based on the coding of the compressed bitstream; and
replacing original codewords in the bitstream with alternate codewords having the embedded data bits.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention is a method and system which extracts, manipulates and embeds data from a compressed and standard compliant video bitstream which may be used for digital rights management, e.g. controlling access to a bitstream or for authenticating a video bitstream.
The method embeds binary data bits into compressed and standard compliant video bitstream with minimal visual artifacts. The method first parses the compressed video bitstream and locates coded blocks. The codeword C for the last triplet in the original block(RUNc,LEVELc, LASTc=1) is replaced by the VLC code word C′ for the last triplet (RUNC,LEVELC, LASTC′=0). A codeword corresponding to a triplet with LAST=1 is placed after C′ whose sign bit “s” can be either 0 or 1 and is an embedded data bit, and can be used for authentication.
-
Citations
26 Claims
-
1. A method for embedding information into a digitally compressed bitstream, the method comprising the steps of:
-
providing a compressed bitstream; determining a type of coding of the compressed bitstream wherein the type of coding is inter coding or intra coding; identifying locations in the bitstream for embedding data bits into the bitstream; extracting a plurality of data bits from the locations of the bitstream; producing embedded data bits based on the plurality of data bits from the bitstream wherein the embedded data bits are based on the coding of the compressed bitstream; and replacing original codewords in the bitstream with alternate codewords having the embedded data bits. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for embedding information into a digitally compressed bitstream, the system comprising:
-
a compressed bitstream; means for determining a type of coding of the compressed bitstream wherein the type of coding is inter coding or intra coding; means for identifying locations in the compressed bitstream wherein the locations are based on the type of coding of the compressed bitstream; embedded data bits produced by encrypting a plurality of data bits at the locations in the compressed bitstream; and means for replacing original codewords in the bitstream with alternate codewords having the embedded data bits. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for embedding information into a digitally compressed bitstream, the method comprising the steps of:
-
providing a compressed bitstream; identifying locations in the bitstream for embedding data into the bitstream; replacing original codewords in the bitstream with alternate codewords having embedded data bits; and finding blocks wherein the blocks have a last non-zero coefficient having an index number of less than 63.
-
-
21. A method for embedding information into a digitally compressed bitstream, the method comprising the steps of:
-
providing a compressed bitstream; identifying locations in the bitstream for embedding data into the bitstream; replacing original codewords in the bitstream with alternate codewords having embedded data bits wherein the original codewords have a triplet form of EVENT=(RUN, LEVEL, LAST) and further wherein final codewords in the bitstream have a “
LAST”
coefficient=1; andreplacing the final codewords so that the final codewords have a “
LAST”
coefficient=0.
-
-
22. A method for embedding information into a digitally compressed bitstream, the method comprising the steps of:
-
providing a compressed bitstream; identifying locations in the bitstream for embedding data into the bitstream; replacing original codewords in the bitstream with alternate codewords having embedded data bits wherein the original codewords have a triplet form of EVENT=(RUN, LEVEL, LAST) and further wherein final codewords in the bitstream have a “
LAST”
coefficient=1; andappending alternate codewords to the final codewords in the bitstream. - View Dependent Claims (23)
-
-
24. A system for embedding information into a digitally compressed bitstream, the system comprising:
-
a compressed bitstream; means for identifying locations in the compressed bitstream; means for replacing original codewords in the bitstream with alternate codewords having embedded data bits; means for scanning the bitstream to locate blocks wherein the blocks contain the original codewords wherein the blocks have a last non-zero coefficient having an index number of less than 63.
-
-
25. A system for embedding information into a digitally compressed bitstream, the system comprising:
-
a compressed bitstream; means for identifying locations in the compressed bitstream; means for replacing original codewords in the bitstream with alternate codewords having embedded data bits; and means for replacing final codewords in the bitstream with replaced codewords wherein the replaced codewords have a LAST coefficient=0.
-
-
26. A system for embedding information into a digitally compressed bitstream, the system comprising:
-
a compressed bitstream; means for identifying locations in the compressed bitstream; means for replacing original codewords in the bitstream with alternate codewords having embedded data bits; means for replacing final codewords in the bitstream with replaced codewords wherein the replaced codewords have a LAST coefficient=0; and means for appending alternate codewords to the replaced codewords wherein the appended codewords=“
0111s”
wherein the “
s”
represents the embedded data bit.
-
Specification