Настройки

Укажите год
-

Небесная энциклопедия

Космические корабли и станции, автоматические КА и методы их проектирования, бортовые комплексы управления, системы и средства жизнеобеспечения, особенности технологии производства ракетно-космических систем

Подробнее
-

Мониторинг СМИ

Мониторинг СМИ и социальных сетей. Сканирование интернета, новостных сайтов, специализированных контентных площадок на базе мессенджеров. Гибкие настройки фильтров и первоначальных источников.

Подробнее

Форма поиска

Поддерживает ввод нескольких поисковых фраз (по одной на строку). При поиске обеспечивает поддержку морфологии русского и английского языка
Ведите корректный номера.
Ведите корректный номера.
Ведите корректный номера.
Ведите корректный номера.
Укажите год
Укажите год

Применить Всего найдено 59. Отображено 59.
09-05-2018 дата публикации

Updating data stored in a memory

Номер: GB0002555633A
Принадлежит:

Updating data in a memory region 514 comprises reading in data 806, updating, particularly decompressing, the data 806, and then writing back the updated data 806 to memory avoiding overwriting data 808 that is yet to be read in from the memory region 514 by writing back the updated data 806 for the first group 802 starting at a selected memory address, for example other than the start address of the memory region 514. The data 808 can then be read in and updated, and the updated data 808 written back to memory without overwriting the updated data 806. When the end of the memory region is reached, the writing back may return to the start address of the memory region and continues to write the updated data from there. The data can be written back to the same region or a different region from which it was read. This reduces the amount of memory bandwidth and local cache used when updating the data.

Подробнее
21-10-2020 дата публикации

Data processing systems

Номер: GB0002583061A
Принадлежит:

Encoding image or graphics texture map data by dividing the array into block and representing sample data of each block using a tree or quadtree. The image or texture data is intended for display such that higher resolution is required in central or foveal regions, so the tree data may be truncated to store lower spatial resolution data for certain blocks. Each node of a tree is associated with a differential value that is added to a pixel value derived from a parent node to derive a pixel value for the current node. In this way, when truncated at a node, the sample of the block represented by the node is populated by the pixel value associated to the node. Preferably this is either a minimum value 65 or an average 63 of the pixels in the associated sub-block of the data array. Data indicative of a resolution that is to be used by the consumer circuitry such as a graphics processor or a display for at least one region of the array of data elements is provided to the encoding circuitry, ...

Подробнее
17-01-2018 дата публикации

Accessing encoded blocks of data in memory

Номер: GB0002552136A
Принадлежит:

Graphic data, relating to a two dimensional image 500, is divided into blocks 512-518. The blocks are grouped into tiles 502, 504 of adjacent blocks. The blocks are compressed and are stored in memory 530. Blocks from the same tile are stored near one another. Headers 520-526, with pointers to the blocks, may be stored in memory 510. The headers for blocks from the same tile are stored near on another. The headers may be stored in Morton or Z-order or in a scan-line order. The data may be graphics texture data or frames for display.

Подробнее
21-10-2020 дата публикации

Data processing systems

Номер: GB0002575030B
Принадлежит: ADVANCED RISC MACH LTD, ARM Limited

Подробнее
01-01-2020 дата публикации

Data processing systems

Номер: GB0002575030A
Принадлежит:

A data processing (and specifically a video processing) system, and method for operating such, includes a (video) data processing unit that produces a sequence of data outputs (frames) of (video) data for use by consumer processing units of the (video) data processing system. The system also includes a shared memory (30) for storing a sequence of (frames of video) data outputs produced by the (video) data processing unit. The (video) data processing unit encodes data outputs (frames) as encoded blocks of data, storing a particular encoded block of a first data output (frame) in a first location (32) in the shared memory and an indication (34) of the first location. The (video) data processing unit stores a corresponding encoded block of a second data output (frame) in a second, different location (33) and updates the indication (34) to also include the second location. The encoded block of data of the first frame may not be overwritten by the corresponding encoded block of data from the ...

Подробнее
04-10-2017 дата публикации

Graphics processing systems

Номер: GB0002548852A
Принадлежит:

Method of operating a tile-based graphics processing pipeline, comprising: rendering graphics fragments for a tile, each fragment having a set of sampling positions associated with it; writing the rendered fragment data to a tile buffer local to the pipeline; identifying a block of sampling positions in the tile that all have the same data value; writing a compressed representation of the block of same value sampling positions to a memory. Input primitives may be rasterised and a block may be identified for which no fragments have been generated. A bitmap may be created with bits corresponding to the array of sampling positions. Storing of values (eg. colour values, transparency values, alpha values) in the buffer may be tracked and used to identify clusters with equal values. Reference values may be used. A header data block of an encoding compression scheme may be used to compress the group of identical value sampling points.

Подробнее
13-11-2019 дата публикации

Graphics Processing

Номер: GB0002573543A
Принадлежит:

A graphics processor 106 performs graphics processing in respect of a region of a render output 600. The graphics processing comprises obtaining a scaling factor 412 corresponding to a desired resolution for the region. The graphics processing further comprises, in accordance with the desired resolution, obtaining scaled graphics geometry to be rendered for the region and selecting a sub-region of the region to be rendered in respect of the region 408. The selected sub-region is then rendered using the scaled graphics geometry 414, thereby providing a sub-region of data elements 416 rendered in accordance with the desired resolution. The graphics processor 106 can provide efficient and flexible graphics processing when performing variable resolution rendering. An additional invention is disclosed comprising sampling circuitry for obtaining a value from an array corresponding to a region of a render output by mapping the sampling position to a mapped sampling position based on a particular ...

Подробнее
26-05-2021 дата публикации

Encoding data arrays

Номер: GB0002589066A
Принадлежит:

