Patents by Inventor Thomas Holcomb
Thomas Holcomb 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).
-
Patent number: 7372901Abstract: A method and system for dynamically determining transmission characteristics of a modem transmitting information over a network is disclosed. The method comprises the steps of determining a plurality of measured characteristics associated with a plurality of received samples collected over a known period, suggesting a first transmission characteristic from a plurality of known first transmission characteristics associated with a selected second measured characteristic based on a first measured characteristic in relation to a threshold value associated with each of the known first transmission characteristics, adjusting the suggested transmission characteristic dependent upon a third measured characteristic, and providing the suggested characteristics to the network. The method further comprises the steps of validating the suggested characteristics and transmitting a next packet using validated transmission characteristics.Type: GrantFiled: April 30, 2003Date of Patent: May 13, 2008Assignee: Harris CorporationInventors: Mark Thomas Holcomb, John Wesley Nieto, Peter Robert Denecke
-
Publication number: 20080049834Abstract: Techniques and tools for sub-block transform coding are described. For example, a video encoder adaptively switches between 8×8, 8×4, and 4×8 DCTs when encoding 8×8 prediction residual blocks; a corresponding video decoder switches between 8×8, 8×4, and 4×8 inverse DCTs during decoding. The video encoder may determine the transform sizes as well as switching levels (e.g., frame, macroblock, or block) in a closed loop evaluation of the different transform sizes and switching levels. The encoder and decoder may use different scan patterns for different transform sizes when scanning values from two-dimensional blocks into one-dimensional arrays, or vice versa. The encoder and decoder may use sub-block pattern codes to indicate the presence or absence of information for the sub-blocks of particular blocks.Type: ApplicationFiled: August 3, 2007Publication date: February 28, 2008Applicant: Microsoft CorporationInventors: Thomas Holcomb, Chih-Lung Lin
-
Publication number: 20070237226Abstract: Techniques and tools for switching distortion metrics during motion estimation are described. For example, a video encoder determines a distortion metric selection criterion for motion estimation. The criterion can be based on initial results of the motion estimation. To evaluate the criterion, the encoder can compare the criterion to a threshold that depends on a current quantization parameter. The encoder selects between multiple available distortion metrics, which can include a sample-domain distortion metric (e.g., SAD) and a transform-domain distortion metric (e.g., SAHD). The encoder uses the selected distortion metric in the motion estimation. Selectively switching between SAD and SAHD provides rate-distortion performance superior to using only SAD or only SAHD. Moreover, due to the lower complexity of SAD, the computational complexity of motion estimation with SAD-SAHD switching is typically less than motion estimation that always uses SAHD.Type: ApplicationFiled: April 7, 2006Publication date: October 11, 2007Applicant: Microsoft CorporationInventors: Shankar Regunathan, Chih-Lung Lin, Thomas Holcomb
-
Publication number: 20070237232Abstract: Techniques and tools for selecting search ranges and/or motion vector ranges during motion estimation are described. For example, a video encoder performs motion estimation constrained by a first search range, which results in multiple motion vectors. The encoder computes motion vector distribution information for the motion vectors. To compute the distribution information, the encoder can track the motion vectors in a histogram and count how many of the motion vectors fall within each of multiple intervals for the distribution information. The encoder then selects a second search range and performs motion estimation constrained by the second search range. Selecting the second search range can include selecting a motion vector range, which in some cases in effect determines the second search range.Type: ApplicationFiled: April 7, 2006Publication date: October 11, 2007Applicant: Microsoft CorporationInventors: Cheng Chang, Chih-Lung Lin, Thomas Holcomb
-
Publication number: 20060248671Abstract: A retractable nail brush for artificially enhancing nails is disclosed, comprising a body with a lengthwise oriented slot, a bristle mount operably configured to slide into and out of the body, a plurality of bristles secured to the bristle mount, and a slide retainer operably configured to slide in the slot and retain the bristle mount to the body. The retractable nail brush may be articulated using one hand to promote ease of use as well as to store bristles in the body to prevent their contamination.Type: ApplicationFiled: May 4, 2005Publication date: November 9, 2006Inventor: Thomas Holcomb
-
Publication number: 20060233258Abstract: A number of features allow scaling complexity of motion estimation. These features are used alone or in combination with other features. A variable number of search seeds in a downsampled domain are searched in a reference frame dependent upon desirable complexity. A zero motion threshold value eliminates some searches in a downsampled domain. A ratio threshold value reduces the number of search seeds from a downsampled domain that would otherwise be used in an upsampled domain. Seeds searched in an original domain are reduced as required by complexity. Various sub-pixel search configurations are described for varying complexity. These features provide scalable motion estimation for downsampled, original, or sub-pixel search domains.Type: ApplicationFiled: April 15, 2005Publication date: October 19, 2006Applicant: Microsoft CorporationInventor: Thomas Holcomb
-
Publication number: 20060184684Abstract: Systems and methods for processing input media in a computing device are described. In one aspect, a reconstructed frame is cached according to a set of criteria. A request to scrub to a predictive frame of input media is received. Responsive to receiving the request, the predictive frame is decoded starting with the reconstructed frame.Type: ApplicationFiled: December 8, 2003Publication date: August 17, 2006Inventors: Rebecca Weiss, Geoffrey Dunbar, Niranjan Nayak, Sohail Mohammed, Thomas Holcomb, Chih-lung Lin, Olivier Colle, Gareth Howell
-
Publication number: 20060146830Abstract: Various new and non-obvious apparatus and methods for using frame caching to improve packet loss recovery are disclosed. One of the disclosed embodiments is a method for using periodical and synchronized frame caching within an encoder and its corresponding decoder. When the decoder discovers packet loss, it informs the encoder which then generates a frame based on one of the shared frames stored at both the encoder and the decoder. When the decoder receives this generated frame it can decode it using its locally cached frame.Type: ApplicationFiled: December 30, 2004Publication date: July 6, 2006Applicant: Microsoft CorporationInventors: Chih-Lung Lin, Minghui Xia, Pohsiang Hsu, Shankar Regunathan, Thomas Holcomb
-
Publication number: 20060072672Abstract: A video codec provides for encoding and decoding pictures of a video sequence at various coded resolutions, such that pictures can be encoded at lower coded resolutions based on bit rate or other constraints while maintaining a consistent display resolution. The video codec employs a coding syntax where a maximum coded resolution is signaled at the sequence level of the syntax hierarchy, whereas a lower coded resolution is signaled at the entry point level for a segment of one or more intra-coded frames and frames predictively encoded based thereon. This allows the use of a separate out-of-loop resampler after the decoder to up-sample the pictures to the display resolution.Type: ApplicationFiled: October 6, 2004Publication date: April 6, 2006Applicant: Microsoft CorporationInventors: Thomas Holcomb, Chih-Lung Lin, Sridhar Srinivasan, Pohsiang Hsu
-
Publication number: 20060072673Abstract: A video codec provides for encoding and decoding pictures of a video sequence at various coded resolutions, such that pictures can be encoded at lower coded resolutions based on bit rate or other constraints while maintaining a consistent display resolution. The video codec further provide for encoding and decoding pictures of the video sequence at ranges lower than that used for display, and then expanding the range after decoding for display. The video codec applies post-processing operations, such as de-blocking, de-ringing, and color conversion, at the native resolution and range of the decoded video, prior to range expansion and upsampling for display.Type: ApplicationFiled: April 29, 2005Publication date: April 6, 2006Applicant: Microsoft CorporationInventors: Thomas Holcomb, Chih-Lung Lin, Pohsiang Hsu, Sridhar Srinivasan
-
Publication number: 20060072668Abstract: A video codec provides for adaptive vertical macroblock alignment of mixed interlaced and progressive video sequences. With adaptive vertical macroblock alignment, a video codec enforces a macroblock alignment height restriction on per picture basis, rather than requiring that all frames in a sequence adhere to a uniform height restriction. The video codec can then apply less padding to progressive and like type pictures that have smaller macroblock alignment increments, than to interlaced type pictures with larger alignment increments, which can save significant compression overhead.Type: ApplicationFiled: October 6, 2004Publication date: April 6, 2006Applicant: Microsoft CorporationInventors: Sridhar Srinivasan, Chih-Lung Lin, Thomas Holcomb, Pohsiang Hsu
-
Publication number: 20060072669Abstract: A video codec provides efficient repeat padding of hybrid video sequences having arbitrary video resolution. The video codec repeat pads to expand the active content of pictures in the video sequence out to meet an adaptive vertical macroblock alignment restriction that varies by picture type. For progressive type pictures, the video codec repeats the last row or horizontal boundary edge of the active content. For interlaced type pictures, the video coded repeats the last two rows (last row of each interlaced field) of the active content. This repeat padding differing by picture type provides a better prediction (lower prediction error residual) for macroblocks in following predicted frames whose motion vector points into the padded region.Type: ApplicationFiled: October 6, 2004Publication date: April 6, 2006Applicant: Microsoft CorporationInventors: Chih-Lung Lin, Pohsiang Hsu, Sridhar Srinivasan, Thomas Holcomb
-
Publication number: 20050238096Abstract: At high bit rates, the reconstruction error of compressed video is generally proportional to the squared value of quantization step size, such that full quantization step size increments at high bit rates can lead to significant change in the reconstruction error and/or bit rate of the compressed video. A video codec uses fractional increments of quantization step size at high bit rates to permit a more continuous variation of quality and/or bit rate as the quantization scale changes. For high bit rate scenarios, the bit stream syntax includes an additional syntax element to specify fractional step increments (e.g., half step) of the normal quantizer scale step sizes.Type: ApplicationFiled: July 17, 2004Publication date: October 27, 2005Applicant: Microsoft CorporationInventors: Thomas Holcomb, Sridhar Srinivasan, Pohsiang Hsu, Chih-Lung Lin
-
Publication number: 20050152457Abstract: A video codec efficiently signals that a frame is identical to its reference frame, such that separate coding of its picture content is skipped. Information that a frame is skipped is represented jointly in a coding table of a frame coding type element for bit rate efficiency in signaling. Further, the video codec signals the picture type (e.g., progressive or interlaced) of skipped frames, which permits different repeat padding methods to be applied according to the picture type.Type: ApplicationFiled: November 12, 2004Publication date: July 14, 2005Applicant: Microsoft CorporationInventors: Shankar Regunathan, Chih-Lung Lin, Thomas Holcomb, Jie Liang, Ming-Chieh Lee, Pohsiang Hsu
-
Publication number: 20050152448Abstract: A video decoder receives an entry point key frame comprising first and second interlaced video fields and decodes a first syntax element comprising information (e.g., frame coding mode) for the entry point key frame at a first syntax level (e.g., frame level) in a bitstream. The first interlaced video field is a predicted field, and the second interlaced video field is an intra-coded field. The information for the entry point key frame can be a frame coding mode (e.g., field interlace) for the entry point key frame. The decoder can decode a second syntax element at the first syntax level comprising second information (e.g., field type for each of the first and second interlaced video fields) for the entry point key frame.Type: ApplicationFiled: November 15, 2004Publication date: July 14, 2005Applicant: Microsoft CorporationInventors: Regis Crinon, Thomas Holcomb, Shankar Regunathan, Sridhar Srinivasan
-
Publication number: 20050141861Abstract: A request is received to play compressed video data in a reverse direction. A process identifies a most recent key frame received and decodes the most recent key frame. The process then identifies delta frames received after the most recent key frame and decodes these identified delta frames. The decoded delta frames are then played in the reverse direction. Additionally, compressed audio data can be decoded and played in the reverse direction along with the video data.Type: ApplicationFiled: December 5, 2003Publication date: June 30, 2005Applicant: Microsoft CorporationInventors: Geoffrey Dunbar, Alexandre Grigorovitch, Chih-lung Lin, Wei-Ge Chin, Thomas Holcomb
-
Publication number: 20050123274Abstract: A decoder receives an entry point header comprising plural control parameters for an entry point segment corresponding to the entry point header. The entry point header is in an entry point layer of a bitstream comprising plural layers. The decoder decodes the entry point header. The plural control parameters can include various combinations of control parameters such as a pan scan on/off parameter, a reference frame distance on/off parameter, a loop filtering on/off parameter, a fast chroma motion compensation on/off parameter, an extended range motion vector on/off parameter, a variable sized transform on/off parameter, an overlapped transform on/off parameter, a quantization decision parameter, and an extended differential motion vector coding on/off parameter, a broken link parameter, a closed entry parameter, one or more coded picture size parameters, one or more range mapping parameters, a hypothetical reference decoder buffer parameter, and/or other parameter(s).Type: ApplicationFiled: November 15, 2004Publication date: June 9, 2005Applicant: Microsoft CorporationInventors: Regis Crinon, Chih-Lung Lin, Jie Liang, Shankar Regunathan, Shuo-Jen Wu, Timothy Onders, Thomas Holcomb
-
Publication number: 20050111547Abstract: Techniques and tools for signaling reference frame distances are described. For example, a video encoder signals a code for a reference frame distance for a current field-coded interlaced video frame. The code indicates a count of frames (e.g., bi-directionally predicted frames) between the current frame and a preceding reference frame. The code may be a variable length code signaled in the frame header for the current frame. The encoder may selectively signal the use of a default value for reference frame distances rather than signal a reference frame distance per frame. A video decoder performs corresponding parsing and decoding.Type: ApplicationFiled: November 15, 2004Publication date: May 26, 2005Applicant: Microsoft CorporationInventors: Thomas Holcomb, Kunal Mukerjee, Chih-Lung Lin
-
Publication number: 20050105883Abstract: Techniques and tools for coding/decoding of digital video, and in particular, for determining, signaling and detecting entry points in video streams are described. Techniques and tools described herein are used to embed entry point indicator information in the bitstream that receivers, editing systems, insertion systems, and other systems can use to detect valid entry points in compressed video.Type: ApplicationFiled: June 30, 2004Publication date: May 19, 2005Applicant: Microsoft CorporationInventors: Thomas Holcomb, Regis Crinon, Timothy Onders, Sridhar Srinivasan, Shankar Regunathan
-
Publication number: 20050099869Abstract: A decoder receives a field start code for an entry point key frame. The field start code indicates a second coded interlaced video field in the entry point key frame following a first coded interlaced video field in the entry point key frame and indicates a point to begin decoding of the second coded interlaced video field. The first coded interlaced video field is a predicted field, and the second coded interlaced video field is an intra-coded field. The decoder decodes the second field without decoding the first field. The field start code can be followed by a field header. The decoder can receive a frame header for the entry point key frame. The frame header may comprise a syntax element indicating a frame coding mode for the entry point key frame and/or a syntax element indicating field types for the first and second coded interlaced video fields.Type: ApplicationFiled: November 15, 2004Publication date: May 12, 2005Applicant: Microsoft CorporationInventors: Regis Crinon, Thomas Holcomb, Shankar Regunathan, Sridhar Srinivasan