IP Library Granted Patent US 7,705,862
Granted Patent B1
US 7,705,862 · App. 11/532,358 · Granted Apr 27, 2010

System and method for improved keystone correction

Assignee: Pixelworks, Inc.
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,705,862
App. No.
11/532,358
Granted
Apr 27, 2010
Kind
B1
Abstract

I describe and claim a system and method for improved keystone correction. The method comprising identifying input values associated with an image projected on the projection surface, the input values including one or more center-points on edges of a distorted projection of the image and including a plurality of corners within the distorted projection of the image, the corners corresponding to an undistorted projection of the image, determining one or more keystone scaling values responsive to the identifying, and predistorting the image responsive to the determining, the predistorted image exhibiting no distortion and aligning with the plurality of corners when projected on the projection surface.

Claims (348)

1. A method comprising:

identifying input values associated with an image projected by a projection system on a projection surface, the input values including a rotation angle of the projection system, one or more center-points located on edges of a distorted image projection, and a plurality of corners within the distorted image projection, the corners corresponding to an undistorted projection of the image;

a keystone driver determining a vertical scaling value VerticalScaler, a vertical increment value VerticalScalingIncrement, a horizontal scaling value HorizontalScaler, and a horizontal increment value HorizontalScalingIncrement based on the input values, wherein the determining comprises applying the following first and second equations:

InputHeight

=

VerticalScaler

+

OutputHeight

(

OutputHeight

-

1

)

2

×

VerticalScalingIncrement

;

and

InputCenter

=

OutputCenter

×

VerticalScaler

+

OutputCenter

(

OutputCenter

-

1

)

2

×

VerticalScalingIncrement

,

wherein InputHeight comprises a height of the distorted image projection, InputCenter comprises a distance to the center of an edge of the distorted image projection, OutputHeight comprises a height of the undistorted projection of the image, and OutputCenter comprises a distance to the center of an edge of the undistorted projection of the image; and

a keystone corrector predistorting the image responsive to the determining and based on the determined vertical scaling value, vertical increment value, horizontal scaling value, and horizontal increment value, the predistorted image exhibiting no distortion and aligning with the plurality of corners when projected on the projection surface.

2. The method of claim 1 where each center-point is located at a mid-point between two adjacent corners of the distorted image projection.

3. The method of claim 1 including

storing one or more sets of the input values to at least one keystone table according to orientation data received from an interface, the orientation data to identify a configuration of a projection device; and

retrieving the sets of the input values responsive to the orientation data.

4. The method of claim 1 where the orientation data indicates at least one of an orientation of the projection device relative to the projection surface, a type of optical lens to be used to project the image, and a position associated with zoom functionality.

5. The method of claim 1 where at least one of the sets of input values includes center-points associated with three edges of a distorted projection of the image and four corners corresponding to the undistorted projection of the image.

6. The method of claim 1 , wherein the determining further comprises applying the following third and fourth equations:

InputLength

=

HorizontalScaler

+

OutputLength

(

OutputLength

-

1

)

2

×

HorizontalScalingIncrement

,

and

InputCenter

=

OutputCenter

×

HorizontalScaler

+

OutputCenter

(

OutputCenter

-

1

)

2

×

HorizontalScalingIncrement

,

wherein InputLength comprises a length of the distorted image projection and OutputLength comprises a length of the undistorted projection of the image.

7. The method of claim 6 including vertically scaling the image according to the vertical scaling value VerticalScaler and the vertical increment value VerticalScalingIncrement.

8. The method of claim 7 including horizontally scaling the vertically scaled image according to the horizontal scaling value HorizontalScaler and the horizontal increment value HorizontalScalingIncrement.

9. A device comprising:

an interface to ascertain input values associated with an image projected on the projection surface, the input values including one or more center-points on edges of a distorted projection of the image and including a plurality of corners within the distorted projection of the image, the corners corresponding to an undistorted projection of the image;

a keystone driver to determine one or more keystone scaling values responsive to the input values, where the keystone driver is adapted to calculate a vertical scaling value VerticalScaler, a vertical increment value VerticalScalingIncrement, a horizontal scaling value HorizontalScaler, and a horizontal increment value HorizontalScalingIncrement responsive to the corners and the center-points using the following first and second equations:

InputHeight

=

VerticalScaler

+

OutputHeight

(

OutputHeight

-

1

)

