Abstract:
To perform motion estimation for a video frame block to be encoded, a difference measure is determined for each of a plurality of reference frame block positions at a first, coarser resolution. The determined difference measures are then used estimate difference measures for reference frame blocks at positions at a second resolution that is finer than the first resolution. The estimated second, finer position resolution difference measures are then used to select a set of reference frame block positions for which to determine “full” difference measures. The determined “full” difference measures for each of the selected reference frame block positions are then used to select the reference frame block position to use when encoding the frame block and a motion vector corresponding to that reference frame block position is associated with and encoded for the frame block being encoded.
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.
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.
Abstract:
The present disclosure relates generally to multi-processor arrangements and, more particularly, to broadcast hubs for multi-processor arrangements. A processing tile may comprise a broadcast hub to obtain a plurality of parameters applicable in a particular operation from at least one of a plurality of processing tiles and initiate distribution of the plurality of parameters to the plurality of processing tiles, wherein the plurality of processing tiles may execute the particular operation based at least in part on the plurality of distributed parameters.
Abstract:
A head-mounted display (HMD) comprising a first side for facing a user of the HMD, a second side opposite to the first side, and a reflective layer for at least partially reflecting incident light incident on the second side. At least one processor of the HMD is configured to obtain luminance data indicative of a luminance of the incident light and control a display device, based on the luminance data, to control a luminance of a portion of emitted light directed towards the user of the HMD during the display of the image. Further examples relate to an HMD with a display device configured to emit light of at least one predetermined wavelength range during display of an image by the display device, and a layer arranged to at least partially prevent transmission of the light of the at least one predetermined wavelength range outward from the HMD.
Abstract:
A producer processing unit of a data processing system that is producing a stream of data for use by one or more consumer processing units of the data processing system maintains a record that is accessible to the consumer processing units of a position in the data stream for which it has written data to memory. The consumer processing units then control their reading of the data stream from the memory in accordance with the write position record maintained by the producer processing unit.
Abstract:
A scaling apparatus for scaling data arrays, such as images, comprises first horizontal scaling stage circuitry operable to scale a data array input to the scaling apparatus in the horizontal direction, one or more line memories for storing horizontal lines for a data array, wherein the or each line memory is for storing a horizontal line of data for the data array, vertical scaling stage circuitry operable to read data stored in the one or more line memories and to scale the read data in the vertical direction, and second horizontal scaling stage circuitry operable to scale a data array in the horizontal direction.
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.
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.
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.