When encoding a block of data elements in an array of data elements, the data values for data elements in the block are represented and stored in a data packet as truncated data values using a subset of one or more most significant bits (MSB) of the respective bit sequences for the data values of the data elements. A rounding mode is selected from a plurality of available rounding modes that can be applied when decoding the block of data elements and an indication of the selected rounding mode is provided along with the encoded data packet. The rounding mode is associated with one or more rounding bit sequence(s) that can then be applied to the truncated data values when decoding the data packet to obtain decoded data values for the data elements in the block. Rounding modes are selected based on determining and comparing representative values for the block of data, with rounding mode choice based on the rounding mode giving closest representative values.

Подробнее
06-12-2017 дата публикации

Encoding and decoding arrays of data elements

Номер: GB0002550965A
Принадлежит:

Encoding a block of an array of data elements (e.g. graphics data values) comprises selectively writing out an encoded version of the block that is either encoded using a first encoding scheme (508), which provides encoded blocks of non-fixed data size (i.e. lossless), or that is encoded using a second encoding scheme (510), which provides encoded blocks of fixed data size (lossy). The selection of which version to write out is based a comparison of the size of the encoded block when encoded using the first encoding scheme to a threshold (506). This provides the potential for the encoded block that is written out to be compressed in a more superior manner using the first encoding scheme where possible, whilst also providing an encoded block that has a predictable maximum compressed size. Dither may be applied to the data element of the block when using the second scheme. Metadata may be written out for the encoded version of the block that is written out that indicates whether the encoded ...

Подробнее
26-02-2020 дата публикации

Updating data stored in a memory

Номер: GB0002555633B
Принадлежит: ADVANCED RISC MACH LTD, ARM Limited

Подробнее
04-10-2017 дата публикации

Data processing systems

Номер: GB0002548928A
Принадлежит:

Method of storing an array of data that comprises a plurality of data positions wherein: the array is divided into blocks; the blocks are divided into sub-blocks; data representing sub-blocks is stored in memory; for each block, a header containing data relating to that block is stored. The method comprises: determining whether all data positions in a block have the same data value; if so, storing in the header for that block: an indication that all data positions within that block have the same data value; and an indication of the data value. The array may be an image, frame or texture. Data positions may be pixels, texels or sampling positions. Data values may be a colour, luminance, chrominance, transparency, depth, light or shadow, stencil values, alpha values, gloss values, normal or bump map values. Data values may be saved uncompressed. Headers may contain: pointers to a base memory location; and sub-block size fields. Floating point numbers may be used. Blocks may be written to ...

Подробнее
25-01-2017 дата публикации

Method of and apparatus for generating a signature representative of the content of an array of data

Номер: GB0002540562A
Принадлежит:

A method and an apparatus are provided for generating a signature representative of the content of a region of an array of data in a data processing system, where the region of the array of data comprising plural data positions, and each data position having an associated data value or values. A data value or values for a data position of the region of the data array is/are generated. The data value or values for the data position of the region of the data array is/are written to storage that stores the region of the data array as it is being generated. A signature representative of the content of the region of the data array is generated in parallel with the data value or values for the data position of the region of the data array being written to the storage. The signature may be generated by a standard CRC process such as CRC64 or my other means such as MD5 or SHA 1.

Подробнее
03-05-2017 дата публикации

An interface apparatus and method of operating an interface apparatus

Номер: GB0002543736A
Принадлежит:

This application is for an interface that allows a display controller 14 to request image data from an external memory 16 using the uncompressed image data addressing scheme, i.e. spatial co-ordinate system, while the image data is stored using the compressed image data addressing scheme, i.e. block-based co-ordinate system. First the display controller requests the image data via an AXI slave interface, or first bus interface. A prefetcher 42, or encoding circuitry, uses its address translation, or conversion, circuitry to convert the spatial co-ordinates into the block-based format. It then issues a read request which goes via an AXI master interface, or second bus interface. The relevant blocks are then sent back to the display controller via a superblock decoder 62, or decoding circuitry, which decodes the compressed image data. Finally, this data is then written to a de-tiler buffer, or SRAM 40, which is then read by the de-tiler control circuitry 38 and returns the pixel data to the ...

Подробнее
04-01-2018 дата публикации

ACCESSING ENCODED BLOCKS OF DATA IN MEMORY

Номер: US20180004443A1
Принадлежит: ARM LIMITED

A method of storing encoded blocks of data in memory comprises generating headers for the encoded blocks of data. The headers are stored in memory according to a tiled layout based on tiles of plural adjacent blocks of data elements of the array of data elements. Respective sets of the encoded blocks of data are also stored in respective distinct regions of memory locations that have been allocated to those sets. The method provides an efficient way to access headers and corresponding encoded blocks of data in memory. 1. A method of storing an encoded block of data in memory , the method comprising:encoding a block of data elements of an array of data elements to generate an encoded block of data that represents the block of data elements;generating a header for the encoded block of data, wherein the header indicates a location in memory for storing the encoded block of data;writing out the header for the encoded block of data to memory, wherein the header for the encoded block of data is stored in memory according to a tiled layout, the tiled layout being formed of tiles of plural adjacent blocks of data elements of the array of data elements; andwriting out the encoded block of data to memory, wherein the encoded block of data is stored in memory at the location indicated in the header for the encoded block of data.2. A method as claimed in claim 1 , wherein the header for the encoded block of data is stored in memory based on a Morton or Z-order that traverses the tile of plural adjacent blocks of data elements to which the encoded block of data relates.3. A method as claimed in claim 1 , wherein the header for the encoded block of data is stored in memory based on a scan-line or raster order that traverses the tile of plural adjacent blocks of data elements to which the encoded block of data relates.4. A method as claimed in claim 1 , wherein respective distinct regions of memory locations are allocated to respective sets of adjacent blocks of data elements of ...

