procesory sygnałowe w cyfrowych aparatach fotograficznych

48
mgr inż. Adam Korzeniewski [email protected] p. 732 - Katedra Systemów Multimedialnych

Upload: lycong

Post on 11-Jan-2017

225 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Procesory sygnałowe w cyfrowych aparatach fotograficznych

mgr inż. Adam Korzeniewski [email protected] p. 732 - Katedra Systemów Multimedialnych

Page 2: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Rynek procesorów sygnałowych

Zestawy ewaluacyjne

Miary wydajności DSP

Współczesne rozwiązania

Próbkowanie sygnałów i filtry

DSP w fotografii cyfrowej

Page 3: Procesory sygnałowe w cyfrowych aparatach fotograficznych
Page 4: Procesory sygnałowe w cyfrowych aparatach fotograficznych

C5000 - 16 bitowe, stałoprzecinkowe

C55xx, C54xx (Ultra Low Power DSP)

C6000 - 32 bitowe, zmiennoprzecinkowe

C64xx, C67xx (Power Optimized DSP)

OMAPxxxx (DSP + ARM9/CortexA8)

KeyStone - 32 bitowe, zmiennoprzecinkowe

C66xx, (Multicore DSP 1-8 rdzeni)

C66AK2xx, (Multicore DSP + ARM CortexA15)

Page 5: Procesory sygnałowe w cyfrowych aparatach fotograficznych

ADSP-21xx - 16 bitowe, zmiennoprzecinkowe SHARC - 32 bitowe, zmiennoprzecinkowe TigerSHARC - 32 bitowe,

zmiennoprzecinkowe

Zrównoleglenie na poziomie instrukcji

BLACKFIN - 16/32 bitowe , zmiennoprzecinkowe

Mieszany zestaw instrukcji 16/32

Page 6: Procesory sygnałowe w cyfrowych aparatach fotograficznych

DSP56K – 24 bitowe stałoprzecinkowe

DSP563xx

DSP567xx (Dual-Core Symphony)

MSC7xxx - 16 bitowe – zmiennoprzecinkowe

StarCore Cost-Effective

MSC8xxx - 32 bitowe – zmiennoprzecinkowe

StarCore High-Performance Single-Core

StarCore High-Performance Multicore

Page 7: Procesory sygnałowe w cyfrowych aparatach fotograficznych
Page 8: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Kompaktowe moduły zawierające DSP

Szeroka gama wyjść/wejść i interfejsów

Wbudowane peryferia (OLED, LCD, CODEC …)

Wbudowany debuger/emulator Programowanie i offload kodu przez USB

Możliwość szybkiego prototypowania

Stosunkowa wysoka cena

Page 9: Procesory sygnałowe w cyfrowych aparatach fotograficznych

49$

The TMDX5505eZdsp is a small form factor, very low cost USB-powered DSP development tool which includes all the hardware and software needed to evaluate the industry's lowest power 16-bit DSPs, the TMS320VC5504 and TMS320VC5505.

Page 10: Procesory sygnałowe w cyfrowych aparatach fotograficznych

49$

Page 11: Procesory sygnałowe w cyfrowych aparatach fotograficznych

99$

Page 12: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Składające się na ten zestaw płytka i oprogramowanie stanowią kompletną platformę rozwojową dla aplikacji DSP (Digital Signal Processing) z dziedziny biometrii. Inne zastosowania zestawu obejmują projektowanie rozwiązań audio i komunikacyjnych.

195$

Page 13: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Sercem płytki jest procesor aplikacyjny TMS320C6748. W układzie tym zintegrowano trzy CPU (jeden rdzeń DSP C674x o częstotliwości pracy do 450 MHz oraz dodatkowe dwa rdzenie pracujące z częstotliwością do 150 MHz), interfejs 10/100 Etherent, kontroler pamięci (SDRAM/NAND Flash, DDR, SD/MMC), kontroler LCD, interfejs video, moduł uPP, pamięć RAM, moduł DMA, timery, zegar RTC i interfejsy komunikacyjne (w tym SPI, UART, I2C, USB). Wyprowadzenia peryferiów wewnętrznych procesora połączone zostały na płytce z dwoma gniazdami USB (host i OTG), portem SATA, gniazdem VGA, portem LCD, obwodami audio (mikrofon, złącza in i out), złączem ZIP na kamerę, czujnikiem rozpoznawania odcisku palca i innymi komponentami, które razem czynią płytkę niezwykle funkcjonalną.

195$

