IP Library Granted Patent US 8,259,807
Granted Patent B2
US 8,259,807 · App. 12/192,829 · Granted Sep 4, 2012

Fast detection and coding of data blocks

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 8,259,807
App. No.
12/192,829
Granted
Sep 4, 2012
Kind
B2
Abstract

A method of encoding a block of data. A first plurality of data in the block of data is assigned a worth based on a first algorithm. A second plurality of data, which is lower in frequency than the first plurality of data, in the block of data is assigned a worth according to a second algorithm. The block of data is assigned a worth based on the worth of the first plurality of data and the second plurality of data. The worth of the block of data is then compared to a threshold value, and subsequently one or more data values of the block of data are adjusted based on the comparison.

Claims (42)

1. A method of encoding a block of data, the method comprising:

assigning a worth to a first plurality of data in the block of data based, at least in part, on a first algorithm;

assigning a worth to a second plurality of data in the block of data based, at least in part, on a second algorithm, wherein the second plurality of data is lower in frequency than the first plurality of data, and wherein assigning a worth to the second plurality of data comprising assigning a worth to the second plurality of data based, at least in part, on a sum of non-zero data values of the second plurality of data;

assigning a worth to the block of data based, at least in part, on the worth of the first plurality of data and the worth of the second plurality of data;

comparing the worth of the block of data to a threshold value; and

adjusting one or more data values of the block of data based on the comparison.

2. The method of claim 1 wherein assigning a worth to the block of data comprises assigning a worth to the block of data based on a sum of the worth of the first plurality of data and the worth of the second plurality of data.

3. The method of claim 1 wherein assigning a worth to a first plurality of data comprises assigning a worth to the first plurality of data based on a sum of data values of the first plurality of data.

4. The method of claim 3 wherein the sum of data values of the first plurality of data is scaled by an adjustable factor.

5. The method of claim 1 further comprising assigning a worth to each of the non-zero data values based on a number of consecutive data values equal to zero preceding each of the non-zero data values.

6. The method of claim 1 wherein adjusting one or more data values comprises assigning a zero value to each of the one or more data values if the worth of the block of data is less than the threshold value.

7. The method of claim 1 wherein the block of data is a block of pixels.

8. The method of claim 7 wherein the block of pixels is a 4×4 block.

9. A system for encoding data comprising:

means for assigning a worth to a first plurality of data in the block of data based, at least in part, on a first algorithm;

means for assigning a worth to a second plurality of data in the block of data based, at least in part, on a second algorithm, wherein the second plurality of data is lower in frequency than the first plurality of data, and wherein the means for assigning a worth to the second plurality of data comprising a means for assigning a worth to the second plurality of data based, at least in part, on a sum of non-zero data values of the second plurality of data;

means for assigning a worth to the block of data based, at least in part, on the worth of the first plurality of data and the worth of the second plurality of data;

means for comparing the worth of the block of data to a threshold value; and

means for adjusting one or more data values of the block of data based on the comparison.

10. A manufacture comprising a non-transitory computer-readable medium carrying one or more sequences of instructions which, when executed by one or more computing devices, configures the one or more computing devices to:

assign a worth to a first plurality of data in the block of data based, at least in part, on a first algorithm;

assign a worth to a second plurality of data in the block of data based, at least in part, on a second algorithm, wherein the second plurality of data is lower in frequency than the first plurality of data, and wherein the assigned worth of the second plurality of data is based, at least in part, on a sum of non-zero data values of the second plurality of data;

assign a worth to the block of data based, at least in part, on the worth of the first plurality of data and the worth of the second plurality of data;

compare the worth of the block of data to a threshold value; and

adjust one or more data values of the block of data based on the comparison.

11. A method of encoding a block of data, the method comprising:

assigning a worth to a first plurality of data in the block of data based, at least in part, on a first algorithm;

assigning a worth to a second plurality of data in the block of data based, at least in part, on a second algorithm, wherein the second plurality of data is lower in frequency than the first plurality of data, and wherein assigning a worth to the second plurality of data comprising assigning a worth to the second plurality of data based, at least in part, on a sum of non-zero data values of the second plurality of data;

assigning a worth to the block of data based, at least in part, on the worth of the first plurality of data and the worth of the second plurality of data;

comparing the worth of the block of data to a threshold value;

adjusting one or more data values of the block of data based on the comparison; and

assigning a worth to each of the non-zero data values based on a number of consecutive data values equal to zero preceding each of the non-zero data values.

12. The method of claim 11 wherein adjusting one or more data values comprises assigning a zero value to each of the one or more data values if the worth of the block of data is less than the threshold value.

13. The method of claim 11 wherein the block of data is a block of pixels.

14. The method of claim 13 wherein the block of pixels is a 4×4 block.

15. The method of claim 4 wherein the adjustable factor is a scaling factor of 0.5.

16. The method of claim 8 wherein the second plurality of data in the 4×4 block comprises the first six pixels in the 4×4 block.

17. The method of claim 8 wherein the second plurality of data in the 4×4 block comprises the last 10 pixels in the 4×4 block.

18. The method of claim 1 wherein the threshold value is five or six.

19. The system of claim 9 wherein the system comprises a VLIW processor.

20. The manufacture of claim 10 wherein the instructions which, when executed by one or more computing devices, further configures the one or more computing devices to:

assign a worth to each of the non-zero data values based on number of consecutive data values equal to zero preceding each of the non-zero data values.

Assignments (8)
MERGER Recorded Dec 29, 2015
From: CALOS FUND LIMITED LIABILITY COMPANY
To: OL SECURITY LIMITED LIABILITY COMPANY
Reel/Frame 037373/0402 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2011
From: KAPASI, UJVAL J.; GULATI, AMIT; SIEVERS, JOHN; LIU, YIPENG; MILLER, DAN
To: STREAM PROCESSORS, INC.
Reel/Frame 026708/0886 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2011
From: DYNACOLOR, INC.
To: STREAM DEVELOPMENT CORPORATION
Reel/Frame 026704/0387 →
PEACEFUL FORECLOSURE AGREEMENT AND BILL OF FORECLOSURE SALE Recorded Aug 4, 2011
From: STREAM PROCESSORS, INC.
To: DYNACOLOR INC.
Reel/Frame 026704/0721 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2011
From: STREAM DEVELOPMENT CORPORATION
To: THE SKEET PRACTICE, LLC
Reel/Frame 026704/0433 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2011
From: THE SKEET PRACTICE, LLC
To: CALOS FUND LIMITED LIABILITY COMPANY
Reel/Frame 026701/0037 →
RELEASE OF SECURITY INTEREST Recorded May 26, 2011
From: PINNACLE VENTURES, L.L.C.
To: DYNACOLOR, INC.
Reel/Frame 026351/0063 →
SECURITY AGREEMENT Recorded Mar 26, 2009
From: STREAM PROCESSORS, INC.
To: PINNACLE VENTURES, L.L.C., AS AGENT
Reel/Frame 022458/0488 →