Подробнее
14-01-2021 дата публикации

METHODS AND APPARATUS FOR STORING DATA IN MEMORY IN DATA PROCESSING SYSTEMS

Номер: US20210011646A1
Принадлежит: ARM LIMITED

When storing an array of data in memory, the data array is divided into a plurality of blocks, and for respective groups of the blocks that the data array has been divided into, a set of data representing the group of blocks that includes: for each block of the group of blocks, a set of data for that block of the group of blocks; and a size indication for each of one or more of the blocks of the group of blocks, the size indication for a block of a group of blocks indicating the size in memory of the set of data for that block of the group included in the stored set of data representing the group of blocks, is stored. A set of header data is also stored separately for each group of blocks of the data array. 1. A method of storing an array of data in memory , the method comprising:dividing the array of data to be stored into a plurality of blocks; for each block of the group of blocks, a set of data for that block of the group of blocks; and', 'a size indication for each of one or more of the blocks of the group of blocks, the size indication for a block of a group of blocks indicating the size in memory of the set of data for that block of the group included in the stored set of data representing the group of blocks;, 'for at least one group of the blocks that the data array has been divided into, storing a set of data representing the group of blocks of the data array in memory, the set of data representing the group of blocks of the data array includingthe method further comprising:storing, for each group of blocks of the data array for which a set of data has been stored, a set of header data separately to the set of data representing the group of blocks of the data array, the header data for a group of blocks of the data array indicating the total size in memory of the set of data for the group of blocks of the data array that the header data relates to.2. The method of claim 1 , wherein the sets of data for the blocks of the group of blocks included in the set ...

Подробнее
26-01-2017 дата публикации

METHOD OF AND APPARATUS FOR GENERATING A SIGNATURE REPRESENTATIVE OF THE CONTENT OF AN ARRAY OF DATA

Номер: US20170024158A1
Принадлежит:

A method and an apparatus for generating a signature representative of the content of a region of an array of data in a data processing system, where the region of the array of data comprising plural data positions, and each data position having an associated data value or values. A data value or values for a data position of the region of the data array is/are generated. The data value or values for the data position of the region of the data array is/are written to storage that stores the region of the data array as it is being generated. A signature representative of the content of the region of the data array is generated in parallel with the data value or values for the data position of the region of the data array being written to the storage. 1. A method of generating a signature representative of the content of a region of an array of data in a data processing system , the region of the array of data comprising plural data positions , each data position having an associated data value or values , the method comprising:generating a data value or values for a data position of the region of the data array;writing the data value or values for the data position of the region of the data array to storage that stores the region of the data array as it is being generated; andgenerating a signature representative of the content of the region of the data array in parallel with the data value or values for the data position of the region of the data array being written to the storage.2. The method of further comprising:generating data values for data positions of the region of the data array in turn;writing the data values for the data positions of the region of the data array to the storage that stores the region of the data array as it is being generated; andrepeatedly generating an updated signature representative of the content of the region of the data array as new generated data values are written to the stored region of the data array.3. The method of wherein ...

Подробнее
04-03-2021 дата публикации

Depth testing in graphics processing systems

Номер: US20210065437A1
Принадлежит: ARM LTD

A graphics processor includes a rasteriser, an early depth tester, a renderer, a late depth tester, and a depth test data buffer that stores depth data values for use by the early and late depth testers. When a fragment is to undergo an early depth test to update the depth buffer, it is first determined whether the fragment should undergo the early depth test to update the depth buffer without waiting for any other fragment to undergo a depth test, or whether the result of a late depth test on a fragment that is still to undergo a late depth test should be awaited before performing a depth test to update the depth buffer on the fragment.

Подробнее
12-03-2015 дата публикации

IMAGE PROCESSING APPARATUS AND A METHOD OF STORING ENCODED DATA BLOCKS GENERATED BY SUCH AN IMAGE PROCESSING APPARATUS

Номер: US20150070372A1
Принадлежит: ARM LIMITED

An image processing apparatus and method including an encoder circuitry for generating encoded data blocks from input data blocks of an image, and write circuitry for storing the encoded data blocks to memory for subsequent access by decoding circuitry. For each input data block, identifier generation circuitry generates an identifier value that is dependent on the input data block. A lookup storage stores predetermined information relating to at least one encoded data block and stored within the lookup storage in association with the identifier value for the corresponding input data block. For a current input data block, a check is performed to determine whether a match exists between the identifier value generated for the current input data block and an identifier value stored in the lookup storage. In a match, the predetermined information is used by the write circuitry when performing the required write operation. 1. An image processing apparatus , comprising:encoder circuitry configured to perform an encoding operation on input data blocks in order to generate encoded data blocks, an image being formed by a plurality of said input data blocks, and each of said input data blocks comprising a plurality of data values;write circuitry configured to perform a write operation in order to store the encoded data blocks to a memory for subsequent access by decoding circuitry;identifier generation circuitry configured, for each input data block, to generate an identifier value that is dependent on the plurality of data values of the input data block;a lookup storage configured to store predetermined information relating to at least one encoded data block, said predetermined information being stored within the lookup storage in association with the identifier value for the corresponding input data block; andlookup circuitry configured, for a current input data block, to determine whether a match exists between the identifier value generated for said current input data ...

Подробнее
16-03-2017 дата публикации

INTERFACE APPARATUS AND METHOD OF OPERATING AN INTERFACE APPARATUS

Номер: US20170076419A1
Принадлежит:

