Patents by Inventor Guofang Jiao

Guofang Jiao has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20120017069
    Abstract: Techniques are described for reordering commands to improve the speed at which at least one command stream may execute. Prior to distributing commands in the at least one command stream to multiple pipelines, a multimedia processor analyzes any inter-pipeline dependencies and determines the current execution state of the pipelines. The processor may, based on this information, reorder the at least one command stream by prioritizing commands that lack any current dependencies and therefore may be executed immediately by the appropriate pipeline. Such out of order execution of commands in the at least one command stream may increase the throughput of the multimedia processor by increasing the rate at which the command stream is executed.
    Type: Application
    Filed: July 16, 2010
    Publication date: January 19, 2012
    Applicant: QUALCOMM Incorporated
    Inventors: Alexei V. Bourd, Guofang Jiao
  • Patent number: 8035650
    Abstract: Caching techniques for storing instructions, constant values, and other types of data for multiple software programs are described. A cache provides storage for multiple programs and is partitioned into multiple tiles. Each tile is assignable to one program. Each program may be assigned any number of tiles based on the program's cache usage, the available tiles, and/or other factors. A cache controller identifies the tiles assigned to the programs and generates cache addresses for accessing the cache. The cache may be partitioned into physical tiles. The cache controller may assign logical tiles to the programs and may map the logical tiles to the physical tiles within the cache. The use of logical and physical tiles may simplify assignment and management of the tiles.
    Type: Grant
    Filed: July 25, 2006
    Date of Patent: October 11, 2011
    Assignee: QUALCOMM Incorporated
    Inventors: Yun Du, Guofang Jiao, Chun Yu, De Dzwo Hsu
  • Patent number: 8022958
    Abstract: This disclosure describes techniques of loading batch commands into a graphics processing unit (GPU). As described herein, a GPU driver for the GPU identifies one or more graphics processing objects to be used by the GPU in order to render a batch of graphics primitives. The GPU driver may insert indexes associated with the identified graphics processing objects into a batch command. The GPU driver may then issue the batch command to the GPU. The GPU may use the indexes in the batch command to retrieve the graphics processing objects from memory. After retrieving the graphics processing objects from memory, the GPU may use the graphics processing objects to render the batch of graphics primitives.
    Type: Grant
    Filed: April 4, 2007
    Date of Patent: September 20, 2011
    Assignee: QUALCOMM Incorporated
    Inventors: Guofang Jiao, Lingjun Chen, Yun Du
  • Patent number: 8009172
    Abstract: This disclosure describes a graphics processing unit (GPU) pipeline that uses one or more shared arithmetic logic units (ALUs). In order to facilitate such sharing of ALUs, the stages of the disclosed GPU pipeline may be rearranged relative to conventional GPU pipelines. In addition, by rearranging the stages of the GPU pipeline, efficiencies may be achieved in the image processing. Unlike conventional GPU pipelines, for example, an attribute gradient setup stage can be located much later in the pipeline, and the attribute interpolator stage may immediately follow the attribute gradient setup stage. This allows sharing of an ALU by the attribute gradient setup and attribute interpolator stages. Several other techniques and features for the GPU pipeline are also described, which may improve performance and possibly achieve additional processing efficiencies.
    Type: Grant
    Filed: October 17, 2006
    Date of Patent: August 30, 2011
    Assignee: QUALCOMM Incorporated
    Inventors: Guofang Jiao, Brian Ruttenberg, Chun Yu, Yun Du
  • Patent number: 7973797
    Abstract: Techniques for implementing blending equations for various blending modes with a base set of operations are described. Each blending equation may be decomposed into a sequence of operations. In one design, a device includes a processing unit that implements a set of operations for multiple blending modes and a storage unit that stores operands and results. The processing unit receives a sequence of instructions for a sequence of operations for a blending mode selected from the plurality of blending modes and executes each instruction in the sequence to perform blending in accordance with the selected blending mode. The processing unit may include (a) an ALU that performs at least one operation in the base set, e.g., a dot product, (b) a pre-formatting unit that performs gamma correction and alpha scaling of inbound color values, and (c) a post-formatting unit that performs gamma compression and alpha scaling of outbound color values.
    Type: Grant
    Filed: October 19, 2006
    Date of Patent: July 5, 2011
    Assignee: QUALCOMM Incorporated
    Inventors: Guofang Jiao, Chun Yu, Lingjun Chen, Yun Du
  • Patent number: 7952588
    Abstract: Techniques are described for processing computerized images with a graphics processing unit (GPU) using an extended vertex cache. The techniques include creating an extended vertex cache coupled to a GPU pipeline to reduce an amount of data passing through the GPU pipeline. The GPU pipeline receives an image geometry for an image, and stores attributes for vertices within the image geometry in the extended vertex cache. The GPU pipeline only passes vertex coordinates that identify the vertices and vertex cache index values that indicate storage locations of the attributes for each of the vertices in the extended vertex cache to other processing stages along the GPU pipeline. The techniques described herein defer the setup of attribute gradients to just before attribute interpolation in the GPU pipeline. The vertex attributes may be retrieved from the extended vertex cache for attribute gradient setup just before attribute interpolation in the GPU pipeline.
    Type: Grant
    Filed: August 3, 2006
    Date of Patent: May 31, 2011
    Assignee: Qualcomm Incorporated
    Inventors: Guofang Jiao, Brian Evan Ruttenberg, Chun Yu, Yun Du
  • Patent number: 7928990
    Abstract: Techniques are described for processing computerized images with a graphics processing unit (GPU) using a unified vertex cache and shader register file. The techniques include creating a shared shader coupled to the GPU pipeline and a unified vertex cache and shader register file coupled to the shared shader to substantially eliminate data movement within the GPU pipeline. The GPU pipeline sends image geometry information based on an image geometry for an image to the shared shader. The shared shader performs vertex shading to generate vertex coordinates and attributes of vertices in the image. The shared shader then stores the vertex attributes in the unified vertex cache and shader register file, and sends only the vertex coordinates of the vertices back to the GPU pipeline. The GPU pipeline processes the image based on the vertex coordinates, and the shared shader processes the image based on the vertex attributes.
    Type: Grant
    Filed: September 27, 2006
    Date of Patent: April 19, 2011
    Assignee: Qualcomm Incorporated
    Inventors: Guofang Jiao, Chun Yu, Yun Du
  • Patent number: 7921274
    Abstract: A computer addressing mode and memory access method rely on a memory segment identifier and a memory segment mask for indicating memory locations. In this addressing mode, a processor receives an instruction comprising the memory segment identifier and memory segment mask. The processor employs a two-level address decoding scheme to access individual memory locations. Under this decoding scheme, the processor decodes the memory segment identifier to select a particular memory segment. Each memory segment includes a predefined number of memory locations. The processor selects memory locations within the memory segment based on mask bits set in the memory segment mask. The disclosed addressing mode is advantageous because it allows non-consecutive memory locations to be efficiently accessed.
    Type: Grant
    Filed: April 19, 2007
    Date of Patent: April 5, 2011
    Assignee: QUALCOMM Incorporated
    Inventors: Bo Zhang, Guofang Jiao, Yun Du, Jay Chunsup Yun
  • Publication number: 20100302246
    Abstract: Techniques are described for processing graphics images with a graphics processing unit (GPU) using deferred vertex shading. An example method includes the following: generating, within a processing pipeline of a graphics processing unit (GPU), vertex coordinates for vertices of each primitive within an image geometry, wherein the vertex coordinates comprise a location and a perspective parameter for each one of the vertices, and wherein the image geometry represents a graphics image; identifying, within the processing pipeline of the GPU, visible primitives within the image geometry based upon the vertex coordinates; and, responsive to identifying the visible primitives, generating, within the processing pipeline of the GPU, vertex attributes only for the vertices of the visible primitives in order to determine surface properties of the graphics image.
    Type: Application
    Filed: September 10, 2009
    Publication date: December 2, 2010
    Applicant: QUALCOMM Incorporated
    Inventors: Guofang Jiao, Yun Du, Lingjun Chen, Chun Yu
  • Patent number: 7805589
    Abstract: Techniques to efficiently handle relative addressing are described. In one design, a processor includes an address generator and a storage unit. The address generator receives a relative address comprised of a base address and an offset, obtains a base value for the base address, sums the base value with the offset, and provides an absolute address corresponding to the relative address. The storage unit receives the base address and provides the base value to the address generator. The storage unit also receives the absolute address and provides data at this address. The address generator may derive the absolute address in a first clock cycle of a memory access. The storage unit may provide the data in a second clock cycle of the memory access. The storage unit may have multiple (e.g., two) read ports to support concurrent address generation and data retrieval.
    Type: Grant
    Filed: August 31, 2006
    Date of Patent: September 28, 2010
    Assignee: QUALCOMM Incorporated
    Inventors: Yun Du, Chun Yu, Guofang Jiao
  • Patent number: 7791605
    Abstract: A technique for universally rasterizing graphic primitives used in computer graphics is described. Configurations of the technique include determining three edges and a bounded region in a retrofitting bounding box. Each primitive has real and intrinsic edges. The process uses no more than three real edges of any one graphic primitive. In the case of a line, a third edge is set coincident with one of its two real edges. The area between the two real edges is enclosed by opposing perimeter edges of the bounding box. In the case of a rectangle, only three real edges are used. The fourth edge corresponds to a bounding edge provided by the retrofitting bounding box. In exemplary applications, the technique may be used in mobile video-enabled devices, such as cellular phones, video game consoles, PDAs, laptop computers, video-enabled MP3 players, and the like.
    Type: Grant
    Filed: May 1, 2007
    Date of Patent: September 7, 2010
    Assignee: QUALCOMM Incorporated
    Inventors: Guofang Jiao, William Torzewski, Chun Yu, Brian Ruttenberg
  • Publication number: 20100141659
    Abstract: This disclosure describes techniques for removing vertex points during two-dimensional (2D) graphics rendering using three-dimensional (3D) graphics hardware. In accordance with the described techniques one or more vertex points may be removed during 2D graphics rendering using 3D graphics hardware. For example, the techniques may remove redundant vertex points in the display coordinate space by discarding vertex points that have the substantially same positional coordinates in the display coordinate space as a previous vertex point. Alternatively or additionally, the techniques may remove excess vertex points that lie in a straight line. Removing the redundant vertex points or vertex points that lie in a straight line allow for more efficient utilization of the hardware resources of the GPU and increase the speed at which the GPU renders the image for display.
    Type: Application
    Filed: December 9, 2008
    Publication date: June 10, 2010
    Applicant: QUALCOMM Incorporated
    Inventors: ALEXEI V. BOURD, Guofang Jiao, Jay Chunsup Yun
  • Patent number: 7685409
    Abstract: A device includes a multimedia processor that can concurrently support multiple applications for various types of multimedia such as graphics, audio, video, camera, games, etc. The multimedia processor includes configurable storage resources to store instructions, data, and state information for the applications and assignable processing units to perform various types of processing for the applications. The configurable storage resources may include an instruction cache to store instructions for the applications, register banks to store data for the applications, context registers to store state information for threads of the applications, etc. The processing units may include an arithmetic logic unit (ALU) core, an elementary function core, a logic core, a texture sampler, a load control unit, a flow controller, etc.
    Type: Grant
    Filed: February 21, 2007
    Date of Patent: March 23, 2010
    Assignee: QUALCOMM Incorporated
    Inventors: Yun Du, Guofang Jiao, Chun Yu
  • Patent number: 7652677
    Abstract: The system includes a bounds primitive rasterizer that rasterizes a bounds primitive into a selection of primitive pixels. The selection of primitive pixels bounds a shape to be rendered to a screen. The system also includes a pixel mask generator that generates a pixel mask for the shape. The pixel mask includes mask pixels that each corresponds to one of the primitive pixels. A mask pixel is a covered pixel when the shape covers at least a threshold portion of the mask pixel and is an uncovered pixel when the shape does not cover the mask pixel. The system also includes a pixel screener configured to retain primitive pixels that correspond to covered mask pixels and to discard primitive pixels that correspond to uncovered mask pixels.
    Type: Grant
    Filed: August 3, 2006
    Date of Patent: January 26, 2010
    Assignee: QUALCOMM Incorporated
    Inventors: Angus M. Dorbie, Guofang Jiao
  • Publication number: 20090265528
    Abstract: The disclosure relates to a programmable streaming processor that is capable of executing mixed-precision (e.g., full-precision, half-precision) instructions using different execution units. The various execution units are each capable of using graphics data to execute instructions at a particular precision level. An exemplary programmable shader processor includes a controller and multiple execution units. The controller is configured to receive an instruction for execution and to receive an indication of a data precision for execution of the instruction. The controller is also configured to receive a separate conversion instruction that, when executed, converts graphics data associated with the instruction to the indicated data precision. When operable, the controller selects one of the execution units based on the indicated data precision.
    Type: Application
    Filed: April 21, 2008
    Publication date: October 22, 2009
    Applicant: QUALCOMM Incorporated
    Inventors: Yun Du, Chun Yu, Guofang Jiao, Stephen Molloy
  • Publication number: 20090237401
    Abstract: This disclosure describes a multi-stage tessellation technique for tessellating a curve during graphics rendering. In particular, a first tessellation stage tessellates the curve into a first set of line segments that each represents a portion of the curve. A second tessellation stage further tessellates the portion of the curve represented by each of the line segments of the first set into additional line segments that more finely represent the shape of the curve. In this manner, each portion of the curve that was represented by only one line segment after the first tessellation stage is represented by more than one line segment after the second tessellation stage. In some instances, more than two tessellation stages may be performed to tessellate the curve.
    Type: Application
    Filed: March 20, 2008
    Publication date: September 24, 2009
    Applicant: QUALCOMM Incorporated
    Inventors: Jian Wei, Guofang Jiao, Ning Bi, Chehui Wu
  • Patent number: 7543013
    Abstract: A multi-stage floating-point accumulator includes at least two stages and is capable of operating at higher speed. In one design, the floating-point accumulator includes first and second stages. The first stage includes three operand alignment units, two multiplexers, and three latches. The three operand alignment units operate on a current floating-point value, a prior floating-point value, and a prior accumulated value. A first multiplexer provides zero or the prior floating-point value to the second operand alignment unit. A second multiplexer provides zero or the prior accumulated value to the third operand alignment unit. The three latches couple to the three operand alignment units. The second stage includes a 3-operand adder to sum the operands generated by the three operand alignment units, a latch, and a post alignment unit.
    Type: Grant
    Filed: August 18, 2006
    Date of Patent: June 2, 2009
    Assignee: QUALCOMM Incorporated
    Inventors: Yun Du, Chun Yu, Guofang Jiao
  • Publication number: 20090113402
    Abstract: A server is disclosed that includes an interface to a data communication network, a compiler library that stores a plurality of different compilers, and compiler selection logic responsive to data received at the interface and including logic. The compiler selection logic is configured to select one of the plurality of different compilers based on an evaluation of the received data. The selected compiler generates compiled output data and the compiled output data is communicated over the data communication network to a client.
    Type: Application
    Filed: October 26, 2007
    Publication date: April 30, 2009
    Applicant: QUALCOMM INCORPORATED
    Inventors: Lingjun Chen, Guofang Jiao, Yun Du, Chun Yu
  • Publication number: 20090096797
    Abstract: Disclosed herein is power controller for use with a graphics processing unit. The power controller monitors, manages and controls power supplied to components of a pipeline of the graphics processing unit. The power controller determining whether and to what extent power is to be supplied to a pipeline component based on status information received by the power controller in connection with the pipeline component. The power controller is capable of identifying a trend using the received status information, and determining whether and to what extent power is to be supplied to a pipeline component based on the identified trend.
    Type: Application
    Filed: October 11, 2007
    Publication date: April 16, 2009
    Applicant: QUALCOMM INCORPORATED
    Inventors: Yun Du, Chun Yu, Guofang Jiao, Stephen Molloy
  • Publication number: 20090085919
    Abstract: The present disclosure includes system and method of mapping shader variables into physical registers. In an embodiment, a graphics processing unit (GPU) and a memory coupled to the GPU are disclosed. The memory includes a processor readable data file that has a register file portion. The register file portion has a rectangular structure including a plurality of data items. At least two of the plurality of data items corresponding to data elements of a shader program. The data elements have different data storage types.
    Type: Application
    Filed: September 28, 2007
    Publication date: April 2, 2009
    Applicant: QUALCOMM INCORPORATED
    Inventors: Lin Chen, Junhong Sun, Guofang Jiao, Chihong Zhang, Lingjun Chen