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).
-
Patent number: 9292899Abstract: 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: GrantFiled: September 25, 2013Date of Patent: March 22, 2016Assignee: Apple Inc.Inventors: Marc A. Schaub, Joseph J. Cheng, Mark P. Rygh, Guy Cote
-
Publication number: 20160021385Abstract: 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: ApplicationFiled: July 17, 2014Publication date: January 21, 2016Applicant: APPLE INC.Inventors: Jim C. Chou, Mark P. Rygh
-
Patent number: 9224186Abstract: Memory latency tolerance methods and apparatus for maintaining an overall level of performance in block processing pipelines that prefetch reference data into a search window. In a general memory latency tolerance method, search window processing in the pipeline may be monitored. If status of search window processing changes in a way that affects pipeline throughput, then pipeline processing may be modified. The modification may be performed according to no stall methods, stall recovery methods, and/or stall prevention methods. In no stall methods, a block may be processed using the data present in the search window without waiting for the missing reference data. In stall recovery methods, the pipeline is allowed to stall, and processing is modified for subsequent blocks to speed up the pipeline and catch up in throughput. In stall prevention methods, processing is adjusted in advance of the pipeline encountering a stall condition.Type: GrantFiled: September 27, 2013Date of Patent: December 29, 2015Assignee: Apple Inc.Inventors: Mark P. Rygh, Guy Cote, Timothy John Millet, Joseph J. Cheng
-
Patent number: 9218639Abstract: A knight's order processing method for block processing pipelines in which the next block input to the pipeline is taken from the row below and one or more columns to the left in the frame. The knight's order method may provide spacing between adjacent blocks in the pipeline to facilitate feedback of data from a downstream stage to an upstream stage. The rows of blocks in the input frame may be divided into sets of rows that constrain the knight's order method to maintain locality of neighbor block data. Invalid blocks may be input to the pipeline at the left of the first set of rows and at the right of the last set of rows, and the sets of rows may be treated as if they are horizontally arranged rather than vertically arranged, to maintain continuity of the knight's order algorithm.Type: GrantFiled: September 27, 2013Date of Patent: December 22, 2015Assignee: Apple Inc.Inventors: Guy Cote, Mark P. Rygh, Timothy John Millet, Jim C. Chou, Joseph J. Cheng
-
Publication number: 20150255047Abstract: 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: ApplicationFiled: March 7, 2014Publication date: September 10, 2015Applicant: Apple Inc.Inventors: Peter F. Holland, Guy Cote, Mark P. Rygh
-
Publication number: 20150092843Abstract: 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: ApplicationFiled: September 27, 2013Publication date: April 2, 2015Applicant: 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
-
Publication number: 20150091914Abstract: A knight's order processing method for block processing pipelines in which the next block input to the pipeline is taken from the row below and one or more columns to the left in the frame. The knight's order method may provide spacing between adjacent blocks in the pipeline to facilitate feedback of data from a downstream stage to an upstream stage. The rows of blocks in the input frame may be divided into sets of rows that constrain the knight's order method to maintain locality of neighbor block data. Invalid blocks may be input to the pipeline at the left of the first set of rows and at the right of the last set of rows, and the sets of rows may be treated as if they are horizontally arranged rather than vertically arranged, to maintain continuity of the knight's order algorithm.Type: ApplicationFiled: September 27, 2013Publication date: April 2, 2015Applicant: Apple Inc.Inventors: Guy Cote, Mark P. Rygh, Timothy John Millet, Jim C. Chou, Joseph J. Cheng
-
Publication number: 20150091921Abstract: 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: ApplicationFiled: September 27, 2013Publication date: April 2, 2015Applicant: Apple Inc.Inventors: Guy Cote, Timothy John Millet, Joseph J. Cheng, Mark P. Rygh, Jim C. Chou
-
Publication number: 20150091920Abstract: Memory latency tolerance methods and apparatus for maintaining an overall level of performance in block processing pipelines that prefetch reference data into a search window. In a general memory latency tolerance method, search window processing in the pipeline may be monitored. If status of search window processing changes in a way that affects pipeline throughput, then pipeline processing may be modified. The modification may be performed according to no stall methods, stall recovery methods, and/or stall prevention methods. In no stall methods, a block may be processed using the data present in the search window without waiting for the missing reference data. In stall recovery methods, the pipeline is allowed to stall, and processing is modified for subsequent blocks to speed up the pipeline and catch up in throughput. In stall prevention methods, processing is adjusted in advance of the pipeline encountering a stall condition.Type: ApplicationFiled: September 27, 2013Publication date: April 2, 2015Applicant: Apple Inc.Inventors: Mark P. Rygh, Guy Cote, Timothy John Millet, Joseph J. Cheng
-
Publication number: 20150084970Abstract: 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: ApplicationFiled: September 25, 2013Publication date: March 26, 2015Applicant: Apple Inc.Inventors: Marc A. Schaub, Joseph J. Cheng, Mark P. Rygh, Guy Cote
-
Patent number: 8487797Abstract: A method of operating an electronic video device such as a DVD player, wherein video clock signals and audio clock signals are derived from a system clock signal using two phase-lock loops, and these video and audio clock signals are used to process encoded video data and encoded audio data, but digital-to-analog conversion of the audio data stream is controlled by the system clock signal rather than the audio clock signals. By using the system clock signal to control the audio digital-to-analog converter (DAC), the DAC avoids the poor performance issues that can arise from jitter introduced into the audio clock signals by the PLL. The system clock signal may be divided by an integer to generate the sampling clock for the audio DAC. In the illustrative embodiment, the system clock signal has a rate which is not an integer multiple of the sample rate of the audio data stream.Type: GrantFiled: September 23, 2010Date of Patent: July 16, 2013Assignee: Magnum Semiconductor, Inc.Inventors: John L. Melanson, Mark P. Rygh
-
Patent number: 8378867Abstract: A method of operating an electronic video device such as a DVD player, wherein video clock signals and audio clock signals are derived from a system clock signal using two phase-lock loops, and these video and audio clock signals are used to process encoded video data and encoded audio data, but digital-to-analog conversion of the audio data stream is controlled by the system clock signal rather than the audio clock signals. By using the system clock signal to control the audio digital-to-analog converter (DAC), the DAC avoids the poor performance issues that can arise from jitter introduced into the audio clock signals by the PLL. The system clock signal may be divided by an integer to generate the sampling clock for the audio DAC. In the illustrative embodiment, the system clock signal has a rate which is not an integer multiple of the sample rate of the audio data stream.Type: GrantFiled: August 19, 2009Date of Patent: February 19, 2013Assignee: Magnum Semiconductor, Inc.Inventors: John L. Melanson, Mark P. Rygh
-
Publication number: 20110016344Abstract: A method of operating an electronic video device such as a DVD player, wherein video clock signals and audio clock signals are derived from a system clock signal using two phase-lock loops, and these video and audio clock signals are used to process encoded video data and encoded audio data, but digital-to-analog conversion of the audio data stream is controlled by the system clock signal rather than the audio clock signals. By using the system clock signal to control the audio digital-to-analog converter (DAC), the DAC avoids the poor performance issues that can arise from jitter introduced into the audio clock signals by the PLL. The system clock signal may be divided by an integer to generate the sampling clock for the audio DAC. In the illustrative embodiment, the system clock signal has a rate which is not an integer multiple of the sample rate of the audio data stream.Type: ApplicationFiled: September 23, 2010Publication date: January 20, 2011Inventors: John L. Melanson, Mark P. Rygh
-
Publication number: 20090310941Abstract: A method of operating an electronic video device such as a DVD player, wherein video clock signals and audio clock signals are derived from a system clock signal using two phase-lock loops, and these video and audio clock signals are used to process encoded video data and encoded audio data, but digital-to-analog conversion of the audio data stream is controlled by the system clock signal rather than the audio clock signals. By using the system clock signal to control the audio digital-to-analog converter (DAC), the DAC avoids the poor performance issues that can arise from jitter introduced into the audio clock signals by the PLL. The system clock signal may be divided by an integer to generate the sampling clock for the audio DAC. In the illustrative embodiment, the system clock signal has a rate which is not an integer multiple of the sample rate of the audio data stream.Type: ApplicationFiled: August 19, 2009Publication date: December 17, 2009Inventors: John L. Melanson, Mark P. Rygh
-
Patent number: 7587131Abstract: A method of operating an electronic video device such as a DVD player, wherein video clock signals and audio clock signals are derived from a system clock signal using two phase-lock loops, and these video and audio clock signals are used to process encoded video data and encoded audio data, but digital-to-analog conversion of the audio data stream is controlled by the system clock signal rather than the audio clock signals. By using the system clock signal to control the audio digital-to-analog converter (DAC), the DAC avoids the poor performance issues that can arise from the jitter introduced into the audio clock signals by the PLL. The system clock signal may be divided by an integer to generate the sampling clock for the audio DAC. In the illustrative embodiment, the system clock signal has a rate which is not an integer multiple of the sample rate of the audio data stream. For example, the system clock rate might be 27 MHz while the sample rate of the audio data stream is 44.1 kHz.Type: GrantFiled: May 28, 2004Date of Patent: September 8, 2009Assignee: Magnum Semiconductor, Inc.Inventors: John L. Melanson, Mark P. Rygh
-
Patent number: 6400852Abstract: A system and method of performing “on-the-fly” zooming (i.e., while the video display is in-motion) having infinite value scaling is provided to give the user the ability to zoom-up by any amount while viewing. The variable “on-the-fly” zooming function is performed by a user employing a user interface device, such as a mouse, to select a window of random size in a display screen which is playing an in-motion video display. The information obtained by the user interface device is converted into scaling information and base address information and are stored into temporary registers. On the next video synchronization signal, the scaling and base address information are loaded into registers used to perform scaling on the pixel data retrieved from the frame buffer area in the video system. The new base address ensures that the pixel data is retrieved so that only the data within the window is scaled. The retrieved video data is then scaled using the new scaling information.Type: GrantFiled: December 23, 1998Date of Patent: June 4, 2002Assignee: Luxsonor Semiconductors, Inc.Inventors: Edward J. Miller, II, Mark P. Rygh