Page 14: Procesory sygnałowe w cyfrowych aparatach fotograficznych

299$

The Analog Devices Blackfin BF609 Embedded Vision Starter Kit includes a single board featuring all the blocks necessary to prototype an embedded vision application, including the Analog Devices BF609 dual core processor, a high-definition CMOS color sensor with replaceable lens for video input, HDMI / DVI port for output, 10/100 Ethernet and LED target illumination. The kit also includes a USB-based In-Circuit Emulator providing an easy, portable, non-intrusive, debugging solution for the Kit.

Page 15: Procesory sygnałowe w cyfrowych aparatach fotograficznych

550$

Page 16: Procesory sygnałowe w cyfrowych aparatach fotograficznych

1000$

Page 17: Procesory sygnałowe w cyfrowych aparatach fotograficznych

495$ 750$

Page 18: Procesory sygnałowe w cyfrowych aparatach fotograficznych

MIPS (Milion Instructions per Second) Liczba milionów instrukcji stałoprzecinkowych

MOPS (Milion Operations per Second)

Liczba milionów operacji

Niejednoznaczne (rzadko stosowane)

xFLOPS (Floating-Point Operations per Second)

Liczba operacji zmiennoprzecinkowych na s

x rząd wielkości M, G, T, P, E

Page 19: Procesory sygnałowe w cyfrowych aparatach fotograficznych

MMACS (Milions of Multiply-Accumulates per Second)

Liczba milionów operacji C × B + A → A

Operacja wykonywana w jednym cyklu zegara

Jednoznaczna dla stało/zmiennoprzecinkowych

BDTImark2000 (Berkley Design Technology IC mark 2000)

Page 20: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Efektywność cenowa

(MFLOSP,MMACS,BDTImark2000 per dollar)

Efektywność przestrzenna

(MFLOSP,MMACS,BDTImark2000 per mm2)

Efektywność energetyczna

(MFLOSP,MMACS,BDTImark2000 per mW)

Page 21: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Wielordzeniowe procesory sygnałowe Wielordzeniowe procesory sygnałowe + ARM

TMS320C66xx

Page 22: Procesory sygnałowe w cyfrowych aparatach fotograficznych

TMS320C66xx

Page 23: Procesory sygnałowe w cyfrowych aparatach fotograficznych

66AK2Hxx

Page 24: Procesory sygnałowe w cyfrowych aparatach fotograficznych

I²C – dwukierunkowa, szeregowa magistrala służąca do przesyłania danych w urządzeniach elektronicznych.

I²C stosuje się w przypadkach, gdy prostota i niski koszt są ważniejsze od wysokich prędkości transmisji. Znalazło ono zastosowanie m.in. w: Odczytywaniu zegarów czasu rzeczywistego (RTC) w komputerach i urządzeniach

wbudowanych Komunikacji z prostymi i wolnymi przetwornikami cyfrowo-

analogowymi i analogowo-cyfrowymi Odczycie czujników diagnostycznych w komputerze (prędkość obrotu

wentylatorów, temperatury procesora i ważniejszych układów na płycie głównej) Robotyce (czujniki przyspieszenia i odległości) Komunikacja z czujnikami i elementami wykonawczymi w małych systemach

wbudowanych Dostępie do pamięci NVRAM komputera Sterowanie diodami LED w urządzeniach przenośnych (np. komórkach) Komunikacji pomiędzy układami w telewizorach i innym sprzęcie RTV (jest to

pierwotne miejsce zastosowania magistrali I²C)

Page 25: Procesory sygnałowe w cyfrowych aparatach fotograficznych

GPIO (General Purpose Input/Output) jest interfejsem służącym do komunikacji pomiędzy elementami systemu komputerowego, takimi jak mikroprocesor czy różne urządzenie peryferyjne. Wyprowadzenia takiego urządzenia (piny) mogą pełnić zarówno rolę wejść, jak i wyjść i jest to zazwyczaj właściwość konfigurowalna. Piny GPIO są często grupowane w porty.

UART (ang. Universal Asynchronous Receiver and Transmitter)

układ scalony używany do asynchronicznego przekazywania i odbierania informacji poprzez port szeregowy. Zawiera on konwerter równoległo-szeregowy (ang. parallel-to-serial) służący do konwersji danych przesyłanych z komputera i szeregowo-równoległy (ang. serial-to-parallel) do konwersji danych przychodzących do komputera poprzez port szeregowy. UART zawiera także bufor do tymczasowego gromadzenia danych w przypadku szybkiej transmisji.

