Patents by Inventor Michael L. Schmit

Michael L. Schmit 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: 20130141443
    Abstract: Systems, methods, and media for providing libraries within an OpenCL framework. Library source code is compiled into an intermediate representation and distributed to an end-user computing system. The computing system typically includes a CPU and one or more GPUs. The CPU compiles the intermediate representation of the library into an executable binary targeted to run on the GPUs. The CPU executes a host application, which invokes a kernel from the binary. The CPU retrieves the kernel from the binary and conveys the kernel to a GPU for execution.
    Type: Application
    Filed: December 1, 2011
    Publication date: June 6, 2013
    Inventors: Michael L. Schmit, Radha Giduthuri
  • Publication number: 20130076920
    Abstract: A system and method for applying video de-shake to video content includes a classification engine configured to generate a classification of the video content based on at least one source characteristic. The system also includes a de-shake engine configured to selectively apply camera shake compensation to the video content based on the classification. The classification engine may be configured to generate a classification based on, for example, the presence of closed caption data, the presence of copy protection data, current frame rate associated with the video content, or a native frame rate associated with the video content.
    Type: Application
    Filed: September 28, 2011
    Publication date: March 28, 2013
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: MIchael L. Schmit, William Herz
  • Publication number: 20130034160
    Abstract: Methods and apparatus for facilitating motion estimation in video processing are provided. Preferably, coordinates of a search area within a video frame are determined for each of a plurality of macroblocks (MBs) of a reference frame based upon a predicted location derived from the coordinates of the MB within the reference frame and motion estimation information. The video frame can be segmented into tiles and associated overlapping tile defined for at least some tiles. Search data is defined for each tile as pel data for each pixel within that tile and any associated tile. Macroblock searches are preferably conducted on a tile assignment basis with tile search assignments distributed among a plurality of processing elements. Each processing element preferably has a local memory it uses for the search data when performing a tile search assignment.
    Type: Application
    Filed: August 2, 2011
    Publication date: February 7, 2013
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Michael L. Schmit, John W. Brothers, Radhakrishna Giduthuri
  • Publication number: 20130021350
    Abstract: Methods and apparatus for utilizing coefficient compression in graphics decoding are provided. In one example, a computer processing unit (CPU) is interfaced with a graphic processing unit (GPU) where the CPU extracts coefficients and passes compressed coefficient data, preferably in uniformly sized data packets, to the GPU for decoding and coefficient processing. Preferably the extracted coefficients are inverse transform (iT) coefficients and CPU includes an encoder control component configured to adaptively select a coefficient encoding process for performing the iT coefficient data compression based on the data content of the iT coefficients such that data packets are generated that include data that indentifies the selected coefficient encoding process used for encoding the compressed iT coefficient data contained in the data packet.
    Type: Application
    Filed: July 19, 2011
    Publication date: January 24, 2013
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Michael L. Schmit, Vicky W. Tsang, Radhakrishna Giduthuri
  • Publication number: 20120243601
    Abstract: Embodiments of the invention as described herein provide a solution to the problems of conventional methods as stated above. In the following description, various examples are given for illustration, but none are intended to be limiting. Embodiments are directed to a transcoding system that shares the workload of video transcoding through the use of multiple central processing unit (CPU) cores and/or one or more graphical processing units (GPU), including the use of two components within the GPU: a dedicated hardcoded or programmable video decoder for the decode step and compute shaders for scaling and encoding. The system combines usage of an industry standard Microsoft DXVA method for using the GPU to accelerate video decode with a GPU encoding scheme, along with an intermediate step of scaling the video.
    Type: Application
    Filed: June 8, 2012
    Publication date: September 27, 2012
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Michael L. SCHMIT, Rajy Meeyakhan Rawther
  • Patent number: 8270476
    Abstract: Embodiments include a codec for use in a videoconferencing or similar system includes a video encoder pipeline that has a pre-processor component that is optimized to detect faces and compress the facial video data in an optimum manner. The codec has a pre-processing step that analyzes each frame on a per macroblock basis to determine the mathematical activity level per block. The activity level calculation is used as a parameter to the bitrate control module of the encoder to control the quantization, and thus the fine grained quality of the output data. An object detection module (e.g., a face detector) is placed in the pre-processing step. The object detection data is then combined with the activity level and object detection certainty value through a combinatorial algorithm comprising a weighted average or normalized multiplication process.
    Type: Grant
    Filed: December 31, 2008
    Date of Patent: September 18, 2012
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Michael L. Schmit, Raja Koduri, Carrell Ray Killebrew
  • Patent number: 8233527
    Abstract: Embodiments of the invention as described herein provide a solution to the problems of conventional methods as stated above. In the following description, various examples are given for illustration, but none are intended to be limiting. Embodiments are directed to a transcoding system that shares the workload of video transcoding through the use of multiple central processing unit (CPU) cores and/or one or more graphical processing units (GPU), including the use of two components within the GPU: a dedicated hardcoded or programmable video decoder for the decode step and compute shaders for scaling and encoding. The system combines usage of an industry standard Microsoft DXVA method for using the GPU to accelerate video decode with a GPU encoding scheme, along with an intermediate step of scaling the video.
    Type: Grant
    Filed: November 4, 2008
    Date of Patent: July 31, 2012
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Michael L. Schmit, Rajy Meeyakhan Rawther
  • Patent number: 8184704
    Abstract: Embodiments include a video data encoding method comprising receiving video input frames, and performing motion estimation on the video received frames. The motion estimation comprises performing a hierarchical motion search to find motion vectors with optimum sum of absolute difference (SAD) values, and performing spatial filtering of the motion vectors, wherein spatial filtering comprises making some pairs of motion vectors the same to achieve a zero differential.
    Type: Grant
    Filed: December 5, 2007
    Date of Patent: May 22, 2012
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Michael L. Schmit, Radha Giduthuri
  • Publication number: 20120076207
    Abstract: A system and method of performing motion estimation in a video encoder is enclosed. The system and method include calculating one or more candidate motion vectors for each macroblock of a video image to form a list of candidate motion vectors, calculating a second one or more candidate motion vectors using a sub-region of at least one macroblock of the video image to include in the list of candidate motion vectors, and comparing the calculated candidate motion vectors of a first macroblock with the calculated candidate motion vectors of at least one sub-region of the first macroblock to provide the estimated contribution to the candidate motion vector of the macroblock. The calculating a second one or more candidate motion vectors using a sub-region of at least one macroblock may include using an approximation different from the calculating one or more candidate motion vectors for each macroblock.
    Type: Application
    Filed: December 5, 2011
    Publication date: March 29, 2012
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Michael L. Schmit, Vicky W. Tsang
  • Publication number: 20110292057
    Abstract: A method and apparatus for dynamic bandwidth determination and processing task assignment is disclosed. Embodiments include a video driver/interface that communicates with a video processing application such as a video editor. The video driver/interface is configurable to determine a best configuration of the system in order optimally perform the chosen video processing task. Configuration of a system includes dividing the task into subtasks and assigning the subtasks to processors of the system, including central processing units (CPUs) and graphics processing units (GPUs). Configuration of the system also includes optimizing use of available memory of different kinds.
    Type: Application
    Filed: May 26, 2010
    Publication date: December 1, 2011
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Michael L. Schmit, Radha Giduthuri
  • Publication number: 20100166055
    Abstract: Embodiments include a codec for use in a videoconferencing or similar system includes a video encoder pipeline that has a pre-processor component that is optimized to detect faces and compress the facial video data in an optimum manner. The codec has a pre-processing step that analyzes each frame on a per macroblock basis to determine the mathematical activity level per block. The activity level calculation is used as a parameter to the bitrate control module of the encoder to control the quantization, and thus the fine grained quality of the output data. An object detection module (e.g., a face detector) is placed in the pre-processing step. The object detection data is then combined with the activity level and object detection certainty value through a combinatorial algorithm comprising a weighted average or normalized multiplication process.
    Type: Application
    Filed: December 31, 2008
    Publication date: July 1, 2010
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Michael L. Schmit, Raja Koduri, Carrell Ray Killebrew
  • Publication number: 20100166073
    Abstract: Embodiments include a motion estimation method performed in a parallel processing system that determines a list of several candidate motion vectors for a macroblock of a video image and retains them through multiple computation passes. All candidate motion vectors are used as potential neighboring predictors, so that the best combination of differential vectors rises to the top of the candidate list. Numerous combinations of differential motion vectors are considered during the process that compares motion vectors among up to eight neighboring macroblocks, instead of simply between pairs of macroblocks. The motion estimation system is configured to use a large number of compute engines, such as on a highly parallel GPU platform. This is achieved by having no dependencies between macroblocks except one per pass. This allows the number of calculations per pass to be very large.
    Type: Application
    Filed: December 31, 2008
    Publication date: July 1, 2010
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Michael L. Schmit, Vicky Tsang
  • Publication number: 20100104021
    Abstract: Embodiments include implementing a remote display system (either wired or wireless) using a standard, non-custom codec. In this system, the decoder side can be fully implemented using an existing standard from a decode/display point of view and using a single stream type. The encoder side includes a pre-processing component that analyzes screen images comprising the video data to determine an amount of difference between consecutive frames of the screen images, divides each screen image into a plurality of regions, including no change regions, high quality regions, and low quality regions. The pre-processor characterizes each region as requiring a minimum quality level, encodes the low quality regions for compression in accordance with the H.264 encoding standard; and encodes the high quality regions using the lossless compression scheme of the H.264 standard. A no change region is encoded using a version of the H.
    Type: Application
    Filed: October 27, 2008
    Publication date: April 29, 2010
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventor: Michael L. Schmit
  • Publication number: 20090147852
    Abstract: Embodiments include a video data encoding method comprising receiving video input frames, and performing motion estimation on the video received frames. The motion estimation comprises performing a hierarchical motion search to find motion vectors with optimum sum of absolute difference (SAD) values, and performing spatial filtering of the motion vectors, wherein spatial filtering comprises making some pairs of motion vectors the same to achieve a zero differential.
    Type: Application
    Filed: December 5, 2007
    Publication date: June 11, 2009
    Applicant: Advance Micro Devices
    Inventors: Michael L. Schmit, Radha Giduthuri
  • Publication number: 20090060032
    Abstract: Embodiments of the invention as described herein provide a solution to the problems of conventional methods as stated above. In the following description, various examples are given for illustration, but none are intended to be limiting. Embodiments are directed to a transcoding system that shares the workload of video transcoding through the use of multiple central processing unit (CPU) cores and/or one or more graphical processing units (GPU), including the use of two components within the GPU: a dedicated hardcoded or programmable video decoder for the decode step and compute shaders for scaling and encoding. The system combines usage of an industry standard Microsoft DXVA method for using the GPU to accelerate video decode with a GPU encoding scheme, along with an intermediate step of scaling the video.
    Type: Application
    Filed: November 4, 2008
    Publication date: March 5, 2009
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Michael L. Schmit, Rajy Meeyakhan Rawther
  • Publication number: 20090016430
    Abstract: Embodiments of a software video encoder with GPU acceleration include a software encoder that partitions video processing tasks and assigns them to both a graphics processing unit (GPU) and a central processing unit (CPU). The partitioning and assigning is configurable for operation in different modes. The modes include a mode in which the total time for video processing (such as when transcoding a large existing file) is reduced, a mode in which less CPU cycles are consumed, thus freeing the CPU for other work, ad mode in which the latency of processing (e.g., for video conferencing) is reduced, and a mode in which information from a game or other real-time activity being displayed on the screen is encoded.
    Type: Application
    Filed: August 8, 2008
    Publication date: January 15, 2009
    Applicant: ADVANCE MICRO DEVICES, INC.
    Inventors: Michael L. Schmit, Rajy Meeyakhan Rawther, Radha Giduthuri
  • Publication number: 20080278595
    Abstract: Embodiments of the video data capture and stream method comprise intercepting a flip function call comprising a call by the video application to flip frames between a display and a buffer, grabbing a copy of the current frame that would normally be processed by a central processing unit (CPU), placing the copy in a queue for processing by a graphics processing unit (GPU), wherein processing by the GPU is significantly faster than processing by the CPU.
    Type: Application
    Filed: December 19, 2007
    Publication date: November 13, 2008
    Applicant: Advance Micro Devices, Inc.
    Inventors: Michael L. Schmit, Carrell Daniel Killebrew, Shivashankar Gurumurthy