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: 20130142249Abstract: A video encoding method and a video encoder are described for processing frames in a group of pictures (GOP). A difference between a bit budget of a selected frame in the GOP and an estimated number of bits consumed by the selected frame is determined. Quantization parameter (Qp) values assigned to coefficients of macroblocks (MBs) in the selected frame are adjusted if the difference does not fall within a tolerance. The Qp values may be filtered. A bit budget to the GOP may be assigned or adjusted based on a target bitrate. A bit budget may be assigned to each unprocessed frame in the GOP. Spatial activity may be calculated for each MB in the selected frame, and a bit budget and quantization may be assigned for each MB in the selected frame based on the spatial activity.Type: ApplicationFiled: December 6, 2011Publication date: June 6, 2013Applicant: ADVANCED MICRO DEVICES, INC.Inventors: Pankaj Chaurasia, Michael L. Schmit
-
Publication number: 20130076920Abstract: 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: ApplicationFiled: September 28, 2011Publication date: March 28, 2013Applicant: ADVANCED MICRO DEVICES, INC.Inventors: MIchael L. Schmit, William Herz
-
Publication number: 20130034160Abstract: 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: ApplicationFiled: August 2, 2011Publication date: February 7, 2013Applicant: Advanced Micro Devices, Inc.Inventors: Michael L. Schmit, John W. Brothers, Radhakrishna Giduthuri
-
Publication number: 20130021350Abstract: 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: ApplicationFiled: July 19, 2011Publication date: January 24, 2013Applicant: ADVANCED MICRO DEVICES, INC.Inventors: Michael L. Schmit, Vicky W. Tsang, Radhakrishna Giduthuri
-
Publication number: 20120243601Abstract: 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: ApplicationFiled: June 8, 2012Publication date: September 27, 2012Applicant: ADVANCED MICRO DEVICES, INC.Inventors: Michael L. SCHMIT, Rajy Meeyakhan Rawther
-
Patent number: 8270476Abstract: 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: GrantFiled: December 31, 2008Date of Patent: September 18, 2012Assignee: Advanced Micro Devices, Inc.Inventors: Michael L. Schmit, Raja Koduri, Carrell Ray Killebrew
-
Patent number: 8233527Abstract: 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: GrantFiled: November 4, 2008Date of Patent: July 31, 2012Assignee: Advanced Micro Devices, Inc.Inventors: Michael L. Schmit, Rajy Meeyakhan Rawther
-
Patent number: 8184704Abstract: 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: GrantFiled: December 5, 2007Date of Patent: May 22, 2012Assignee: Advanced Micro Devices, Inc.Inventors: Michael L. Schmit, Radha Giduthuri
-
Publication number: 20120076207Abstract: 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: ApplicationFiled: December 5, 2011Publication date: March 29, 2012Applicant: ADVANCED MICRO DEVICES, INC.Inventors: Michael L. Schmit, Vicky W. Tsang
-
Publication number: 20110292057Abstract: 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: ApplicationFiled: May 26, 2010Publication date: December 1, 2011Applicant: ADVANCED MICRO DEVICES, INC.Inventors: Michael L. Schmit, Radha Giduthuri
-
Publication number: 20100166055Abstract: 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: ApplicationFiled: December 31, 2008Publication date: July 1, 2010Applicant: Advanced Micro Devices, Inc.Inventors: Michael L. Schmit, Raja Koduri, Carrell Ray Killebrew
-
Publication number: 20100166073Abstract: 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: ApplicationFiled: December 31, 2008Publication date: July 1, 2010Applicant: ADVANCED MICRO DEVICES, INC.Inventors: Michael L. Schmit, Vicky Tsang
-
Publication number: 20100104021Abstract: 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: ApplicationFiled: October 27, 2008Publication date: April 29, 2010Applicant: ADVANCED MICRO DEVICES, INC.Inventor: Michael L. Schmit
-
Publication number: 20090147852Abstract: 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: ApplicationFiled: December 5, 2007Publication date: June 11, 2009Applicant: Advance Micro DevicesInventors: Michael L. Schmit, Radha Giduthuri
-
Publication number: 20090060032Abstract: 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: ApplicationFiled: November 4, 2008Publication date: March 5, 2009Applicant: ADVANCED MICRO DEVICES, INC.Inventors: Michael L. Schmit, Rajy Meeyakhan Rawther
-
Publication number: 20090016430Abstract: 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: ApplicationFiled: August 8, 2008Publication date: January 15, 2009Applicant: ADVANCE MICRO DEVICES, INC.Inventors: Michael L. Schmit, Rajy Meeyakhan Rawther, Radha Giduthuri
-
Publication number: 20080278595Abstract: 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: ApplicationFiled: December 19, 2007Publication date: November 13, 2008Applicant: Advance Micro Devices, Inc.Inventors: Michael L. Schmit, Carrell Daniel Killebrew, Shivashankar Gurumurthy