2

×

VerticalScalingIncrement

;

and

InputCenter

=

OutputCenter

×

VerticalScaler

+

OutputCenter

(

OutputCenter

-

1

)

2

×

VerticalScalingIncrement

,

wherein InputHeight comprises a height of the distorted image projection, InputCenter comprises a distance to the center of an edge of the distorted image projection, OutputHeight comprises a height of the undistorted projection of the image, and OutputCenter comprises a distance to the center of an edge of the undistorted projection of the image; and

a keystone corrector to predistort the image responsive to the keystone scaling values, the predistorted image exhibiting no distortion and aligning with the plurality of corners when projected on the projection surface, wherein the keystone corrector comprises:

a vertical scaler to vertically scale the image according to the vertical scaling values; and

a horizontal scaler to horizontally scale the vertically scaled image according to the horizontal scaling values.

10. The device of claim 9 where each center-point is located at a mid-point between two adjacent corners of the distorted projection of the image.

11. The device of claim 9 includes one or more keystone tables to store at least one set of the input values, where the keystone driver stores and retrieves the input values according to orientation data received from the interface, the orientation data to identify a configuration of a projection device.

12. The device of claim 11 where the orientation data indicates at least one of an orientation of the projection device relative to the projection surface, a type of optical lens to be used to project the image, and a position associated with zoom functionality.

13. The device of claim 9

where the keystone driver is adapted to interpolate the keystone scaling values; and

where keystone corrector is adapted to predistort the image responsive to the interpolated keystone scaling values.

14. The device of claim 9 , wherein the keystone driver is further adapted to calculate VerticalScaler, VerticalScalingIncrement, HorizontalScaler, and HorizontalScalingIncrement using the following third and fourth equations:

InputLength

=

HorizontalScaler

+

OutputLength

(

OutputLength

-

1

)

2

×

HorizontalScalingIncrement

,

and

InputCenter

=

OutputCenter

×

HorizontalScaler

+

OutputCenter

(

OutputCenter

-

1

)

2

×

HorizontalScalingIncrement

,

wherein InputLength comprises a length of the distorted image projection and OutputLength comprises a length of the undistorted projection of the image.

15. An apparatus including a computer-readable medium containing instructions, when executed by a processor or multiple communicating processors, perform a method comprising:

identifying input values associated with an image projected on a projection surface, the input values including one or more center-points on edges of a distorted projection of the image and including a plurality of corners within the distorted projection of the image, the corners corresponding to an undistorted projection of the image;

determining a vertical scaling value VerticalScaler, a vertical increment value VerticalScalingIncrement, a horizontal scaling value HorizontalScaler, and a horizontal increment value HorizontalScalingIncrement based on the input values, wherein the determining comprises applying the following first and second equations:

InputHeight

=

VerticalScaler

+

OutputHeight

(

OutputHeight

-

1

)

2

×

VerticalScalingIncrement

;

and

InputCenter

=

OutputCenter

×

VerticalScaler

+

OutputCenter

(

OutputCenter

-

1

)

2

×

VerticalScalingIncrement

,

wherein InputHeight comprises a height of the distorted image projection, InputCenter comprises a distance to the center of an edge of the distorted image projection, OutputHeight comprises a height of the undistorted projection of the image, and OutputCenter comprises a distance to the center of an edge of the undistorted projection of the image; and

predistorting the image responsive to the determining and based on the determined vertical scaling value, vertical increment value, horizontal scaling value, and horizontal increment value, the predistorted image exhibiting no distortion and aligning with the plurality of corners when projected on the projection surface.

16. The apparatus of claim 15 where each center-point is located at a mid-point between two adjacent corners of the distorted projection of the image.

17. The apparatus of claim 15 including

calculating vertical scaling values responsive to the corners and the center-points; and

vertically scaling the image according to the vertical scaling values.

18. The apparatus of claim 17 including

calculating horizontal scaling values responsive to the corners and the center-points; and

horizontally scaling the vertically scaled image according to the horizontal scaling values.

19. The apparatus of claim 15 including

storing one or more sets of the input values to at least one keystone table according to orientation data received from an interface, the orientation data to identify a configuration of a projection device; and

retrieving the sets of the input values responsive to the orientation data.

20. The apparatus of claim 15 where the orientation data indicates at least one of an orientation of the projection device relative to the projection surface, a type of optical lens to be used to project the image, and a position associated with zoom functionality.

