# US 2014/0192053 A1 · Stereoscopic conversion with viewing orientation for shader based graphics content

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0192053 A1
- Document ID: US20140192053A1
- Status: Published application
- Kind: A1
- Application number: 13/738,514
- Filed: 2013-01-10
- Published: 2014-07-10
- Earliest claimed: 2013-01-10
- Assignees: QUALCOMM Incorporated
- Applicants: Qualcomm Incorporated
- Inventors: Ning Bi; Xuerui Zhang
- Web page: https://patentgrep.com/patent/US20140192053A1

## CPC

- H04N 13/279: the virtual viewpoint locations being selected by the viewers or determined by tracking
- G06T 15/005: {General purpose rendering architectures}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

The example techniques of this disclosure are directed to generating a stereoscopic view from an application designed to generate a mono view. For example, the techniques may modify instructions for a vertex shader based on a viewing angle. When the modified vertex shader is executed, the modified vertex shader may generate coordinates for vertices for a stereoscopic view based on the viewing angle.

## Claims

### Claim 1

A method for graphics processing, the method comprising:
determining, with a processor, a viewing angle relative to a display;
receiving, with the processor, instructions for a vertex shader that is configured to operate on an image of a mono view;
modifying, with the processor, the instructions for the vertex shader to include one or more instructions based on the viewing angle to generate a modified vertex shader, wherein the modified vertex shader, when executed, generates vertex coordinates for vertices of a stereoscopic view;
instructing, with the processor, a graphics processing unit (GPU) to execute the modified vertex shader.

### Claim 2 (depends on 1)

The method of claim 1, wherein instructing the GPU comprises:
instructing the GPU to execute a first instance of object code of the modified vertex shader to generate a first image of the stereoscopic view based on the viewing angle; and
instructing the GPU to execute a second instance of the object code of the modified vertex shader to generate a second image of the stereoscopic view based on the viewing angle.

### Claim 3 (depends on 1)

The method of claim 1, wherein modifying the instructions comprises:
adding a first instruction into the vertex shader that modifies a first clipping coordinate of a vertex of the image of the mono view based on the viewing angle; and
adding a second instruction into the vertex shader that modifies a second clipping coordinate of the vertex of the image of the mono view based on the viewing angle.

### Claim 4 (depends on 1)

The method of claim 1, wherein modifying the instructions comprises:
adding a first instruction in the vertex shader that modifies a first clipping coordinate of a vertex of the image of the mono view based on the viewing angle and a location of a zero disparity plane; and
adding a second instruction into the vertex shader that modifies a second clipping coordinate of the vertex of the image of the mono view based on the viewing angle and the location of the zero disparity plane.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
modifying an instruction that defines a viewport of the image of the mono view to an instruction that defines a viewport for a first image of the stereoscopic view and to an instruction that defines a viewport for a second image of the stereoscopic view.

### Claim 6 (depends on 5)

The method of claim 5, wherein modifying the instruction that defines the viewport of the image of the mono view comprises adjusting a horizontal disparity between the first image of the stereoscopic view and the second image of the stereoscopic view.

### Claim 7 (depends on 6)

The method of claim 6, wherein adjusting the horizontal disparity comprises adjusting the horizontal disparity between the first image of the stereoscopic view and the second image of the stereoscopic view to adjust a location of a zero disparity plane.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
executing an application, with the processor, to generate the image of the mono view,
wherein modifying the instructions for the vertex shader comprises modifying the instructions for the vertex shader during the execution of the application.

### Claim 9 (depends on 1)

The method of claim 1, wherein determining the viewing angle comprises determining the viewing angle once per generation of the stereoscopic view.

### Claim 10 (depends on 1)

The method of claim 1, wherein determining the viewing angle relative to the display comprises:
determining at least one of a viewer orientation and a display orientation; and
determining the viewing angle based on at least one of the determined viewer orientation and the determined display orientation.

### Claim 11 (depends on 1)

