IP Library Granted Patent US 7,409,100
Granted Patent B1
US 7,409,100 · App. 11/194,967 · Granted Aug 5, 2008

Methods and apparatus for improving quality of block-transform coded images

Assignee: Pegasus Imaging Corporation
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 7,409,100
App. No.
11/194,967
Granted
Aug 5, 2008
Kind
B1
Abstract

Block-based image processing methods and apparatus that provide a reduction in block-transform image coding artifacts are described. In various embodiments, the invention is directly incorporated into a decoding process. In such embodiments, transform coefficients are modified in simple but particularly effective ways that reduce or eliminate many of the artifacts that were caused by the quantization of the transform coefficients during encoding and/or by independent block processing during encoding. In other embodiments, the invention is used on an image that has already been decoded. In such embodiments image data values are directly modified in a block-based fashion or a forward block transform is applied and then the methods of the invention for processing transform coefficient blocks are used, followed by an inverse transform operation to generate pixel values from the resulting processed transform coefficient blocks.

Claims (31)

1. A method of processing transform coefficient blocks of size N 1 ×N 2 , each transform coefficient block representing a different image block said transform coefficient blocks being previously generated using a first forward transform of a first type, the method comprising the steps of:

computing for each block of coefficient values, an inverse transform of size (N 1 +a)×(N 2 +b) to generate a block of data values of size (N 1 +a)×(N 2 +b), where a and b are nonnegative values; and

modifying edge values of each computed (N 1 +a)×(N 2 +b) block of data values as a function of the data values of a neighboring block; and performing for each (N 1 +a)×(N 2 +b) modified block of data values a second forward transform to generate a block of (N 1 +a)×(N 2 +b) transform coefficients.

2. The method of claim 1 , further comprising:

converting each generated (N 1 +a)×(N 2 +b) transform coefficient block into an N 1 ×N 2 block of transform coefficients.

3. The method of claim 2 , wherein a and b are the same value.

4. The method of claim 3 , wherein a and b are 1.

5. The method of claim 2 , wherein computing an inverse transform of size (N 1 +a)×(N 2 +b) includes using the value zero for missing transform coefficient values.

6. The method of claim 2 , wherein the inverse transform is a transform of a second type, said second type being different from said first type.

7. The method of claim 6 , wherein the first type is a DCT-2 and the second type is a DCT-1.

8. The method of claim 6 , wherein the second forward transform is of the second type.

9. The method of claim 8 , wherein the N 1 ×N 2 block of transform coefficients produced by said converting step is a block of transform coefficients suitable for processing by an inverse transform of the first type.

10. The method of claim 2 , wherein the inverse transform is a transform of the first type.

11. The method of claim 10 , wherein the first type is a DCT-2.

12. The method of claim 10 , wherein the second forward transform is of the first type.

13. The method of claim 2 , wherein the step of converting includes extracting N 1 ×N 2 coefficients from the (N 1 +a)×(N 2 +b) coefficients in each generated transform coefficient block.

14. The method of claim 2 , wherein said modifying edge values of each computed (N 1 +a)×(N 2 +b) block includes:

averaging each of said edge values with an edge value of at least one neighboring block.

15. The method of claim 2 , further comprising:

confining at least one modified transform coefficient in said N 1 ×N 2 block of transform coefficients generated by performing said converting to a quantization interval corresponding to a coefficient in said first transform coefficient block from which said at least one modified transform coefficient was produced.

16. A machine-readable medium comprising a set of computer executable instructions for controlling a processor to perform the steps recited in claim 1 .

17. The method of claim 1 , wherein said transform coefficient blocks of size N 1 ×N 2 which are processed by the method are generated prior to said processing by performing a forward transform on each of a plurality of image blocks of a decoded image.

18. An apparatus for processing transform coefficient blocks of size N 1 ×N 2 , each transform coefficient block representing a different image block said transform coefficient blocks being previously generated using a first forward transform of a first type, the method comprising the steps of:

means for computing for each block of coefficient values, an inverse transform of size (N 1 +a)×(N 2 +b) to generate a block of data values of size (N 1 +a)×(N 2 +b), where a and b are nonnegative values;

means for modifying edge values of each computed (N 1 +a)×(N 2 +b) block of data values as a function of the data values of a neighboring block; and

means for performing for each (N 1 +a)×(N 2 +b) modified block of data values a second forward transform to generate a block of (N 1 +a)×(N 2 +b) transform coefficients.

19. The apparatus of claim 18 , further comprising:

means for converting each generated (N 1 +a)×(N 2 +b) transform coefficient block into an N 1 ×N 2 block of transform coefficients.

20. The apparatus of claim 19 , wherein a and b are 1.

21. The apparatus of claim 18 , wherein said means for computing an inverse transform of size (N 1 +a)×(N 2 +b) includes means for using the value zero for missing transform coefficient values.

22. The apparatus of claim 18 , wherein the inverse transform is a transform of a second type, said second type being different from said first type, the first type being a DCT-2 transform type and the second type being a DCT-1 transform type.

Assignments (3)
CHANGE OF NAME Recorded Jan 18, 2012
From: PEGASUS IMAGING CORPORATION
To: ACCUSOFT CORPORATION
Reel/Frame 027551/0235 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2005
From: MARTUCCI, STEPHEN A.
To: PEGASUS IMAGING CORPORATION
Reel/Frame 016856/0963 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2005
From: ELTON, JOHN H.
To: PEGASUS IMAGING CORPORATION
Reel/Frame 016856/0985 →
Continuity (1)
Division 1024799900 · Sep 20, 2002