IP Library › Granted Patent US 10,015,506
Granted Patent B2
US 10,015,506 · App. 14/281,782 · Granted Jul 3, 2018

Frequency reduction and restoration system and method in video and image compression

Inventor: Anurag Mendhekar (Los Altos, CA)
Assignee: CINOVA MEDIA
H04N19/48H04N19/12H04N19/154H04N19/18H04N19/40H04N19/625
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 10,015,506
App. No.
14/281,782
Granted
Jul 3, 2018
Kind
B2
Abstract

A system and method for frequency reduction and restoration. The system and method may be used to reduce the visual redundancy in digital data, such as in video data and image data.

Claims (47)

1. A system for reducing redundancy in a compressed data stream, comprising:

a data stream processor; and

the data stream processor configured to partially decode a compressed incoming data stream into a plurality of blocks in which each block has a plurality of coefficients and each coefficient has a value, configured to select a redundancy model for each block, the selected redundancy model having a plurality of values wherein each value corresponds to a coefficient in the block, configured to remove redundancies in the partially decoded incoming data stream based on the selected redundancy model by modifying the value of one or more of the coefficients in each block based on the one or more values in the selected redundancy model that correspond to the one or more coefficients in each block and configured to encode a data stream with the plurality of blocks that contain the modified coefficient values.

2. The system of claim 1 , wherein the data stream processor is configured to restore the value to the partially decoded incoming data stream by changing a coefficient having a modified value back to its original value.

3. The system of claim 1 , wherein the compressed incoming data stream is a DCT based compressed stream.

4. The system of claim 3 , wherein the DCT based compressed stream is one of an MPEG-2 data stream, a H.264 data stream, a JPEG data stream, a motion JPEG data stream and a H.265 data stream.

5. The system of claim 1 further comprising a store that is configured to store a plurality of redundancy models from which the redundancy model is selected.

6. The system of claim 1 , wherein the redundancy model has a plurality of values wherein each value in the redundancy model corresponds to a value in the block.

7. The system of claim 6 , wherein the block is a square matrix and each side of the square matrix is an integer power of 2.

8. The system of claim 1 , wherein the data stream processor is configured to select the redundancy model for each block based in part of a gradience of the block in the partially decoded incoming data stream.

9. The system of claim 1 , wherein the data stream processor is configured to select the redundancy model for each block based on one or more of a size of the block, a statistical property of the block and a property of the block.

10. The system of claim 1 , wherein the data stream processor is one of a processor and a programmable hardware device.

11. A method of reducing redundancy in a compressed data stream, comprising:

partially decoding an incoming data stream into a plurality of blocks in which each block has a plurality of coefficients and each coefficient has a value;

selecting a redundancy model for each block, the selected redundancy model having a plurality of values wherein each value corresponds to a coefficient in the block;

removing redundancies in the partially decoded incoming data stream based on the selected redundancy model by modifying the value of one or more of the coefficients in each block based on the one or more values in the selected redundancy model that correspond to the one or more coefficients in each block; and

encoding a data stream with the plurality of blocks and the modified coefficient values.

12. The method of claim 11 further comprising restoring the value to the partially decoded incoming data stream by changing a coefficient having a modified value back to its original value.

13. The method of claim 11 , wherein the compressed incoming data stream is a DCT based compressed stream.

14. The method of claim 13 , wherein the DCT based compressed stream is one of an MPEG-2 data stream, a H.264 data stream, a JPEG data stream, a motion JPEG data stream and a H.265 data stream.

15. The method of claim 11 further comprising storing a plurality of redundancy models from which the redundancy model is selected.

16. The method of claim 11 , wherein the redundancy model has a plurality of values wherein each value in the redundancy model corresponds to a value in the block.

17. The method of claim 16 , wherein the block is a square matrix and each side of the square matrix is an integer power of 2.

18. The method of claim 11 , wherein selecting the redundancy model further comprises selecting the redundancy model for each block based in part of a gradience of the block in the partially decoded incoming data stream.

19. The method of claim 11 , wherein selecting the redundancy model further comprises selecting the redundancy model for each block based one or more of a size of the block, a statistical property of the block and a property of the block.

20. The method of claim 11 further comprising comparing, for each value in the block of the partially decoded incoming data stream, an absolute value of a value in the redundancy model that corresponds to the value in the block to an absolute value of the value in the block and setting the value in the partially decoded incoming data stream to zero if the absolute value of the value in the block is smaller than the absolute value of a value in the redundancy model that corresponds to the value in the block.