An interface apparatus and method of operating the same are provided. The interface apparatus receives an uncompressed image data read request using a first addressing scheme at a first bus interface and transmits a compressed image data read request using a second addressing scheme from a second bus interface. Address translation circuitry translates between the first addressing scheme and the second addressing scheme. Decoding circuitry decodes a set of compressed image data received via the second bus interface to generate the set of uncompressed image data which is then transmitted via the first bus interface. The use of a second addressing scheme and image data compression is thus transparent to the source of the uncompressed image data read request, and the interface apparatus can therefore be used to connect devices which use different addressing schemes and image data formats, without either needing to be modified. 1. An interface apparatus comprising:a first bus interface to receive an image data read request, wherein the image data read request specifies a set of uncompressed image data using a first addressing scheme;a second bus interface to transmit a compressed image data read request using a second addressing scheme;address translation circuitry to translate the first addressing scheme of the image data read request into the second addressing scheme of the compressed image data read request, wherein the compressed image data read request specifies a set of compressed image data corresponding to the set of uncompressed image data; anddecoding circuitry to decode the set of compressed image data received via the second bus interface to generate the set of uncompressed image data,wherein the apparatus is responsive to generation of the set of uncompressed image data to transmit the set of uncompressed image data via the first bus interface.2. The interface apparatus as claimed in claim 1 , comprising a third bus interface to receive configuration data to ...

Подробнее
01-04-2021 дата публикации

GRAPHICS PROCESSING

Номер: US20210097642A1
Принадлежит: ARM LIMITED

A graphics processor performs graphics processing in respect of a region of a render output. The graphics processing comprises obtaining a scaling factor corresponding to a desired resolution for the region. The graphics processing further comprises, in accordance with the desired resolution, obtaining scaled graphics geometry to be rendered for the region and selecting a subregion of the region to be rendered in respect of the region. The selected subregion is then rendered using the scaled graphics geometry, thereby providing a subregion of data elements rendered in accordance with the desired resolution. The graphics processor can provide efficient and flexible graphics processing when performing variable resolution rendering. 1. A method of operating a graphics processor comprising: obtaining a desired resolution profile for the region;', 'obtaining, in accordance with the desired resolution profile for the region, scaled graphics geometry to be rendered for the region;', 'selecting, in accordance with the desired resolution profile for the region, a subregion of the region to be rendered in respect of the region; and', 'performing rendering in respect of the region, wherein performing rendering in respect of the region comprises rendering the subregion of the render output using the scaled graphics geometry, thereby providing a rendered subregion of data elements; and, 'performing graphics processing in respect of a region of a render output, wherein the region is one of plural regions into which the render output is divided for rendering purposes, wherein performing graphics processing in respect of the region comprisesoutputting, in respect of the region, an output array of data elements comprising the rendered subregion of data elements;wherein:selecting the subregion to be rendered in respect of the region comprises selecting one or more rows and/or one or more columns of sampling positions of the region at which to perform rendering in respect of the ...

Подробнее
28-03-2019 дата публикации

CACHE ARRANGEMENT FOR GRAPHICS PROCESSING SYSTEMS

Номер: US20190096027A1
Принадлежит: ARM LIMITED

A graphics processing system includes a cache system for transferring texture data stored in memory to a graphics processing unit for use by the graphics processing unit when generating a render output. The cache system includes a first cache operable to receive texture data from the memory system, and a second cache operable to receive texture data from the first cache and to provide texture data to the graphics processing unit for use when generating a render output, and a data processing unit intermediate the first cache and the second cache and operable to process data stored in the first cache and to store the processed data in the second cache. 1. A graphics processing system comprising:a memory system;a graphics processing unit; anda cache system arranged between the memory system and the graphics processing unit and operable to transfer texture data stored in the memory system to the graphics processing unit for use by the graphics processing unit when generating a render output;the cache system comprising:a first cache operable to receive texture data from the memory system;a second cache operable to receive texture data from the first cache and to provide texture data to the graphics processing unit for use when generating a render output; anda data processing unit intermediate the first cache and the second cache and operable to process data stored in the first cache and to store the processed data in the second cache for use by the graphics processing unit when generating a render output.2. The system of claim 1 , wherein the second cache is larger than the first cache.3. The system of claim 1 , wherein the texture data is stored in the first cache of the cache system in the form that it is stored in in the memory system claim 1 , and is identified in the first cache using an identifier that is indicative of the memory address where the texture data is stored.4. The system of claim 1 , wherein texture data is stored in the second cache as respective ...

Подробнее
29-04-2021 дата публикации

ENCODING DATA ARRAYS

Номер: US20210126736A1
Принадлежит: ARM LIMITED

When encoding a block of data elements in an array of data elements, the data values for data elements in the block are represented and stored in a data packet as truncated data values using a subset of one or more most significant bits of the respective bit sequences for the data values of the data elements. A rounding mode is selected from a plurality of available rounding modes that can be applied when decoding the block of data elements and an indication of the selected rounding mode is provided along with the encoded data packet. The rounding mode is associated with one or more rounding bit sequence(s) that can then be applied to the truncated data values when decoding the data packet to obtain decoded data values for the data elements in the block. 1. A method of processing an array of data elements , each data element having an associated data value that is represented by a respective bit sequence , the method comprising:for a block of data elements in the array of data elements:representing the data values for each of the data elements in the block of data elements as truncated data values using a subset of one or more most significant bits of the respective bit sequences for the data values of the data elements; andselecting from a plurality of available rounding modes a rounding mode to be applied when decoding the block of data elements, wherein each rounding mode is associated with one or more rounding bit sequence(s), and wherein the rounding mode to be applied when decoding the block of data elements is selected by:determining a first representative value for the block of data elements based on data values for data elements in the block of data elements;determining a corresponding representative value for the block of data elements for at least one of the plurality of available rounding modes, wherein the representative value for a rounding mode is determined based on the truncated data values for data elements in the block of data elements and the ...

Подробнее
10-05-2018 дата публикации

UPDATING DATA STORED IN A MEMORY