The method of claim 1,
wherein receiving instructions comprises receiving, with a graphics driver wrapper executing on the processor, the instructions for the vertex shader, and
wherein modifying the instructions comprises modifying, with the graphics driver wrapper execution on the processor, the instructions of the vertex shader.

### Claim 12

An apparatus comprising:
a graphics processing unit (GPU); and
a processor configured to:
determine a viewing angle relative to a display;
modify instructions of a vertex shader to include one or more instructions based on the viewing angle to generate a modified vertex shader, wherein the modified vertex shader, when executed, generates vertex coordinates for vertices of a stereoscopic view; and
instruct the GPU to execute the modified vertex shader.

### Claim 13 (depends on 12)

The apparatus of claim 12, wherein, to instruct the GPU to execute the modified vertex shader, the processor is configured to:
instruct the GPU to execute a first instance of object code of the modified vertex shader to generate a first image of the stereoscopic view based on the viewing angle; and
instruct the GPU to execute a second instance of the object code of the modified vertex shader to generate a second image of the stereoscopic view based on the viewing angle.

### Claim 14 (depends on 12)

The apparatus of claim 12, wherein, to modify the instructions, the processor is configured to:
add a first instruction into the vertex shader that modifies a first clipping coordinate of a vertex of an image of a mono view based on the viewing angle; and
add a second instruction into the vertex shader that modifies a second clipping coordinate of the vertex of the image of the mono view based on the viewing angle.

### Claim 15 (depends on 12)

The apparatus of claim 12, wherein, to modify the instructions, the processor is configured to:
add a first instruction in the vertex shader that modifies a first clipping coordinate of a vertex of an image of a mono view based on the viewing angle and a location of a zero disparity plane; and
add a second instruction into the vertex shader that modifies a second clipping coordinate of the vertex of the image of the mono view based on the viewing angle and the location of the zero disparity plane.

### Claim 16 (depends on 12)

The apparatus of claim 12, wherein the processor is configured to:
modify an instruction that defines a viewport of an image of a mono view to an instruction that defines a viewport for a first image of the stereoscopic view and to an instruction that defines a viewport for a second image of the stereoscopic view.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein, to modify the instruction that defines the viewport of the image of the mono view, the processor is configured to adjust a horizontal disparity between the first image of the stereoscopic view and the second image of the stereoscopic view.

### Claim 18 (depends on 17)

The apparatus of claim 17, wherein, to adjust the horizontal disparity, the processor is configured to:
adjust the horizontal disparity between the first image of the stereoscopic view and the second image of the stereoscopic view to adjust a location of a zero disparity plane.

### Claim 19 (depends on 12)

The apparatus of claim 12, wherein the processor is configured to execute an application to generate an image of a mono view, and modify the instruction of the vertex shader during the execution of the application.

### Claim 20 (depends on 12)

The apparatus of claim 12, wherein, to determine the viewing angle, the processor is configured to determine the viewing angle once per generation of the stereoscopic view.

### Claim 21 (depends on 12)

The apparatus of claim 12, wherein, to determine the viewing angle, the processor is configured to:
determine at least one of a viewer orientation and a display orientation; and
determine the viewing angle based on at least one of the determined viewer orientation and the determined display orientation.

### Claim 22 (depends on 12)

The apparatus of claim 12, wherein the processor is configured to execute a graphics driver wrapper, and wherein the processor is configured to modify the instructions of the vertex shader via the graphics driver wrapper.

### Claim 23 (depends on 12)

The apparatus of claim 12, wherein the apparatus comprises one of a mobile wireless telephone, a personal digital assistant, a video gaming console, a mobile video conferencing unit, a laptop computer, a desktop computer, a digital media player, and a tablet computing device.

### Claim 24 (depends on 12)

The apparatus of claim 12, further comprising:
at least one of an accelerometer, a gyroscope, and a camera,
wherein the processor is configured to determine the viewing angle relative to the display based on outputs from one or more of the accelerometer, the gyroscope, and the camera.

### Claim 25

