Patents by Inventor Ola Hugosson

Ola Hugosson 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: 10652563
    Abstract: A video decoder configured to decode an encoded video bitstream comprises a first parsing unit and a second parsing unit, each configured to independently parse the encoded video bitstream to derive parsing state information therefrom on which subsequent parsing of the encoded video bitstream at least partially depends and to identify macroblock information for decoding. The encoded video bitstream comprises frame header information defining a sequence of frames and each frame is composed of macroblocks represented by macroblock information. A control unit of the video encoder allocates each frame of macroblock information to one of the two parsing units to parse. The two parsing units are both configured to parse frame header information to thereby each derive parsing state information for the encoded video bitstream, and the two parsing unit are each configured to parse macroblock information allocated to them, skipping macroblock information allocated to the other parsing unit.
    Type: Grant
    Filed: November 26, 2018
    Date of Patent: May 12, 2020
    Assignee: ARM Limited
    Inventors: Ola Hugosson, Dominic Hugo Symes
  • Patent number: 10440360
    Abstract: A video processing system includes a video processing unit (VPU) and one or more display processing units, all having access to external memory. Video data representing frames to be displayed is generated. The VPU generates pixel data representing the frames and stores it in memory. The display processing units then read the pixel data to display the frames. The VPU is configured to generate and store in memory pixel data representing reference frames for the sequence of video frames at the full resolution of the reference frame and also at at least one lower resolution to the full resolution.
    Type: Grant
    Filed: June 9, 2016
    Date of Patent: October 8, 2019
    Assignee: Arm Limited
    Inventors: Tomas Edsö, Ola Hugosson
  • Patent number: 10283073
    Abstract: A video processing system comprises a video processor and an output buffer. When a new frame is to be written to the output buffer, the video processing system determines (12) for at least a portion of the new frame whether the portion of the new frame has a particular property. When it is determined that that the portion of the new frame has the particular property (14), when a block of data representing a particular region of the portion of the new frame is to be written to the output buffer, it is compared to at least one block of data already stored in the output buffer, and a determination is made whether or not to write the block of data to the output buffer on the basis of the comparison. When it is determined that the portion of the new frame does not have the particular property (16), the portion of the new frame is written to the output buffer.
    Type: Grant
    Filed: October 1, 2015
    Date of Patent: May 7, 2019
    Assignee: Arm Limited
    Inventors: Tomas Edsö, Ola Hugosson, Dominic Symes
  • Publication number: 20190098324
    Abstract: A video decoder configured to decode an encoded video bitstream comprises a first parsing unit and a second parsing unit, each configured to independently parse the encoded video bitstream to derive parsing state information therefrom on which subsequent parsing of the encoded video bitstream at least partially depends and to identify macroblock information for decoding. The encoded video bitstream comprises frame header information defining a sequence of frames and each frame is composed of macroblocks represented by macroblock information. A control unit of the video encoder allocates each frame of macroblock information to one of the two parsing units to parse. The two parsing units are both configured to parse frame header information to thereby each derive parsing state information for the encoded video bitstream, and the two parsing unit are each configured to parse macroblock information allocated to them, skipping macroblock information allocated to the other parsing unit.
    Type: Application
    Filed: November 26, 2018
    Publication date: March 28, 2019
    Inventors: Ola HUGOSSON, Dominic Hugo SYMES
  • Patent number: 10218978
    Abstract: A data processing system comprises a video processor (3). The data processing system is configured to, when a new frame (10) is to be encoded by the video processor (3), determine for a sub-region of a set of plural sub-regions that the new frame (10) is divided into, whether the sub-region has changed from a previous frame (11), and to control the encoding operation for the new frame (10) on the basis of the determination, e.g. to avoid performing motion estimation.
    Type: Grant
    Filed: October 1, 2015
    Date of Patent: February 26, 2019
    Assignee: Arm Limited
    Inventors: Ola Hugosson, Tomas Edsö, Erik Persson
  • Patent number: 10165291
    Abstract: A video decoder configured to decode an encoded video bitstream comprises a first parsing unit and a second parsing unit, each configured to independently parse the encoded video bitstream to derive parsing state information therefrom on which subsequent parsing of the encoded video bitstream at least partially depends and to identify macroblock information for decoding. The encoded video bitstream comprises frame header information defining a sequence of frames and each frame is composed of macroblocks represented by macroblock information. A control unit of the video encoder allocates each frame of macroblock information to one of the two parsing units to parse. The two parsing units are both configured to parse frame header information to thereby each derive parsing state information for the encoded video bitstream, and the two parsing unit are each configured to parse macroblock information allocated to them, skipping macroblock information allocated to the other parsing unit.
    Type: Grant
    Filed: February 4, 2011
    Date of Patent: December 25, 2018
    Assignee: ARM Limited
    Inventors: Ola Hugosson, Dominic Hugo Symes
  • Patent number: 9906792
    Abstract: A video encoder and method of video encoding are provided. At an encoding stage a selected degree of quantization is applied to the encoding of macroblocks of the input video sequence and quantized part-encoded macroblocks are generated. Quantization circuitry in the encoding stage is configured to select the selected degree of quantization for each macroblock in a current slice in dependence on a complexity estimate indicative of the expected entropy encoding complexity of a predetermined set of the quantized part-encoded macroblocks defined for that macroblock.
    Type: Grant
    Filed: January 14, 2015
    Date of Patent: February 27, 2018
    Assignee: ARM Limited
    Inventors: Dominic Hugo Symes, Ola Hugosson, Erik Persson
  • Patent number: 9591319
    Abstract: A video encoding apparatus for encoding a video stream comprises a reference frame cache for reference frame video data retrieved from a reference frame storage unit in external memory, which is derived from an individual frame of the video stream. First and second source frame storage units store first and second blocks of unencoded video data taken from first and second source frames of the video stream, respectively. First and second video encoders perform first and second encoding operations to encode the first and second blocks of unencoded video data with reference to the reference frame video data cached in the reference frame cache, respectively. The first video encoder and the second video encoder perform the first encoding operation and the second encoding operation in parallel with one another.
    Type: Grant
    Filed: December 16, 2010
    Date of Patent: March 7, 2017
    Assignee: ARM Limited
    Inventors: Ola Hugosson, Erik Persson
  • Publication number: 20160366408
    Abstract: A video processing system includes a video processing unit (VPU) and one or more display processing units, all having access to external memory. Video data representing frames to be displayed is generated. The VPU generates pixel data representing the frames and stores it in memory. The display processing units then read the pixel data to display the frames. The VPU is configured to generate and store in memory pixel data representing reference frames for the sequence of video frames at the full resolution of the reference frame and also at at least one lower resolution to the full resolution.
    Type: Application
    Filed: June 9, 2016
    Publication date: December 15, 2016
    Applicant: ARM Limited
    Inventors: Tomas Edsö, Ola Hugosson
  • Patent number: 9471493
    Abstract: A data processing apparatus and corresponding method of data processing are provided. The data processing apparatus comprises a temporary data store configured to store data items retrieved from a memory, wherein the temporary data store selects one of its plural data storage locations in which to store a newly retrieved data item according to a predetermined circular sequence. An index data store is configured to store index items corresponding to the data items stored in the temporary data store, wherein presence of a valid index item in the index data store is indicative of a corresponding data item in the temporary data store. Invalidation control circuitry performs a rolling invalidation process with respect to the index items stored in the index data store, comprising sequentially processing the index items stored in the index data store and selectively marking the index items as invalid according to a predetermined criterion.
    Type: Grant
    Filed: December 2, 2014
    Date of Patent: October 18, 2016
    Assignee: ARM Limited
    Inventors: Erik Persson, Ola Hugosson
  • Publication number: 20160098814
    Abstract: A video processing system comprises a video processor and an output buffer. When a new frame is to be written to the output buffer, the video processing system determines (12) for at least a portion of the new frame whether the portion of the new frame has a particular property. When it is determined that that the portion of the new frame has the particular property (14), when a block of data representing a particular region of the portion of the new frame is to be written to the output buffer, it is compared to at least one block of data already stored in the output buffer, and a determination is made whether or not to write the block of data to the output buffer on the basis of the comparison. When it is determined that the portion of the new frame does not have the particular property (16), the portion of the new frame is written to the output buffer.
    Type: Application
    Filed: October 1, 2015
    Publication date: April 7, 2016
    Applicant: ARM Limited
    Inventors: Tomas Edsö, Ola Hugosson, Dominic Symes
  • Publication number: 20160100172
    Abstract: A data processing system comprises a video processor (3). The data processing system is configured to, when a new frame (10) is to be encoded by the video processor (3), determine for a sub-region of a set of plural sub-regions that the new frame (10) is divided into, whether the sub-region has changed from a previous frame (11), and to control the encoding operation for the new frame (10) on the basis of the determination, e.g. to avoid performing motion estimation.
    Type: Application
    Filed: October 1, 2015
    Publication date: April 7, 2016
    Applicant: ARM Limited
    Inventors: Ola Hugosson, Tomas Edsö, Erik Persson
  • Patent number: 9213650
    Abstract: A data processing apparatus is provided comprising a plurality of master devices configured to issue memory access requests including virtual addresses. A memory management unit is configured to receive memory access requests and to translate a virtual address included in a memory access request from a requesting master device into a physical address indicating a storage location in memory. The memory management unit has an internal storage unit having a plurality of entries wherein indications of corresponding virtual address portions and physical address portions are stored. The memory management unit is configured to select an entry of the internal storage unit in dependence on the virtual address and an identifier of the requesting master device. Conflict between the master devices in their usage of the internal storage unit is thus avoided.
    Type: Grant
    Filed: December 4, 2014
    Date of Patent: December 15, 2015
    Assignee: ARM Limited
    Inventors: Erik Persson, Ola Hugosson, Andreas Bjorklund
  • Patent number: 9189646
    Abstract: A data processing apparatus is provided, comprising plural processing units configured to execute plural processes, a storage unit configured to store data required for the plural processes; and a protection unit configured to control access by the plural processes to the storage unit. The protection unit is configured to define an allocated access region of the storage unit for each process of the plural processes, wherein the protection unit is configured to deny access for each the process outside the allocated access region and wherein allocated access regions are defined to be non-overlapping. The protection unit is configured to define each allocated access region as a contiguous portion of the storage unit between a lower region limit and an upper region limit, and the protection unit is configured such that when the lower region limit is modified the lower region limit cannot be decreased and such that when the upper region limit is modified the upper region limit cannot be decreased.
    Type: Grant
    Filed: February 5, 2014
    Date of Patent: November 17, 2015
    Assignee: ARM Limited
    Inventors: Ola Hugosson, Erik Persson, Dominic Hugo Symes
  • Patent number: 9116790
    Abstract: A data array 20 to be stored is first divided into a plurality of blocks 21. Each block 21 is further sub-divided into a set of sub-blocks 22, and a set of data for each sub-block 22 is then stored in a body data buffer 30. A header data block 23 is stored for each block 21 at a predictable memory address within a header buffer 24. Each header data block contains pointer data indicating the position within the body buffer 30 where the data for the sub-blocks for the block 21 that that header data block 23 relates to is stored, and data indicating the size of the stored data for each respective sub-block 22.
    Type: Grant
    Filed: August 3, 2012
    Date of Patent: August 25, 2015
    Assignee: ARM LIMITED
    Inventors: Jorn Nystad, Ola Hugosson, Oskar Flordal
  • Publication number: 20150237346
    Abstract: A video encoder and method of video encoding are provided. At an encoding stage a selected degree of quantization is applied to the encoding of macroblocks of the input video sequence and quantized part-encoded macroblocks are generated. Quantization circuitry in the encoding stage is configured to select the selected degree of quantization for each macroblock in a current slice in dependence on a complexity estimate indicative of the expected entropy encoding complexity of a predetermined set of the quantized part-encoded macroblocks defined for that macroblock.
    Type: Application
    Filed: January 14, 2015
    Publication date: August 20, 2015
    Inventors: Dominic Hugo SYMES, Ola HUGOSSON, Erik PERSSON
  • Publication number: 20150169452
    Abstract: A data processing apparatus and corresponding method of data processing are provided. The data processing apparatus comprises a temporary data store configured to store data items retrieved from a memory, wherein the temporary data store selects one of its plural data storage locations in which to store a newly retrieved data item according to a predetermined circular sequence. An index data store is configured to store index items corresponding to the data items stored in the temporary data store, wherein presence of a valid index item in the index data store is indicative of a corresponding data item in the temporary data store. Invalidation control circuitry performs a rolling invalidation process with respect to the index items stored in the index data store, comprising sequentially processing the index items stored in the index data store and selectively marking the index items as invalid according to a predetermined criterion.
    Type: Application
    Filed: December 2, 2014
    Publication date: June 18, 2015
    Inventors: Erik PERSSON, Ola HUGOSSON
  • Patent number: 9014496
    Abstract: To encode and compress a data array 30, the data array 30 is first divided into a plurality of blocks 31. A quadtree representation is then generated for each block 31 by initializing each leaf node of the quadtree to the value of the data element of the block 31 of the data array 30 that the leaf node corresponds to, and initializing each non-leaf node to the minimum value of its child nodes, and then subtracting from each node except the root node the value of its parent node. A set of data indicating the differences between respective parent and child node values in the quadtree representing the block of the data array is then generated and stored, together with a set of data representing a quadtree indicating the number of bits that have been used to signal the respective difference values.
    Type: Grant
    Filed: August 3, 2012
    Date of Patent: April 21, 2015
    Assignee: Arm Limited
    Inventors: Jorn Nystad, Oskar Flordal, Jeremy Davies, Ola Hugosson
  • Publication number: 20150089148
    Abstract: A data processing apparatus is provided comprising a plurality of master devices configured to issue memory access requests including virtual addresses. A memory management unit is configured to receive memory access requests and to translate a virtual address included in a memory access request from a requesting master device into a physical address indicating a storage location in memory. The memory management unit has an internal storage unit having a plurality of entries wherein indications of corresponding virtual address portions and physical address portions are stored. The memory management unit is configured to select an entry of the internal storage unit in dependence on the virtual address and an identifier of the requesting master device. Conflict between the master devices in their usage of the internal storage unit is thus avoided.
    Type: Application
    Filed: December 4, 2014
    Publication date: March 26, 2015
    Inventors: Erik PERSSON, Ola HUGOSSON, Andreas BJORKLUND
  • Patent number: 8990518
    Abstract: A data array 20 to be stored is first divided into a plurality of blocks 21. Each block 21 is further sub-divided into a set of sub-blocks 22, and a set of data for each sub-block 22 is then stored in one or more body blocks 25. A header data block 23 is stored for each block 21 at a predictable memory address within a header buffer 24. Each header data block contains pointer data indicating the position within a body block 25 where the data for the sub-blocks for the block 21 that that header data block 23 relates to is stored, and data indicating the size of the stored data for each respective sub-block 22.
    Type: Grant
    Filed: August 4, 2011
    Date of Patent: March 24, 2015
    Assignee: Arm Limited
    Inventors: Jorn Nystad, Ola Hugosson