Page 26: Procesory sygnałowe w cyfrowych aparatach fotograficznych

SPI (ang. Serial Peripheral Interface) – szeregowy interfejs urządzeń peryferyjnych. Jeden z najczęściej używanych interfejsów komunikacyjnych pomiędzy systemami mikroprocesorowymi a układami peryferyjnymi takimi jak: przetworniki ADC/DAC, układy RTC, pamięci EEPROM, pamięci flash, karty MMC/SD/ itp.

Page 27: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Próbkowanie równomierne Częstotliwość Nyquista

2fm ≤ fs

EKG ?

częstotliwość próbkowania sygnału mowy ?

częstotliwość próbkowania muzyki ?

częstotliwość próbkowania obrazu ?

Filtr antyalaiasingowy przed próbkowaniem

Page 28: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Sygnał świergotowy (ang. Chirp) 0.5 – 22 kHz

Page 29: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Próbkowanie 8 kHz

Page 30: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Próbkowanie 16 kHz

Page 31: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Próbkowanie 24 kHz

Page 32: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Próbkowanie 48 kHz

Page 33: Procesory sygnałowe w cyfrowych aparatach fotograficznych

camera obscura to pierwowzór aparatu fotograficznego

Page 34: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Aparaty cyfrowe to urządzenia optoelektroniczne, które służą do rejestrowania obrazów statycznych i ich magazynowania w cyfrowej pamięci

Page 35: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Typowe elementy aparatu cyfrowego Obiektyw – wbudowany lub wymienny Matryca światłoczuła – w większości przypadków

niewymienna Wyświetlacz LCD – nieruchomy lub ruchomy Gniazdo kart pamięci – konieczne minimum do zapisu Procesor Sygnałowy – przetwarzanie rejestrowanego obrazu

Page 36: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Budowa typowego aparatu kompaktowego – przykład

źró

dło

: P

C W

OR

LD

KO

MP

UT

ER

Page 37: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Matryce CCD (Charge Coupled Devices) – budowa

filtr kolorów – matryca filtrów kolorowych. Nad każdym pikselem znajduje się pojedynczy filtr czerwony (R) zielony (G) lub niebieski (B). Informacje z pikseli są przetwarzane do złożenia ostatecznych barw.

Najpopularniejszy układ filtrów nosi nazwę filtru Bayera

Page 38: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Matryce CCD – cechy układy ze sprzężeniem ładunkowym wysokie koszty produkcji w stosunku do CMOS układy wzmacniające i konwertery są poza powierzchnią piksela współczynniki wypełnienia bliskie 100% (powierzchnia piksela rejestrująca światło

do całkowitej powierzchni piksela) odczyt danych następuje rzędami (rejestr wyjściowy) obliczenie koloru wynikowego piksela odbywa się przy wykorzystaniu wartości

jasności pikseli sąsiadujących firma DALSA wyprodukowała matrycę o rozmiarze 100 x 100 mm liczącą ponad

111Mpix – tak duży fizyczny rozmiar umożliwia wykonywanie zdjęć w bardzo słabych warunkach oświetleniowych (zdjęcia kosmiczne)

Page 39: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Matryce CMOS (Complementary Metal-Oxide Semiconductors) – budowa

Page 40: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Matryce CMOS – cechy niższe koszty produkcji w stosunku do CCD każdy piksel posiada własny kwantyzator, wzmacniacz i konwerter współczynnik wypełnienia piksela mniejszy niż w CCD każdy piksel jest odczytywany indywidualnie (rejestr pionowy i poziomy) możliwość odczytu wybranej partii obrazu z matrycy skuteczność w ogólności gorsza niż w CCD Canon wytworzył matrycę o wymiarach 28,7 x 19 mm licząca 120 Mpix Canon wytworzył największą na świecie matrycę o wymiarach 205 x 205 mm

Page 41: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Fotodiody obecne na matrycach światłoczułych nie rozróżniają kolorów, rejestrują natężenie światła, zatem jedynie odcienie szarości. Każda fotodioda znajduje się pod filtrem o konkretnym kolorze, dlatego wynikowy obraz powstaje jako matematyczne wyliczenie wartości sąsiadujących ze sobą pikseli o różnych kolorach, przy użyciu interpolacji. Procesor sygnałowy przelicza zatem dane wejściowe by uzyskać plik graficzny.