A processor configured to determine a viewing angle relative to a display, receive instructions for a vertex shader that is configured to operate on an image of a mono view, modify the instructions for the vertex shader to include one or more instructions based on the viewing angle to generate a modified vertex shader, wherein the modified vertex shader, when executed, generates vertex coordinates for vertices of a stereoscopic view, and instruct a graphics processing unit (GPU) to execute the modified vertex shader.

### Claim 26

An apparatus comprising:
a graphics processing unit (GPU);
means for determining a viewing angle relative to a display;
means for receiving instructions for a vertex shader that is configured to operate on an image of a mono view;
means for modifying the instructions for the vertex shader to include one or more instructions based on the viewing angle to generate a modified vertex shader, wherein the modified vertex shader, when executed, generates vertex coordinates for vertices of a stereoscopic view; and
means for instructing the GPU to execute the modified vertex shader.

### Claim 27 (depends on 26)

The apparatus of claim 26, further comprising a processor, wherein the processor includes the means for determining, the means for receiving, the means for modifying, and the means for instructing.

### Claim 28 (depends on 26)

The apparatus of claim 26, wherein the means for instructing comprises:
first means for instructing the GPU to execute a first instance of object code of the modified vertex shader to generate a first image of the stereoscopic view based on the viewing angle; and
second means for instructing the GPU to execute a second instance of the object code of the modified vertex shader to generate a second image of the stereoscopic view based on the viewing angle.

### Claim 29 (depends on 26)

The apparatus of claim 26, wherein the means for modifying comprises:
first means for adding a first instruction into the vertex shader that modifies a first clipping coordinate of a vertex of the image of the mono view based on the viewing angle; and
second means for adding a second instruction into the vertex shader that modifies a second clipping coordinate of the vertex of the image of the mono view based on the viewing angle.

### Claim 30 (depends on 26)

The apparatus of claim 26, wherein the means for modifying comprises:
first means for adding a first instruction in the vertex shader that modifies a first clipping coordinate of a vertex of the image of the mono view based on the viewing angle and a location of a zero disparity plane; and
second means for adding a second instruction into the vertex shader that modifies a second clipping coordinate of the vertex of the image of the mono view based on the viewing angle and the location of the zero disparity plane.

### Claim 31 (depends on 26)

The apparatus of claim 26, further comprising:
means for modifying an instruction that defines a viewport of the image of the mono view to an instruction that defines a viewport for a first image of the stereoscopic view and to an instruction that defines a viewport for a second image of the stereoscopic view.

### Claim 32 (depends on 31)

The apparatus of claim 31, wherein the means for modifying the instruction that defines the viewport of the image of the mono view comprises means for adjusting a horizontal disparity between the first image of the stereoscopic view and the second image of the stereoscopic view.

### Claim 33 (depends on 32)

The apparatus of claim 32, wherein the means for adjusting the horizontal disparity comprises means for adjusting the horizontal disparity between the first image of the stereoscopic view and the second image of the stereoscopic view to adjust a location of a zero disparity plane.

### Claim 34 (depends on 26)

The apparatus of claim 26, further comprising:
means for executing an application to generate the image of the mono view,
wherein the means for modifying the instructions for the vertex shader comprises means for modifying the instructions for the vertex shader during the execution of the application.

### Claim 35 (depends on 26)

The apparatus of claim 26, wherein the means for determining the viewing angle comprises means for determining the viewing angle once per generation of the stereoscopic view.

### Claim 36 (depends on 26)

The apparatus of claim 26, wherein the means for determining the viewing angle relative to the display comprises:
first means for determining at least one of a viewer orientation and a display orientation; and
second means for determining the viewing angle based on at least one of the determined viewer orientation and the determined display orientation.

### Claim 37

A computer-readable storage medium having instructions stored thereon that, when executed, cause one or more processors to:
determine a viewing angle relative to a display;
receive instructions for a vertex shader that is configured to operate on an image of a mono view;
modify the instructions for the vertex shader to include one or more instructions based on the viewing angle to generate a modified vertex shader, wherein the modified vertex shader, when executed, generates vertex coordinates for vertices of a stereoscopic view; and
instruct a graphics processing unit (GPU) to execute the modified vertex shader.
