Patents by Inventor Mark P. Rygh

Mark P. Rygh 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: 20230102584
    Abstract: The present disclosure relates to systems and methods of multi-processing core processing of image frames during image encoding. The multiple processing cores may be connected via dedicated interfaces and transfer neighbor data between the processing cores to enable parallel processing of frame data. The multiple processing cores may each process quad-rows of image data for a single frame in parallel to reduce memory usage and mitigate latency in video encoding.
    Type: Application
    Filed: February 18, 2022
    Publication date: March 30, 2023
    Inventors: Liviu R Morogan, Athanasios Leontaris, Mark P Rygh, Sorin C Cismas
  • Publication number: 20230096682
    Abstract: A video encoding system encodes source image data corresponding with an image includes a low resolution pipeline that receives the source image data corresponding with a first coding block in the image. The low resolution pipeline includes a low resolution motion estimation block programmed to generate a first downscaled coding block by downscaling resolution of the source image data corresponding with the first coding block. The first downscaled coding block comprises a first downscaled prediction block corresponding with a first prediction block in the first coding block. The low resolution pipeline may also perform several low resolution motion estimation searches to generate motion vector candidates. The video encoding system also includes a main pipeline that receives the source image data and determines encoding parameters to be used to encode the first coding block based at least partially on the motion vector candidates.
    Type: Application
    Filed: March 10, 2022
    Publication date: March 30, 2023
    Inventors: Jim C Chou, Mark P Rygh, Jae Young Park
  • Patent number: 11336915
    Abstract: Systems and methods for improving operational efficiency of a video encoding system used to encode image data are provided. In embodiments, the video encoding system includes a low resolution pipeline that includes a low resolution motion estimation block, which generates downscaled image data by reducing resolution of the image data and performs a motion estimation search using the downscaled image data and previously downscaled image data. The video encoding system also includes a main encoding pipeline in parallel with the low resolution pipeline that includes a motion estimation block, which determines a global motion vector based on data from the low resolution motion estimation block. The main encoding pipeline may utilize the global motion vector in determining a candidate inter prediction mode.
    Type: Grant
    Filed: October 8, 2020
    Date of Patent: May 17, 2022
    Assignee: Apple Inc.
    Inventors: Athanasios Leontaris, Guy Côté, Mark P. Rygh
  • Patent number: 11006143
    Abstract: Systems and methods for improving operational efficiency of a video encoding system used to encode image data are provided. In embodiments, the video encoding system includes a low resolution pipeline that includes a low resolution motion estimation block, which generates downscaled image data by reducing resolution of the image data, performs a motion estimation search to determine motion vector candidates that are each indicative of location of a downscaled reference sample, and prunes one or more of the motion vector candidates. The video encoding system also includes a main pipeline that determines encoding parameters to be used to encode image data based at least partially the remaining motion vector candidates.
    Type: Grant
    Filed: July 11, 2018
    Date of Patent: May 11, 2021
    Assignee: Apple Inc.
    Inventors: Athanasios Leontaris, Mark P. Rygh
  • Publication number: 20210029376
    Abstract: Systems and methods for improving operational efficiency of a video encoding system used to encode image data are provided. In embodiments, the video encoding system includes a low resolution pipeline that includes a low resolution motion estimation block, which generates downscaled image data by reducing resolution of the image data and performs a motion estimation search using the downscaled image data and previously downscaled image data. The video encoding system also includes a main encoding pipeline in parallel with the low resolution pipeline that includes a motion estimation block, which determines a global motion vector based on data from the low resolution motion estimation block. The main encoding pipeline may utilize the global motion vector in determining a candidate inter prediction mode.
    Type: Application
    Filed: October 8, 2020
    Publication date: January 28, 2021
    Inventors: Athanasios Leontaris, Guy Côté, Mark P. Rygh
  • Patent number: 10812823
    Abstract: Systems and methods for improving operational efficiency of a video encoding system used to encode image data are provided. In embodiments, the video encoding system includes a low resolution pipeline that includes a low resolution motion estimation block, which generates downscaled image data by reducing resolution of the image data and performs a motion estimation search using the downscaled image data and previously downscaled image data. The video encoding system also includes a main encoding pipeline in parallel with the low resolution pipeline that includes a motion estimation block, which determines a global motion vector based on data from the low resolution motion estimation block. The main encoding pipeline may utilize the global motion vector in determining a candidate inter prediction mode.
    Type: Grant
    Filed: July 11, 2018
    Date of Patent: October 20, 2020
    Assignee: Apple Inc.
    Inventors: Athanasios Leontaris, Guy Côté, Mark P. Rygh
  • Patent number: 10757437
    Abstract: Block processing pipeline methods and apparatus in which. motion estimation is performed at a stage of a motion estimation module for a current block with respect to a reference frame at one or more partition sizes to determine candidate motion vectors. The candidate motion vectors may be passed to a next stage for refinement. Motion estimation may then be performed at the next stage to refine the motion vectors. In performing motion estimation at this stage, the input motion vectors of at least one partition size received from the previous stage may be used as candidate motion vectors in searches for at least one other partition size.
    Type: Grant
    Filed: July 17, 2014
    Date of Patent: August 25, 2020
    Assignee: Apple Inc.
    Inventors: Jim C. Chou, Mark P. Rygh
  • Publication number: 20200021841
    Abstract: Systems and methods for improving operational efficiency of a video encoding system used to encode image data are provided. In embodiments, the video encoding system includes a low resolution pipeline that includes a low resolution motion estimation block, which generates downscaled image data by reducing resolution of the image data and performs a motion estimation search using the downscaled image data and previously downscaled image data. The video encoding system also includes a main encoding pipeline in parallel with the low resolution pipeline that includes a motion estimation block, which determines a global motion vector based on data from the low resolution motion estimation block. The main encoding pipeline may utilize the global motion vector in determining a candidate inter prediction mode.
    Type: Application
    Filed: July 11, 2018
    Publication date: January 16, 2020
    Inventors: Athanasios Leontaris, Guy Côté, Mark P. Rygh
  • Publication number: 20200021842
    Abstract: Systems and methods for improving operational efficiency of a video encoding system used to encode image data are provided. In embodiments, the video encoding system includes a low resolution pipeline that includes a low resolution motion estimation block, which generates downscaled image data by reducing resolution of the image data, performs a motion estimation search to determine motion vector candidates that are each indicative of location of a downscaled reference sample, and prunes one or more of the motion vector candidates. The video encoding system also includes a main pipeline that determines encoding parameters to be used to encode image data based at least partially the remaining motion vector candidates.
    Type: Application
    Filed: July 11, 2018
    Publication date: January 16, 2020
    Inventors: Athanasios Leontaris, Mark P. Rygh
  • Patent number: 10477233
    Abstract: System and method for improving operational efficiency of a video encoding pipeline used to encode image data. The video encoding pipeline includes a mode decision block, which selects a first inter-frame prediction mode used to prediction encode a first prediction unit, and a motion estimation block, which receives the first inter-frame prediction mode as feedback from the mode decision block when processing a second prediction unit; determines an initial candidate inter-frame prediction mode of the second prediction unit based at least in part on the first inter-frame prediction mode; and determines a final candidate inter-frame prediction mode of the second prediction unit by performing a first motion estimation search based at least in part on the initial candidate inter-frame prediction mode.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: November 12, 2019
    Assignee: Apple Inc.
    Inventors: Jim C. Chou, Mark P. Rygh, Guy Côté
  • Patent number: 10225572
    Abstract: System and method for improving operational efficiency of a video encoding pipeline used to encode image data.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: March 5, 2019
    Assignee: Apple Inc.
    Inventors: Jim C. Chou, Mark P. Rygh, Guy Côté
  • Patent number: 10187655
    Abstract: System and method for improving operational efficiency of a video encoding pipeline used to encode image data. In embodiments, the video encoding pipeline includes a low resolution pipeline that includes a low resolution motion estimation block, which generates downscaled image data by reducing resolution of the image data and determines a low resolution inter-frame prediction mode by performing a motion estimation search using the downscaled image data and previously downscaled image data.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: January 22, 2019
    Assignee: Apple Inc.
    Inventors: Jim C. Chou, Mark P. Rygh, Guy Cõté
  • Publication number: 20170094293
    Abstract: System and method for improving operational efficiency of a video encoding pipeline used to encode image data.
    Type: Application
    Filed: September 30, 2015
    Publication date: March 30, 2017
    Inventors: Jim C. Chou, Mark P. Rygh, Guy Côté
  • Publication number: 20170094311
    Abstract: System and method for improving operational efficiency of a video encoding pipeline used to encode image data. In embodiments, the video encoding pipeline includes a low resolution pipeline that includes a low resolution motion estimation block, which generates downscaled image data by reducing resolution of the image data and determines a low resolution inter-frame prediction mode by performing a motion estimation search using the downscaled image data and previously downscaled image data.
    Type: Application
    Filed: September 30, 2015
    Publication date: March 30, 2017
    Inventors: Jim C. Chou, Mark P. Rygh, Guy Côté
  • Publication number: 20170094304
    Abstract: System and method for improving operational efficiency of a video encoding pipeline used to encode image data. The video encoding pipeline includes a mode decision block, which selects a first inter-frame prediction mode used to prediction encode a first prediction unit, and a motion estimation block, which receives the first inter-frame prediction mode as feedback from the mode decision block when processing a second prediction unit; determines an initial candidate inter-frame prediction mode of the second prediction unit based at least in part on the first inter-frame prediction mode; and determines a final candidate inter-frame prediction mode of the second prediction unit by performing a first motion estimation search based at least in part on the initial candidate inter-frame prediction mode.
    Type: Application
    Filed: September 30, 2015
    Publication date: March 30, 2017
    Inventors: Jim C. Chou, Mark P. Rygh, Guy Côté
  • Patent number: 9571846
    Abstract: Block processing pipeline methods and apparatus in which reference data are stored to a memory according to tile formats to reduce memory accesses when fetching the data from the memory. When the pipeline stores reference data from a current frame being processed to memory as a reference frame, the reference samples are stored in macroblock sequential order. Each macroblock sample set is stored as a tile. Reference data may be stored in tile formats for luma and chroma. Chroma reference data may be stored in tile formats for chroma 4:2:0, 4:2:2, and/or 4:4:4 formats. A stage of the pipeline may write luma and chroma reference data for macroblocks to memory according to one or more of the macroblock tile formats in a modified knight's order. The stage may delay writing the reference data from the macroblocks until the macroblocks have been fully processed by the pipeline.
    Type: Grant
    Filed: September 27, 2013
    Date of Patent: February 14, 2017
    Assignee: Apple Inc.
    Inventors: Timothy John Millet, Mark P. Rygh, Craig M. Okruhlica, Jim C. Chou, Guy Cote, Gaurav S. Gulati, Joseph J. Cheng, Joseph P. Bratt
  • Patent number: 9472168
    Abstract: In an embodiment, a system includes a display processing unit configured to process a video sequence for a target display. In some embodiments, the display processing unit is configured to composite the frames from frames of the video sequence and one or more other image sources. The display processing unit may be configured to write the processed/composited frames to memory, and may also be configured to generate statistics over the frame data, where the generated statistics are usable to encode the frame in a video encoder. The display processing unit may be configured to write the generated statistics to memory, and the video encoder may be configured to read the statistics and the frames. The video encoder may be configured to encode the frame responsive to the statistics.
    Type: Grant
    Filed: March 7, 2014
    Date of Patent: October 18, 2016
    Assignee: Apple Inc.
    Inventors: Peter F. Holland, Guy Cote, Mark P. Rygh
  • Patent number: 9336558
    Abstract: In the video encoders described herein, blocks of pixels from a video frame may be encoded (e.g., using CAVLC encoding) in a block processing pipeline using wavefront ordering (e.g., in knight's order). Each of the encoded blocks may be written to a particular one of multiple DMA buffers such that the encoded blocks written to each of the buffers represent consecutive blocks of the video frame in scan order. A transcode pipeline may operate in parallel with (or at least overlapping) the operation of the block processing pipeline. The transcode pipeline may read encoded blocks from the buffers in scan order and merge them into a single bit stream (in scan order). A transcoder core of the transcode pipeline may decode the encoded blocks and encode them using a different encoding process (e.g., CABAC). In some cases, the transcoder may be bypassed.
    Type: Grant
    Filed: September 27, 2013
    Date of Patent: May 10, 2016
    Assignee: Apple Inc.
    Inventors: Guy Cote, Timothy John Millet, Joseph J. Cheng, Mark P. Rygh, Jim C. Chou
  • Patent number: 9292899
    Abstract: Block processing pipeline methods and apparatus in which pixel data from a reference frame is prefetched into a search window memory. The search window may include two or more overlapping regions of pixels from the reference frame corresponding to blocks from the rows in the input frame that are currently being processed in the pipeline. Thus, the pipeline may process blocks from multiple rows of an input frame using one set of pixel data from a reference frame that is stored in a shared search window memory. The search window may be advanced by one column of blocks by initiating a prefetch for a next column of reference data from a memory. The pipeline may also include a reference data cache that may be used to cache a portion of a reference frame and from which at least a portion of a prefetch for the search window may be satisfied.
    Type: Grant
    Filed: September 25, 2013
    Date of Patent: March 22, 2016
    Assignee: Apple Inc.
    Inventors: Marc A. Schaub, Joseph J. Cheng, Mark P. Rygh, Guy Cote
  • Publication number: 20160021385
    Abstract: Block processing pipeline methods and apparatus in which. motion estimation is performed at a stage of a motion estimation module for a current block with respect to a reference frame at one or more partition sizes to determine candidate motion vectors. The candidate motion vectors may be passed to a next stage for refinement. Motion estimation may then be performed at the next stage to refine the motion vectors. In performing motion estimation at this stage, the input motion vectors of at least one partition size received from the previous stage may be used as candidate motion vectors in searches for at least one other partition size.
    Type: Application
    Filed: July 17, 2014
    Publication date: January 21, 2016
    Applicant: APPLE INC.
    Inventors: Jim C. Chou, Mark P. Rygh