Номер: US20180129419A1
Принадлежит: ARM LIMITED

A process of updating data for a block of an array of data elements stored in an allocated memory region for the block comprises reading in data for a first group of the data elements, updating the data for the first group, and then writing back the updated data to memory. The process can avoid overwriting data for a second group of the data elements that is yet to be read in from the memory region by writing back the updated data for the first group starting at a selected memory address, for example other than the start address of the memory region. The data for the second group of data elements can then be read in and updated, and the updated data can be written back to memory. The process can reduce the amount of memory bandwidth and local cache that needs to be used. 1. A method of updating data for a block of data elements of an array of data elements stored in memory , the data for the block of data elements being stored within the memory in a memory region allocated to the block , the method comprising:reading in data for a first group of data elements of the block of data elements from the memory region;performing a data processing operation using the data for the first group of data elements to generate updated data for the first group of data elements;writing back the updated data for the first group of data elements to the memory starting at a selected memory address such that data for a second group of data elements of the block of data elements that is yet to be read in from the memory region is not overwritten by the updated data for the first group of data elements being written back to the memory;reading in the data for the second group of data elements from the memory region;performing a data processing operation using the data for the second group of data elements to generate updated data for the second group of data elements; andwriting back the updated data for the second group of data elements to the memory without overwriting the updated data ...

Подробнее
13-08-2020 дата публикации

DATA PROCESSING SYSTEMS

Номер: US20200258264A1
Принадлежит: ARM LIMITED

A data processing system comprises encoding circuitry operable to encode arrays of data elements, decoding circuitry operable to decode encoded versions of arrays of data elements, and consumer circuitry operable to use arrays of data elements. Data indicative of a resolution that is to be used by the consumer circuitry for at least one region of the array of data elements is provided to the encoding circuitry, and the encoding circuitry uses the data indicative of the resolution that is to be used by the consumer circuitry to control the generation of the representation for representing at least one block that the array of data elements is divided into. 1. A method of operating a data processing system , the data processing system comprising:encoding circuitry operable to encode arrays of data elements;decoding circuitry operable to decode encoded versions of arrays of data elements; andconsumer circuitry operable to use arrays of data elements;the method comprising:the encoding circuitry encoding an array of data elements so as to produce an encoded version of the array of data elements by: dividing the array of data elements into plural separate blocks, generating a respective representation for representing each different block that the array of data elements is divided into, and generating data representing each representation so as to represent the array of data elements as an encoded version of the array of data elements;the decoding circuitry decoding at least part of the encoded version of the array of data elements to produce a decoded version of the array of data elements; andthe consumer circuitry using at least part of the decoded version of the array of data elements;wherein the method further comprises:providing to the encoding circuitry data indicative of a resolution that is to be used by the consumer circuitry for at least one region of the array of data elements; andthe encoding circuitry using the data indicative of the resolution that is to be ...

Подробнее
05-10-2017 дата публикации

Data processing systems

Номер: US20170285955A1
Принадлежит: ARM LTD

A data array to be stored is first divided into a plurality of blocks. Each block is further sub-divided into a set of sub-blocks. Data representing sub-blocks of the data array is stored, together with a header data block for each block that the data array has been divided into. For each block, it is determined whether all the data positions for the block have the same data value associated with them, and, if so, an indication that all of the data positions within the block have the same data value associated with them, and an indication of the same data value that is associated with each of the data positions in the block, is stored in the header data block for that block of the data array.

Подробнее
05-10-2017 дата публикации

GRAPHICS PROCESSING SYSTEMS

Номер: US20170287101A1
Принадлежит: ARM LIMITED

A tile-based graphics processing pipeline includes rendering circuitry for rendering graphics fragments to generate rendered fragment data. Each graphics fragment has associated with it a set of sampling positions to be rendered. The pipeline also includes a tile buffer configured to store rendered fragment data for sampling positions prior to the rendered fragment data being written out to memory, write out circuitry configured to write a compressed representation of the rendered fragment data for a tile in the tile buffer to memory, and processing circuitry. The processing circuitry identities, based on the writing of rendered fragment data to the tile buffer, any blocks comprising sampling positions within a tile having the same data value associated with each sampling position in the block, and to, when such a block of sampling positions is identified, trigger the write out circuitry to write a compressed representation of the block to the memory. 1. A method of operating a tile-based graphics processing pipeline that comprises:a tile buffer configured to store rendered fragment data for sampling positions locally to the graphics processing pipeline prior to the rendered fragment data being written out to memory; rendering graphics fragments to generate rendered fragment data, each graphics fragment having associated with it a set of one or more sampling positions to be rendered in a tile;', 'writing the rendered fragment data for sampling positions in the tile to the tile buffer;', 'identifying, based on the writing of rendered fragment data to the tile buffer for a tile, a block comprising a plurality of sampling positions within the tile having the same data value associated with each of the plurality of sampling positions in the block; and', 'when a block of sampling positions within a tile each having the same data value is identified, writing a compressed representation of the block of same data value sampling positions to the memory., 'the method ...

Подробнее
07-12-2017 дата публикации

ENCODING AND DECODING ARRAYS OF DATA ELEMENTS

Номер: US20170352165A1
Принадлежит: ARM LIMITED

