Library
|
Your profile |
Software systems and computational methods
Reference:
Arzumanyan, R.V., Sukhinov, A.I. (2017). Theoretical Analysis of the Hilbert Curve Efficiency for Sliding Filter Image Processing. Software systems and computational methods, 3, 61–69. https://doi.org/10.7256/2454-0714.2017.3.23489
Theoretical Analysis of the Hilbert Curve Efficiency for Sliding Filter Image Processing
DOI: 10.7256/2454-0714.2017.3.23489Received: 03-07-2017Published: 06-10-2017Abstract: The subject of the present research is the theoretical research of Hilbert curve properties that allow to arrange an efficient access to image pixels during slider filter image processing by using Hilbert curve as a image point traversal order. The effect is achieved by means of reducing the number of repeated memory operations during adjacent image pixels and equally distributing restored pixels at horizontal and vertical steps between image pixels. The research method is the theoretical analysis. The validity of theoretical results is proved by previous experimental researches the authors of the present article refer to. The novelty of the research is caused by the fact that the authors give a theoretical substantiation of previous experimental researches. The authors give their evaluation of a number of memory operations that can be avoided during image point traverse along Hilbert curve depending on the size of a sliding filter. The authors also carry out a comparison with other continuous traversal orders (such as horizontal steps between pixels from the point of view of counting distribution of readings during filtration. Keywords: Hilbet curve, image processing, sliding image filter, theoretical analysis, high performance, memory bandwidth, memory access pattern, continuous traversal order, graphical computing, image memory layoutThis article written in Russian. You can find original text of the article here . Введение. В последнее десятилетие наметились изменения в темпах прогресса в вычислительной технике – переход от экстенсивного роста частот к интенсивному наращиванию мощности [1] путём горизонтального масштабирования вычислительных систем. В этой связи, всё большее значение приобретает разработка локальных алгоритмов – тех, которые бы использовали для передачи данных низкоуровневые быстрые локальные каналы передачи данных [2,3]. Это необходимо потому, что скорость обмена информацией значительно ниже, чем скорость её обработки на современных компьютерах [4,5]. Ускорители вычислений с архитектурой массового параллелизма особенно нуждаются в таких алгоритмах, поскольку массовые обращения к глобальной памяти на таких устройствах приводят к значительным просадкам производительности [6]. Кривая Гильберта (далее КГ) является частным случаем кривой, заполняющей пространство. Впервые класс подобных кривых был рассмотрен в работе Пеано [7] в 1890 г. Пространственные кривые, заполняющие пространство можно рассматривать как непрерывное отображение
Цель работы. Цель данной работы – дать теоретическое объяснение эффективности применения КГ для задач обработки изображений фильтрами со скользящим окном, при условии применения упомянутой кривой для обхода точек изображения. Практическая эффективность подобного подхода была показана в предыдущих работах [14, 17], однако теоретическое обоснование подобного эффекта не было рассмотрено достаточно подробно. Постановка задачи. Для простоты обозначений, будем рассматривать изображения с соотношением сторон 1:1 и фильтры с квадратным скользящим окном. Пусть Основная часть. Рассмотрим группу точек изображения. Число точек в группе будем полагать равным
Если представить P в двоичном виде, то единичные биты будут располагаться на местах:
в том случае, если единичные биты в двоичном представлении
в том случае, если в двоичном представлении
Из этого следует, что прямоугольник с наименьшим периметром при заданной площади (квадрат) даёт наименьшее приращение площади при увеличении периметра. Физический смысл этого утверждения таков: при использовании фильтров со скользящим окном, приращение периметра равно размеру окна фильтрации. Если сгруппировать фильтруемые пикселы в квадрат, то нужно будет прочесть из памяти минимально возможное количество пикселов из окрестности для фильтрации. Данное свойство очень важно, поскольку производительность многие алгоритмов обработки изображений ограничена быстродействием памяти. Уменьшение числа чтений для таких алгоритмов позволяет повысить их производительность. Таким образом, кривая Гильберта обладает следующими свойствами, важными для применения её в качестве порядка обхода точек изображения: · Кривая Гильберта группирует · Если порядок кривой · Если порядок кривой · При большом порядке кривой, количество вертикальных и горизонтальных переходов можно считать равным. Точные формулы для расчёта числа переходов: Для любого фильтра с окном размера
Приведём оценку числа пикселов, которые не нужно читать при обходе точек вдоль кривой Гильберта, по сравнению с растровым порядком обхода. Данные приведены для изображения размером 1024×1024 пиксела.
Так, из Таб. 1 видно, что для фильтров со скользящим окном размера 8х8 и 16х16, выигрыш составляет от 5.5% до 23.44% от общего числа точек изображения. Для того, чтобы избежать загрузки
Таблица 2: сравнение числа горизонтальных и вертикальных переходов при обходе точек изображения
В таблице 2 приведены оценки для числа горизонтальных и вертикальных переходов для описанных ранее порядков обхода точек изображения размера Кривая Гильберта является частным случаем кривой, при которой возможен непрерывный обход точек изображения, который минимизирует число повторных обращений к памяти за счёт повторного использования ранее загруженных пикселов в пределах окрестности окна фильтра. Свойство минимизации числа повторных обращений к памяти при обработке соседних точек расчётной области будем далее называть свойством локальности. Свойство локальности хорошо подходит для реализации алгоритмов на графических ускорителях с поддержкой вычислений общего назначения (далее GPGPU) – обращения к памяти из соседних потоков будут происходить к соседним адресам. Так как объём кэшей на GPGPU и ускорителях вычислений небольшой, а обращения к памяти - медленные, то использование алгоритмов с хорошим шаблоном доступа к памяти может существенно увеличить производительность. Однако, у предлагаемого способа есть недостаток – вычисление координаты точки по длине кривой в заданной точке является для графического процессора (далее GPU) неподходящей задачей, так как требует последовательных вычислений в цикле [13]. Кроме того, за счёт чередования направлений перехода, может падать эффективность использования кэша инструкций в том случае, если алгоритмы фильтрации различны для горизонтального и вертикального переходов. Практическая эффективность применения КГ для обхода точек изображения в задачах фильтрации изображения показана в работе [17]. Выводы. В данной работе было произведён анализ свойства пространственной локальности КГ в двумерном случае. Данное свойство определяет эффективность обхода точек изображения вдоль упомянутой кривой при обработке изображений фильтрами со скользящим окном за счёт минимизации числа обращений к памяти и повторного использования ранее прочитанных пикселов в пределах скользящего окна фильтра и чередования вертикальных и горизонтальных переходов между точками изображения в сравнении с другими непрерывными порядками обхода. Так же, дана оценка числа операций чтения из памяти, которых можно избежать при обходе точек изображения вдоль КГ в сравнении с растровой кривой. Было показано, что за счёт равного числа вертикальных и горизонтальных переходов, обход точек изображения вдоль КГ создаёт смешанный тип нагрузки на контроллер памяти в том случае, если чтение данных проходит через write-through кэш вычислителя, разбитый на линии, размер которых сопоставим с объёмом данных для одной строки пикселов в пределах окна фильтра.
References
1. Gulyakovich G. N., Severtsev V.N., Shurchkov I.O. Perspektivy i problemy poluprovodnikovoi nanoelektroniki // Inzhenernyi vestnik dona. 2012. №2.
2. Voevodin V.V., Voevodin Vl. V. Spasitel'naya lokal'nost' superkomp'yuterov // Otkrytye sistemy.-2013.-№9.. 3. Voevodin V. V., Voevodin Vl. V. Parallel'nye vychisleniya.-SPb.: BKhV-Peterburg, 2002.-608 s. 4. Ponomareva E.I. Sovershenstvovanie protsessa obrabotki dannykh pri pomoshchi oblachnykh vychislenii // Inzhenernyi vestnik dona. 2012. №1. 5. I. A. Nikolaev, A. I. Sukhinov, O. D. Kharina. O rasparallelivanii treugol'nykh iteratsionnykh metodov na spetsializirovannoi mnogoprotsessornoi sisteme// Avtomatika i telemekhanika, 1986, vypusk 5, s.135–142. 6. Gervich L.R., Shteinberg B.Ya. Programmirovanie ekzaflopnykh sistem // Otkrytye sistemy.-2013.-№8. 7. Peano G. Sur une Courbe qui Remplit Toute une Aire Plane // Math. Ann.-1891.-№36.-S. 157-160. 8. Hilbert D. Uber die stetige Abbildung einer Linie auf Flachenstuck // Math. Ann..-1891.-№38.-S. 459-460. 9. Jagadish H. V. Linear Clustering of Objects with Multiple Attributes // Proc. ACM SIGMOD Conf..-1990.-№1.-S. 332-342. 10. Sagan H. A Three-Dimensional Hilbert Curve // Int'l J. Math. Ed. Science Technology.-1993.-№24.-S. 541-545. 11. Bially T. Space-filling curves: Their generation and their application to bandwidth reduction // IEEE Transactions on Information Theory.-1969.-№6.-S. 658–664. 12. Patrick E. A., Anderson D. R., Bechtel F. K. Mapping Multidimensional Space to One Dimension for Computer Output Display // IEEE Transactions on Computers.-1968.-№10.-S. 949–953. 13. Butz A. R. Alternative Algorithm for Hilbert’s Space-Filling Curve // IEEE Transactions on Computers..-1971.-№4.-S. 424-426. 14. Uorren G.S.-ml. Algoritmicheskie tryuki dlya programmistov.-2-e izd. – M.: Vil'yams, 2013.-512 s. 15. Moon B., Jagadish H. V., Faloutsos C., Saltz J. H. Analysis of the clustering properties of the Hilbert space-filling curve // IEEE Transactions on Knowledge and Data Engineering..-2001.-№1.-S. 124-141. 16. Shaffer C. A. A Formula for Computing the Number of Quadtree Node Fragments Created by a Shift // Pattern Recognition Letters.-1988.-№1.-S. 45-49. 17. Arzumanyan R. V. Primenenie krivoi Gil'berta dlya obkhoda tochek raschetnoi oblasti v zadachakh obrabotki izobrazhenii // Inzhenernyi vestnik dona.-2015.-№4.-S. 949–953. |