IP Library Granted Patent US 9,113,231
Granted Patent B2
US 9,113,231 · App. 12/737,822 · Granted Aug 18, 2015

Changeable block list

Inventors: Dekun Zou (Princeton, NJ); Jeffrey Adam Bloom (West Windsor, NJ); Shan He (Plainsboro, NJ)
Assignee: Thomson Licensing
H04N21/8358G06T1/0035H04N19/13H04N19/467H04N19/48H04N19/517H04N19/61H04N21/23892
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,113,231
App. No.
12/737,822
Granted
Aug 18, 2015
Kind
B2
Abstract

A method comprises accessing encoded video data; accessing a list of watermarks to the encoded video data; determining syntax elements for current blocks of video data and syntax elements of currents blocks with the watermarks; removing watermarks that cause visible artifacts based on differences in the syntax elements between the current blocks and current blocks with watermarks, thereby creating filtered list of acceptable watermarks. The method can further include determining coding variable ranges for the current block and current block with watermarks from the list; comparing the coding variable ranges for the current blocks and current blocks with watermarks from the list; and filtering out watermarks that yield coding variable ranges outside the coding variable ranges of the current blocks. Additionally, the method can include determining bit lengths of the current blocks and current blocks with watermarks from the list; comparing bit lengths of the current blocks and current blocks with watermarks from the list; and filtering out watermarks that yield bit lengths not equal to the bit lengths of the current blocks.

Claims (67)

1. A method comprising:

accessing CABAC encoded data;

creating, compiling, or accessing a list of changes applicable to syntax elements of the encoded data, wherein said syntax elements are the suffixes of encoded data, each syntax element comprising a fore-suffix followed by a rear-suffix, and each change in the list being applicable to a rear-suffix of a syntax element;

accessing the values of the coding variables codlLow and bitsOutstanding associated with encoding said syntax elements of the original encoded data and the encoded data with the change, for each change in the list, said accessing comprising:

encoding the original values of the fore-suffix and rear-suffix;

setting the coding variables before encoding the rear-suffix of each change equal to the coding variables after encoding of the fore-suffix of the original encoded data; and

encoding of the rear-suffix of each change;

removing changes that do not meet at least one defined criterion, if applied to the encoded data, thereby creating a filtered list of filtered changes, wherein one such criterion is for the changed encoded data and the original encoded data to generate the same respective values of the coding variables cod1Low and bitsOutstanding; and

applying at least one of the filtered changes in the filtered list to the encoded data wherein the suffix is a suffix of a motion vector differential, said method comprising:

determining a motion vector differential suffix range for the changes to the encoded data, wherein said range are all the possible values for a given bit length.

2. The method of claim 1 wherein the changes are watermarks

3. The method of claim 1 , wherein the encoded data are compressed video and the at least one defined criterion is absence of visible artifact if the change would be applied.

4. The method of claim 1 comprising:

comparing bit lengths of at least one current block to bit lengths of the changes to at least one current block;

removing changes that yield bit lengths not equal to the bit lengths of the at least one current block.

5. The method of claim 2 wherein the data are a CABAC-encoded video stream.

6. A method comprising:

accessing CABAC encoded video data;

accessing, generating, or compiling a list of watermarks to the video data;

determining syntax elements for a current block of video data and syntax elements of the current block with the watermarks, wherein said syntax elements are the suffixes of motion vector differentials of the encoded data, each syntax element comprising a fore-suffix followed by a rear-suffix, and each watermark in the list being applicable to a rear-suffix of a syntax element;

accessing the values of the coding variables codlLow and bitsOutstanding associated with associated with encoding said syntax elements of the current block of video data and the current block with the watermark, for each watermark in the list said accessing comprising:

encoding the original values of the fore-suffix and rear-suffix;

setting the coding variables before encoding the rear-suffix of each watermark equal to the coding variables after encoding of the fore-suffix of the original video data; and

encoding of the rear-suffix of each watermark; and

removing watermarks based on differences in the coding variables cod1Low and bitsOutstanding between the current block and the current block with watermarks, thereby creating a filtered list of accepted watermarks wherein the suffix is a suffix of a motion vector differential, said method comprising:

determining a motion vector differential suffix range for the changes to the encoded data, wherein said range are all the possible values for a given bit length.

7. The method of claim 6 , wherein the removing step further comprises:

determining bit lengths of the current block and the current block with watermarks from the list;

comparing bit lengths of the current block and current block with watermarks from the list; and

removing watermarks that yield bit lengths not equal to the bit lengths of the current blocks.

8. The method of claim 6 , wherein the removing step further comprises:

