# US 10,769,753 B2 · Graphics processor that performs warping, rendering system having the graphics processor, and method of operating the graphics processor

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

- Number: US 10,769,753 B2
- Document ID: US10769753B2
- Status: Granted
- Kind: B2
- Application number: 16/028,535
- Filed: 2018-07-06
- Published: 2019-06-27
- Granted: 2020-09-08
- Earliest claimed: 2017-12-22
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: Samsung Electronics Co., Ltd.
- Inventors: Seung-hun Jin
- Web page: https://patentgrep.com/patent/US10769753B2

## CPC

- G06T 3/18: Image warping, e.g. rearranging pixels individually
- G06T 1/20: Processor architectures; Processor configuration, e.g. pipelining
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Provided are a graphics processor that performs warping, a rendering system including the graphics process, and a method of operating the graphics processor. The graphics processor may include an internal command generator and a graphics computing device. The internal command generator may be configured to receive timing information and generate, based on the timing information, a warping command for periodically performing warping. The graphic computing device may be configured to, in response to the warping command, periodically perform the warping, without a context switch by a host, by using sensing information provided from an external source and frame data that have already been rendered.

## Claims

### Claim 1

A graphics processor comprising:
an internal command generator configured to:
receive, without an intervention from a host, timing information having a certain period, and
generate, based on the timing information, a warping command for periodically performing warping; and
a graphics computing device configured to, by using at least one piece of hardware:
in response to the warping command from the internal command generator, periodically perform the warping according to the certain period, without a context switch from rendering to the warping by the host, by using sensing information provided from an external source and frame data that have already been rendered,
wherein the warping is performed without requiring the host to execute a program to perform the context switch from the rendering to the warping.

### Claim 2 (depends on 1)

The graphics processor of claim 1, further comprising an interrupt controller configured to control an interrupt operation such that the graphics computing device interrupts a rendering process that is currently being performed and performs the warping, based on the timing information.

### Claim 3 (depends on 1)

The graphics processor of claim 1, wherein the sensing information and the timing information are directly provided to the graphics computing device, rather than via the host.

### Claim 4 (depends on 3)

The graphics processor of claim 3, wherein the sensing information comprises head position information of a user generated by a sensor included in a virtual reality (VR) device coupled with the graphics processor.

### Claim 5 (depends on 1)

The graphics processor of claim 1, further comprising an internal timer configured to generate the timing information that represents a timing of when the warping is to be performed,
wherein the internal command generator is further configured to receive the timing information from the internal timer.

### Claim 6 (depends on 1)

The graphics processor of claim 1, further comprising a register configured to store the sensing information, wherein the sensing information is updated periodically in the register,
wherein the sensing information is read from the register and provided to the graphics computing device.

### Claim 7 (depends on 1)

The graphics processor of claim 1, wherein the graphics computing device comprises a plurality of processing cores including a first processing core and a second processing core,
wherein general rendering according to a command from the host is performed by the first processing core, and the warping according to the warping command is performed by the second processing core, and
wherein the general rendering by the first processing core and the warping by the second processing core are performed in parallel.

### Claim 8 (depends on 1)

The graphics processor of claim 1, wherein the graphics computing device is further configured to perform the warping by further using a shader program that is provided by the host when the graphics processor initially operates.

### Claim 9 (depends on 1)

The graphics processor of claim 1, wherein the graphics computing device comprises a memory controller for controlling an external memory, and the memory controller comprises an operation processor, and
wherein the warping is performed by the operation processor within the memory controller.

### Claim 10 (depends on 1)

The graphics processor of claim 1, wherein the graphics computing device is further configured to:
receive, from the host, indicator information indicating whether a frame to be rendered is to be warped, and
notifying the host that the warping has been completed.

### Claim 11

A rendering system comprising:
a timer configured to generate, without an intervention from a host, cycle information representing a warping timing according to a certain period;
a graphics processor configured to perform rendering in response to a command from ft the host to generate rendered frame data; and
a memory comprising a memory region that stores the rendered frame data, and a processor configured to, based on the cycle information, periodically perform warping according to the certain period, without a context switch from rendering to the warping by the host, by using the rendered frame data and sensing information provided from an external source, and store a warped image in the memory region,
wherein the warping is performed without requiring the host to execute a program to perform the context switch from the rendering to the warping.

### Claim 12 (depends on 11)

The rendering system of claim 11, wherein the cycle information and the sensing information are directly provided to the memory, rather than via the host included in the rendering system.

### Claim 13 (depends on 11)

The rendering system of claim 11, wherein the memory further comprises an information storage region that stores at least one piece of information associated with the warping, and
wherein the sensing information provided from the external source is periodically updated in the information storage region, and the sensing information read from the information storage region is provided to the processor.

### Claim 14 (depends on 11)

The rendering system of claim 11, wherein the rendering by the graphics processor and the warping by the processor are performed in parallel.

### Claim 15 (depends on 11)

The rendering system of claim 11, wherein the graphics processor is further configured to provide, to the memory, an indicator indicating a frame that is to be warped from among rendered frames, and
wherein the memory is further configured to perform the warping by using the rendered frame data that is indicated by the indicator, and notifying the host that the warping has been completed.

### Claim 16

A method of operating a graphics processor, the method comprising:
generating rendered frame data in response to a command from a host;
determining a warping timing according to a certain period, based on timing information received without an intervention of the host;
periodically performing warping according to the certain period, without a context switch from rendering to the warping by the host, based on the rendered frame data and sensing information received independent of the host; and
notifying the host that the warping has been completed,
wherein the warping is performed without requiring the host to execute a program to perform the context switch from the rendering to the warping.

### Claim 17 (depends on 16)

The method of claim 16, further comprising receiving, from the host, indicator information indicating a frame that is to be warped,
wherein the performing the warping comprises warping frame data indicated by the indicator information from among at least one frame data stored in an external memory.

### Claim 18 (depends on 16)

The method of claim 16, further comprising receiving, from the host, a shader program for the warping,
wherein the warping is performed by using the shader program.

### Claim 19 (depends on 16)

The method of claim 16, further comprising performing an interrupt control to interrupt rendering currently being performed and perform the warping, based on the timing information.

### Claim 20 (depends on 16)

The method of claim 16, wherein the graphics processor comprises at least one processing core and a memory controller for communicating with an external memory,
wherein the rendering is performed by the at least one processing core, and the warping is performed by an operation processor included in the memory controller, and
the rendering and the warping are performed in parallel.
