Tez No İndirme Tez Künye Durumu
524617
Tools and techniques for implementation of real-time video processing algorithms / Gerçek zamanlı video işleme algoritmalarının uygulanması için araç ve teknikler
Yazar:VECDİ EMRE LEVENT
Danışman: DOÇ. DR. HASAN FATİH UĞURDAĞ
Yer Bilgisi: Özyeğin Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgisayar Mühendisliği Bilim Dalı
Konu:Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin:FPGA = FPGA
Onaylandı
Doktora
İngilizce
2018
109 s.
Video işleme algoritmalarının donanım gerçeklemelerinin (doğası gereği çoğunlukla gerçek zamanlı) mimari ödünleşime ihtiyacı vardır. Böylece asgari maliyetle gerekli performansı elde edebiliriz. Ek olarak, gerçeklenecek video algoritmalarının farklı uygulamalarda farklı fps ve çözünürlük ile kullanılması gerekli olabilir. Bu nedenle, genellikle sabit bir tasarım yerine, parametrize bir IP bloğuna ihtiyaç duyarız. Ayrıca, donanım geliştirme sürecinde, algoritma takımı tarafından verilen gereksinimler algoritmanın kendisi gibi değişebilir. Bunların sonucu olarak, donanım geliştirme iterasyonları, algoritma geliştirme iterasyonları kadar hızlı olmalıdır. Bu, ancak özellikle video işleme için donanım tasarım üretimine yönelik araç ve tekniklerin kullanımı ile mümkündür. Bu tezde bahsedilen araç ve teknikler arasında sunucu yazılımı, FPGA arayüz IP'leri, HLS, RTL üretim araçları, bir mimari tahmin aracı, akış tabanlı doğrulama yaklaşımı ve lojik sentez otomasyonunun yanı sıra mimari kavramlar (örneğin. iç içe boruhattı) bulunmaktadır. Mimari tahmin aracı bir çok metriği tahmin etmektedir. Bu metrikler alan, çıktı verme, gecikme, DRAM kullanımı, arayüz bantgenişliği, sıcaklık ve derleme zamanıdır. Yukarıdaki araç ve teknikleri, spesifik bir kullanım durumu olan optik akış üzerinde açıklarken, ayrıca diğer bir kullanım durumu olan görüntü füzyonunun da sonuçlarını sunmaktayız. Metodolojimizi ve araçlarımızı kullanarak, optik akış'ın 11 versiyonu ve görüntü füzyon'un 3 versiyonunu 2 farklı şirketin 3 farklı FPGA'i üzerinde tasarladık ve ayağa kaldırdık. Bu tasarımların ilk versiyonları (RTL üreticisi nedeniyle) birkaç ay aldı, ancak müteakip tasarım versiyonlarının her biri birkaç kişi ile birkaç gün aldı. Mimari ödünleşime ihtiyaç duyulduğu durumlarda, bin civarında tasarımı bir gün içerisinde 48 çekirdekli sunucuda üretip sentezleyebilmekteyiz.
Hardware implementation of video processing algorithms, which are usually real-time by nature, need architectural exploration so that we achieve the required performance with minimal cost. In addition, the video algorithm to be implemented may need to be used with different frames-per-second and resolution in different applications. Hence, we usually need to design a parameterized IP block instead of a fixed design. Also, during the hardware design process, the requirements fed from the algorithms team may change as well as the algorithm itself. As a result of these, hardware implementation iterations need to be as fast as the algorithms development iterations. This is only possible with the use of tools and techniques specifically geared towards hardware design generation for video processing. The tools and techniques discussed in this dissertation include host software, FPGA interface IP, HLS, RTL generation tools, an architectural estimation tool, flow based verification approach, and logic synthesis automation as well as architectural concepts (e.g., nested pipelining). The architectural estimation tool estimates many design metrics. These metrics are area, throughput, latency, DRAM usage, interface bandwidth, temperature, and compilation time. While we explain the above tools and techniques within a specific use case, namely, optical flow, we also present results from another use case, image fusion. Using our methodology and tools, we were able to design and bring up to 11 versions of optical flow and 3 versions of image fusion on 3 different FPGAs from 2 different vendors. The first version of these designs (hence the generators) took several months; however, the subsequent design versions each took a few days with a few people. In the case where only architectural trade-off is needed, we were able to generate and synthesize around one thousand designs in a single day on a 48-core server.