removing accepted watermarks that cause artifacts, if applied to the current block, thereby yielding a further filtered list of filtered accepted watermarks; and wherein the data is a CABAC-encoded video stream.

9. The method of claim 8 comprising:

collecting valid alternative rear-suffix values for a given original value of the syntax elements;

10. An apparatus comprising a processor configured to:

access CABAC encoded data;

create, compile, or access a list of changes applicable to syntax elements of the encoded data, wherein said syntax elements are the suffixes of encoded data, each syntax element comprising a fore-suffix followed by a rear-suffix, and each change in the list being applicable to a rear-suffix of a syntax element;

access the values of the coding variables codlLow and bitsOutstanding associated with encoding said syntax elements of the original encoded data and the encoded data with the change, for each change in the list, wherein said processor is further configured to:

encode the original values of the fore-suffix and rear-suffix;

set the coding variables before encoding the rear-suffix of each change equal to the coding variables after encoding of the fore-suffix of the original encoded data; and

encode of the rear-suffix of each change;

remove changes that do not meet at least one defined criterion, if applied to the encoded data, thereby creating a filtered list of filtered changes, wherein one such criterion is for the changed encoded data and the original encoded data to generate the same respective values of the coding variables cod1Low and bitsOutstanding; and

apply at least one of the filtered changes in the filtered list to the encoded data wherein the suffix is a suffix of a motion vector differential, and said processor is further configured to: determine a motion vector differential suffix range for the changes to the encoded data, wherein said range are all the possible values for a given bit length.

11. The apparatus of claim 10 wherein the changes are watermarks.

12. The apparatus of claim 10 , wherein the encoded data are compressed video and the at least one defined criterion is absence of visible artifact if the change would be applied.

13. The apparatus of claim 10 , wherein the processor is further configured to:

compare bit lengths of at least one current block to bit lengths of the changes to at least one current block;

remove changes that yield bit lengths not equal to the bit lengths of the at least one current block.

14. The apparatus of claim 11 wherein the data are a CABAC-encoded video stream.

15. An apparatus comprising a processor configured to:

access CABAC encoded video data;

access, generate, or compile a list of watermarks to the video data;

determine syntax elements for a current block of video data and syntax elements of the current block with the watermarks, wherein said syntax elements are the suffixes of motion vector differentials of the encoded data, each syntax element comprising a fore-suffix followed by a rear-suffix, and each watermark in the list being applicable to a rear-suffix of a syntax element;

access the values of the coding variables codlLow and bitsOutstanding associated with associated with encoding said syntax elements of the current block of video data and the current block with the watermark, for each watermark in the list, wherein the processor is further configured to:

encode the original values of the fore-suffix and rear-suffix;

set the coding variables before encoding the rear-suffix of each watermark equal to the coding variables after encoding of the fore-suffix of the original video data; and

encode of the rear-suffix of each watermark; and

remove watermarks based on differences in the coding variables codlLow and bitsOutstanding between the current block and the current block with watermarks, thereby creating a filtered list of accepted watermarks

wherein the suffix is a suffix of a motion vector differential, and said processor is further configured to: determine a motion vector differential suffix range for the changes to the encoded data, wherein said range are all the possible values for a given bit length.

16. The apparatus of claim 15 , wherein said processor removes watermarks by being further configured to:

determine bit lengths of the current block and the current block with watermarks from the list;

compare bit lengths of the current block and current block with watermarks from the list; and

remove watermarks that yield bit lengths not equal to the bit lengths of the current blocks.

17. The apparatus of claim 15 , said processor removes watermarks by being further configured to:

remove accepted watermarks that cause artifacts, if applied to the current block, thereby yielding a further filtered list of filtered accepted watermarks; and wherein the data is a CABAC-encoded video stream.

18. The apparatus of claim 17 , wherein said processor is further configured to:

collect valid alternative rear-suffix values for a given original value of the syntax elements.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2016
From: THOMSON LICENSING
To: DURAND, ALAIN; BAUDRY, SEVERINE; DOERR, GWENAEL; VINCENT, CHRISTOPHE; BENETIERE, ERIC
Reel/Frame 039065/0303 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2016
From: DURAND, ALAIN; BAUDRY, SEVERINE; DOERR, GWENAEL; VINCENT, CHRISTOPHE; BENETIERE, ERIC
To: CONTENTARMOR
Reel/Frame 039065/0315 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2011
From: ZOU, DEKUN; BLOOM, JEFFREY ADAM; HE, SHAN
To: THOMSON LICENSING
Reel/Frame 025830/0892 →
Continuity (2)
Provisional Application 61189430 · Aug 19, 2008
Related Publication 20110142419A1 · Jun 16, 2011