Vivado HLS Gömülü Gerçek Zamanlı Görüntü İşleme Sisteminin Yapılması ve Uygulanması

Zhang Yanhui1, Guo Mingyu2, He Bin1

(1. Bilgi Bilimi ve Teknolojisi Okulu, Pekin Kimya Teknolojisi Üniversitesi, Pekin 100029; 2. Pekin Uydu Çevre Mühendisliği Enstitüsü, Pekin 100094)

CPU, GPU ve DSP'ye dayalı geleneksel işleme platformlarının gerçek zamanlı görüntü işlemenin gereksinimlerini karşılaması zordur ve FPGA, paralel görüntü işlemede performans ve maliyet arasında daha esnek seçenekler sağlayan benzersiz avantajlara sahiptir. Xilinx'in en yeni Vivado HLS aracı sayesinde, değişken parametrelere sahip Laplacian görüntü filtreleme algoritması tasarlandı ve gerçekleştirildi ve ZYNQ-7000SoC üzerinde görsel gerçek zamanlı gömülü bir görüntü işleme sistemi oluşturuldu. Deneysel sonuçlar, sistemin, görüntü işlemenin gerçek zamanlı, yüksek performanslı ve düşük maliyetli gereksinimlerini karşılayan ve gelecekte yüksek performanslı görüntü işleme sistemlerinin tasarımı ve uygulaması için iyi bir referans sağlayan farklı görüntü işleme algoritmalarını uygulayabildiğini göstermektedir.

Vivado HLS; Görüntü işleme; Laplacian; ZYNQ-7000; Gömülü Linux; Qt

Son yıllarda, görüntüleme teknolojisinin sürekli gelişmesi ve görüntü uygulamalarının yaygınlaşması nedeniyle dijital görüntülerde bulunan veri miktarı gün geçtikçe artmış ve görüntü işleme algoritmaları giderek daha karmaşık hale gelmiştir. Şu anda, yaygın olarak kullanılan Dijital Sinyal İşlemci (DSP) ve Grafik İşleme Birimi (GPU) teknolojileri, görüntü işlemenin gerçekleştirilmesinde düşük maliyetli ve kolay programlama avantajlarına sahiptir, ancak performans, güç tüketimi ve gerçek zamanlı performans avantajlarına sahiptir. Bir yandan, bunlar ve FPGA'lar arasında hala büyük bir boşluk var ve gömülü görüntü alanında artan esneklik, yüksek performans ve düşük güç tüketimi gereksinimlerini karşılamak zordur. Çok sayıda çalışma, görüntü işlemeyi sağlamak için FPGA kullanımının daha yüksek hesaplama performansı sağlayabileceğini göstermiştir. Bu nedenle, bilgi işlem performansı ve gerçek zamanlı performans açısından FPGA, gömülü görüntü işleme uygulamaları için ideal bir seçimdir.

Xilinx'in ZYNQ-7000 serisi ürünleri, en son ARM Cortex-A9 çift çekirdekli işlemci ve yüksek performanslı FPGA teknolojisini birleştirir. Yeni nesil yonga üzerinde programlanabilir sistem olan ZYNQ-7000 SoC, bilgi işlem açısından yoğun, özellik açısından zengin gömülü uygulama tasarımı için çok uygundur. Xilinx'in Vivado HLS aracı, IP oluşturmayı büyük ölçüde hızlandıran ve işleme algoritmalarının esnekliğini karşılayan geleneksel donanım tanımlama dilleri aracılığıyla karmaşık programlar yazmaya gerek kalmadan programlanabilir mantık tasarımına C dili, C ++ ve sistem C dilini sunar. . Tasarım, değişken parametreli bir Laplacian görüntü filtreleme algoritması uygulamak için Vivado HLS aracını kullanır ve oluşturulan IP'yi, OV7670 kamera tarafından toplanan görüntü verilerini işlemek için ZYNQ-7000'in programlanabilir mantık kısmına ekler. Ubuntu Linux masaüstü sistemini ZYNQ-7000 çift çekirdekli işlemciye nakletmek, Qt aracını kullanarak üst bilgisayar insan-bilgisayar etkileşimi kontrol arayüzünü ve alt bilgisayar görüntüleme programını yazmak ve gömülü Linux görsel gerçek zamanlı görüntü işleme sistemini gerçekleştirmek.

ZYNQ-7000 gömülü dijital görüntü işleme sisteminin blok diyagramı Şekil 1'de gösterilmektedir. Sistem temel olarak OV7670 kamera, ZYNQ-7000 SoC, veri depolama birimi DDR3, HDMI ekran ve ana bilgisayardan oluşmaktadır. Tüm gerçek zamanlı işleme sisteminin çekirdeği olan ZYNQ-7000 SoC, iki bölümden oluşur: İşleme Sistemi (PS) ve Programlanabilir Mantık (PL). PS bölümü esas olarak çift ARM Cortex-A9 çekirdeği içerir ve PL bölümü içerir Geleneksel DSP kaynakları ve FPGA mantık birimi kullanılır.

