RU2661763C2 - Использование межкадровой когерентности в архитектуре построения изображений с сортировкой примитивов на промежуточном этапе - Google Patents

Использование межкадровой когерентности в архитектуре построения изображений с сортировкой примитивов на промежуточном этапе Download PDF

Info

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
Application number
RU2016140574A
Other languages
English (en)
Other versions
RU2016140574A (ru
Inventor
Хуан ФЕРНАНДЕС
КАСАДО Хавьер КАРРЕТЕРО
Педро МАРСЕЛЛО
Томас Г. АКЕНИНЕ-МОЛЛЕР
Original Assignee
Интел Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Интел Корпорейшн filed Critical Интел Корпорейшн
Publication of RU2016140574A publication Critical patent/RU2016140574A/ru
Application granted granted Critical
Publication of RU2661763C2 publication Critical patent/RU2661763C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control 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/363Graphics controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2330/00Aspects of power supply; Aspects of display protection and defect management
    • G09G2330/02Details of power systems and of start or stop of display operation
    • G09G2330/021Power management, e.g. power saving
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/122Tiling

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, содержащее встроенное программное обеспечение и модуль для обновления указанного встроенного программного обеспечения.
RU2016140574A 2014-05-14 2015-04-30 Использование межкадровой когерентности в архитектуре построения изображений с сортировкой примитивов на промежуточном этапе RU2661763C2 (ru)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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

Publication number Publication date
CN110544289A (zh) 2019-12-06
CN110555895A (zh) 2019-12-10
SG11201608884PA (en) 2016-11-29
US20160027144A1 (en) 2016-01-28
RU2677584C1 (ru) 2019-01-17
KR101980990B1 (ko) 2019-05-21
SG10201706498SA (en) 2017-09-28
TWI596571B (zh) 2017-08-21
TWI550548B (zh) 2016-09-21
JP2017215997A (ja) 2017-12-07
JP6504212B2 (ja) 2019-04-24
US20160328820A1 (en) 2016-11-10
SG10201807923YA (en) 2018-10-30
TW201545118A (zh) 2015-12-01
KR20170094464A (ko) 2017-08-17
EP3143594A4 (en) 2017-12-27
TW201608521A (zh) 2016-03-01
JP2017517799A (ja) 2017-06-29
EP3143594A1 (en) 2017-03-22
US9904977B2 (en) 2018-02-27
CN110555895B (zh) 2023-09-29
CN106233337B (zh) 2019-09-24
US20150332429A1 (en) 2015-11-19
TW201706957A (zh) 2017-02-16
EP3143594B1 (en) 2020-12-02
KR101952922B1 (ko) 2019-02-27
TWI566202B (zh) 2017-01-11
KR102154456B1 (ko) 2020-09-10
US9940686B2 (en) 2018-04-10
JP6337322B2 (ja) 2018-06-06
US9922393B2 (en) 2018-03-20
RU2016140574A (ru) 2018-04-17
KR20190020197A (ko) 2019-02-27
CN106233337A (zh) 2016-12-14
KR20160134778A (ko) 2016-11-23
WO2015175231A1 (en) 2015-11-19
CN110544289B (zh) 2023-09-19

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