IP Library Granted Patent US 12,166,954
Granted Patent B2
US 12,166,954 · App. 18/141,665 · Granted Dec 10, 2024

Stereoscopic graphics processing

Inventor: John W. Howson (St. Albans, GB)
Assignee: Imagination Technologies Limited
H04N13/275G06T1/20G06T1/60H04N13/178H04N2013/0081
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 12,166,954
App. No.
18/141,665
Granted
Dec 10, 2024
Kind
B2
Abstract

Methods and graphics processing modules for rendering a stereoscopic image including left and right images of a three-dimensional scene. Geometry is processed in the scene to generate left data for use in displaying the left image and right data for use in displaying the right image. Disparity is determined between the left and right data by comparing the generated left data and the generated right data used in displaying the stereoscopic image. In response to identifying at least a portion of the left data and the right data as non-disparate, a corresponding portion of the left image and the right image is commonly processed (e.g. commonly rendered or commonly stored). In response to identifying at least a portion of the left data and the right data as disparate, a corresponding portion of the left image and the right image is separately processed (e.g. separately rendered or separately stored).

Claims (44)

1. A method of rendering a stereoscopic image comprising a left image and a right image of a three-dimensional scene in a graphics processing module, the method comprising:

processing geometry in the scene to generate left data for use in displaying the left image and right data for use in displaying the right image;

determining disparity between the left data and the right data based upon a comparison of the generated left data and the generated right data used in displaying the stereoscopic image; and

while rendering each stereoscopic image:

commonly processing a portion of the left image and the right image in response to identifying the corresponding portion of the left data and the right data as non-disparate; and

separately processing another portion of the left image and the right image in response to identifying the corresponding portion of the left data and the right data as disparate.

2. The method according to claim 1 , wherein the left data comprises data for elements of geometry for the left image and the right data comprises data for elements of geometry for the right image.

3. The method according to claim 1 , wherein the left data comprises pixel values for the left image and the right data comprises pixel values for the right image.

4. The method according to claim 1 , wherein the at least a portion of the left data and the at least a portion of the right data relates to a corresponding group of pixels of the left image and the right image.

5. The method according to claim 4 , wherein:

commonly processing a corresponding group of pixels of the left image and the right image comprises rendering pixel values for a single group of pixels for use in displaying the group of pixels in the left image and for use in displaying the corresponding group of pixels in the right image; and

separately processing a corresponding group of pixels of the left image and the right image comprises separately rendering pixel values for the group of pixels in the left image and for the corresponding group of pixels in the right image.

6. The method according to claim 5 , wherein:

commonly processing a corresponding group of pixels of the left image and right image comprises storing pixel values for a single group of pixels for use in displaying the group of pixels in the left image and for use in displaying the corresponding group of pixels in the right image;

separately processing a corresponding group of pixels in the left image and the right image comprises separately storing pixel values for the group of pixels in the left image and storing pixel values for the corresponding group of pixels in the right image.

7. The method according to claim 6 , wherein commonly storing pixel values for a single group of pixels for use in displaying the group of pixels in the left image and for use in displaying the corresponding group of pixels in the right image comprises storing, in memory, the single group of pixels and a flag or reference indicating that the pixel values are for use in displaying the group of pixels in both the left image and the right image.

8. The method according to claim 6 , wherein the group of pixels is stored in a frame buffer memory from which the pixel values for the left and right images are to be retrieved for display.

9. The method according to claim 4 , wherein the graphics processing module is a tile-based graphics processing module, and wherein the group of pixels forms a tile and optionally wherein the left data comprises data for elements of geometry for the left image and the right data comprises data for elements of geometry for the right image, and wherein the method further comprises maintaining in memory a common tile.

10. The method according to claim 1 , further comprising maintaining, for each corresponding pixel position in the left image and the right image, a disparity status that indicates whether there is disparity between the left and right data associated with that pixel position.

11. The method according to claim 10 , wherein the disparity status is maintained as elements of geometry are processed and wherein the disparity status is updated based upon the opacity of the received geometry.

12. The method according to claim 10 , further comprising, in response to determining that a received element of geometry is visible at a pixel position, updating the disparity status of that pixel position to reflect the disparity between corresponding elements of geometry for the left image and the right image.

13. The method according to claim 1 , wherein commonly processing the corresponding portion of the left image and the right image comprises storing a single pixel value for use in a corresponding pixel position in both the left and right images.

14. The method according to claim 1 , wherein separately processing the corresponding portion of the left image and the right image comprises storing separate left and right pixel values for a corresponding pixel position in the left and right images.

15. The method according to claim 10 , wherein maintaining the disparity status comprises maintaining a left buffer, a right buffer, and optionally a common buffer and wherein

commonly processing a corresponding portion of the left image and the right image comprises storing a single pixel value, in the common buffer or one of the left and right buffer, for a corresponding pixel position in both the left and right images; and

separately processing the corresponding portion of the left image and the right image comprises storing separate left and right pixel values, in respective left and right buffers or any one of the left and right buffers, for a corresponding pixel position in the left and right images.

16. A graphics processing module configured to render a stereoscopic image comprising a left image and a right image of a three-dimensional scene, the graphics processing module being implemented in hardware and being configured to:

process geometry in the scene to generate left data for use in displaying the left image and right data for use in displaying the right image;

determine disparity between the left data and the right data based upon a comparison of the generated left data and the generated right data used in displaying the stereoscopic image;

while rendering each stereoscopic image:

commonly process a portion of the left image and the right image in response to identifying the corresponding portion of the left data and the right data as non-disparate; and

separately process another portion of the left image and the right image in response to identifying the corresponding portion of the left data and the right data as disparate.

17. A non-transitory computer readable storage medium having stored thereon computer readable code that when run on at least one processor causes the method of claim 1 to be performed.

18. A non-transitory computer readable storage medium having stored thereon a computer readable dataset description of an integrated circuit that, when processed in an integrated circuit manufacturing system, causes the integrated circuit manufacturing system to manufacture a graphics processing module as claimed in claim 16 .

19. An integrated circuit manufacturing system comprising:

a non-transitory computer readable storage medium having stored thereon a computer readable dataset description of an integrated circuit that describes the graphics processing module as set forth in claim 16 ;

a layout processing system configured to process the integrated circuit dataset description so as to generate a circuit layout description of the graphics processing module as set forth claim 16 ; and

an integrated circuit generation system configured to manufacture the graphics processing module according to the circuit layout description.

20. A graphics processing module configured to render a stereoscopic image comprising a left image and a right image of a three-dimensional scene, the graphics processing module comprising a combination of firmware and processor-executable instructions stored on a non-transitory processor readable storage medium, the combination being configured to:

process geometry in the scene to generate left data for use in displaying the left image and right data for use in displaying the right image;

determine disparity between the left data and the right data based upon a comparison of the generated left data and the generated right data used in displaying the stereoscopic image;

while rendering each stereoscopic image:

commonly process a portion of the left image and the right image in response to identifying the corresponding portion of the left data and the right data as non-disparate; and

separately process another corresponding portion of the left image and the right image in response to identifying the corresponding portion of the left data and the right data as disparate.

Assignments (1)
SECURITY INTEREST Recorded Jul 31, 2024
From: IMAGINATION TECHNOLOGIES LIMITED
To: FORTRESS INVESTMENT GROUP (UK) LTD
Reel/Frame 068221/0001 →
Priority Claims (1)
GB 2004444 · Mar 27, 2020 · national
Continuity (2)
Continuation 17215647 · Mar 29, 2021
Related Publication 20230269357A1 · Aug 24, 2023