A method of encoding a block of an array of data elements comprises selectively writing out an encoded version of the block either that is encoded using a first encoding scheme, which provides encoded blocks of non-fixed data size, or that is encoded using a second encoding scheme, which provides encoded blocks of fixed data size. The selection of which version of the encoded block to write out is based on the size of the encoded block when encoded using the first encoding scheme. This provides the potential for the encoded block that is written out to be compressed in a more superior manner using the first encoding scheme where possible, whilst also providing an encoded block that has a predictable maximum compressed size. 1. A method of encoding an array of data elements , the method comprising:for a block of an array of data elements, determining whether a data size for an encoded version of the block provided when encoding the block using a first encoding scheme is less than or greater than a threshold size;when the data size for the encoded version of the block is determined to be less than the threshold size, writing out an encoded version of the block that has been encoded using the first encoding scheme; andwhen the data size for the encoded version of the block is determined to be greater than the threshold size, writing out an encoded version of the block that has been encoded using a second encoding scheme;wherein the first encoding scheme provides encoded blocks of non-fixed data size and wherein the second encoding scheme provides encoded blocks of fixed data size.2. A method as claimed in claim 1 , wherein the first encoding scheme is substantially lossless and the second encoding scheme is lossy.3. A method as claimed in claim 1 , wherein the first encoding scheme has the potential to compress a block to a greater extent than the second encoding scheme.4. A method as claimed in claim 1 , wherein the threshold size is substantially the size of an ...

Подробнее
14-11-2019 дата публикации

GRAPHICS PROCESSING

Номер: US20190347757A1
Принадлежит: ARM LIMITED

A graphics processor performs graphics processing in respect of a region of a render output. The graphics processing comprises obtaining a scaling factor corresponding to a desired resolution for the region. The graphics processing further comprises, in accordance with the desired resolution, obtaining scaled graphics geometry to be rendered for the region and selecting a subregion of the region to be rendered in respect of the region. The selected subregion is then rendered using the scaled graphics geometry, thereby providing a subregion of data elements rendered in accordance with the desired resolution. The graphics processor can provide efficient and flexible graphics processing when performing variable resolution rendering. 1. A method of operating a graphics processor comprising: obtaining a desired resolution profile for the region;', 'obtaining, in accordance with the desired resolution profile for the region, scaled graphics geometry to be rendered for the region;', 'selecting, in accordance with the desired resolution profile for the region, a subregion of the region to be rendered in respect of the region; and', 'performing rendering in respect of the region, wherein performing rendering in respect of the region comprises rendering the subregion of the render output using the scaled graphics geometry, thereby providing a rendered subregion of data elements; and, 'performing graphics processing in respect of a region of a render output, wherein the region is one of plural regions into which the render output is divided for rendering purposes, wherein performing graphics processing in respect of the region comprisesoutputting, in respect of the region, an output array of data elements comprising the rendered subregion of data elements.2. The method of claim 1 , wherein the region comprises a graphics processing tile claim 1 , the graphics processing tile being one of plural graphics processing tiles into which the render output is divided for rendering ...

Подробнее
26-12-2019 дата публикации

Data processing systems

Номер: US20190392546A1
Принадлежит: ARM LTD

A data processing system includes a producer processor that produces a sequence of data outputs for use by consumer processors of the data processing system. The system also includes a memory for storing a sequence of data outputs produced by the data processor. The data processor encodes data outputs as encoded blocks of data, storing a particular encoded block of a first frame in a first location in the memory and an indication of the first location. The data processor stores a corresponding encoded block of a second data output in a second location and updates the indication to the second location.

Подробнее
10-11-2020 дата публикации

Method of and apparatus for generating a signature representative of the content of an array of data

Номер: US10832639B2
Принадлежит: ARM LTD

A method and an apparatus for generating a signature representative of the content of a region of an array of data in a data processing system, where the region of the array of data comprising plural data positions, and each data position having an associated data value or values. A data value or values for a data position of the region of the data array is/are generated. The data value or values for the data position of the region of the data array is/are written to storage that stores the region of the data array as it is being generated. A signature representative of the content of the region of the data array is generated in parallel with the data value or values for the data position of the region of the data array being written to the storage.

Подробнее
29-12-2020 дата публикации

Variable resolution graphics processing

Номер: US10878527B2
Принадлежит: ARM LTD

A graphics processor performs graphics processing in respect of a region of a render output. The graphics processing comprises obtaining a scaling factor corresponding to a desired resolution for the region. The graphics processing further comprises, in accordance with the desired resolution, obtaining scaled graphics geometry to be rendered for the region and selecting a subregion of the region to be rendered in respect of the region. The selected subregion is then rendered using the scaled graphics geometry, thereby providing a subregion of data elements rendered in accordance with the desired resolution. The graphics processor can provide efficient and flexible graphics processing when performing variable resolution rendering.

Подробнее
28-06-2023 дата публикации

Encoding data arrays

Номер: GB2589066B
Принадлежит: Advanced Risc Machines Ltd, ARM LTD

Подробнее
19-04-2022 дата публикации

Video data processing system for storing frames of video data

Номер: US11308570B2
Принадлежит: ARM LTD

A data processing system includes a producer processor that produces a sequence of data outputs for use by consumer processors of the data processing system. The system also includes a memory for storing a sequence of data outputs produced by the data processor. The data processor encodes data outputs as encoded blocks of data, storing a particular encoded block of a first frame in a first location in the memory and an indication of the first location. The data processor stores a corresponding encoded block of a second data output in a second location and updates the indication to the second location.

Подробнее
14-04-2022 дата публикации

Decoding data arrays

Номер: US20220114761A1
Принадлежит: ARM LTD

Disclosed herein is a method and apparatus for determining decoded data values for a data element of an array of data elements from an encoded representation of the array of data elements, wherein the decoding comprises determining which, if any, bits are missing for the data value(s) for the data element and selecting based on this an adjustment scheme to be applied for the data value(s) for the data element from a plurality of available adjustment schemes. Also disclosed are a method and apparatus for generating an encoding hint comprising an indication of the one or more encoding parameters that were used to generate the encoded representation which encoding hint can then be associated with the decoded data and then used when the decoded data is subsequently to be encoded.

Подробнее
09-04-2024 дата публикации

Accessing encoded blocks of data

