Back to results
US 8,542,732 B1Granted
Video encoder using GPU
AssigneeElemental Technologies, Inc.
InventorsBrian G. Lewis, Jesse J. Rosenzweig
Life of this patent
Estimating the term…
Abstract
An apparatus comprising a graphics processing unit, a processor and a memory. The memory stores computer executable instructions. The computer executable instructions use (i) the graphics processing unit to perform prediction, decimation, transformation and quantization, and inverse-quantization and inverse-transformation and (ii) the processor to perform entropy encoding and rate control.
Claims20
An apparatus comprising:
- a graphics processing unit comprising an array of software-configurable general purpose parallel processors and a globally shared memory, wherein each of the software-configurable general purpose parallel processors in said array of software-configurable general purpose parallel processors has access to said globally shared memory;
- a central processing unit;
- a first memory accessible by said graphics processing unit, said first memory storing a first set of computer executable instructions, said first set of computer executable instructions using said software-configurable general purpose parallel processors in said array of software-configurable general purpose parallel processors to perform video compression steps including prediction, decimation, transformation and quantization, and inverse-quantization and inverse-transformation involving a current frame and one or more reference frames stored in said globally shared memory;
- and
- a second memory accessible by said central processing unit, said second memory storing a second set of computer executable instructions, said second set of computer executable instructions using said central processing unit to perform rate control on said current frame by choosing at least one target parameter value for transformation and quantization as said video compression steps are performed by said graphics processing unit and to perform entropy encoding on said current frame in response to a signal indicating the current frame is ready for encoding.
2 more elements
A method for encoding a frame of video comprising the steps of:
- using a first set of computer executable instructions stored in a first memory that is accessible by a graphics processing unit, said first set of computer executable instructions, when executed, using an array of software-configurable general purpose parallel processors and a globally shared memory of said graphics processing unit to perform video compression steps including prediction, decimation, transformation and quantization, and inverse-quantization and inverse-transformation, wherein each of the software-configurable general purpose parallel processors in said array of software-configurable general purpose parallel processors has access to said globally shared memory and said frame and one or more reference frames are stored in said globally shared memory;
- and
- using a second set of computer executable instructions stored in a second memory that is accessible by a central processing unit, said second set of computer executable instructions, when executed, using said central processing unit to concurrently perform entropy encoding, rate control and management of said graphics processing unit, wherein said central processing unit performs rate control by choosing at least one target parameter value for transformation and quantization as said video compression steps are performed by said graphics processing unit and performs entropy encoding on the frame in response to a signal indicating the frame is ready for encoding.
A non-transitory computer readable medium storing computer executable instructions comprising:
- a first set of computer executable instructions, which, when loaded into a first memory that is accessible by a graphics processing unit and executed, perform video compression steps including prediction, decimation, transformation and quantization, and inverse-quantization and inverse-transformation on a slice using an array of software-configurable general purpose parallel processors and a globally shared memory of said graphics processing unit;
- and
- a second set of computer executable instructions, which, when loaded into a second memory that is accessible by a central processing unit and executed, perform entropy encoding, rate control and management of said graphics processing unit using said central processing unit, wherein said rate control is performed by said central processing unit choosing at least one target parameter value for transformation and quantization as said video compression steps are performed by said graphics processing unit and said entropy encoding is performed on the slice by said central processing unit in response to a signal indicating the slice is ready for encoding.
Dependencies are inferred from the claim text.