21. The apparatus of claim 15 where at least one of the sets of input values includes center-points associated with three edges of a distorted projection of the image and four corners corresponding to the undistorted projection of the image.

22. The apparatus of claim 15 , wherein the determining further comprises applying the following third and fourth equations:

InputLength

=

HorizontalScaler

+

OutputLength

(

OutputLength

-

1

)

2

×

HorizontalScalingIncrement

,

and

InputCenter

=

OutputCenter

×

HorizontalScaler

+

OutputCenter

(

OutputCenter

-

1

)

2

×

HorizontalScalingIncrement

,

wherein InputLength comprises a length of the distorted image projection and OutputLength comprises a length of the undistorted projection of the image.

23. A device comprising:

means for identifying input values associated with an image projected on a projection surface, the input values including one or more center-points on edges of a distorted projection of the image and including a plurality of corners within the distorted projection of the image, the corners corresponding to an undistorted projection of the image;

means for determining vertical scaling value VerticalScaler, a vertical increment value VerticalScalingIncrement, a horizontal scaling value HorizontalScaler, and a horizontal increment value HorizontalScalingIncrement based on the input values, wherein the means for determining comprises applying the following first and second equations:

InputHeight

=

VerticalScaler

+

OutputHeight

(

OutputHeight

-

1

)

2

×

VerticalScalingIncrement

;

and

InputCenter

=

OutputCenter

×

VerticalScaler

+

OutputCenter

(

OutputCenter

-

1

)

2

×

VerticalScalingIncrement

,

wherein InputHeight comprises a height of the distorted image projection, InputCenter comprises a distance to the center of an edge of the distorted image projection, OutputHeight comprises a height of the undistorted projection of the image, and OutputCenter comprises a distance to the center of an edge of the undistorted projection of the image; and

means for predistorting the image responsive to the determining and based on the determined vertical scaling value, vertical increment value, horizontal scaling value, and horizontal increment value, the predistorted image exhibiting no distortion and aligning with the plurality of corners when projected on the projection surface.

24. The method of claim 23 where each center-point is located at a mid-point between two adjacent corners of the distorted projection of the image.

25. The method of claim 23 including

means for calculating vertical scaling values responsive to the corners and the center-points; and

means for vertically scaling the image according to the vertical scaling values.

26. The method of claim 25 including

means for calculating horizontal scaling values responsive to the corners and the center-points; and

means for horizontally scaling the vertically scaled image according to the horizontal scaling values.

27. The method of claim 23 including

means for storing one or more sets of the input values to at least one keystone table according to orientation data received from an interface, the orientation data to identify a configuration of a projection device; and

means for retrieving the sets of the input values responsive to the orientation data.

28. The method of claim 23 where the orientation data indicates at least one of an orientation of the projection device relative to the projection surface, a type of optical lens to be used to project the image, and a position associated with zoom functionality.

29. The method of claim 23 where at least one of the sets of input values includes center-points associated with three edges of a distorted projection of the image and four corners corresponding to the undistorted projection of the image.

30. The device of claim 23 , wherein the means for determining further comprises applying the following third and fourth equations:

InputLength

=

HorizontalScaler

+

OutputLength

(

OutputLength

-

1

)

2

×

HorizontalScalingIncrement

,

and

InputCenter

=

OutputCenter

×

HorizontalScaler

+

OutputCenter

(

OutputCenter

-

1

)

2

×

HorizontalScalingIncrement

,

wherein InputLength comprises a length of the distorted image projection and OutputLength comprises a length of the undistorted projection of the image.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2021
From: PIXELWORKS SEMICONDUCTOR TECHNOLOGY COMPANY, LLC
To: PIXELWORKS SEMICONDUCTOR TECHNOLOGY (SHANGHAI) CO., LTD.
Reel/Frame 056895/0695 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2021
From: PIXELWORKS, INC.
To: PIXELWORKS SEMICONDUCTOR TECHNOLOGY COMPANY, LLC
Reel/Frame 055846/0129 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2006
From: TENG, TIANBING BRIAN
To: PIXELWORKS, INC.
Reel/Frame 018262/0633 →
Continuity (2)
Continuation In Part 1075383300 · Jan 5, 2004
Continuation In Part 1072300200 · Nov 26, 2003