Page 42: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Procesor sygnałowy oblicza kolor i jasność każdego z pikseli. Dane wyjściowe porównywane są z wartościami pikseli sąsiadujących i wykorzystując algorytm demozaikowania ostateczna wartość jasności i koloru jest obliczana. Procesor sygnałowy oblicza także dystrybucję wartości kontrastu dla całego obrazu, wykorzystując korekcję gamma (zwiększenie bądź zmniejszenie jasności średnich tonów w obrazie), tak by uzyskać naturalne kolory skóry, nieba i innych części obrazu.

Page 43: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Szum to zjawisko występujące w każdym obwodzie elektronicznym. W przypadku fotografii cyfrowej objawia się jako plamy pikseli na obrazie o kolorze odbiegającym od jednorodnego otoczenia. Szum wzrasta ze wzrostem temperatury, wydłużaniem czasu ekspozycji oraz wzrostem wzmocnienia matrycy (wzrost wartości ISO). Procesor sygnałowy stara się odróżnić szum od informacji użytecznej, co bywa szczególnie trudne gdy obraz jest szczegółowy o dużej dynamice.

Page 44: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Ponieważ wartość koloru i jasności każdego piksela jest wyliczana w oparciu o sąsiadujące wartości i nie ma tu zależności 1 do 1 (interpolacja), wówczas pojawią się pewne zmiękczenie obrazu. Aby obraz był bogaty w szczegóły procesor sygnałowy wykonuje operację wyostrzania krawędzi kontrastów, konturów. By efekt był jak najlepszy algorytm wykrywania krawędzi musi działać prawidłowo, nie można również „przeostrzyć” obrazu wynikowego.

Page 45: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Ustawianie ostrości – detekcja kontrastu Automatyczny dobór parametrów ekspozycji Automatyczny dobór punktu bieli Cyfrowy zoom Podgląd obrazów na wyświetlaczu LCD Zapis obrazów na kartę pamięci Stosowanie efektów specjalnych „na żywo” i w trybie podglądu Przetwarzanie obrazu podczas rejestracji wideo wiele innych…

Page 46: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Canon – DIGIC (bazujący na Texas Instruments OMAP) Casio – EXILIM Epson – EDiART Fujifilm – Real Photo Engine Leica – MAESTRO (bazujący na Fujitsu Milbeaut) Nikon – EXPEED (bazujący na Fujitsu Milbeaut) Olympus – TruePic (bazujący na Panasonic MN103/MN103S) Panasonic – Venus engine (bazujący na Panasonic MN103/MN103S) Pentax – PRIME (bazujący na Fujitsu Milbeaut) Samsung – DRIMe (bazujący na Samsung Exynos) Sigma – True (bazujący na Fujitsu Milbeaut) Sony – BIONZ

Page 47: Procesory sygnałowe w cyfrowych aparatach fotograficznych

Rodzina procesorów sygnałowych rozwijana przez firmę Canon DIGIC: W aparacie PowerShot G3, pierwszy procesor w roku 2002 DIGIC II: procesor w postaci pojedynczego układu, wzrost prędkości, pamięć DDR-SDRAM DIGIC III: szybszy, poprawiona jakość obrazu, wsparcie większych rozdzielczości LCD,

wsparcie kart typu SD, zastosowanie konwertera A/D 14 bitowego, wbudowana detekcja twarzy z ustawianiem AF, rozpoznawanie sceny (iSAPS), zastosowanie 2 procesorów w wiodącym aparacie pozwoliło uzyskać zapis 10 kl/s o rozdzielczości 10MP każda w serii 110 zdjęć JPEG.

DIGIC 4: zaprezentowany w 2008 roku, m.in. 5D MkII, szybsze przetwarzanie obrazu, lepsza redukcja szumów na wysokich ISO, szybsze przetwarzanie 14 bitowych plików RAW, AF oparty o detekcję twarzy w LV, H.264 w 1080p.

DIGIC 5: 6x szybszy od DIGIC 4, zmniejszenie szumu o 75%, analizuje 4x więcej informacji o obrazie, współtworzony przez Texas Instruments

DIGIC 5+: 17x szybszy od D4, zapis obrazów z większym kl/s DIGIC 6: PowerShot G16, lepsze ISO 6400, szybszy AF, mniejsze

opóźnienia, szybkość zdjęć 14 kl/s, 60 kl/s w 1080p… Dual DIGIC 6+: 1D X Mark II, 170 RAW w serii przy 14 kl/s, wideo 4K przy 60 kl/s DIGIC 7 w roku 2016, Powershot G7 X Mark II, EOS M5

Page 48: Procesory sygnałowe w cyfrowych aparatach fotograficznych

KONIEC