Patents by Inventor Thomas Pun

Thomas Pun 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: 8780997
    Abstract: This invention is directed to a method for decoding coded video data in which decoder performance is regulated based on perceptual masking. The method includes, upon receipt of coded video data, applying the coded video data to a multi-stage decoding process; computing perceptual masking measures for the coded video data; and switching a stage of the decoding process to a lower performance level based on the computed perceptual masking measures. The method may be applied to non-reference frames and reference frames with low numbers of dependent frames. The method provides scalability among decoders to allow for various decoder and/or coded data complexity.
    Type: Grant
    Filed: August 4, 2006
    Date of Patent: July 15, 2014
    Assignee: Apple Inc.
    Inventors: Hsi-Jung Wu, Thomas Pun
  • Patent number: 8737479
    Abstract: A method for encoding a first set of pixels in a first image in a sequence of images is described. From a set of encoding modes, the method selects a first mode for encoding the first set of pixels. The method then determines whether encoding the first set of pixels in the first mode satisfies a set of quality criteria. The method foregoes encoding the first set of pixels in a second mode from the set of encoding modes, when the first mode encoding satisfies the set of quality criteria. The method also provides a video encoding method that examines several different methods for encoding a set of pixels in a first image. From a list of possible encoding modes, the method eliminates a set of encoding modes that are not likely to provide a suitable encoding solution. The method then examines different encoding solutions based on the remaining encoding modes in the list.
    Type: Grant
    Filed: December 21, 2011
    Date of Patent: May 27, 2014
    Assignee: Apple Inc.
    Inventors: Roger Kumar, Thomas Pun, Hsi Jung Wu
  • Patent number: 8594190
    Abstract: Some embodiments of the invention encode a sequence of video images based on “visual masking” attributes of the video images and/or portions of the video images. Visual masking of an image or a portion of the image is an indication of how much coding artifacts can be tolerated in the image or image portion. To express the visual masking attribute of an image or an image portion, some embodiments compute a visual masking strength that quantifies the brightness energy of the image or the image portion. In some embodiments, the brightness energy is measured as a function of the average luma or pixel energy of the image or image portion.
    Type: Grant
    Filed: July 8, 2011
    Date of Patent: November 26, 2013
    Assignee: Apple Inc.
    Inventors: Hsi Jung Wu, Thomas Pun
  • Publication number: 20130297875
    Abstract: Some embodiments provide a method for encoding a first set of pixels in a first image by reference to a second image in a video sequence. In a first search window within a second image, the method searches to identify a first particular portion in the second image that best matches the first set of pixels in the first image. In the first search window within the second image, the method identifies a first location corresponding to the first particular portion. In a second search window within the second image, the method then searches to identify a second particular portion in the second image that best matches the first set of pixels in the first image, where the second search window is defined about the first location.
    Type: Application
    Filed: April 1, 2013
    Publication date: November 7, 2013
    Inventors: Roger Kumar, Thomas Pun, Hsi Jung Wu, Christian Duvivier
  • Patent number: 8526747
    Abstract: A method for encoding video with a two-dimensional (2D) transform separable to two one-dimensional (1D) transforms. The method receives an array of values for a sub-section of an image, performs a first 1D-transform of the array, transposes the resulting array, and performs a second 1D-transform of the array resulting from the transpose. The method, without performing another transpose, generates a data stream using a transposed scan order based on the values of the array resulting from the second transform. A method for decoding video encoded by a 2D transform, which separable to two 1D transforms. The method receives a data stream containing encoded values for an image, parses out the values into an array using a transposed scan order, performs a first 1D-inverse transform on the array, transposes the resulting array, and performs a second 1D-inverse transform of the array resulting from the transpose to produce a decoded output.
    Type: Grant
    Filed: April 28, 2008
    Date of Patent: September 3, 2013
    Assignee: Apple Inc.
    Inventors: Maynard Handley, Roger Kumar, Thomas Pun, Xiaochun Nie, Hsi-Jung Wu
  • Patent number: 8520053
    Abstract: Some embodiments provide an architecture for establishing multi-participant video conferences. This architecture has a central distributor that receives video images from two or more participants. From the received images, the central distributor generates composite images that the central distributor transmits back to the participants. Each composite image includes a set of sub images, where each sub image belongs to one participant. In some embodiments, the central distributor saves network bandwidth by removing each particular participant's image from the composite image that the central distributor sends to the particular participant. In some embodiments, images received from each participant are arranged in the composite in a non-interleaved manner. For instance, in some embodiments, the composite image includes at most one sub-image for each participant, and no two sub-images are interleaved.
    Type: Grant
    Filed: July 27, 2012
    Date of Patent: August 27, 2013
    Assignee: Apple Inc.
    Inventors: Thomas Pun, Hsi Jung Wu, Hyeonkuk Jeong
  • Patent number: 8477843
    Abstract: The rate controller in a digital video encoding system is responsible for allocating a bit budget for video frames to be encoded. The rate controller considers many different factors when determining the frame bit budget. One of the factors considered is the complexity of the frames being compressed. Occasionally there will be a very complex frame that is not representative of the overall video frame sequence. Such a rare complex frame may cause a disproportionate affect on the bit budget allocation. The system of the present invention limits the amount that a very complex frame can change the bit budget allocation. The rate controller of the present invention also includes a relaxation factor. The relaxation factor allows a user to determine if the rate controller should strictly allocate its bit budget or relax its standards such that the rate controller may not be so conservative when allocating bits to frames.
    Type: Grant
    Filed: April 1, 2011
    Date of Patent: July 2, 2013
    Assignee: Apple Inc.
    Inventors: Xiaochun Nie, Thomas Pun, Hsi-Jung Wu
  • Patent number: 8451911
    Abstract: Some embodiments of the invention provide a method of decoding an encoded video signal that includes a plurality of successive encoded images. The method initially receives an encoded image of the video signal. It then decodes the encoded image. The method next examines the decoded image to determine whether the decoded image satisfies at least one criterion for performing a post-filter operation on the decoded image. Only if the decoded image satisfies the criterion, the method performs the post-filter operation on the decoded image. The criterion in some embodiments is whether the amount of time for applying the post-filter operation exceeds the remaining amount of time that the method has to process the received image. Some embodiments of the invention provide a method of post-filtering a current image that was decoded from an encoded video signal, which includes a plurality of successive encoded images. The current image has several sub-sections. The method selects a sub-section of the current image.
    Type: Grant
    Filed: June 9, 2008
    Date of Patent: May 28, 2013
    Assignee: Apple Inc.
    Inventors: Thomas Pun, Maynard Handley, Roger Kumar, Xiaochun Nie, Hsi-Jung Wu
  • Patent number: 8428127
    Abstract: A rate controller for allocating a bit budget for video frames to be encoded is disclosed. The rate controller of the present invention considers many different factors when determining the frame bit budget including: desired video quality, target bit rate, frame type (intra-frame or inter-frame), frame duration, intra-frame frequency, frame complexity, intra-block frequency within an intra-frame, buffer overflow, buffer underflow, and the encoded video frame quality for a possible second pass.
    Type: Grant
    Filed: June 30, 2008
    Date of Patent: April 23, 2013
    Assignee: Apple Inc.
    Inventors: Xiaochun Nie, Thomas Pun, Roger Kumar, Hsi-Jung Wu
  • Patent number: 8406293
    Abstract: A novel multi-pass encoding method that encodes several images (e.g., several frames of a video sequence) is described. The method iteratively performs an encoding operation that encodes these images. The encoding operation is based on a nominal quantization parameter, which the method uses to compute quantization parameter for the images. During several different iterations of the encoding operation, the method uses several different nominal quantization parameters. The method stops its iterations when it reaches a terminating criterion (e.g., it identifies an acceptable encoding of the images).
    Type: Grant
    Filed: April 28, 2005
    Date of Patent: March 26, 2013
    Assignee: Apple Inc.
    Inventors: Xin Tong, Hsi Jung Wu, Thomas Pun, Adriana Dumitras, Barin Geoffry Haskell, Jim Normile
  • Patent number: 8325808
    Abstract: Some embodiments of the invention provide a method for encoding a video signal that is formed by a series of successive images. Each image includes several sections, and each section has a set of image values. To encode a particular section of a particular image, the method initially partitions the particular section into several sub-sections. For each of at least two particular sub-sections, the method then computes a statistical parameter regarding the image values of the particular sub-section. The method compares the computed statistical parameters, and based on the comparison, selects an encoding technique from a set of encoding techniques to encode the particular section. In some embodiments, the set of encoding schemes includes a first scheme that encodes the selected section without reference to any other section of any other image, and a second scheme that encodes the selected section by reference to at least one other section.
    Type: Grant
    Filed: April 12, 2011
    Date of Patent: December 4, 2012
    Assignee: Apple Inc.
    Inventors: Thomas Pun, Roger Kumar, Xiaochun Nie, Hsi-Jung Wu
  • Publication number: 20120294359
    Abstract: A method for decoding a compressed video data sequence containing one or more coded pixel blocks. The compressed video sequence is buffered. Prediction information for each of the coded pixel blocks is reviewed. One or more groups of coded pixel blocks are formed based on the reviewed prediction information such that the coded pixel blocks within a given group have similar prediction dependencies and/or at least do not depend on a reconstructed pixel within a group of received pixel blocks to enable parallel decoding. The formed groups are scheduled for processing and subsequently decoded to produce a decoded video data sequence.
    Type: Application
    Filed: July 30, 2012
    Publication date: November 22, 2012
    Applicant: APPLE INC.
    Inventors: Thomas Pun, Paul Chang, Hsi-Jung Wu
  • Publication number: 20120287227
    Abstract: Some embodiments provide an architecture for establishing multi-participant video conferences. This architecture has a central distributor that receives video images from two or more participants. From the received images, the central distributor generates composite images that the central distributor transmits back to the participants. Each composite image includes a set of sub images, where each sub image belongs to one participant. In some embodiments, the central distributor saves network bandwidth by removing each particular participant's image from the composite image that the central distributor sends to the particular participant. In some embodiments, images received from each participant are arranged in the composite in a non-interleaved manner. For instance, in some embodiments, the composite image includes at most one sub-image for each participant, and no two sub-images are interleaved.
    Type: Application
    Filed: July 27, 2012
    Publication date: November 15, 2012
    Inventors: Thomas Pun, Hsi Jung Wu, Hyeonkuk Jeong
  • Patent number: 8296348
    Abstract: Some embodiments of the invention provide a method of performing a Discrete Cosine Transform (“DCT”) encoding or decoding coefficients of a data array by (1) multiplying the coefficients by a scalar value before the encoding or decoding, and then (2) dividing the encoded or decoded coefficients by the scalar value. When used in conjunction with fixed-point arithmetic, this method increases the precision of the encoded and decoded results. In addition, some embodiments provide a method of performing a two-dimensional (2D) Inverse Discrete Cosine Transform (“iDCT”). This method splits a pre-multiplication operation of the iDCT into two or more separate stages. When used in conjunction with fixed-point arithmetic, this splitting increases the precision of the decoded results of the iDCT.
    Type: Grant
    Filed: February 25, 2008
    Date of Patent: October 23, 2012
    Assignee: Apple Inc.
    Inventors: Roger Kumar, Maynard Handley, Thomas Pun, Xiaochun Nie, Hsi-Jung Wu
  • Publication number: 20120250761
    Abstract: Some embodiments of the invention provide a multi-pass encoding method that encodes several images (e.g., several frames of a video sequence). The method iteratively performs an encoding operation that encodes these images. The encoding operation is based on a nominal quantization parameter, which the method uses to compute quantization parameters for the images. During several different iterations of the encoding operation, the method uses several different nominal quantization parameters. The method stops its iterations when it reaches a terminating criterion (e.g., it identifies an acceptable encoding of the images).
    Type: Application
    Filed: April 3, 2012
    Publication date: October 4, 2012
    Inventors: Xin Tong, Hsi Jung Wu, Thomas Pun, Adriana Dumitras, Barin Geoffry Haskell, Jim Normile
  • Patent number: 8269816
    Abstract: Some embodiments provide an architecture for establishing multi-participant video conferences. This architecture has a central distributor that receives video images from two or more participants. From the received images, the central distributor generates composite images that the central distributor transmits back to the participants. Each composite image includes a set of sub images, where each sub image belongs to one participant. In some embodiments, the central distributor saves network bandwidth by removing each particular participant's image from the composite image that the central distributor sends to the particular participant. In some embodiments, images received from each participant are arranged in the composite in a non-interleaved manner. For instance, in some embodiments, the composite image includes at most one sub-image for each participant, and no two sub-images are interleaved.
    Type: Grant
    Filed: February 8, 2010
    Date of Patent: September 18, 2012
    Assignee: Apple Inc.
    Inventors: Thomas Pun, Hsi Jung Wu, Hyeonkuk Jeong
  • Patent number: 8254459
    Abstract: Some embodiments of the invention provide a method for adaptively performing motion estimation. In some embodiments, the method initially performs a first motion estimation operation. It then determines whether the estimated error in the result of the first motion estimation is greater than a particular threshold. If not, the method uses the results of the first motion estimation operation. Otherwise, the method selects another motion estimation operation. The method continues in this manner until it performs a motion estimation operation that results in an acceptable estimated error, or until it tries all the motion estimation operations at its disposal. When the method cannot identify a motion estimation operation that produces results with an acceptable estimated error, the method selects the result of the motion estimation operation that produced the best results.
    Type: Grant
    Filed: May 3, 2010
    Date of Patent: August 28, 2012
    Assignee: Apple Inc.
    Inventors: Roger Kumar, Thomas Pun, Xiaochun Nie, Hsi-Jung Wu
  • Patent number: 8233535
    Abstract: A method for decoding a compressed video data sequence containing one or more coded pixel blocks The compressed video sequence is buffered. Prediction information for each of the coded pixel blocks is reviewed. One or more groups of coded pixel blocks are formed based on the reviewed prediction information such that the coded pixel blocks within a given group have similar prediction dependencies and/or at least do not depend on a reconstructed pixel within a group of received pixel blocks to enable parallel decoding. The formed groups are scheduled for processing and subsequently decoded to produce a decoded video data sequence.
    Type: Grant
    Filed: August 4, 2006
    Date of Patent: July 31, 2012
    Assignee: Apple Inc.
    Inventors: Thomas Pun, Paul Chang, Hsi-Jung Wu
  • Patent number: 8208536
    Abstract: A method is used for specifying a bit allocation for encoding a set of images in a sequence of video images. The method computes a masking value for one or more images. The method computes a bit allocation for a current image based on the computed masking value of one or more images. The method further ascertains a total number of bits used for images that have been already encoded before computing the bit allocation. The computed bit allocation for the current image is also based on the total number of bits used. The method specifies a bit allocation for the current image by specifying a quantization parameter (QP) value for the current image. The method then adjusts the specified QP value based on a categorization of the current image.
    Type: Grant
    Filed: April 28, 2005
    Date of Patent: June 26, 2012
    Assignee: Apple Inc.
    Inventors: Thomas Pun, Hsi Jung Wu, Adriana Dumitras
  • Publication number: 20120155541
    Abstract: A method for encoding a first set of pixels in a first image in a sequence of images. From a set of encoding modes, the method selects a first mode for encoding the first set of pixels. The method then determines whether encoding the first set of pixels in the first mode satisfies a set of quality criteria. The method foregoes encoding the first set of pixels in a second mode from the set of encoding modes, when the first mode encoding satisfies the set of quality criteria. Some embodiments provide a video encoding method that examines different methods for encoding a set of pixels in a first image. From a list of possible encoding modes, the method eliminates a set of encoding modes that are not likely to provide a suitable encoding solution. The method then examines different encoding solutions based on the remaining encoding modes in the list.
    Type: Application
    Filed: December 21, 2011
    Publication date: June 21, 2012
    Inventors: Roger Kumar, Thomas Pun, Hsi Jung Wu