1.1 PL tarafından uygulanan işlevler

Programlanabilir mantık PL bölümü tarafından gerçekleştirilen ana işlevler aşağıdaki gibidir:

(1) OV7670 kameradan görüntü verilerini alın ve Video Doğrudan Bellek Erişimi (VDMA) aracılığıyla depolama için DDR3 bellek yongasına aktarın;

(2) DDR3'te depolanan görüntü verilerini, görüntü işleme için VDMA aracılığıyla değişken parametreli Laplacian filtreleme algoritması IP modülüne iletin ve işlenmiş görüntü verilerini VDMA aracılığıyla DDR3'e yeniden iletin;

(3) PL'deki ekran modülü, gömülü Linux'un donanım görüntüleme birimini oluşturmak için VDMA ile işbirliği yapar.

OV7670 kamera görüntü elde etmek için kullanılır.OV7670 görüntü sensörü küçük boyutludur ve çalışma voltajı düşüktür.Tek çipli bir VGA kamera ve görüntü işlemcisinin tüm işlevlerini sağlar. SCCB veri yolu kontrolü sayesinde, çeşitli çözünürlüklerde 8 bitlik görüntü verilerini tam çerçeve, alt örnekleme, pencereleme vb. Tasarım, çıkış formatı olarak RGB565 ve VGA640 × 480'i seçer, karşılık gelen kayıt değerini SCCB kontrol modülü aracılığıyla kayıt listesine yazar ve toplanan verileri AXI4 Stream arayüz protokolü aracılığıyla DDR3'e yazar. Bu tasarımda, SCCB görüntü kontrol ve görüntü alma modülünün tasarımı, donanım tanımlama dili ile gerçekleştirilmiştir.

1.2 PS tarafından uygulanan işlevler

İşleme sisteminin PS bölümü tarafından uygulanan ana işlevler aşağıdaki gibidir:

(1) Üst düzey uygulamalar için işletim sistemi desteği sağlamak için Ubuntu masaüstü sistemini çalıştırın;

(2) PL verileriyle etkileşim ve masaüstü sistemi görüntüleme işlevlerini gerçekleştirmek için derlenmiş VDMA ve HDMI görüntü görüntüleme sürücülerini çağırın;

(3) Qt tarafından yazılan üst düzey uygulamaları ve ağ programlamayı gerçekleştirin.

Şekil 1'de gösterildiği gibi, VDMA, PL ve DDR3 bellekleri arasında yüksek hızlı veri aktarımı için bir mekanizma sağlar. VDMA'nın iki veri bağlantı noktası vardır: MM2S ve S2MM. MM2S ve S2MM'nin maksimum veri genişliğinin her ikisi de 64 bittir ve arabellek derinliği 512 B'dir. Bunların arasında, S2MM bağlantı noktası, görüntü verilerinin PL'den DDR3 belleğe aktarımını gerçekleştirir ve MM2S bağlantı noktası, görüntü verilerinin DDR3 belleğinden PL'ye aktarılmasını gerçekleştirir. ARM işlemcisi, AXI_GP evrensel arabirimi aracılığıyla VDMA'yı kontrol edebilir.

2 Laplacian filtre algoritmasının uygulanması

2.1 Laplacian filtre algoritması

Laplacian operatörü, görüntü işleme teknolojisinde yaygın bir iyileştirme operatörüdür.Dönme değişmezliği ve basit uygulaması nedeniyle, görüntü keskinleştirme ve yüksek frekans geliştirme gibi algoritmalarda yaygın olarak kullanılmaktadır. Görüntü sinyalinde, yüksek frekanslı bileşenler genellikle görüntünün kenar konturuna karşılık gelir Laplacian operatörünü kullanan görüntü filtreleme algoritması, görüntüyü keskinleştirme ve görüntü çevritinin tanımını geliştirme etkisine ulaşabilir. Laplacian, dönme değişmezliği ile en basit izotropik diferansiyel operatördür. İki boyutlu bir görüntü fonksiyonunun Laplace dönüşümü, aşağıdaki şekilde tanımlanan izotropik ikinci türevdir:

Bu denklemin ayrık formu:

Laplacian operatörü, Şekil 2 (a) 'da gösterildiği gibi bir şablon şeklinde ifade edilebilir, Şekil 2 (b) genişletilmiş şablonunu gösterir, Şekil 2 (c) ve Şekil 2 (d) diğer iki türü temsil eder Plath'ın uygulama şablonu.

2.2 Vivado HLS uygulama algoritması yazma