Номер: US11954028B2
Принадлежит: ARM LTD

There is disclosed a method of storing an encoded block of data in memory comprising encoding a block of data elements and determining a memory location ( 26 ) at which the encoded block of data is to be stored. The memory location ( 26 ) at which the encoded block of data is stored is then indicated in a header ( 406 ) for the encoded block of data by including in the header a memory address value ( 407 ) together with a modifier value ( 500 ) representing a modifier that is to be applied to the memory address value ( 407 ) when determining the memory location ( 26 ). When the encoded block of data is to be retrieved, the header ( 406 ) is read and processed to determine the memory location ( 26 ).

Подробнее
09-04-2024 дата публикации

Efficient evict for cache block memory

Номер: US11954038B2
Принадлежит: ARM LTD

A data processing system includes a memory system, a processor and a cache system. The cache system includes a cache and a data encoder associated with the cache. The data encoder encodes blocks of uncompressed data having a particular data size for storing in the memory system. The processor is configured, when an array of data has a data size equal to the particular data size or is able to be combined with one or more other arrays of data already written to the cache to provide a plurality of arrays of data having a data size that is equal to the particular data size, to output the array of data from the processor to the data encoder, bypassing the cache, for encoding as or as part of a block of data having the particular data size.

Подробнее
21-02-2024 дата публикации

Decoding data arrays

Номер: GB2616740B
Принадлежит: Advanced Risc Machines Ltd, ARM LTD

Подробнее
03-04-2024 дата публикации

Data processing systems

Номер: GB2597496B
Принадлежит: Advanced Risc Machines Ltd, ARM LTD

Подробнее
27-02-2024 дата публикации

Apparatus and method for operating a cache storage

Номер: US11914518B1
Принадлежит: ARM LTD

A cache is provided having a plurality of entries for storing data. In response to a given access request, lookup circuitry performs a lookup operation in the cache to determine whether one of the entries in the cache is allocated to store data associated with the memory address indicated by the given access request, with a hit indication or a miss indication being generated dependent on the outcome of that lookup operation. During a single lookup period, the lookup circuitry is configured to perform lookup operations in parallel for up to N access requests. In addition, allocation circuitry is provided that is able to determine, during the single lookup period, at least N candidate entries for allocation from amongst the plurality of entries, and to cause one of the candidate entries to be allocated for each of the up to N access requests for which the lookup circuitry generates a miss indication.

Подробнее
21-03-2024 дата публикации

Apparatus and method for operating a cache storage

Номер: US20240095175A1
Принадлежит: ARM LTD

A cache is provided having a plurality of entries for storing data. In response to a given access request, lookup circuitry performs a lookup operation in the cache to determine whether one of the entries in the cache is allocated to store data associated with the memory address indicated by the given access request, with a hit indication or a miss indication being generated dependent on the outcome of that lookup operation. During a single lookup period, the lookup circuitry is configured to perform lookup operations in parallel for up to N access requests. In addition, allocation circuitry is provided that is able to determine, during the single lookup period, at least N candidate entries for allocation from amongst the plurality of entries, and to cause one of the candidate entries to be allocated for each of the up to N access requests for which the lookup circuitry generates a miss indication.

Подробнее
02-07-2024 дата публикации

Variable resolution graphics processing

Номер: US12026798B2
Принадлежит: ARM LTD

A graphics processor performs graphics processing in respect of a region of a render output. The graphics processing comprises obtaining a scaling factor corresponding to a desired resolution for the region. The graphics processing further comprises, in accordance with the desired resolution, obtaining scaled graphics geometry to be rendered for the region and selecting a subregion of the region to be rendered in respect of the region. The selected subregion is then rendered using the scaled graphics geometry, thereby providing a subregion of data elements rendered in accordance with the desired resolution. The graphics processor can provide efficient and flexible graphics processing when performing variable resolution rendering.

Подробнее
20-09-2023 дата публикации

Decoding data arrays

Номер: GB2616740A
Принадлежит: Advanced Risc Machines Ltd, ARM LTD

Decoding, comprising: Decoding an encoded representation of an array of (image) data elements to determine a set of decoded (image) data representing the array of (image) data elements in a first, uncompressed data format, wherein the decoding is performed using associated metadata for the encoded representation, the associated metadata indicating one or more encoding parameters that were used to generate the encoded representation; The decoder determining from the associated metadata for the encoded representation the one or more encoding parameters that were used to generate the encoded representation and generating therefrom an encoding hint comprising an indication of the one or more encoding parameters that were used to generate the encoded representation; The decoder associating the encoding hint with the set of decoded data in such a manner that the one or more encoding parameters indicated by the encoding hint can be determined when the decoded data is subsequently to be encoded.

Подробнее
05-09-2017 дата публикации

Thread issue control

Номер: US09753735B2
Принадлежит: ARM LTD

A data processing system includes a processing pipeline for the parallel execution of a plurality of threads. An issue controller issues threads to the processing pipeline. A stall manager controls the stalling and unstalling of threads when a cache miss occurs within a cache memory. The issue controller issues the threads to the processing pipeline in accordance with both a main sequence and a pilot sequence. The pilot sequence is followed such that threads within the pilot sequence are issued at least a given time ahead of their neighbors within a main sequence. The given time corresponds approximately to the latency associated with a cache miss. The threads may be arranged in groups corresponding to blocks of pixels for processing within a graphics processing unit.

Подробнее
06-11-2024 дата публикации

Graphics processing

Номер: GB2629606A
Принадлежит: Advanced Risc Machines Ltd, ARM LTD

