RU2661763C2 - Использование межкадровой когерентности в архитектуре построения изображений с сортировкой примитивов на промежуточном этапе - Google Patents
Использование межкадровой когерентности в архитектуре построения изображений с сортировкой примитивов на промежуточном этапе Download PDFInfo
- Publication number
- RU2661763C2 RU2661763C2 RU2016140574A RU2016140574A RU2661763C2 RU 2661763 C2 RU2661763 C2 RU 2661763C2 RU 2016140574 A RU2016140574 A RU 2016140574A RU 2016140574 A RU2016140574 A RU 2016140574A RU 2661763 C2 RU2661763 C2 RU 2661763C2
- Authority
- RU
- Russia
- Prior art keywords
- tile
- frame
- primitives
- image
- compact representation
- Prior art date
Links
- 238000010276 construction Methods 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 36
- 239000000872 buffer Substances 0.000 claims description 13
- 238000009825 accumulation Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 15
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000000694 effects Effects 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract 1
- 230000006870 function Effects 0.000 description 31
- 238000004891 communication Methods 0.000 description 16
- 238000012546 transfer Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2330/00—Aspects of power supply; Aspects of display protection and defect management
- G09G2330/02—Details of power systems and of start or stop of display operation
- G09G2330/021—Power management, e.g. power saving
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/122—Tiling
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
Группа изобретений относится к технологиям обработки изображений. Техническим результатом является снижение вычислительных мощностей при обработке изображения за счет выявления случаев, когда можно использовать плитку из предыдущего кадра и не требуется обработка плитки из текущего кадра. Предложен способ отображения изображения. Способ содержит этап, на котором аккумулируют компактное представление геометрии, входных данных и состояния для плитки изображения при создании списка примитивов изображения для плитки. При этом перед растеризацией плитки определяют, совпадает ли компактное представление для плитки в текущем кадре изображения с компактным представлением для соответствующей плитки в предшествующем кадре изображения посредством проверки, имеется ли один примитив из списка примитивов, полностью накладывающийся на плитку, и закрывает ли указанный примитив все остальные примитивы в списке примитивов. 3 н. и 27 з.п. ф-лы, 4 ил.
Description
Уровень техники
Настоящее изобретение относится к обработке изображений.
В мобильных устройствах обычно используют архитектуру построения изображений с сортировкой примитивов на промежуточном этапе. Как и в любых графических приложениях, очень важно уменьшить потребление энергии.
Геометрическая обработка может быть сделана параллельной путем назначения каждому процессору подмножества примитивов в составе сцены. Формирование растрового изображения (растеризация) может быть выполнено параллельно путем назначения каждому процессору некоторой части необходимого объема вычислений пикселей. Процедура построения (отображения) изображения содержит вычисление влияния каждого примитива на каждый пиксель. Примитив может попасть куда-либо в пределах реально видимого экрана или за пределами этого экрана. В процессе построения изображения сортируют примитивы для экрана. Сортировка может быть произведена в процессе геометрической обработки, что называется режимом сортировки в начале (sort-first) построения изображения, между геометрической обработкой и растеризацией, что называется режимом сортировки на промежуточном этапе (sort-middle), или во время растеризации, что называется режимом сортировки в конце (sort-last). Сортировка в начале означает перераспределение первичных, необработанных примитивов еще до того, как станут известны экранно-пространственные параметры примитивов, сортировка на промежуточном этапе означает перераспределение экранно-пространственных примитивов и сортировка в конце означает перераспределение пикселей, отсчетов или фрагментов пикселей.
Краткое описание чертежей
Некоторые варианты описаны со ссылками на следующие чертежи:
фиг. 1 представляет схематичное изображение одного из вариантов;
фиг. 2 представляет логическую схему способа для одного из вариантов;
фиг. 3 представляет изображение системы для одного из вариантов; и
фиг. 4 представляет вид одного из вариантов спереди.
Подробное описание
Величины пикселей, которые были вычислены в предшествующем кадре, могут быть вновь использованы для текущего кадра при работе в рамках архитектуры с сортировкой на промежуточном этапе. Хешированное или какое-либо иное компактное представление всех данных, используемых в «плитке» мозаики, включая все треугольники, однородные профили, текстуры, закрашивание (тени) вычисляют и сохраняют для каждой плитки. При построении изображения следующего кадра снова вычисляют компактное представление для каждой плитки мозаики. В архитектуре с сортировкой на промежуточном этапе имеется естественная переломная точка непосредственно перед растеризацией. В этой переломной точке найденное компактное представление сравнивают с компактным представлением, вычисленным в предыдущем кадре для этой же самой плитки. Если эти компактные представления совпали, нет необходимости выполнять какое-то отображение для этой плитки. Вместо этого, содержимое цветного буфера или других буферов, соответствующее этой же плитке в предшествующем кадре, может быть перенесено или повторно использовано другим способом в том же самом буфере для плитки в текущем кадре.
Этот способ работает прежде растеризации и закрашивания пикселей и может быть применен к другим буферам в дополнение к цветному буферу.
В архитектуре с сортировкой на промежуточном этапе, также именуемой мозаичной архитектурой, экран разбит на плитки мозаики, представляющие собой не накладывающиеся одна на другую прямоугольные области, которые все вместе покрывают весь экран. В первой фазе все примитивы, такие как треугольники, которые должны быть отображены, сортируют по плиткам, так что ссылки на эти примитивы сохраняют в списках примитивов для каждой плитки, где каждый примитив будет записан в списках для всех плиток, на которые накладывается этот примитив. После завершения всей сортировки каждую плитку можно растрировать последовательно или параллельно.
Этот способ использует тот факт, что часто большие участки изображения являются одинаковыми при переходе от одного изображения к следующему. Это явление часто называют когерентностью от кадра к кадру или межкадровой когерентностью. Здесь эту межкадровую когерентность используют для того, чтобы сделать графический процессор более эффективным, как с точки зрения потребляемой мощности, так и с точки зрения производительности.
В одном из вариантов для каждой плитки накапливают компактные представления, такие как хешированные версии, когда создается список примитивов для каждой плитки. Это компактное представление может быть основано на всей геометрии, входных данных и всех относящихся к делу состояний, включая все примитивы, однородные профили, текстуры, закрашивание (тени), режимы наложения и т.п. Компактные представления из предшествующего кадра сохраняют в памяти во время отображения текущего кадра. Затем, непосредственно перед тем, как начнется растеризация каждой плитки, определяют, является ли компактное представление текущей плитки в текущем кадре таким же, как компактное представление этой же плитки в предшествующем кадре. Если компактное представление является таким же, тогда отображенный контент тоже считается таким же и, следовательно, повторное отображение не требуется. Вместо этого, цвета всех пикселей в плитке повторно используются из предшествующего кадра. Если компактные представления не совпадает, тогда растеризация, тестирование глубины, закрашивание (затенение) пикселей и наложение производятся, как обычно.
Этот способ может быть использован для всех целей отображения, а также для глубины и трафарета, в дополнение к цветному буферу. Однако для текущих целей отображения, таких как цветной буфер, который будет представлен на экране, возможна некоторая оптимизация. При использовании, например, встроенного дисплейного порта (embedded display port (eDP)), версии технических условий 1.4/1.5 (и выше), эти способы могут быть использованы с частичными обновлениями кадров в режиме обновления панельного программного обеспечения (panel soft refresh (PSR)). В принципе, алгоритм определяет, что некая плитка в текущем кадре является такой же, как соответствующая плитка в предшествующем кадре, и все последующие этапы не нужны. Поэтому, когда нужно передать данные дисплею, можно избежать передачи данных для тех плиток, которые являются такими же, как соответствующие плитки в предшествующем кадре. Наконец, когда кадр завершается, компактные представления для текущего кадра следует переместить в таблицу компактных представлений для предшествующего кадра и сбросить данные для текущего кадра для использования в будущем. В качестве альтернативы, можно только осуществить свопинг указателя на текущий кадр и на предшествующий кадр. Во избежание перегрузки обращений к памяти можно рассмотреть возможность «ленивой» замены путем добавления одного бита для идентификации текущего кадра.
Выбранное компактное представление может удовлетворять одному или нескольким из следующих критериев: (1) позволять обрабатывать блоки последовательно с целью аккумулирования общей величины хэш-функции для соответствующей плитки; (2) минимизировать ложные распознавания, поскольку они могут порождать видимые артефакты; и (3) генерировать значения хэш-функции умеренного размера с целью уменьшения издержек, связанных с хранением этих значений в хэш-таблице.
С учетом того факта, что выходные значения хэш-функции для каждой плитки генерируют только для целей сравнения, в некоторых вариантах может оказаться достаточно простой проверки циклически избыточным кодом или проверки по контрольным суммам. Если нужно уменьшить вероятность конфликтов хеширования, можно применить даже криптографическую функцию хеширования, использующую структуру Меркля-Дамгарда (Merkle-Damguard), такую как MD5, но ценой ужесточения требований к вычислениям.
В дополнение к этому, вместо сохранения значения функции хеширования идентификатор может быть единственным параметром, который нужно сохранить для вызова отрисовки, полностью покрывающего плитку в конце кадра. Если этот вызов отрисовки является статическим, то поскольку все однородные профили, текстуры и тени, и т.п. остаются такими же до следующего кадра, и обнаружено, что этот же самый вызов отрисовки будет снова покрывать всю плитку целиком, тогда всей обработки этой плитки можно избежать, а вместо этого использовать повторно контент предшествующего кадра. Чтобы это работало, можно, например, проверить, имеется ли один единственный треугольник, который накладывается на плитку целиком, и проверить, закрывает ли этот треугольник все остальные треугольники, присутствующие в списке примитивов для рассматриваемой плитки. Другой способ состоит в том, чтобы определить, не покрывается ли плитка полностью подмножеством треугольников из состава вызова отрисовки в текущем кадре и в следующем кадре, является ли такой же вызов отрисовки точно таким же, и вся ли прочая геометрия в этой плитке закрыта, тогда ничего не нужно отрисовывать для этой плитки.
Еще в одном варианте вместо хеширования может быть использован фильтр Блума. В этом варианте можно использовать минимум два фильтра Блума, даже хотя можно использовать две группы по N фильтров Блума меньшего размера. Каждая пара фильтров Блума содержит элементы для разных видов информации. Одна пара фильтров может быть предназначена для геометрии, другая пара может быть предназначена для адресов текстуры и третья пара может быть предназначена для закрашивания (теней), например. В каждой из этих пар один фильтр содержит элементы для предшествующего кадра, а второй фильтр содержит соответствующие элементы для текущего кадра.
В одном из вариантов алгоритм фильтра Блума работает так же, как алгоритм с хешированием. Когда создан список треугольников, к информации для сравнения могут быть применены несколько функций хеширования. Результаты этих функций хеширования используют для индексации в обоих фильтрах Блума. Для одного фильтра, относящегося к текущему кадру, задают все индексные биты. С другой стороны, для фильтра Блума, относящегося к предшествующему кадру, считывают индексные биты и проверяют для определения, все ли они равны единице. Если оказалось так, отображенный контент признают таким же, и повторно используют цвета из предшествующего кадра. Если это не так, последовательность продолжается обычным путем. После завершения обработки кадра, фильтры Блума меняются ролями. Фильтр, указывавший на текущий кадр, становится фильтром для предшествующего кадра, а фильтр, ранее указывавший на предшествующий кадр, очищают.
Одно из преимуществ использования фильтров Блума по сравнению с хешированием состоит в том, что обычно фильтры Блума требуют меньше пространства для хранения всей информации, хотя они могут потребовать использования дополнительных логических схем для реализации нескольких функций хеширования. Традиционно, число битов, необходимое для достижения доли ложных распознаваний примерно 0.5%, составляет от одиннадцати до двенадцати битов на элемент фильтра Блума, и оптимальное число функций хеширования для достижения такой доли ложных распознаваний составляет от шести до восьми функций.
Как показано на фиг. 1, автомат 10 для разбиения на плитки может быть соединен с конвейером 12 растеризации. Автомат 10 для разбиения принимает информацию о геометрии, информацию состояния, информацию о закрашивания (тенях) и адреса текстур в модуле 13 вычисления функции хеширования и фильтра Блума. Любую информацию состояния передают в модуль 14 построения списка плиток. Этот модуль комбинирует результаты работы конвейера с какой-либо информацией состояния. Эти комбинированные данные сохраняют в кэше 22 плиток.
Содержание запоминающего устройства 16 для хеширования и фильтра Блума для предшествующего кадра перегружают в запоминающее устройство 18 для хеширования и фильтра Блума для текущего кадра при смене кадра. Модуль 20 выборки плиток осуществляет выборку плиток из конвейера 12 растеризации и передает эти плитки в кэш 22 плиток. Кэш 22 плиток передает данные в объединенный кэш 24.
Конвейер 12 растеризации содержит модуль 26 растеризации, соединенный с модулем 20 выборки и с модулем 28 тестирования глубины. С модулем 28 тестирования глубины могут быть соединены несколько модулей 30 закрашивания (теней). Эти модули 30 закрашивания (теней) соединены с цветным буфером 32, модуле 34 отсчетов текстуры и буфером 36 глубины, которые в свою очередь соединены с объединенным кэшем 24.
Последовательность 40, показанная на фиг. 2, может быть реализована посредством загружаемого программного обеспечения, встроенного программного обеспечения и/или аппаратных средств. В вариантах программного обеспечения (загружаемого и встроенного) эта последовательность может быть реализована посредством исполняемых компьютерных команд, сохраняемых на одном или нескольких энергонезависимых компьютерных носителях информации, таких как магнитные, оптические или полупроводниковые запоминающие устройства.
Последовательность начинается в модуле 14 построения списка плиток, который осуществляет «раскладывание» и также определяет идентификаторы затрагиваемых плиток, для входных данных, как показано в блоке 42. Затем в блоке 44 вычисляют функцию хеширования или фильтр Блума для входных данных. Для всех затронутых плиток считывают текущие значения функций хеширования или фильтра Блума и затем аккумулируют вычисленные значения функции хеширования или фильтров, как показано в блоке 46. Далее проверка в ромбе 48 определяет, завершен ли процесс раскладывания плиток. Если нет, поток итеративно возвращается к блоку 42. Если да, поток переходит к модулю 20 выборки плиток.
В блоке 50 получают идентификатор следующей плитки для выборки. Для этой плитки получают текущие значения хэш-функции или фильтра, а также получают эти же параметры для предшествующего кадра в блоке 52. Проверка в блоке 54 определяет, совпадают ли текущие и предшествующие значения хэш-функции или фильтров. Если да, в блоке 56 пропускают операцию выборки, а также можно избежать растеризации для текущей плитки. Если нет, в блоке 58 переходят к выборке плитки и направляют данные в конвейер растеризации для обработки. Затем, в блоке 60 определяют, есть ли еще какой-либо другой идентификатор плитки для выборки. Если да, поток итеративно возвращается назад в блок 50. В противном случае, в блоке 62, текущие значения функции хеширования или фильтров становятся предшествующими значениями функции хеширования или фильтров.
Фиг. 3 иллюстрирует вариант системы 700. В различных вариантах система 700 может представлять медийную систему, хотя система 700 этим контекстом не ограничивается. Например, система 700 может быть встроена в персональный компьютер (PC), переносной компьютер, ультра-переносной компьютер, планшетный компьютер, тачпад, портативный компьютер, ручной компьютер, карманный компьютер, персональный цифровой помощник (personal digital assistant (PDA)), сотовый телефон, сочетание сотового телефона/PDA, телевизор, смарт-устройство (например, смартфон, смарт-планшет или смарт-телевизор), мобильное интернет-устройство (mobile internet device (MID)), устройство для обмена сообщениями, устройство передачи данных и т.д.
В различных вариантах система 700 содержит платформу 702, соединенную с дисплеем 720. Платформа 702 может принимать контент из контентного устройства, такого как устройства 730 контентных сервисов или устройства 740 доставки контента или другие источники контента. Навигационный контроллер 750, содержащий одну или несколько навигационных функций, может быть использован для взаимодействия, например, с платформой 702 и/или дисплеем 720. Каждый из этих компонентов более подробно рассмотрен ниже.
В некоторых вариантах платформа 702 может содержать какое-либо сочетание чипсета 705, процессора 710, оперативной памяти 712, запоминающего устройства 714, графических подсистем 715, приложений 716 и/или радио модуля 718. Например, чипсет 705 может содержать адаптер памяти (не показан), способный осуществлять связь с запоминающим устройством 714.
Процессор 710 может быть реализован в виде процессора с полным набором команд (Complex Instruction Set Computer (CISC)) или процессора с сокращенным набора команд (Reduced Instruction Set Computer (RISC)), процессора, совместимого с набором команд х86, многоядерного или какого-либо другого микропроцессора или центрального процессора (central processing unit (CPU)). В некоторых вариантах процессоры 710 могут содержать собой двухядерные процессоры, двухядерные мобильные процессоры и т.д. Процессор может осуществлять последовательность, показанную на фиг. 2, вместе с оперативной памятью 712.
Оперативная память 712 может быть реализована в виде энергонезависимого запоминающего устройства, такого как, не ограничиваясь этим, запоминающее устройство с произвольной выборкой (ЗУПВ (Random Access Memory (RAM)), динамическое ЗУПВ ((DRAM)) или статическое ЗУПВ ((SRAM)).
Запоминающее устройство 714 может представлять собой энергонезависимое запоминающее устройство, такое как, не ограничиваясь этим, накопитель на магнитном диске, накопитель на оптическом диске, накопитель на магнитной ленте, внутреннее запоминающее устройство, устройство флэш-памяти, синхронное динамическое ЗУПВ (SDRAM) с резервным аккумулятором, и/или запоминающее устройство, доступное через сеть. В некоторых вариантах запоминающее устройство 714 может использовать технологию для улучшения характеристик хранения информации и усиления защиты ценных цифровых носителей, когда в состав устройства входят несколько цифровых носителей, например.
Графическая подсистема 715 может осуществлять обработку изображений, таких как неподвижные изображения или видео для представления на дисплее. Графическая подсистема 715 может представлять собой графический процессор (graphics processing unit (GPU)) или видео процессор (visual processing unit (VPU)), например. Для связи между графической подсистемой 715 и дисплеем 720 можно использовать аналоговый или цифровой интерфейс. Например, интерфейс может представлять собой мультимедийный интерфейс высокой четкости (High-Definition Multimedia Interface), интерфейс DisplayPort, беспроводный HDMI-интерфейс или беспроводные технологии, совместимые с высокой четкостью (HD). Графическая подсистема 715 может быть интегрирована в процессор 710 или чипсет 705. Графическая подсистема 715 может быть выполнена в виде автономной платы, поддерживающей связь с чипсетом 705.
Способы обработки графики и/или видео могут быть реализованы в различных аппаратных архитектурах. Например, графические и/или видео функции могут быть интегрированы в чипсете. В качестве альтернативы, может быть использован дискретный и/или видео процессор. Еще в одном варианте графические и/или видео функции могут быть реализованы в процессоре общего назначения, включая многоядерные процессоры. Еще в одном варианте функции могут быть реализованы в устройстве потребительской электроники.
Радио модуль 718 может содержать один или несколько радио блоков, способных передавать и принимать сигналы с использованием разнообразных подходящих способов радиосвязи. Такие способы могут содержать связь через одну или несколько сетей радиосвязи. К примерам таких сетей радиосвязи относятся (не ограничиваясь) локальные сети радиосвязи (wireless local area network (WLAN)), персональные сети радиосвязи (wireless personal area network (WPAN)), городские сети радиосвязи (wireless metropolitan area network (WMAN)), сети сотовой связи и сети спутниковой связи. В процессе связи по таким сетям радио модуль 718 может работать в соответствии с одним или несколькими применимыми стандартами в какой-либо версии.
В различных вариантах дисплей 720 может содержать какой-либо монитор или дисплей телевизионного типа. Дисплей 720 может представлять собой, например, экран компьютерного дисплея, дисплей с сенсорным экраном, видеомонитор, устройство типа телевизора и/или телевизор. Дисплей 720 может быть цифровым и/или аналоговым. В различных вариантах дисплей 720 может представлять собой голографический дисплей. Кроме того, дисплей 720 может представлять собой прозрачную поверхность, на которую может падать видео проекция. Такие проекции могут нести разного рода информацию, изображения и/или объекты. Например, такие проекции могут выглядеть как наложенное видео для приложения мобильной дополненной реальности (mobile augmented reality (MAR)). Под управлением одного или нескольких программных приложений 716 платформа 702 может представлять изображение интерфейса 722 пользователя на дисплее 720.
В различных вариантах устройство 730 контентных сервисов может располагаться в каком-либо национальном, международном и/или независимом сервисе и, таким образом, быть доступным для платформы 702 через Интернет, например. Устройства 730 контентных сервисов могут быть связаны с платформой 702 и/или дисплеем 720. Платформа 702 и/или устройства 730 контентных сервисов могут быть соединены с сетью 760 связи для осуществления связи (например, передачи и/или приема) и обмена медийной информацией с этой сетью 760 связи. Устройства 740 доставки контента также может быть связано с платформой 702 и/или с дисплеем 720.
В различных вариантах устройства 730 контентных сервисов могут представлять собой приставку для кабельного телевидения, персональный компьютер, сеть связи, телефон, имеющие функции Интернет устройства или аппаратуру, способную доставлять цифровую информацию и/или контент, или какие-либо другие подобные устройства, способные в одном направлении или в двух направлениях передавать контент между провайдерами контента и платформой 702 и/или дисплеем 720 через сеть 760 связи или напрямую. Следует понимать, что контент может быть передан в одном направлении и/или в двух направлениях между каким-либо из компонентов в системе 700 и провайдером контента 760. Среди примеров контента может быть какая-либо медийная информация, включая, например, видео, музыку, медицинскую и цифровую информацию и т.д.
Устройства 730 контентных сервисов принимает контент, такой как программы кабельного телевидения, содержащие медийную информацию, цифровую информацию и/или другой контент. Среди примеров провайдеров контента можно указать каких-либо провайдеров контента для кабельного или спутникового телевидения. Приведенные примеры не имеют целью как-то ограничить применимые варианты.
В различных вариантах платформа 702 может принимать сигналы управления от навигационного контроллера 750, имеющего одну или несколько навигационных функций. Навигационные функции контроллера 750 могут быть использованы для взаимодействия с интерфейсом 722 пользователя, например. В различных вариантах навигационный контроллер 750 может представлять собой указательное устройство, которое может быть компонентом аппаратуры компьютера (в частности, компонент человеко-машинного интерфейса), позволяющим пользователю вводить пространственные (например, непрерывные и многомерные) данные в компьютер. Многие системы, такие как графический интерфейс пользователя (graphical user interface (GUI)), телевизоры и мониторы позволяют пользователю управлять и вводить данные в компьютер или в телевизор с использованием физических жестов.
Движения навигационных элементов контроллера 750 могут быть отражены на дисплее (например, на дисплее 720) посредством перемещения указателя, курсора, фокусного кольца или других визуальных индикаторов, представленных на дисплее. Например, под управлением программных приложений 716 навигационные элементы, расположенные на навигационном контроллере 750, могут быть отображены в виртуальные навигационные элементы, представленные на экране интерфейса 722 пользователя, например. В некоторых вариантах контроллер 750 может не быть отдельным компонентом, а может быть интегрирован в платформу 702 и/или в дисплей 720. Варианты, однако, не ограничиваются элементами или контекстом, показанным или описываемым здесь.
В различных вариантах драйверы (не показаны) могут содержать технологии, позволяющие пользователям быстро (мгновенно) включать и выключать платформу 702, такую как телевизор, простым прикосновением к кнопке после первоначальной загрузки, когда эта функция включена, например. Программируемые логические схемы могут позволить платформе 702 передавать поток контента медиа-адаптерам или другим устройствам 730 контентных сервисов или устройствам 740 доставки контента, когда платформа выключена ("off"). Кроме того, чипсет 705 может содержать аппаратную и/или программную поддержку для системы 5.1 звукового окружения и/или системы 7.1 звукового окружения высокой четкости, например. В совокупность драйверов может входить графический драйвер для интегральных графических платформ. В различных вариантах графический драйвер может представлять собой графическую плату интерфейса периферийных устройств (peripheral component interconnect (PCI) Express).
В различных вариантах любые один или несколько компонентов, показанных в системе 700, могут быть интегрированы. Например, могут быть интегрированы платформа 702 и устройства 730 контентных сервисов, либо могут быть интегрированы платформы 702 и устройства 740 доставки контента, либо могут быть интегрированы платформа 702, устройства 730 контентных сервисов и устройства 740 доставки контента. В различных вариантах платформа 702 и дисплей 720 могут быть интегрированы в одном модуле. Могут быть интегрированы дисплей 720 и устройства 730 контентных сервисов, либо могут быть интегрированы дисплей 720 и устройства 740 доставки контента, например. Эти примеры не имеют целью как-то ограничить объем настоящего изобретения.
В различных вариантах система 700 может быть реализована в виде системы радиосвязи, системы кабельной связи или сочетания таких систем. При реализации в качестве системы радиосвязи такая система 700 может содержать компоненты и интерфейсы, подходящие для связи в совместно используемой радио среде, такие как одна или несколько антенн, передатчиков, приемников, приемопередатчиков, усилителей, фильтров, логических схем управления и т.д. Пример такой совместно используемой радио среды может содержать участки радио спектра, такого как ВЧ-спектр и т.д. При реализации в качестве кабельной системы связи, система 700 может содержать компоненты и интерфейсы, подходящие для связи по проводным линиям связи, такие как адаптеры ввода/вывода (I/O), физические соединители (разъемы) для осуществления соединения адаптера ввода/вывода с соответствующей проводной линией связи, плата сетевого интерфейса (network interface card (NIC)), контроллер дисководов, видео контроллер, аудио контроллер и т.д. Среди примеров проводных линий связи можно указать провод, кабель, металлические выводы, печатную плату (printed circuit board (РСВ)), объединительную панель, коммутационную схему, полупроводниковый материал, витую пару проводов, коаксиальный кабель, оптоволоконную линию связи и т.д.
Платформа 702 может устанавливать один или несколько логических или физических каналов для передачи информации. Эта информация может содержать медийную информацию и управляющую информацию. Под медийной информации можно понимать какие-либо данные, представляющие контент для пользователя. Среди примеров таких контентов можно указать, например, данные голосового разговора, видео конференции, потокового видео, сообщений электронной почты ("email"), сообщений голосовой почты, алфавитно-цифровых символов, графики, изображения, видео, текста и т.д. Данные голосового разговора могут представлять собой, например, речевую информацию, периоды молчания, фоновый шум, комфортный шум, тональные сигналы и т.д. Управляющая информация может представлять какие-либо данные, несущие команды, инструкции или управляющие слова для управляющей системы. Например, управляющая информация может быть использована для маршрутизации медийной информации через систему или для передачи узлу инструкции для обработки медийной информации заданным образом. Варианты изобретения не ограничиваются элементами или в контексте, показанном или описанном на фиг. 3.
Как описано выше, система 700 может быть реализована в различных физических стилях или с различными форм-факторами. Фиг.4 иллюстрирует варианты устройства 800 с небольшим форм-фактором, в котором может быть воплощена система 700. В различных вариантах, например, устройство 800 может быть реализовано в виде мобильного компьютерного устройства с функцией радиосвязи. Под мобильным компьютерным устройством можно понимать какое-либо устройство, имеющее процессорную систему и мобильный источник питания, такой как одна или несколько батареек или аккумуляторов, например.
Как описано выше, к примерам мобильного компьютерного устройства могут относиться персональный компьютер (PC), переносной компьютер, ультра-переносной компьютер, планшетный компьютер, тачпад, портативный компьютер, ручной компьютер, карманный компьютер, персональный цифровой помощник (personal digital assistant (PDA)), сотовый телефон, сочетание сотового телефона/PDA, телевизор, смарт-устройство (например, смартфон, смарт-планшет или смарт-телевизор), мобильное интернет-устройство (mobile internet device (MID)), устройство для обмена сообщениями, устройство передачи данных и т.д.
К примерам мобильного компьютерного устройства могут также относиться компьютеры, адаптированные для ношения человеком, такие как наручный компьютер, компьютер на пальце, компьютер в кольце, компьютер в очках, компьютер в пряжке ремня, компьютер в нарукавной повязке, компьютер в ботинке, компьютеры в предметах одежды и другие носимые компьютеры. В различных вариантах, например, мобильное компьютерное устройство может быть реализовано в виде смартфона, способного исполнять компьютерные приложения, равно как осуществлять голосовую связь и/или передачу данных. Хотя некоторые варианты могут быть описаны применительно к смартфону, например, можно понимать, что некоторые варианты могут быть реализованы также с использованием других мобильных компьютерных устройств с функцией радиосвязи. Возможные варианты этим контекстом не ограничиваются.
Следующие положения и/или примеры относятся к другим вариантам:
Один из примеров вариантов может представлять собой способ, содержащий аккумулирование редуцированного представления геометрии, входных данных и состояний для плитки, когда создается список треугольников, прежде растеризации плитки, определение, является ли представление текущей плитки в текущем кадре таким же, как представление для предшествующего кадра и соответствующей плитки, и если представления для плитки в предшествующем и текущем кадрах являются одинаковыми, тогда пиксели предшествующей плитки используют в качестве пикселей текущей плитки при отображении текущей плитки. Способ может также содержать использование функции хеширования для получения редуцированного представления. Способ может содержать использование фильтра Блума для получения редуцированного представления. Способ может содержать использование двух фильтров Блума - одного для текущей плитки и одного для предшествующей плитке. Способ может содержать использование одной пары фильтров Блума для каждой из характеристик - геометрии, адресов текстуры и устройств закрашивания (теней). Способ может содержать аккумулирование в архитектуре с сортировкой на промежуточном этапе. Согласно этому способу повторное использование может содержать повторное использование цветовых величин. Согласно этому способу повторное использование может содержать повторное использование величин из буферов глубины и трафаретов. Способ может содержать замену текущего компактного представления на предшествующее контактное представление. Способ может содержать определение, используется ли тот же самый вызов отрисовки для одной и той же плитки в последовательных кадрах, чтобы выяснить, является ли представление таким же самым.
Другой пример варианта может содержать один или несколько энергонезависимых компьютерных носителей информации, сохраняющих команды для реализации последовательности, содержащей аккумулирование редуцированного представления геометрии, входных данных и состояний для плитки, когда создается список треугольников, прежде растеризации плитки, определение, является ли представление текущей плитки в текущем кадре таким же, как представление для предшествующего кадра и соответствующей плитки, и если представления для плитки в предшествующем и текущем кадрах являются одинаковыми, тогда пиксели предшествующей плитки используют в качестве пикселей текущей плитки при отображении текущей плитки. На носителях может быть записана указанная последовательность, содержащая использование функции хеширования для получения редуцированного представления. На носителях может быть записана указанная последовательность, содержащая использование фильтра Блума для получения редуцированного представления. На носителях может быть записана указанная последовательность, содержащая использование двух фильтров Блума - одного для текущей плитки и одного для предшествующей плитки. На носителях может быть записана указанная последовательность, содержащая использование одной пары фильтров Блума для каждой из характеристик - геометрии, адресов текстуры и устройств закрашивания (теней). На носителях может быть записана указанная последовательность, содержащая аккумулирование в архитектуре с сортировкой на промежуточном этапе. На носителях может быть записана указанная последовательность, содержащая повторное использование цветовых величин. На носителях может быть записана указанная последовательность, содержащая повторное использование величины из буферов глубины и трафаретов. На носителях может быть записана указанная последовательность, содержащая определение, используется ли тот же самый вызов отрисовки для одной и той же плитки в последовательных кадрах, чтобы выяснить, является ли представление таким же самым.
Другой пример варианта может представлять собой устройство, содержащее процессор для аккумулирования редуцированного представления геометрии, входных данных и состояний для плитки, когда создается список треугольников, прежде растеризации плитки, определения, является ли представление текущей плитки в текущем кадре таким же, как представление для предшествующего кадра и соответствующей плитки, и если представления для плитки в предшествующем и текущем кадрах являются одинаковыми, тогда пиксели предшествующей плитки используют в качестве пикселей текущей плитки при отображении текущей плитки, и запоминающее устройство, соединенное с этим процессором. Указанное устройство может также содержать указанный процессор для использования функции хеширования с целью получения редуцированного представления. Указанное устройство может содержать фильтр Блума для получения редуцированного представления. Указанное устройство может содержать два фильтра Блума - один для текущей плитки и один для предшествующей плитки. Указанное устройство может содержать одну пару фильтров Блума для каждой из характеристик - геометрии, адресов текстуры и устройств закрашивания (теней). Указанное устройство может содержать процессор для аккумулирования в архитектуре с сортировкой на промежуточном этапе. Указанное устройство может содержать процессор, чтобы воздерживаться от передачи данных для представления на дисплее, если компактные представления являются такими же самыми. Указанное устройство может содержать процессор для определения, используется ли тот же самый вызов отрисовки для одной и той же плитки в последовательных кадрах, чтобы выяснить, является ли представление таким же самым. Устройство может содержать аккумулятор. Устройство может также содержать встроенное программное обеспечение и модуль для обновления этого встроенного программного обеспечения.
Способы обработки графики, описываемые здесь, могут быть реализованы в различных аппаратных архитектурах. Например, графические функции могут быть интегрированы в чипсет. В качестве альтернативы может быть использован дискретный графический процессор. Еще в одном варианте графические функции могут быть реализованы в процессоре общего назначения, включая многоядерный процессор.
Ссылки в настоящем описании на «один вариант» или «один из вариантов» означает, что конкретный признак, структура или характеристика, описываемый в связи с этим вариантом, входит по меньшей мере в один из вариантов реализации, охватываемых настоящим изобретением. Таким образом, появления фразы «один вариант» или «в одном из вариантов» не обязательно относятся к одному и тому же варианту. Более того, конкретные признаки, структуры или характеристики могут быть воплощены в других подходящих формах, отличных от конкретного иллюстрируемого варианта, и все такие формы могут быть охвачены Формулой изобретения для настоящей заявки.
Хотя здесь были описаны ограниченное число вариантов, специалисты в рассматриваемой области смогут представить себе многочисленные модификации и их вариации. Прилагаемая Формула изобретения должна охватывать все такие модификации и вариации в пределах истинного смысла и объема настоящего изобретения.
Claims (38)
1. Способ отображения изображения, содержащий этапы, на которых:
аккумулируют компактное представление геометрии, входных данных и состояния для плитки изображения при создании списка примитивов изображения для плитки;
перед растеризацией плитки определяют, совпадает ли компактное представление для плитки в текущем кадре изображения с компактным представлением для соответствующей плитки в предшествующем кадре изображения посредством проверки, имеется ли один примитив из списка примитивов, полностью накладывающийся на плитку, и закрывает ли указанный примитив все остальные примитивы в списке примитивов; и
если компактные представления для плитки в предшествующем и текущем кадрах совпадают, повторно используют пиксели плитки в предшествующем кадре в качестве пикселей плитки в текущем кадре при отображении плитки в текущем кадре.
2. Способ по п. 1, содержащий этап, на котором используют функцию хеширования для получения компактного представления.
3. Способ по п. 1, содержащий этап, на котором используют фильтр Блума для получения компактного представления.
4. Способ по п. 3, содержащий этап, на котором используют два фильтра Блума, один для плитки в текущем кадре и один для плитки в предшествующем кадре.
5. Способ по п. 4, содержащий этап, на котором используют одну пару фильтров Блума для каждой из характеристик: геометрии, адресов текстуры и ретушеров.
6. Способ по п. 1, содержащий этап, на котором этап аккумулирования выполняют в архитектуре с сортировкой на промежуточном этапе.
7. Способ по п. 1, в котором на этапе повторного использования повторно используют цветовые значения.
8. Способ по п. 1, в котором на этапе повторного использования повторно используют буферы глубины или трафаретов.
9. Способ по п. 1, содержащий этап, на котором воздерживаются от передачи данных для отображения, если компактные представления совпадают.
10. Способ по п. 1, содержащий этап, на котором заменяют текущее компактное представление предшествующим контактным представлением.
11. Способ по п. 1, содержащий этап, на котором определяют, используется ли один и тот же самый вызов отрисовки для одной и той же плитки в последовательных кадрах, для определения, совпадают ли компактные представления.
12. Один или более энергонезависимых считываемых компьютером носителей информации, хранящих команды для реализации последовательности, содержащей:
аккумулирование компактного представления геометрии, входных данных и состояния для плитки изображения при создании списка примитивов изображения для плитки;
определения перед растеризацией плитки, совпадает ли компактное представление для плитки в текущем кадре изображения с компактным представлением для соответствующей плитки в предшествующем кадре изображения посредством проверки, имеется ли один примитив из списка примитивов, полностью накладывающийся на плитку, и закрывает ли указанный примитив все остальные примитивы в списке примитивов; и
если компактные представления для плитки в предшествующем и текущем кадрах совпадают, повторное использование пикселей плитки в предшествующем кадре в качестве пикселей плитки в текущем кадре при отображении плитки в текущем кадре.
13. Носитель информации по п. 12, в котором указанная последовательность содержит использование функции хеширования для получения компактного представления.
14. Носитель информации по п. 12, в котором указанная последовательность содержит использование фильтра Блума для получения компактного представления.
15. Носитель информации по п. 14, в котором указанная последовательность содержит использование двух фильтров Блума, одного для плитки в текущем кадре и одного для плитки в предшествующем кадре.
16. Носитель информации по п. 15, в котором указанная последовательность содержит использование одной пары фильтров Блума для каждой из характеристик: геометрии, адресов текстуры и ретушеров.
17. Носитель информации по п. 12, в котором указанная последовательность содержит аккумулирование в архитектуре с сортировкой на промежуточном этапе.
18. Носитель информации по п. 12, в котором повторное использование содержит повторное использование цветовых значений.
19. Носитель информации по п. 12, в котором повторное использование содержит повторное использование буферов глубины или трафаретов.
20. Носитель информации по п. 12, в котором указанная последовательность содержит определение, используется ли один и тот же самый вызов отрисовки для одной и той же плитки в последовательных кадрах, для определения, совпадают ли компактные представления.
21. Устройство отображения изображения, содержащее:
процессор для аккумулирования компактного представления геометрии, входных данных и состояния для плитки изображения при создании списка примитивов изображения для плитки, определения, перед растеризацией плитки, совпадает ли компактное представление для плитки в текущем кадре изображения с компактным представлением для соответствующей плитки в предшествующем кадре изображения посредством проверки, имеется ли один примитив из списка примитивов, полностью накладывающийся на плитку, и закрывает ли указанный примитив все остальные примитивы в списке примитивов, и, если компактные представления для плитки в предшествующем и текущем кадрах совпадают, используют пиксели плитки в предшествующем кадре в качестве пикселей плитки в текущем кадре при отображении плитки в текущем кадре; и
запоминающее устройство, соединенное с процессором.
22. Устройство по п. 21, в котором указанный процессор выполнен с возможностью использования функции хеширования для получения компактного представления.
23. Устройство по п. 21, содержащее фильтр Блума для получения компактного представления.
24. Устройство по п. 23, содержащее два фильтра Блума, один для плитки в текущем кадре и один для плитки в предшествующем кадре.
25. Устройство по п. 24, содержащее одну пару фильтров Блума для каждой из характеристик: геометрии, адресов текстуры и ретушеров.
26. Устройство по п. 21, в котором процессор выполнен с возможностью выполнения аккумулирования в архитектуре с сортировкой на промежуточном этапе.
27. Устройство по п. 21, в котором процессор выполнен с возможностью воздерживаться от передачи данных для отображения, если компактные представления совпадают.
28. Устройство по п. 21, в котором процессор выполнен с возможностью определения, используется ли один и тот же вызов отрисовки для одной и той же плитки в последовательных кадрах, для определения, совпадают ли компактные представления.
29. Устройство по п. 21, содержащее батарею.
30. Устройство по п. 21, содержащее встроенное программное обеспечение и модуль для обновления указанного встроенного программного обеспечения.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/277,239 US9940686B2 (en) | 2014-05-14 | 2014-05-14 | Exploiting frame to frame coherency in a sort-middle architecture |
US14/277,239 | 2014-05-14 | ||
PCT/US2015/028422 WO2015175231A1 (en) | 2014-05-14 | 2015-04-30 | Exploiting frame to frame coherency in a sort-middle architecture |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2017134050A Division RU2677584C1 (ru) | 2014-05-14 | 2015-04-30 | Использование межкадровой когерентности в архитектуре построения изображений с сортировкой примитивов на промежуточном этапе |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2016140574A RU2016140574A (ru) | 2018-04-17 |
RU2661763C2 true RU2661763C2 (ru) | 2018-07-19 |
Family
ID=54480444
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2016140574A RU2661763C2 (ru) | 2014-05-14 | 2015-04-30 | Использование межкадровой когерентности в архитектуре построения изображений с сортировкой примитивов на промежуточном этапе |
RU2017134050A RU2677584C1 (ru) | 2014-05-14 | 2015-04-30 | Использование межкадровой когерентности в архитектуре построения изображений с сортировкой примитивов на промежуточном этапе |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2017134050A RU2677584C1 (ru) | 2014-05-14 | 2015-04-30 | Использование межкадровой когерентности в архитектуре построения изображений с сортировкой примитивов на промежуточном этапе |
Country Status (9)
Country | Link |
---|---|
US (3) | US9940686B2 (ru) |
EP (1) | EP3143594B1 (ru) |
JP (2) | JP6337322B2 (ru) |
KR (3) | KR101980990B1 (ru) |
CN (3) | CN110555895B (ru) |
RU (2) | RU2661763C2 (ru) |
SG (3) | SG11201608884PA (ru) |
TW (3) | TWI566202B (ru) |
WO (1) | WO2015175231A1 (ru) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102116976B1 (ko) | 2013-09-04 | 2020-05-29 | 삼성전자 주식회사 | 렌더링 방법 및 장치 |
KR102122454B1 (ko) * | 2013-10-02 | 2020-06-12 | 삼성전자주식회사 | 이전 타일의 이미지를 이용하여 현재 프레임을 렌더링하는 방법 및 장치 |
US9940686B2 (en) | 2014-05-14 | 2018-04-10 | Intel Corporation | Exploiting frame to frame coherency in a sort-middle architecture |
GB2524121B (en) * | 2014-06-17 | 2016-03-02 | Imagination Tech Ltd | Assigning primitives to tiles in a graphics processing system |
US9799091B2 (en) | 2014-11-20 | 2017-10-24 | Intel Corporation | Apparatus and method for efficient frame-to-frame coherency exploitation for sort-last architectures |
GB2532495B (en) * | 2014-11-21 | 2018-05-02 | Advanced Risc Mach Ltd | Graphics processing systems |
GB201602117D0 (en) | 2016-02-05 | 2016-03-23 | Bae Systems Plc | Method and apparatus for generating an image |
GB201602120D0 (en) | 2016-02-05 | 2016-03-23 | Bae Systems Plc | Method and apparatus for generating an image |
US10456672B2 (en) | 2016-05-19 | 2019-10-29 | Google Llc | Methods and systems for facilitating participation in a game session |
US10373286B2 (en) * | 2016-08-03 | 2019-08-06 | Samsung Electronics Co., Ltd. | Method and apparatus for performing tile-based rendering |
DE112018000492T5 (de) * | 2017-01-24 | 2019-10-31 | Semiconductor Energy Laboratory Co., Ltd. | Anzeigevorrichtung und elektronisches Gerät |
EP4336800A3 (en) | 2017-10-10 | 2024-05-29 | Google LLC | Distributed sample-based game profiling with game metadata and metrics and gaming api platform supporting third-party content |
JP7005763B2 (ja) | 2018-03-22 | 2022-01-24 | グーグル エルエルシー | オンラインインタラクティブゲーミングセッションのコンテンツをレンダリングおよび符号化するための方法およびシステム |
JP7073526B2 (ja) | 2018-04-02 | 2022-05-23 | グーグル エルエルシー | インタラクティブなクラウドゲームのための方法、デバイス、およびシステム |
US11077364B2 (en) | 2018-04-02 | 2021-08-03 | Google Llc | Resolution-based scaling of real-time interactive graphics |
JP7073494B2 (ja) | 2018-04-10 | 2022-05-23 | グーグル エルエルシー | ゲームレンダリングにおけるメモリ管理 |
US11662051B2 (en) | 2018-11-16 | 2023-05-30 | Google Llc | Shadow tracking of real-time interactive simulations for complex system analysis |
KR102699047B1 (ko) | 2018-12-14 | 2024-08-27 | 삼성전자주식회사 | 경로를 포함하는 객체를 렌더링하는 장치, 이를 포함하는 컴퓨팅 장치 및 이의 렌더링 방법 |
GB2580179B (en) | 2018-12-21 | 2021-08-18 | Imagination Tech Ltd | Tile-based scheduling |
US11016774B1 (en) * | 2019-11-26 | 2021-05-25 | Arm Limited | Issuing execution threads in a data processor |
CN111796709B (zh) * | 2020-06-02 | 2023-05-26 | 南京信息工程大学 | 一种在触摸屏上再现图像纹理特征的方法 |
US12002145B2 (en) * | 2020-08-17 | 2024-06-04 | Intel Corporation | Apparatus and method for efficient graphics processing including ray tracing |
US11995767B2 (en) | 2020-08-17 | 2024-05-28 | Intel Corporation | Apparatus and method for compressing ray tracing acceleration structure build data |
US11416960B2 (en) | 2020-11-06 | 2022-08-16 | Samsung Electronics Co., Ltd. | Shader accessible configurable binning subsystem |
US20220319090A1 (en) * | 2021-03-31 | 2022-10-06 | Arm Limited | System, devices and/or processes for predictive graphics processing |
US20230269388A1 (en) * | 2022-02-18 | 2023-08-24 | Qualcomm Incorporated | Adaptive block-based frame similarity encoding |
EP4254340A1 (en) * | 2022-03-31 | 2023-10-04 | Imagination Technologies Limited | Reducing redundant rendering in a graphics system |
US11615578B1 (en) * | 2022-06-09 | 2023-03-28 | Illuscio, Inc. | Systems and methods for efficient rendering and processing of point clouds using textures |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060146056A1 (en) * | 2004-12-30 | 2006-07-06 | Intel Corporation | Method and apparatus for controlling display refresh |
US20080150950A1 (en) * | 2006-12-04 | 2008-06-26 | Arm Norway As | Method of and apparatus for processing graphics |
US7804499B1 (en) * | 2006-08-28 | 2010-09-28 | Nvidia Corporation | Variable performance rasterization with constant effort |
US20110199377A1 (en) * | 2010-02-12 | 2011-08-18 | Samsung Electronics Co., Ltd. | Method, apparatus and computer-readable medium rendering three-dimensional (3d) graphics |
US8108931B1 (en) * | 2008-03-31 | 2012-01-31 | Symantec Corporation | Method and apparatus for identifying invariants to detect software tampering |
RU2461977C2 (ru) * | 2006-12-18 | 2012-09-20 | Конинклейке Филипс Электроникс Н.В. | Сжатие и снятие сжатия изображения |
Family Cites Families (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1014602A (en) | 1961-05-15 | 1965-12-31 | Ass Elect Ind | Improvements relating to apparatus for converting pulse code signals into analogue form |
CN1201269C (zh) * | 1997-10-31 | 2005-05-11 | 惠普公司 | 响应数据率受限三维图形数据迅速绘制图象的方法和装置 |
US6738069B2 (en) * | 2001-12-31 | 2004-05-18 | Intel Corporation | Efficient graphics state management for zone rendering |
MXPA04007020A (es) * | 2002-01-23 | 2004-10-11 | Nokia Corp | Agrupamiento de cuadros de imagen para codificacion de video. |
AU2003268575B2 (en) * | 2002-12-16 | 2006-02-02 | Canon Kabushiki Kaisha | Tiling a Compressed Image |
US7268779B2 (en) | 2002-12-24 | 2007-09-11 | Intel Corporation | Z-buffering techniques for graphics rendering |
US7379019B2 (en) | 2003-01-31 | 2008-05-27 | Andrew Corporation | Method for angle of arrival determination on frequency hopping air interfaces |
US7586492B2 (en) * | 2004-12-20 | 2009-09-08 | Nvidia Corporation | Real-time display post-processing using programmable hardware |
US20080002894A1 (en) * | 2006-06-29 | 2008-01-03 | Winbond Electronics Corporation | Signature-based video redirection |
US7702683B1 (en) * | 2006-09-18 | 2010-04-20 | Hewlett-Packard Development Company, L.P. | Estimating similarity between two collections of information |
ITMI20070038A1 (it) * | 2007-01-12 | 2008-07-13 | St Microelectronics Srl | Dispositivo di renderizzazione per grafica a tre dimensioni con architettura di tipo sort-middle. |
US8300699B2 (en) * | 2007-05-31 | 2012-10-30 | Qualcomm Incorporated | System, method, and computer-readable medium for reducing required throughput in an ultra-wideband system |
US7743013B2 (en) * | 2007-06-11 | 2010-06-22 | Microsoft Corporation | Data partitioning via bucketing bloom filters |
US20090046098A1 (en) * | 2007-08-14 | 2009-02-19 | Stmicroelectronics S.R.L. | Primitive binning method for tile-based rendering |
GB0801812D0 (en) | 2008-01-31 | 2008-03-05 | Arm Noway As | Methods of and apparatus for processing computer graphics |
US8908763B2 (en) * | 2008-06-25 | 2014-12-09 | Qualcomm Incorporated | Fragmented reference in temporal compression for video coding |
US20100057618A1 (en) | 2008-08-27 | 2010-03-04 | Sean Andrew Spicer | System, method, and software to manage financial securities via a 3-dimensional landscape |
EP2366156B1 (en) | 2008-12-16 | 2013-03-20 | Telefonaktiebolaget LM Ericsson (publ) | String matching method and apparatus |
JP5354507B2 (ja) | 2009-06-10 | 2013-11-27 | 公立大学法人大阪府立大学 | 物体認識用画像データベースの作成方法、作成装置および作成処理プログラム |
US9672646B2 (en) * | 2009-08-28 | 2017-06-06 | Adobe Systems Incorporated | System and method for image editing using visual rewind operation |
US8134934B2 (en) * | 2009-09-21 | 2012-03-13 | Alcatel Lucent | Tracking network-data flows |
US9406155B2 (en) | 2009-09-25 | 2016-08-02 | Arm Limited | Graphics processing systems |
US8988443B2 (en) | 2009-09-25 | 2015-03-24 | Arm Limited | Methods of and apparatus for controlling the reading of arrays of data from memory |
JP5835879B2 (ja) | 2009-09-25 | 2015-12-24 | アーム・リミテッド | メモリからのデータの配列の読み込みを制御する方法および装置 |
GB0916924D0 (en) * | 2009-09-25 | 2009-11-11 | Advanced Risc Mach Ltd | Graphics processing systems |
US9349156B2 (en) | 2009-09-25 | 2016-05-24 | Arm Limited | Adaptive frame buffer compression |
KR101609266B1 (ko) * | 2009-10-20 | 2016-04-21 | 삼성전자주식회사 | 타일 기반의 랜더링 장치 및 방법 |
US8619085B2 (en) * | 2010-03-08 | 2013-12-31 | Broadcom Corporation | Method and system for compressing tile lists used for 3D rendering |
US8711163B2 (en) | 2011-01-06 | 2014-04-29 | International Business Machines Corporation | Reuse of static image data from prior image frames to reduce rasterization requirements |
US20120176386A1 (en) * | 2011-01-10 | 2012-07-12 | Hutchins Edward A | Reducing recurrent computation cost in a data processing pipeline |
GB201105716D0 (en) * | 2011-04-04 | 2011-05-18 | Advanced Risc Mach Ltd | Method of and apparatus for displaying windows on a display |
US9411733B2 (en) | 2011-09-09 | 2016-08-09 | University Of Rochester | Sharing pattern-based directory coherence for multicore scalability (“SPACE”) |
US10089774B2 (en) | 2011-11-16 | 2018-10-02 | Qualcomm Incorporated | Tessellation in tile-based rendering |
US9547930B2 (en) | 2011-11-30 | 2017-01-17 | Qualcomm Incorporated | Hardware switching between direct rendering and binning in graphics processing |
WO2013101150A1 (en) | 2011-12-30 | 2013-07-04 | Intel Corporation | A sort-based tiled deferred shading architecture for decoupled sampling |
CN104040589B (zh) * | 2012-01-16 | 2018-05-25 | 英特尔公司 | 使用随机光栅化生成随机采样分布的图形处理方法和设备 |
US8823736B2 (en) * | 2012-01-20 | 2014-09-02 | Intel Corporation | Graphics tiling architecture with bounding volume hierarchies |
KR101861772B1 (ko) | 2012-02-07 | 2018-05-28 | 삼성전자주식회사 | 시스템온칩, 이의 동작 방법, 및 상기 시스템온칩을 포함하는 모바일 장치 |
US9672584B2 (en) * | 2012-09-06 | 2017-06-06 | Imagination Technologies Limited | Systems and methods of partial frame buffer updating |
US9317948B2 (en) * | 2012-11-16 | 2016-04-19 | Arm Limited | Method of and apparatus for processing graphics |
US9043668B2 (en) | 2013-02-08 | 2015-05-26 | Seagate Technology Llc | Using ECC data for write deduplication processing |
KR102116708B1 (ko) * | 2013-05-24 | 2020-05-29 | 삼성전자 주식회사 | 그래픽스 프로세싱 유닛 |
US9189881B2 (en) * | 2013-05-30 | 2015-11-17 | Arm Limited | Graphics processing |
US9640148B2 (en) * | 2013-06-03 | 2017-05-02 | Arm Limited | Method of and apparatus for controlling frame buffer operations |
KR102122454B1 (ko) * | 2013-10-02 | 2020-06-12 | 삼성전자주식회사 | 이전 타일의 이미지를 이용하여 현재 프레임을 렌더링하는 방법 및 장치 |
US9659393B2 (en) * | 2013-10-07 | 2017-05-23 | Intel Corporation | Selective rasterization |
US9305326B2 (en) * | 2013-12-26 | 2016-04-05 | Industrial Technology Research Institute | Apparatus and method for tile elimination |
US9940686B2 (en) | 2014-05-14 | 2018-04-10 | Intel Corporation | Exploiting frame to frame coherency in a sort-middle architecture |
-
2014
- 2014-05-14 US US14/277,239 patent/US9940686B2/en active Active
-
2015
- 2015-04-10 TW TW104138256A patent/TWI566202B/zh active
- 2015-04-10 TW TW104111621A patent/TWI550548B/zh active
- 2015-04-10 TW TW105120180A patent/TWI596571B/zh active
- 2015-04-30 EP EP15792470.5A patent/EP3143594B1/en active Active
- 2015-04-30 CN CN201910789423.9A patent/CN110555895B/zh active Active
- 2015-04-30 CN CN201910789438.5A patent/CN110544289B/zh active Active
- 2015-04-30 KR KR1020177022090A patent/KR101980990B1/ko active IP Right Grant
- 2015-04-30 WO PCT/US2015/028422 patent/WO2015175231A1/en active Application Filing
- 2015-04-30 SG SG11201608884PA patent/SG11201608884PA/en unknown
- 2015-04-30 RU RU2016140574A patent/RU2661763C2/ru active
- 2015-04-30 RU RU2017134050A patent/RU2677584C1/ru active
- 2015-04-30 JP JP2016561851A patent/JP6337322B2/ja active Active
- 2015-04-30 KR KR1020167028733A patent/KR101952922B1/ko active IP Right Grant
- 2015-04-30 CN CN201580019933.8A patent/CN106233337B/zh active Active
- 2015-04-30 KR KR1020197005083A patent/KR102154456B1/ko active IP Right Grant
- 2015-04-30 SG SG10201807923YA patent/SG10201807923YA/en unknown
- 2015-04-30 SG SG10201706498SA patent/SG10201706498SA/en unknown
- 2015-10-08 US US14/878,336 patent/US9922393B2/en active Active
-
2016
- 2016-07-18 US US15/212,934 patent/US9904977B2/en active Active
-
2017
- 2017-08-02 JP JP2017150266A patent/JP6504212B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060146056A1 (en) * | 2004-12-30 | 2006-07-06 | Intel Corporation | Method and apparatus for controlling display refresh |
US7804499B1 (en) * | 2006-08-28 | 2010-09-28 | Nvidia Corporation | Variable performance rasterization with constant effort |
US20080150950A1 (en) * | 2006-12-04 | 2008-06-26 | Arm Norway As | Method of and apparatus for processing graphics |
RU2461977C2 (ru) * | 2006-12-18 | 2012-09-20 | Конинклейке Филипс Электроникс Н.В. | Сжатие и снятие сжатия изображения |
US8108931B1 (en) * | 2008-03-31 | 2012-01-31 | Symantec Corporation | Method and apparatus for identifying invariants to detect software tampering |
US20110199377A1 (en) * | 2010-02-12 | 2011-08-18 | Samsung Electronics Co., Ltd. | Method, apparatus and computer-readable medium rendering three-dimensional (3d) graphics |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2661763C2 (ru) | Использование межкадровой когерентности в архитектуре построения изображений с сортировкой примитивов на промежуточном этапе | |
TWI582751B (zh) | 避免發送未改變區域至顯示器之技術 | |
TWI535277B (zh) | 用於深度緩衝之方法、設備及系統 | |
US9754345B2 (en) | Compression and decompression of graphics data using pixel region bit values | |
US9251731B2 (en) | Multi-sampling anti-aliasing compression by use of unreachable bit combinations | |
US9153201B2 (en) | Real-time order-independent transparent rendering | |
JP6745020B2 (ja) | 方法、コンピュータプログラム、コンピュータ可読記録媒体および装置 | |
US9262841B2 (en) | Front to back compositing |