Vivado HLS, soyutlama düzeyini iyileştirmek için C dili, C ++ dili ve sistem C dili tarafından sağlanan üst düzey yapıyı kullanır ve IP modülleri oluşturmak için temel donanım kullanımını kolaylaştırmak için veri ilkelleri sağlar. RTL kullanımıyla karşılaştırıldığında, Vivado HLS kodu daha kompakt, daha okunabilir ve bakımı yapılabilir ve farklı modüller arasındaki veri iletişimini karşılamak için basit bir FIFO arayüzünden eksiksiz bir AXI4 Akışına kadar çeşitli arayüz protokollerini daha kolay uygulayabilir. .

Vivado HLS, Laplace algoritma akışını Şekil 3'te gösterildiği gibi gerçekleştirir. Veri işleme şekildeki oklara göre sırayla gerçekleştirilir ve veriler tek bir birimde paralel olarak çalıştırılır veya farklı birimler arasında paralel olarak hareket ettirilir. Her bir saat döngüsü AXI4 Akış arayüzü, algoritma modülüne 24 bit piksel veri gönderir, önce gri tonlamalı işlemden geçer ve sonra bunu 2 × 640 satır arabelleğinde depolar Satır ara belleği ve yeni veriler 3 × 3 pencere verisi oluşturur. , Pencerenin 9 verisi ve AXI_GP arayüzünden iletilen Laplacian parametreleri, yeni bir 8-bit piksel verisi elde etmek için çalıştırılır ve DDR3'e geri gönderilir.

XC7Z010 cihazında yazılı algoritmanın kaynak doluluk oranı Tablo 1'de gösterilmektedir. Görüntü filtreleme algoritmasının yalnızca birkaç PL kaynağı ile gerçekleştirildiği görülmektedir.

2.3 Qt, parametre kontrol programını gerçekleştirir

İyi insan-bilgisayar etkileşimi, gömülü sistemlerin önemli bir parçasıdır. Tasarım, Şekil 4'te gösterildiği gibi PC'de kontrol ucu uygulamasını uygulamak için Qt Creator geliştirme aracını kullanır. PC alt bilgisayara Ethernet üzerinden bağlanır ve kontrol ucunda farklı Laplacian operatörleri girilir, sistem farklı filtreleme efektleri üretir ve filtrelenen görüntü alt bilgisayarın HDMI ekranında görüntülenir.

3 Tasarım simülasyonu ve sistem testi

3.1 Vivado HLS simülasyonu

Verimli programlama kodlarını IP'ye dönüştürmenin yanı sıra Vivado HLS, başka bir önemli işlev daha sağlar: C dili simülasyonu ve C / RTL ortak simülasyonu. C dil simülasyonunda C / C ++ 'nın derlenmesi ve yürütülmesi, iyi okunabilirlik ve verimlilikle, yaygın C / C ++ programlarıyla aynıdır. C / RTL ortak simülasyonu, C / C ++ test platformuna dayalı olarak otomatik olarak bir RTL test platformu oluşturacak, RTL simülasyonunu kurup çalıştıracak ve uygulama planının doğruluğunu kontrol edecektir. C dili simülasyon test kodu aşağıdaki gibidir:

IplImage * src = cvLoadImage ("lena.jpg"); // Test görüntüsünü yükle

AXI_STREAM src_axi, dst_axi; // Akış veri türü değişkenlerini tanımlayın

IplImage2AXIvideo (src, src_axi);

// Resim akış veri türüne dönüştürülür

Laplasian_fil (lap00, lap01, lap02, lap10, lap11,

lap12, lap20, lap21, lap22, src_axi, dst_axi);

// Filtreleme algoritmasının ana işlevi

AXIvideo2IplImage (dst_axi, dst);

// Resme dönüştürülen akış veri türü

cvSaveImage ("lena_result.jpg", dst); // Resmi kaydet

Test programı önce yerel olarak test için kullanılan resimleri AXI4 Stream arayüz protokol verilerine dönüştürür ve Laplacian operatörünün değerini ayarlar ve ardından resim verilerini ve Laplacian operatörünü parametreler şeklinde görüntü filtreleme algoritmasına gönderir. İçinde, filtrelenmiş resim yerel olarak jpg biçiminde depolanacaktır. Orijinal test resmi ve oluşturulan resim Şekil 5'te gösterilmektedir.

3.2 Sistem testi

Test sistemi, Xilinx tarafından sağlanan ZyBo geliştirme kartını kullanır. Geliştirme kartı XC7Z010 ana yongasıyla donatılmıştır. Genişletilmiş çevre birimleri OV7670 kameraya PMOD arabirimi üzerinden bağlanır. Bilgisayar, yerleşik Ethernet arabirimi ve seri arabirim ve HDMI ekran işlemi aracılığıyla ZyBo ile iletişim kurar Ubuntu masaüstü sistemi.

