Watermarking compressed data
First Claim
1. A method comprising:
- in a programmed or hardwired processing unit, receiving coefficients in a data stream, wherein the coefficients are divided into blocks;
using the programmed or hardwired processing unit, changing a value of selected coefficients to embed multi-bit message data in the coefficients, the changing including controlling changes to the selected coefficients from different blocks so that a relationship of the selected coefficients from the different blocks satisfies an embedding rule.
6 Assignments
0 Petitions
Accused Products
Abstract
A method of embedding auxiliary data in coefficients generated for a compressed data stream applies embedding rules to selected coefficients in different blocks to embed the data. The method receives coefficients in a data stream in which the coefficients are divided into blocks. It changes the value of selected coefficients to embed multi-bit message data in the coefficients. The process of changing the coefficients includes controlling changes to the selected coefficients from different blocks so that the relationship of the selected coefficients from the different blocks satisfy an embedding rule. One embedding rule causes the embedded data to form a pattern across the blocks. Another rule causes coefficients of blocks to have a desired phase relationship. Another rule enforces entropy and/or bit rate constraints onto the data stream. These embedding rules facilitate data hiding within bit rate and perceptibility constraints, while increasing robustness.
304 Citations
26 Claims
-
1. A method comprising:
-
in a programmed or hardwired processing unit, receiving coefficients in a data stream, wherein the coefficients are divided into blocks; using the programmed or hardwired processing unit, changing a value of selected coefficients to embed multi-bit message data in the coefficients, the changing including controlling changes to the selected coefficients from different blocks so that a relationship of the selected coefficients from the different blocks satisfies an embedding rule. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
in a programmed or hardwired processing unit, receiving coefficients in a data stream; and using the programmed or hardwired processing unit, changing a value of selected coefficients to embed multi-bit message data in the coefficients, the changing including controlling changes to entropy codes representing the selected coefficients so as to satisfy an established bit rate constraint.
-
-
14. A non-transitory computer readable medium on which is stored instructions, the instructions comprising:
-
instructions to receive coefficients in a data stream, wherein the coefficients are divided into blocks; instructions to change a value of selected coefficients to embed multi-bit message data in the coefficients, the changing including controlling changes to the selected coefficients from different blocks so that a relationship of the selected coefficients from the different blocks satisfies an embedding rule. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
15. A non-transitory computer readable medium on which is stored instructions, the instructions comprising:
-
instructions to receive coefficients in a data stream; and instructions to change a value of selected coefficients to embed multi-bit message data in the coefficients, the changing including controlling changes to entropy codes representing the selected coefficients so as to satisfy an established bit rate constraint.
-
Specification