21. The method of claim 11 further comprising comparing, for each value in the block of the partially decoded incoming data stream, an absolute value of a value in the redundancy model that corresponds to the value in the block to an absolute value of the value in the block and setting the value in the partially decoded incoming data stream to the value in the redundancy model and maintaining a sign of the value in the partially decoded incoming data stream if the absolute value of the value in the block is not smaller than the absolute value of a value in the redundancy model that corresponds to the value in the block.

22. A computer readable medium, comprising:

instruction that partially decode an incoming data stream into a plurality of blocks in which each block has a plurality of coefficients and each coefficient has a value;

instructions that select a redundancy model for each block, the selected redundancy model having a plurality of values wherein each value corresponds to a coefficient in the block;

instructions that remove redundancies in the partially decoded incoming data stream based on the selected redundancy model by modifying the value of one or more of the coefficients in each block based on the one or more values in the selected redundancy model that correspond to the one or more coefficients in each block; and

instructions that encode a data stream with the plurality of blocks and the modified coefficient values.

23. The medium of claim 22 further comprising instructions that restore the value to the partially decoded incoming data stream by changing a coefficient having a modified value back to its original value.

24. The medium of claim 22 further comprising instructions that store a plurality of redundancy models from which the redundancy model is selected.

25. The medium of claim 22 further comprising instructions that select the redundancy model for each block based in part of a gradience of the block in the partially decoded incoming data stream.

26. The medium of claim 22 further comprising instructions that select the redundancy model for each block based one or more of a size of the block, a statistical property of the block and a property of the block.

27. The medium of claim 22 further comprising instructions that compare, for each value in the block of the partially decoded incoming data stream, an absolute value of a value in the redundancy model that corresponds to the value in the block to an absolute value of the value in the block and instructions that set the value in the partially decoded incoming data stream to zero if the absolute value of the value in the block is smaller than the absolute value of a value in the redundancy model that corresponds to the value in the block.

28. The medium of claim 22 further comprising instructions that compare, for each value in the block of the partially decoded incoming data stream, an absolute value of a value in the redundancy model that corresponds to the value in the block to an absolute value of the value in the block and instructions that set the value in the partially decoded incoming data stream to the value in the redundancy model and maintaining a sign of the value in the partially decoded incoming data stream if the absolute value of the value in the block is not smaller than the absolute value of a value in the redundancy model that corresponds to the value in the block.

29. The system of claim 1 , wherein the data stream processor is configured to remove redundancies by comparing the value in the redundancy model to the corresponding coefficient value in the block.

30. The system of claim 29 , wherein the data stream processor is configured to remove redundancies by setting a value of a coefficient in the block to zero if the value of the coefficient is smaller than the corresponding value in the redundancy model.

31. The system of claim 29 , wherein the data stream processor is configured to remove redundancies by setting a value of a coefficient in the block to the corresponding value in the redundancy model if the value of the coefficient is not smaller that the corresponding value in the redundancy model.

32. The method of claim 11 , wherein removing redundancies further comprises comparing the value in the redundancy model to the corresponding coefficient value in the block.

33. The method of claim 32 , wherein removing redundancies further comprises setting a value of a coefficient in the block to zero if the value of the coefficient is smaller than the corresponding value in the redundancy model.

34. The method of claim 32 , wherein removing redundancies further comprises setting a value of a coefficient in the block to the corresponding value in the redundancy model if the value of the coefficient is not smaller that the corresponding value in the redundancy model.

35. The computer readable medium of claim 22 , wherein the instructions that remove redundancies further comprise instructions that compare the value in the redundancy model to the corresponding coefficient value in the block.

36. The computer readable medium of claim 35 , wherein the instructions that remove redundancies further comprise instructions set a value of a coefficient in the block to zero if the value of the coefficient is smaller than the corresponding value in the redundancy model.

37. The computer readable medium of claim 35 , wherein the instructions that remove redundancies further comprise instructions set a value of a coefficient in the block to the corresponding value in the redundancy model if the value of the coefficient is not smaller that the corresponding value in the redundancy model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2014
From: MENDHEKAR, ANURAG
To: CINOVA MEDIA
Reel/Frame 033387/0944 →
Continuity (2)
Provisional Application 61825487 · May 20, 2013
Related Publication 20140341303A1 · Nov 20, 2014
Cited By (1)
US 12,212,751