Şekil 2'deki farklı Laplacian operatörlerinin kontrol ucunda girilmesiyle elde edilen işleme sonuçları Şekil 6'da gösterilmektedir ve sonuçlar saniyede 30 kare, RGB640 × 480 formatındaki gerçek zamanlı filtreleme gereksinimlerini tam olarak karşılamaktadır.

4. Sonuç

ZYNQ-7000 heterojen mimarisine dayanan görüntü işleme sistemi, yalnızca grafik arabirim, kullanıcı girişi, ağ, DDR3 kontrolü vb. Gibi gömülü işletim sistemiyle ilgili görevleri yerine getirmekle kalmaz, aynı zamanda yüksek performanslı gerçek zamanlı görüntü işleme işlevleri de sağlar. Görüntü algoritmalarını hızlandırmak için Xilinx'in en yeni Vivado HLS aracını FPGA yüksek seviyeli tasarımı için kullanmak, tasarım verimliliğini etkili bir şekilde artırabilir ve daha fazla sistem entegrasyonu için elverişli olan endüstri standardı IP çekirdeklerini hızla oluşturabilir. Tasarlanan deney ve doğrulama sonuçları, ZYNQ-7000 heterojen mimari ve Vivado HLS aracına dayalı gerçek zamanlı görüntü işleme sisteminin nakledilmesinin kolay olduğunu, özel uygulamalar için özelleştirilmesinin kolay olduğunu ve gelecekteki yüksek performanslı görüntü işleme için yüksek mühendislik uygulaması ve referans değeri sağladığını göstermektedir. .

Referanslar

Bin He. Xilinx FPGA tasarımı için kesin kılavuz Pekin: Tsinghua University Press, 2014.

Lu Jiahua, Jiang Zhou. Gömülü Sistem Yazılım ve Donanımının Ortak Tasarımı için Pratik Kılavuz. Pekin: Mechanical Industry Press, 2013.

Lu Qishuai, Lu Yanting, Wang Di. Xilinx Zynq SoC ve Gömülü Linux Tasarım Uygulaması Kılavuzu. Pekin: Tsinghua University Press, 2014.

KARRAS K, HRICA J. Vivado HLS, protokol işleme sistemlerinin güçlü gelişimini destekler. (2014-09-16).

Liang Zhuhua, Gu Xin. Gömülü Linux'un gerçek zamanlı performansı üzerine araştırma Elektronik Teknolojisi, 2005 (11): 57-60, 64.

Jiao Qiang. Zynq-7000 tabanlı gömülü dijital görüntü işleme sisteminin tasarımı ve uygulaması. Taiyuan: Taiyuan Teknoloji Üniversitesi, 2015.

AET üyeleri için yıl sonu avantajları!

2019'u dört gözle bekliyoruz, kısa videolarda savaş alanı silahlarının sesi kalmaya devam edecek
önceki
Ona yardım et! Kritik durumdaki Hunan girişimcilerini sevmek ve onlara yardım etmek, sırf "iyi olabilirsiniz" diye
Sonraki
Japonya'daki ücretsiz oda tesliminin ardında yaşlanan nüfusun kasvetli olması var
Tiyatro mayın temizleme Beklenmedik bir şekilde yıl sonunda birkaç kara at öldürüldü
Tyrannosaurus'a ek olarak, "Canavar Avcısı Dünyası" nın bahar güncellemesinde bir "çiçek ziyafeti" etkinliği de var.
2019'da egzersiz yapmanız, kilo vermeniz ve kas kazanmanız gerekiyor ... Bu masaj tabancası, fasyayı rahatlatmanıza, ağrıyı gidermenize, fitness temellerini gidermenize yardımcı olabilir Etkileşiml
Orijinal parti olarak, bunun Çin'deki en iyi mezar soygunlarından biri olmadığını söylemeliyim.
Quantum Vision Zhang Cong: VR + endüstrisi henüz kurulmadı ve pazarın, temel teknolojiye odaklanan girişimlere ihtiyacı var
"Three Lives III, Ten Miles of Peach Blossoms" 8.3 ön satış filmi tamamen açık, Çin stili el boyaması posterler
İnternet ev tadilatı endüstrisinin "kurması" neden zordur?
Boutique News Optik görüntü sabitleme gerçekten burada, cep telefonu fotoğrafları artık "karanlıktan ve mesafeden korkmayın"
Yılın En İyi On'u · Hollywood Bu süper boyutlu patlamış mısır iyi vakit geçirmenizi umuyor
"Valkyria Chronicles 4", Memories Squad'ın geçmiş "bölüm dışı" planını içerecek
Tao Piao Piao Röportajı | "Baba ve Oğul Kahramanları" ndan Zhang Tianai: Tokatlanmayın, nili koca inisiyatif almayı gerçekten seviyor!
To Top