A graphics processor that is operable to perform ray tracing is disclosed. Wherein the graphics processor is operable to trace a ray by traversing the ray tracing acceleration data structure and testing the ray against volumes represented by nodes of the ray tracing acceleration data structure to determine whether the ray intersects the volumes, and when it is determined that the ray intersects a volume represented by a node of the ray tracing acceleration data structure that is associated with geometry that falls within the volume that the node represents, testing the ray against the geometry to determine whether the ray intersects the geometry; the method comprises, the graphics processor: when it is determined that a ray intersects a volume represented by a node of the ray tracing acceleration data structure that is associated with a bounding volume primitive: omitting testing the ray against the bounding volume primitive to determine whether the ray intersects the bounding volume primitive or alternatively, loading geometry data stored for the node, and processing geometry using the loaded geometry data, wherein the geometry data is stored using the redefined data structure that is used to store polygon geometry data or one or more of the nodes of the ray tracing acceleration data structure is associated with a bounding volume primitive that falls within the respective volume that the respective node represents; and storing, for each node of the ray tracing acceleration data structure that is associated with a bounding volume primitive, geometry data using the predefined data structure that is used to store polygon geometry data.

Подробнее
07-11-2024 дата публикации

Graphics Processing

Номер: US20240371075A1
Принадлежит: ARM LTD

A method of operating a graphics processor to perform ray tracing. The graphics processor includes a ray tracing circuit that can be messaged by the graphics processor's programmable execution unit during execution of a program to perform a respective traversal of the at least one ray tracing acceleration data structure to be traversed for that ray. The ray tracing circuit may need to stop a ray's traversal to return the ray's processing to the programmable execution unit before the ray's traversal is subsequently restarted. In that case, the ray's traversal is restarted from the beginning.

Подробнее
06-11-2024 дата публикации

Graphics processing

Номер: GB2629611A
Принадлежит: Advanced Risc Machines Ltd, ARM LTD

During execution of graphics processing on a programmable execution unit (PEU), a ray tracing circuit can be messaged to perform traversal of a ray through a ray tracing acceleration data structure. At a point in the middle of a traversal ray tracing is paused and the ray data is passed back to the programmable execution unit (PEU) where a shader program is initiated to control further processing. For example, this may occur when a transparent/non-opaque geometry is hit - a shader can control how and whether the traversal needs to continue. Thereafter the ray is returned to the ray tracing circuit for further processing where the further processing involves traversing the acceleration structure again from the root (to save on memory requirements). The identified problem with prior art is that restarting acceleration from where the ray tracing circuit left off requires memory to store details of progress of the ray tracing traversal at the point it was paused. This is solved by restarting and realising that the trade-off of additional processing against memory requirements can be favourable.

Подробнее
07-11-2024 дата публикации

Graphics processing

Номер: WO2024228004A1
Принадлежит: ARM LIMITED

An instruction (or set of instructions) that can be included in a ray tracing program that when executed by a group of execution threads executing the ray tracing program causes the execution unit of a graphics processor to send a message to a ray tracing circuit of the graphics processor to determine, for at least one ray for which a corresponding thread in the group of execution threads that executed the instruction was executing the program to perform ray tracing, the geometry, if any, that is intersected by the ray.

Подробнее
07-11-2024 дата публикации

Graphics processing

Номер: US20240371070A1
Принадлежит: ARM LTD

A graphics processor that is operable to perform ray tracing is disclosed. When it is determined that a ray tracing circuit of the graphics processor may require additional storage space to store test record entries to trace a ray, additional storage space is allocated for the ray tracing circuit to use to store test record entries to trace the ray.

Подробнее
07-11-2024 дата публикации

Graphics processing

Номер: US20240371074A1
Принадлежит: ARM LTD

A graphics processor that is operable to perform ray tracing is disclosed. When it is determined that a ray intersects a volume represented by a node of a ray tracing acceleration data structure that is associated with a bounding volume primitive, the ray is not tested against the bounding volume primitive to determine whether the ray intersects the bounding volume primitive.

Подробнее
07-11-2024 дата публикации

Graphics processing

Номер: US20240371076A1
Принадлежит: ARM LTD

A method of operating a graphics processor to perform ray tracing. The graphics processor includes a ray tracing circuit that can be messaged by the graphics processor's programmable execution unit during execution of a program to perform a respective traversal of the at least one ray tracing acceleration data structure to be traversed for that ray. The ray tracing circuit when returning rays' processing to the programmable execution unit is operable to group rays together for continued execution by the programmable execution unit as a respective thread group.

Подробнее
06-11-2024 дата публикации

Graphics processing

Номер: GB2629610A
Принадлежит: Advanced Risc Machines Ltd, ARM LTD

An instruction (or set of instructions) that can be included in a ray tracing program that when executed by a group of execution threads executing the ray tracing program causes the execution unit of a graphics processor to send a message to a ray tracing circuit of the graphics processor to determine, for at least one ray for which a corresponding thread in the group of execution threads that executed the instruction was executing the program to perform ray tracing, the geometry, if any, that is intersected by the ray.

Подробнее
06-11-2024 дата публикации

Graphics processing

Номер: GB2629608A
Принадлежит: Advanced Risc Machines Ltd, ARM LTD

A graphics processor that is operable to perform ray tracing. Determining if a ray tracing circuit of the GPU may require additional storage space to store test record entries to trace a ray, allocating additional storage to store test record entries to trace the ray. For example, it is determined 1102 whether a next operation for a ray may need to store more stack entries than can be stored in the traversal stack being maintained for the ray. If it is determined 1102 that a next operation may need to store more stack entries than can be stored in the traversal stack, a request is sent 1103 preferably for the dynamic allocation of the allocatable memory region 1002. The process then waits 1104 for the dynamic allocation to succeed before the next operation is performed for the ray 1105. The allocatable memory region 1002 thus becomes part of the memory available to store stack entries for the ray, such that stack entries for the ray can then be stored in the respective initial allocation 1001 together with the allocatable memory region 1002.

Подробнее