SPRZĘTOWA REALIZACJA KODERA ARYTMETYCZNEGO DO KODOWANIA WSPÓŁCZYNNIKÓW 3D DWT

Wielkość: px
Rozpocząć pokaz od strony:

Download "SPRZĘTOWA REALIZACJA KODERA ARYTMETYCZNEGO DO KODOWANIA WSPÓŁCZYNNIKÓW 3D DWT"

Transkrypt

1 Piotr Wasilewski Instytut Elektroniki Politechnika Łódzka ul. Wólczańska 223, Łódź 2005 Poznańskie Warsztaty Telekomunikacyjne Poznań 8-9 grudnia 2005 SPRZĘTOWA REALIZACJA KODERA ARYTMETYCZNEGO DO KODOWANIA WSPÓŁCZYNNIKÓW 3D DWT Streszczenie: W artykule przedstawiono realizację arytmetycznego kodera współczynników 3D DWT uprzednio zakodowanych zmodyfikowaną metodą EZW. Opisany koder jest przeznaczony do kodowania danych pochodzących ze źródła zawierającego do 8 elementów i wylicza w sposób adaptacyjny wartości prawdopodobieństw kodowanych symboli. W pracy przedstawiono opis działania kodera, sposób jego implementacji w układzie FPGA Spartan XC3S1000 oraz uzyskane wyniki. 1. WSTĘP Wiele algorytmów stratnej kompresji obrazów (JPEG, JBIG, EZW, SPIHT) wykorzystuje lub umożliwia włączenie bezstratnego kodera jako ostatniego etapu kodowania danych. Kodowanie bezstratne najczęściej jest realizowane metodami słownikowymi (np. LZW, LZ78), metodą Huffmana lub za pomocą kodera arytmetycznego [1, 2, 9]. Poniższy projekt powstał w celu uzupełnienia o moduł kanałowego kodowania danych pochodzących z własnej metody kompresji barwnych sekwencji wideo, gdzie dane są rezultatem kodowania współczynników dyskretnej transformaty falkowej (DWT). Do implementacji wybrano koder arytmetyczny ze względu na następujące jego właściwości [2, 3, 4, 5, 7, 9]: szereg prac wskazuje, że kodowanie arytmetyczne daje lepsze rezultaty od innych metod bezstratnego kodowania danych przy dużym zróżnicowaniu wartości prawdopodobieństw kodowanych symboli i małych słownikach, implementacja kodera arytmetycznego nie wymaga angażowania dużych zasobów pamięciowych, jak np. przy metodach słownikowych, w kodowaniu arytmetycznym istnieje jednoznaczne oddzielenie procesu modelowania od procesu kodowania, co czyni go bardzo elastycznym i umożliwia łatwe tworzenie systemów adaptacyjnych. W przedstawionym rozwiązaniu nie ma potrzeby wykonywania operacji dzielenia, zaś ze względu na mały rozmiar alfabetu przeglądanie tablicy prawdopodobieństw nie jest operacją ograniczającą w zasadniczym stopniu szybkość pracy układu. 2. ŹRÓDŁO DANYCH Dane wejściowe dla kodera arytmetycznego są generowane przez algorytm kodowania barwnych sekwencji wideo wykorzystującego dyskretną transformatę falkową w dziedzinie 2D+t [6]. Informacja o kolorze kodowana jest w systemie YCrCb z podpróbkowaniem składowych chrominancji w systemie 4:2:0 (rys. 1). Klasyczny algorytm EZW [10] został zaprojektowany do kodowania obrazów monochromatycznych i koduje wartości współczynników DWT za pomocą czterech symboli: P (dodatni współczynnik znaczący), N (ujemny współczynnik znaczący), Z (izolowane zero) oraz T (drzewo zerowe). W opisywanej modyfikacji koder operuje siedmioma symbolami: P, N i Z mającymi takie samo znaczenie, jak w oryginalnym algorytmie oraz czterema nowymi definiującymi drzewa zerowe (rys. 1): T2M drzewo zerowe, gdzie rodzic i współczynniki potomne leżą w jednej płaszczyźnie XY należącej do jednej składowej koloru (Y, Cr lub Cb). Drzewami tego typu są struktury oznaczone numerami 1, 2 oraz 3 na rysunku 1. T2C drzewo zerowe, gdzie rodzic i współczynniki potomne leżą w jednej płaszczyźnie XY wspólnej dla co najmniej dwóch składowych koloru (Y, Cr i Cb lub Cr i Cb). Drzewo tego typu tworzą połączone struktury 1, 2 oraz 3. T3M drzewo zerowe, gdzie rodzic i współczynniki potomne należą do jednej składowej koloru (Y, Cr lub Cb), zaś drzewo ulokowane jest w przestrzeni XYT. Ilustracja tego typu drzewa na rysunku 1 jest struktura 4. T3C drzewo zerowe, gdzie rodzic i współczynniki potomne należą do co najmniej dwóch składowej koloru (Y, Cr i Cb lub Cr i Cb), zaś drzewo ulokowane jest w przestrzeni XYT każdej ze składowych. Połączone struktury 5 oraz 6 tworzą drzewo typu T3C. PWT POZNAŃ 8-9 GRUDNIA /5

2 Składowa Y Składowa Cr T Y X 4 5 Składowa Cb KODER ARYTMETYCZNY Kodowanie arytmetyczne należy do statystycznych metod kodowania entropijnego, podobnie jak metody Huffmana i Shannona-Fano [9]. W podstawowej postaci kodowanie arytmetyczne polega na systematycznym zawężaniu w miarę postępowania procesu kodowania tzw. przedziału kodu wynoszącego początkowo [0;1). Uzyskana w wyniku procesu kodowania końcowa postać przedziału kodu pozwala w jednoznaczny sposób odtworzyć zakodowaną sekwencję danych [2, 9]. Niestety, tworzone w ten sposób granice przedziału kodu są liczbami zmiennoprzecinkowymi, do których przechowywania niezbędne są rejestry o długościach znacznie przekraczających możliwości współczesnych komputerów i dlatego w praktyce realizuje się kodowanie arytmetyczne z wykorzystaniem liczb całkowitych. Realizacja taka wymaga użycia dwóch rejestrów określających bieżące granice przedziału kodu (B i T), licznika niedomiaru L oraz tablicy przedziałów prawdopodobieństw P. Długość rejestrów B i T określa prawdopodobieństwo wystąpienia najmniej prawdopodobnego symbolu źródła [2, 9]. Tablica przedziałów prawdopodobieństw P musi pokrywać przedział [0;1), zaś długości jej przedziałów [d i ;g i ) muszą być wprost proporcjonalne do wartości prawdopodobieństw symboli s i, którym przedziały te są przypisane [2, 9]. Sposób działania takiego kodera przedstawia poniższy algorytm [9]: 1. Inicjalizacja: ustalenie granic przedziałów prawdopodobieństw d i oraz g i w tablicy P, wyzerowanie rejestru B, ustawienie wszystkich bitów rejestru T, wyzerowanie licznika niedomiaru L. 2. Pobierz daną s i ze źródła, wyznacz podprzedział prawdopodobieństw [d i ;g i ) i zmodyfikuj zawartości rejestrów T oraz B według zależności (1) oraz (2) Rys. 1 Kodowanie współczynników 3D DWT ( T B + ) ( T B + ) B = B + 1 T = B Aktualizuj tablicę prawdopodobieństw P 4. Jeśli MSB(T) = MSB(B) wyślij MSB(T); jeśli nie idź do punktu 7 5. Jeśli L>0 wyślij L razy zanegowany MSB(T) i wyzeruj L 6. Idź do punktu 8 7. Jeśli MSB2(T)=(10) 2 i MSB2(B)=(01) 2 zwiększ L o 1 i ustaw MSB2(T)=(11) 2 oraz MSB2(B)=(00) 2 ; jeśli nie idź do punktu 2 8. Przesuń w lewo o 1 zawartość rejestrów T i B, ustaw LSB(T)=1 i LSB(B)=0 9. Idź do punktu 4 Oznaczenia: MSB najbardziej znaczący bit, MSB2 dwa najbardziej znaczące bity, LSB najmniej znaczący bit Możliwe jest korzystanie ze statycznej tablicy prawdopodobieństw i wówczas punkt 3 powyższego algorytmu nie jest realizowany. Często jest stosowane tzw. modelowanie kontekstu, w którym wybiera się jedną z predefiniowanych tablic prawdopodobieństw na podstawie historii zakodowanych symboli [1, 8]. W opisywanym rozwiązaniu tablica prawdopodobieństw jest systematycznie uaktualniana na podstawie ostatnich 256 zakodowanych symboli. Rozwiązanie to ma dwie zalety w stosunku do metody modelowania kontekstu w przypadku sprzętowej realizacji kodera: 1. nie wymaga stosowania wielu tablic prawdopodobieństw, a więc nie są potrzebne duże zasoby pamięciowe układu, 2. nie wymaga znajomości a priori statystyki źródła. Przedstawiony koder arytmetyczny składa się z dwóch modułów (rys. 2): d i g i PWT POZNAŃ 8-9 GRUDNIA /5

3 moduł Fifo realizujący inicjalizację i uaktualnianie tablicy prawdopodobieństw moduł Alu realizujący pozostałe funkcje algorytmu. FCLK Din Finit ACLK Dout DValid Busy Fifo Alu Rys. 2 Schemat blokowy kodera arytmetycznego 3.1. Moduł Alu Moduł Alu realizuje zasadniczą część algorytmu kodowania arytmetycznego polegającą na modyfikowaniu rejestrów B i T zawierających bieżące granice przedziału kodu oraz formowaniu wyjściowego strumienia danych. Czynności te określone są wzorami (1) i (2) oraz punktami 4 8 przedstawionego wcześniej algorytmu. Ponieważ wartości prawdopodobieństw określające granice przedziałów tablicy P mają postać n/256, gdzie n [0; 256], zatem nie ma konieczności wykonywania operacji mnożenia na liczbach zmiennoprzecinkowych w celu wyznaczenia wartości wyrażeń opisanych wzorami (1) oraz (2). Otrzymywane z modułu Fifo parametry i (rysunek 2) zawierają liczniki liczb określających te prawdopodobieństwa, a zatem możliwe jest wykorzystanie mnożarek całkowitoliczbowych i pominięcie ośmiu najmłodszych bitów otrzymanego iloczynu. Kroki algorytmu realizowane są w postaci maszyny stanowej opisanej przez 4 stany: S1 modyfikacja rejestrów B i T według wzorów (1) i (2). Jeśli MSB(T)=MSB(B) oraz L>0 idź do S2, jeśli MSB(T)=MSB(B) oraz L=0 idź do S4, w przeciwnym razie jeśli MSB2(T)=(10) 2 i MSB2(B)=(01) 2 idź do S3, w pozostałych przypadkach pozostań w S1 S2 wyślij na Dout zanegowany MSB(T) i zmniejsz licznik niedomiaru L o 1; jeśli L>0 pozostań w S2, w przeciwnym razie idź do S4 S3 zwiększ licznik niedomiaru L o 1, ustaw MSB2(T)<=(11) 2 oraz MSB2(L)<=(00) 2 i idź do S4 S4 Przesuwaj zawartość liczników B i T w lewo o 1 tak długo jak MSB(T)=MSB(B) i L=0. Jeśli MSB(T)=MSB(B) oraz L>0 idź do S2, w przeciwnym razie jeśli MSB2(T)=(10) 2 i MSB2(B)=(01) 2 idź do S3, jeśli nie idź do S1 Każde wejście maszyny w stan S1 oznacza pobranie nowej danej do zakodowania. Stan aktywny wyjścia Busy oznacza, że moduł Alu nie jest gotowy do pobrania nowej danej. Stan aktywny wyjścia DValid oznacza, że na wyjściu Dout znajduje się ważna dana. W zastosowanym rozwiązaniu szybkość kodowania jest zmienna i liczba cykli zegarowych potrzebnych do zakodowania jednego symbolu waha się od 1 do 17. MSB2(T) == 10 and MSB2(B) == 01 START and L == and L == 0 S4 Send MSB(T) B << 1; T << 1 S3 L <= L + 1 MSB2(B) <= 00 MSB2(T) <= 11 L == S1 Modify B and T registers MSB2(T) == 10 and MSB2(B) == 01 and L > 0 S2 send!(msb(t)) to Dout L <= L - 1 Rys. 3 Maszyna stanowa modułu Alu 3.2. Moduł Fifo and L > 0 L > 0 Zadaniem modułu Fifo jest udostępnianie modułowi Alu informacji o granicach przedziału prawdopodobieństw przypisanego kodowanemu sumbolowi oraz uaktualnianie tablicy prawdopodobieństw na podstawie już zakodowanych symboli. Schemat blokowy modułu jest przedstawiony na rysunku 4. Jądrem modułu Fifo jest dwuportowa pamięć BRAM [11] o pojemności 256 słów 3-bitowych, która wraz z licznikiem FCnt realizuje funkcję pamięci FIFO. Port A pamięci wykorzystywany jest podczas inicjalizacji, zaś port B używany jest do realizacji funkcji FIFO. W czasie inicjalizacji licznik FCnt jest generatorem adresów, zaś na magistralę danych są podawane najmłodsze cztery bity adresu. Wynikiem tego po zakończeniu procesu inicjalizacji jest równomierne wypełnienie pamięci, która zawiera po 32 wpisy każdej wartości. W czasie pracy pamięci w trybie FIFO licznik FCnt steruje magistralą adresową, zaś na magistralę danych są podawane 3-bitowe kody symboli wejściowych s i. Po każdym zapisie zawartość licznika FCnt jest zwiększana o 1. Licznik FCnt w trybie FIFO zlicza modulo 248, co zapobiega powstaniu sytuacji, w której pamięć FIFO nie będzie zawierała wszystkich symboli wejściowych. Może się tak zdarzyć w przypadku kodowania sekwencji o długości przekraczającej rozmiar pamięci, w której nie występują wszystkie symbole alfabetu. Spowodowałoby to wyznaczenie zerowej wartości prawdopodobieństwa PWT POZNAŃ 8-9 GRUDNIA /5

4 DIn FInit [7:0] [2:0] AddrA DIA EnA DOA f i CUp CDn FCnt [7:0] EnB AddrB DIB BRAM DOB 0x00 C0 C1 C2 C3 C4 C5 C6 0x100 MuxB MuxT FClk Rys. 4 Schemat blokowy modułu Fifo wystąpienia tego symbolu, co jest sytuacją niedopuszczalną. Praca licznika FCnt modulo 248 zapewnia zatem, że w pamięci FIFO każdy symbol będzie występował co najmniej jeden raz, a zatem skojarzone wartości prawdopodobieństw i długości podprzedziałów tablicy P zawsze będą większe od zera. Liczniki C i, i=0..6 zawierają skumulowane informacje o liczbie wystąpień symboli s i, tzn. licznik C i zawiera liczbę wystąpień wszystkich symboli s n, gdzie n<=i. Po inicjalizacji liczniki C 0,C 1,,C E zawierają wartości 0x20, 0x40,, 0xE0. Pracą liczników sterują dekodery CUp i CDn. Dekoder CUp sprawdza wartość wprowadzanej do pamięci danej s i i ustawia liczniki C n dla n>=i w tryb zliczania w górę. Z kolei dekoder CDn testuje wartość f i usuwaną z pamięci FIFO i ustawia liczniki C n dla n>=i w tryb zliczania w dół. Zawartość liczników, które mają aktywne sygnały z obu dekoderów CUp i CDn nie ulega zmianie. Odczyt wartości granic przedziału tablicy P przypisanego kodowanemu symbolowi s i następuje poprzez multipleksery MuxB i MuxT. Określenie dolnej granicy odbywa się poprzez multiplekser MuxB, który wybiera licznik C i-1 dla symboli s i, gdzie i>0 lub stałą 0x00 dla symbolu s 0. Określenie górnej granicy odbywa się poprzez multiplekser MuxT, który wybiera licznik C i dla symboli s i, gdzie i<7 lub stałą 0x100 dla symbolu s 7. Dane są zapamiętywane w rejestrach oraz. 4. WYNIKI 4.1. Efektywność algorytmu Aby ocenić efektywność opisanego algorytmu poddano kodowaniu strumień danych generowanych przez opisany w pierwszym rozdziale zmodyfikowany algorytm EZW. Kodowane były fragmenty standardowych sekwencji wideo w rozdzielczości CIF ( Akiyo, Coastguard, Container, Highway, Mobile ) o długościach 4, 8 i 16 ramek. Kodowanie przeprowadzono z wykorzystaniem pamięci FIFO o rozmiarze wahającym się od 32 do 1024 słów. Dla porównania te same dane zostały zakodowane algorytmami LZW oraz Huffmana. Uzyskane najmniejsze, największe oraz uśrednione dla wszystkich sekwencji współczynniki kompresji pokazane są w tabeli 1. Współczynnik kompresji R wyznaczany był według wzoru (3). S R 1 S = c o 100 (3) gdzie S c rozmiar pliku skompresowanego, S o rozmiar pliku oryginalnego Przedstawione w powyższej tabeli wyniki wskazują, że najlepsze wyniki kodowania uzyskuje się przy rozmiarze pamięci FIFO wynoszącym 256 słów. Widać też wyraźną przewagę kodera arytmetycznego nad pozostałymi metodami kodowania, zwłaszcza dla danych generowanych przez algorytm ECTW Wyniki implementacji Opisany projekt został opisany w języku Verilog, a następnie zsyntezowany i skompilowany w środowisku Xilinx ISE Foundation v. 7.1 i zaimplementowany w układzie FPGA XC3S1000-4FT256 firmy Xilinx. Zaprojektowany koder wykorzystuje 374 komórki CLB (ok. 2% zasobów układu), 2 układy mnożące (12% zasobów) oraz 1 blok pamięci RAMB16 (4% zasobów). Maksymalna częstotliwość zegara wynosi PWT POZNAŃ 8-9 GRUDNIA /5

5 Tabela 1. Porównanie wyników kodowania Metoda kodowania Współczynnik kompresji Najmniejszy Największy Wartość średnia Koder arytmetyczny, FIFO o długości 16 słów 26,52 27,75 27,17 Koder arytmetyczny, FIFO o długości 32 słów 35,02 36,99 36,31 Koder arytmetyczny, FIFO o długości 64 słów 38,20 41,00 39,80 Koder arytmetyczny, FIFO o długości 128 słów 39,39 42,46 40,93 Koder arytmetyczny, FIFO o długości 256 słów 40,79 43,28 42,53 Koder arytmetyczny, FIFO o długości 512 słów 40,83 43,53 41,96 Koder arytmetyczny, FIFO o długości 1024 słów 40,33 43,41 41,10 Algorytm LZW 35,56 43,25 38,31 Algorytm Huffmana 30,11 40,25 33,60 48MHz, co pozwala uzyskać średnią szybkość kodowania wynoszącą ok. 8 milionów symboli na sekundę. Przedstawiona sprzętowa realizacja kodera arytmetycznego powstała jako ostatni element systemu kompresji sekwencji wideo pracującego w czasie rzeczywistym. Opisane rozwiązanie umożliwia szybkie i efektywne kodowanie danych pochodzących ze źródeł o alfabecie ograniczonym do 16 symboli. Niewielkie wymagania sprzętowe umożliwiają zintegrowanie w jednym układzie scalonym FPGA kodera arytmetycznego z pozostałą częścią systemu. SPIS LITERATURY [1] M. Boo, J.D. Bruguera, T. Lang, A VLSI Architecture for Arithmetic Coding of Multi-Level Images, IEEE Trans. Circuits and Systems-II: Analog and Digital Signal Processing, vol. 45, 1997 [2] P. G. Howard, J. S. Vitter, Practical Implementations of Arithmetic Coding, Image and Text Compression, Kluwer Academic Publishers, Norwell, 1992 [3] H. Lekatsas, J. Henkel, W. Wolf, Arithmetic Coding for Low Power Embedded System Design, Data Compression Conference, Snowbird, 2000 [4] H. Lekatsas, J. Henkel, W. Wolf, Code Compression as a Variable in Hardware/Software Co- Design, International Workshop on Hardware/Software Co-Design, 2000 [5] H. Lekatsas, W. Wolf, SAMC: A Code Compression Algorithm for Embedded Processors, IEEE Transactions on CAD, vol 18, pp , 1999 [6] J.-R. Ohm (red.), Signal Processing: Image Communication 19, Elsevier, 2004 [7] R. R. Osorio, J. D. Bruguera, New Arithmetic Coder/Decoder Architectures Based On Pipelining, IEEE International Conference On Application Especific Systems, Architectures, And Processors, 1997 [8] P. Prandoni, M. Vetterli, A Mixed-Framework Arithmetic Coder, PCS97, Berlin, 1997 [9] K. Sayood, Kompresja danych, Wydawnictwo RM, Warszawa, 2002 [10] J. M. Shapiro, Embedded Image Coding using Zerotrees of Wavelet Coefficients,, IEEE Trans. Sig. Proc., vol. 41, 1993 [11] Spartan-3 FPGA Family, Xilinx, 2004 PWT POZNAŃ 8-9 GRUDNIA /5

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk Kompresja Kodowanie arytmetyczne Dariusz Sobczuk Kodowanie arytmetyczne (lata 1960-te) Pierwsze prace w tym kierunku sięgają początków lat 60-tych XX wieku Pierwszy algorytm Eliasa nie został opublikowany

Bardziej szczegółowo

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j Kompresja transformacyjna. Opis standardu JPEG. Algorytm JPEG powstał w wyniku prac prowadzonych przez grupę ekspertów (ang. Joint Photographic Expert Group). Prace te zakończyły się w 1991 roku, kiedy

Bardziej szczegółowo

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG Założenia i obszar zastosowań KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG Plan wykładu: Geneza algorytmu Założenia i obszar zastosowań JPEG kroki algorytmu kodowania obrazu Założenia: Obraz monochromatyczny

Bardziej szczegółowo

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. KOMPRESJA ALGORYTMEM ARYTMETYCZNYM, GOLOMBA I RICE'A Idea algorytmu arytmetycznego Przykład kodowania arytmetycznego Renormalizacja

Bardziej szczegółowo

Kodowanie Huffmana. Platforma programistyczna.net; materiały do laboratorium 2014/15 Marcin Wilczewski

Kodowanie Huffmana. Platforma programistyczna.net; materiały do laboratorium 2014/15 Marcin Wilczewski Kodowanie Huffmana Platforma programistyczna.net; materiały do laboratorium 24/5 Marcin Wilczewski Algorytm Huffmana (David Huffman, 952) Algorytm Huffmana jest popularnym algorytmem generującym optymalny

Bardziej szczegółowo

Kodowanie informacji

Kodowanie informacji Kodowanie informacji Tomasz Wykład 4: kodowanie arytmetyczne Motywacja Podstawy i własności Liczby rzeczywiste Motywacje 1 średnia długość kodu Huffmana może odbiegać o p max + 0.086 od entropii, gdzie

Bardziej szczegółowo

Ćwiczenie nr 4: Kodowanie arytmetyczne, range coder

Ćwiczenie nr 4: Kodowanie arytmetyczne, range coder Algorytmy Kompresji Danych Laboratorium Ćwiczenie nr 4: Kodowanie arytmetyczne, range coder 1. Zapoznać się z opisem implementacji kodera entropijnego range coder i modelem danych opracowanym dla tego

Bardziej szczegółowo

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne Załóżmy, że mamy źródło S, które generuje symbole ze zbioru S={x, x 2,..., x N } z prawdopodobieństwem P={p, p 2,..., p N }, symbolom tym odpowiadają kody P={c, c 2,..., c N }. fektywność danego sposobu

Bardziej szczegółowo

ZADANIE 1. Rozwiązanie:

ZADANIE 1. Rozwiązanie: EUROELEKTR Ogólnopolska Olimpiada Wiedzy Elektrycznej i Elektronicznej Rok szkolny 200/20 Rozwiązania zadań dla grupy teleinformatycznej na zawody II. stopnia ZNIE ramka logiczna w technologii MOS składa

Bardziej szczegółowo

KODY SYMBOLI. Kod Shannona-Fano. Algorytm S-F. Przykład S-F

KODY SYMBOLI. Kod Shannona-Fano. Algorytm S-F. Przykład S-F KODY SYMBOLI Kod Shannona-Fano KODOWANIE DANYCH, A.Przelaskowski Metoda S-F Kod Huffmana Adaptacyjne drzewo Huffmana Problemy implementacji Kod Golomba Podsumowanie Kod drzewa binarnego Na wejściu rozkład:

Bardziej szczegółowo

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania). Ćw. 10 Układy sekwencyjne 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z sekwencyjnymi, cyfrowymi blokami funkcjonalnymi. W ćwiczeniu w oparciu o poznane przerzutniki zbudowane zostaną układy rejestrów

Bardziej szczegółowo

Zastosowanie kompresji w kryptografii Piotr Piotrowski

Zastosowanie kompresji w kryptografii Piotr Piotrowski Zastosowanie kompresji w kryptografii Piotr Piotrowski 1 Plan prezentacji I. Wstęp II. Kryteria oceny algorytmów III. Główne klasy algorytmów IV. Przykłady algorytmów selektywnego szyfrowania V. Podsumowanie

Bardziej szczegółowo

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9, 1 Kody Tunstalla Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9, 14.04.2005 Inne podejście: słowa kodowe mają ustaloną długość, lecz mogą kodować ciągi liter z alfabetu wejściowego o różnej

Bardziej szczegółowo

Kodowanie Shannona-Fano

Kodowanie Shannona-Fano Kodowanie Shannona-Fano Kodowanie Shannona-Fano znane było jeszcze przed kodowaniem Huffmana i w praktyce można dzięki niemu osiągnąć podobne wyniki, pomimo, że kod generowany tą metodą nie jest optymalny.

Bardziej szczegółowo

KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG Joint Photographic Expert Group - 1986 ISO - International Standard Organisation CCITT - Comité Consultatif International de Téléphonie et Télégraphie Standard

Bardziej szczegółowo

Przetwarzanie i transmisja danych multimedialnych. Wykład 5 Kodowanie słownikowe. Przemysław Sękalski.

Przetwarzanie i transmisja danych multimedialnych. Wykład 5 Kodowanie słownikowe. Przemysław Sękalski. Przetwarzanie i transmisja danych multimedialnych Wykład 5 Kodowanie słownikowe Przemysław Sękalski sekalski@dmcs.pl Politechnika Łódzka Katedra Mikroelektroniki i Technik Informatycznych DMCS Przemysław

Bardziej szczegółowo

Mikrooperacje. Mikrooperacje arytmetyczne

Mikrooperacje. Mikrooperacje arytmetyczne Przygotowanie: Przemysław Sołtan e-mail: kerk@moskit.ie.tu.koszalin.pl Mikrooperacje Mikrooperacja to elementarna operacja wykonywana podczas jednego taktu zegara mikroprocesora na informacji przechowywanej

Bardziej szczegółowo

Temat: Algorytm kompresji plików metodą Huffmana

Temat: Algorytm kompresji plików metodą Huffmana Temat: Algorytm kompresji plików metodą Huffmana. Wymagania dotyczące kompresji danych Przez M oznaczmy zbiór wszystkich możliwych symboli występujących w pliku (alfabet pliku). Przykład M = 2, gdy plik

Bardziej szczegółowo

Kody Tunstalla. Kodowanie arytmetyczne

Kody Tunstalla. Kodowanie arytmetyczne Kody Tunstalla. Kodowanie arytmetyczne Kodowanie i kompresja informacji - Wykład 3 8 marca 2010 Kody Tunstalla Wszystkie słowa kodowe maja ta sama długość ale jeden kod może kodować różna liczbę liter

Bardziej szczegółowo

KODY SYMBOLI. Materiały KODA, A.Przelaskowski. Koncepcja przedziałów nieskończonego alfabetu

KODY SYMBOLI. Materiały KODA, A.Przelaskowski. Koncepcja przedziałów nieskończonego alfabetu KODY SYMBOLI Materiały KODA, A.Przelaskowski Koncepcja drzewa binarnego Metoda S-F Kod Huffmana Adaptacyjne drzewo Huffmana Problemy implementacji Koncepcja przedziałów nieskończonego alfabetu Proste kody

Bardziej szczegółowo

Kompresja bezstratna. Entropia. Kod Huffmana

Kompresja bezstratna. Entropia. Kod Huffmana Kompresja bezstratna. Entropia. Kod Huffmana Kodowanie i bezpieczeństwo informacji - Wykład 10 29 kwietnia 2013 Teoria informacji Jeśli P(A) jest prawdopodobieństwem wystapienia informacji A to niech i(a)

Bardziej szczegółowo

Technologie Informacyjne

Technologie Informacyjne System binarny Szkoła Główna Służby Pożarniczej Zakład Informatyki i Łączności October 7, 26 Pojęcie bitu 2 Systemy liczbowe 3 Potęgi dwójki 4 System szesnastkowy 5 Kodowanie informacji 6 Liczby ujemne

Bardziej szczegółowo

Algorytmy kompresji. Kodowanie Huffmana, kodowanie arytmetyczne

Algorytmy kompresji. Kodowanie Huffmana, kodowanie arytmetyczne Algorytmy kompresji Kodowanie Huffmana, kodowanie arytmetyczne Kodowanie arytmetyczne Peter Elias 1923-2001 Kodowanie arytmetyczne to metoda kodowania źródłowego dyskretnych źródeł sygnałów, stosowana

Bardziej szczegółowo

Przedmowa 11 Ważniejsze oznaczenia 14 Spis skrótów i akronimów 15 Wstęp 21 W.1. Obraz naturalny i cyfrowe przetwarzanie obrazów 21 W.2.

Przedmowa 11 Ważniejsze oznaczenia 14 Spis skrótów i akronimów 15 Wstęp 21 W.1. Obraz naturalny i cyfrowe przetwarzanie obrazów 21 W.2. Przedmowa 11 Ważniejsze oznaczenia 14 Spis skrótów i akronimów 15 Wstęp 21 W.1. Obraz naturalny i cyfrowe przetwarzanie obrazów 21 W.2. Technika obrazu 24 W.3. Normalizacja w zakresie obrazu cyfrowego

Bardziej szczegółowo

Kompresja danych kodowanie Huffmana. Dariusz Sobczuk

Kompresja danych kodowanie Huffmana. Dariusz Sobczuk Kompresja danych kodowanie Huffmana Dariusz Sobczuk Plan wykładu Kodowanie metodą Shannona-Fano Kodowanie metodą Huffmana Elementarny kod Golomba Kod Golomba Kod Rice a kompresja danych 2 Efektywny kod

Bardziej szczegółowo

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35 LABORATORIUM TECHNIKA CYFROWA Pamięci Rev.1.35 1. Cel ćwiczenia Praktyczna weryfikacja wiedzy teoretycznej z projektowania modułów sterowania oraz kontroli pamięci 2. Kolokwium Kolokwium wstępne sprawdzające

Bardziej szczegółowo

teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015

teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015 teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015 1 zakres materiału zakres materiału 1. Czym jest teoria informacji? 2. Wprowadzenie matematyczne. 3. Entropia i informacja.

Bardziej szczegółowo

Joint Photographic Experts Group

Joint Photographic Experts Group Joint Photographic Experts Group Artur Drozd Uniwersytet Jagielloński 14 maja 2010 1 Co to jest JPEG? Dlaczego powstał? 2 Transformata Fouriera 3 Dyskretna transformata kosinusowa (DCT-II) 4 Kodowanie

Bardziej szczegółowo

Kompresja obrazów w statycznych - algorytm JPEG

Kompresja obrazów w statycznych - algorytm JPEG Kompresja obrazów w statycznych - algorytm JPEG Joint Photographic Expert Group - 986 ISO - International Standard Organisation CCITT - Comité Consultatif International de Téléphonie et Télégraphie Standard

Bardziej szczegółowo

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA

Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA Modelowanie liczników w języku Verilog i ich implementacja w strukturze FPGA Licznik binarny Licznik binarny jest najprostszym i najpojemniejszym licznikiem. Kod 4 bitowego synchronicznego licznika binarnego

Bardziej szczegółowo

Kurs Zaawansowany S7. Spis treści. Dzień 1

Kurs Zaawansowany S7. Spis treści. Dzień 1 Spis treści Dzień 1 I Konfiguracja sprzętowa i parametryzacja stacji SIMATIC S7 (wersja 1211) I-3 Dlaczego powinna zostać stworzona konfiguracja sprzętowa? I-4 Zadanie Konfiguracja sprzętowa I-5 Konfiguracja

Bardziej szczegółowo

Ćw. 7: Układy sekwencyjne

Ćw. 7: Układy sekwencyjne Ćw. 7: Układy sekwencyjne Wstęp Celem ćwiczenia jest zapoznanie się z sekwencyjnymi, cyfrowymi blokami funkcjonalnymi. W ćwiczeniu w oparciu o poznane przerzutniki zbudowane zostaną następujące układy

Bardziej szczegółowo

Kody splotowe (konwolucyjne)

Kody splotowe (konwolucyjne) Modulacja i Kodowanie Labolatorium Kodowanie kanałowe kody konwolucyjne Kody splotowe (konwolucyjne) Główną różnicą pomiędzy kodami blokowi a konwolucyjnymi (splotowymi) polega na konstrukcji ciągu kodowego.

Bardziej szczegółowo

dr inż. Piotr Odya Wprowadzenie

dr inż. Piotr Odya Wprowadzenie dr inż. Piotr Odya Wprowadzenie Dane multimedialne to przede wszystkim duże strumienie danych liczone w MB a coraz częściej w GB; Mimo dynamicznego rozwoju technologii pamięci i coraz szybszych transferów

Bardziej szczegółowo

Kompresja dźwięku w standardzie MPEG-1

Kompresja dźwięku w standardzie MPEG-1 mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 7, strona 1. Kompresja dźwięku w standardzie MPEG-1 Ogólne założenia kompresji stratnej Zjawisko maskowania psychoakustycznego Schemat blokowy

Bardziej szczegółowo

Klasyfikacja metod kompresji

Klasyfikacja metod kompresji dr inż. Piotr Odya Klasyfikacja metod kompresji Metody bezstratne Zakodowany strumień danych po dekompresji jest identyczny z oryginalnymi danymi przed kompresją, Metody stratne W wyniku kompresji część

Bardziej szczegółowo

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11, 1 Kwantyzacja skalarna Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11, 10.05.005 Kwantyzacja polega na reprezentowaniu dużego zbioru wartości (być może nieskończonego) za pomocą wartości

Bardziej szczegółowo

Kodowanie predykcyjne

Kodowanie predykcyjne Kodowanie i kompresja informacji - Wykład 5 22 marca 2010 Motywacje W tekstach naturalnych symbole bardzo często zależa od siebie. Motywacje W tekstach naturalnych symbole bardzo często zależa od siebie.

Bardziej szczegółowo

Podstawowe pojęcia. Teoria informacji

Podstawowe pojęcia. Teoria informacji Kodowanie i kompresja informacji - Wykład 1 22 luty 2010 Literatura K. Sayood, Kompresja danych - wprowadzenie, READ ME 2002 (ISBN 83-7243-094-2) Literatura K. Sayood, Kompresja danych - wprowadzenie,

Bardziej szczegółowo

Teoria informacji i kodowania Ćwiczenia

Teoria informacji i kodowania Ćwiczenia Teoria informacji i kodowania Ćwiczenia Piotr Chołda, Andrzej Kamisiński Katedra Telekomunikacji Akademii Górniczo-Hutniczej Kod źródłowy Kodem źródłowym nazywamy funkcję różnowartościową, która elementom

Bardziej szczegółowo

Struktura i działanie jednostki centralnej

Struktura i działanie jednostki centralnej Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala

Bardziej szczegółowo

Systemy Czasu Rzeczywistego FPGA

Systemy Czasu Rzeczywistego FPGA 01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 06 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2

Bardziej szczegółowo

Nierówność Krafta-McMillana, Kodowanie Huffmana

Nierówność Krafta-McMillana, Kodowanie Huffmana Nierówność Krafta-McMillana, Kodowanie Huffmana Kodowanie i kompresja informacji - Wykład 2 1 marca 2010 Test na jednoznaczna dekodowalność Kod a jest prefiksem kodu b jeśli b jest postaci ax. x nazywamy

Bardziej szczegółowo

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for. Zadania do wykonania Rozwiązując poniższe zadania użyj pętlę for. 1. apisz program, który przesuwa w prawo o dwie pozycje zawartość tablicy 10-cio elementowej liczb całkowitych tzn. element t[i] dla i=2,..,9

Bardziej szczegółowo

Wstęp Statyczne kody Huffmana Dynamiczne kody Huffmana Praktyka. Kodowanie Huffmana. Dawid Duda. 4 marca 2004

Wstęp Statyczne kody Huffmana Dynamiczne kody Huffmana Praktyka. Kodowanie Huffmana. Dawid Duda. 4 marca 2004 4 marca 2004 Podstawowe oznaczenia i definicje Wymagania wobec kodu Podstawowa idea Podsumowanie Podstawowe oznaczenia i definicje Podstawowe oznaczenia i definicje: alfabet wejściowy: A = {a 1, a 2,...,

Bardziej szczegółowo

Projekt prostego procesora

Projekt prostego procesora Projekt prostego procesora Opracowany przez Rafała Walkowiaka dla zajęć z PTC 2012/2013 w oparciu o Laboratory Exercise 9 Altera Corporation Rysunek 1 przedstawia schemat układu cyfrowego stanowiącego

Bardziej szczegółowo

UKŁADY MIKROPROGRAMOWALNE

UKŁADY MIKROPROGRAMOWALNE UKŁAD MIKROPROGRAMOWALNE Układy sterujące mogą pracować samodzielnie, jednakże w przypadku bardziej złożonych układów (zwanych zespołami funkcjonalnymi) układ sterujący jest tylko jednym z układów drugim

Bardziej szczegółowo

Programowanie Układów Logicznych kod kursu: ETD6203 W dr inż. Daniel Kopiec. Pamięć w układach programowalnych

Programowanie Układów Logicznych kod kursu: ETD6203 W dr inż. Daniel Kopiec. Pamięć w układach programowalnych Programowanie Układów Logicznych kod kursu: ETD623 Pamięć w układach programowalnych W6 6.4.26 dr inż. Daniel Kopiec Plan wykładu Pamięć w układach programowalnych Zasada działania, podział pamięci Miara

Bardziej szczegółowo

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro 1. Cel ćwiczenia Celem ćwiczenia jest zaprojektowanie sterowania układem pozycjonowania z wykorzystaniem sterownika VersaMax Micro oraz silnika krokowego. Do algorytmu pozycjonowania wykorzystać licznik

Bardziej szczegółowo

Wybrane metody kompresji obrazów

Wybrane metody kompresji obrazów Wybrane metody kompresji obrazów Celem kodowania kompresyjnego obrazu jest redukcja ilości informacji w nim zawartej. Redukcja ta polega na usuwaniu informacji nadmiarowej w obrazie, tzw. redundancji.

Bardziej szczegółowo

Teoria przetwarzania A/C i C/A.

Teoria przetwarzania A/C i C/A. Teoria przetwarzania A/C i C/A. Autor: Bartłomiej Gorczyński Cyfrowe metody przetwarzania sygnałów polegają na przetworzeniu badanego sygnału analogowego w sygnał cyfrowy reprezentowany ciągiem słów binarnych

Bardziej szczegółowo

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą

Bardziej szczegółowo

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy 1 Wprowadzenie do informatyki i użytkowania komputerów Kodowanie informacji System komputerowy Kodowanie informacji 2 Co to jest? bit, bajt, kod ASCII. Jak działa system komputerowy? Co to jest? pamięć

Bardziej szczegółowo

Systemy Czasu Rzeczywistego FPGA

Systemy Czasu Rzeczywistego FPGA 01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 05 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2

Bardziej szczegółowo

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8 3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8 Układ PCF 8583 jest pobierającą małą moc, 2048 bitową statyczną pamięcią CMOS RAM o organizacji 256 x 8 bitów. Adresy i dane są przesyłane szeregowo

Bardziej szczegółowo

Przetworniki cyfrowo analogowe oraz analogowo - cyfrowe

Przetworniki cyfrowo analogowe oraz analogowo - cyfrowe Przetworniki cyfrowo analogowe oraz analogowo - cyfrowe Przetworniki cyfrowo / analogowe W cyfrowych systemach pomiarowych często zachodzi konieczność zmiany sygnału cyfrowego na analogowy, np. w celu

Bardziej szczegółowo

Granica kompresji Kodowanie Shannona Kodowanie Huffmana Kodowanie ciągów Kodowanie arytmetyczne. Kody. Marek Śmieja. Teoria informacji 1 / 35

Granica kompresji Kodowanie Shannona Kodowanie Huffmana Kodowanie ciągów Kodowanie arytmetyczne. Kody. Marek Śmieja. Teoria informacji 1 / 35 Kody Marek Śmieja Teoria informacji 1 / 35 Entropia Entropia określa minimalną statystyczną długość kodowania (przyjmijmy dla prostoty że alfabet kodowy A = {0, 1}). Definicja Niech X = {x 1,..., x n }

Bardziej szczegółowo

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów. Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów. Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka

Bardziej szczegółowo

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka PAMIĘCI Część 1 Przygotował: Ryszard Kijanka WSTĘP Pamięci półprzewodnikowe są jednym z kluczowych elementów systemów cyfrowych. Służą do przechowywania informacji w postaci cyfrowej. Liczba informacji,

Bardziej szczegółowo

Algorytmy kodowania entropijnego

Algorytmy kodowania entropijnego Algorytmy kodowania entropijnego 1. Kodowanie Shannona-Fano 2. Kodowanie Huffmana 3. Jednoznaczność kodów Huffmana. Kod o minimalnej wariancji 4. Dynamiczne kodowanie Huffmana Poprzedni wykład - podsumowanie

Bardziej szczegółowo

Specyfika projektowania Mariusz Rawski

Specyfika projektowania Mariusz Rawski CAD Specyfika projektowania Mariusz Rawski rawski@tele.pw.edu.pl http://rawski.zpt.tele.pw.edu.pl/ System cyfrowy pierwsze skojarzenie Urządzenia wprowadzania danych: klawiatury czytniki urządzenia przetwarzania

Bardziej szczegółowo

Teoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017

Teoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017 Kody źródłowe jednoznacznie dekodowalne Zadanie Ile najwięcej słów kodowych może liczyć kod binarny jednoznacznie dekodowalny, którego najdłuższe słowo ma siedem liter? (Odp. 28) Zadanie 2 Zbiór sześciu

Bardziej szczegółowo

Organizacja typowego mikroprocesora

Organizacja typowego mikroprocesora Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają

Bardziej szczegółowo

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10. Projekt z przedmiotu Systemy akwizycji i przesyłania informacji Temat pracy: Licznik binarny zliczający do 10. Andrzej Kuś Aleksander Matusz Prowadzący: dr inż. Adam Stadler Układy cyfrowe przetwarzają

Bardziej szczegółowo

Klasyfikacja metod kompresji

Klasyfikacja metod kompresji dr inż. Piotr Odya Klasyfikacja metod kompresji Metody bezstratne Zakodowany strumień danych po dekompresji jest identyczny z oryginalnymi danymi przed kompresją, Metody stratne W wyniku kompresji część

Bardziej szczegółowo

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne 1. Bit Pozycja rejestru lub komórki pamięci służąca do przedstawiania (pamiętania) cyfry w systemie (liczbowym)

Bardziej szczegółowo

Tranzystor JFET i MOSFET zas. działania

Tranzystor JFET i MOSFET zas. działania Tranzystor JFET i MOSFET zas. działania brak kanału v GS =v t (cutoff ) kanał otwarty brak kanału kanał otwarty kanał zamknięty w.2, p. kanał zamknięty Co było na ostatnim wykładzie? Układy cyfrowe Najczęściej

Bardziej szczegółowo

Definicja. Jeśli. wtedy

Definicja. Jeśli. wtedy Definicja Jeśli wtedy Cel kompresji: zredukowanie do minimum oczekiwanego (średniego) kosztu gdzie l i jest długością słowa kodu c i kodującego symbol a i Definicja Definicje Efektywność kodowania określamy

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki

Bardziej szczegółowo

Przetwarzanie i transmisja danych multimedialnych. Wykład 3 Kodowanie Shannona Fano i Huffmana. Przemysław Sękalski.

Przetwarzanie i transmisja danych multimedialnych. Wykład 3 Kodowanie Shannona Fano i Huffmana. Przemysław Sękalski. Przetwarzanie i transmisja danych multimedialnych Wykład 3 Kodowanie Shannona Fano i Huffmana Przemysław Sękalski sekalski@dmcs.pl Politechnika Łódzka Katedra Mikroelektroniki i Technik Informatycznych

Bardziej szczegółowo

teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015

teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015 teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015 1 wczoraj Wprowadzenie matematyczne. Entropia i informacja. Kodowanie. Kod ASCII. Stopa kodu. Kody bezprefiksowe.

Bardziej szczegółowo

Teoretyczne Podstawy Informatyki

Teoretyczne Podstawy Informatyki Teoretyczne Podstawy Informatyki cel zajęć Celem kształcenia jest uzyskanie umiejętności i kompetencji w zakresie budowy schematów blokowych algor ytmów oraz ocenę ich złożoności obliczeniowej w celu optymizacji

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Entropia Kodowanie. Podstawy kompresji. Algorytmy kompresji danych. Sebastian Deorowicz

Entropia Kodowanie. Podstawy kompresji. Algorytmy kompresji danych. Sebastian Deorowicz Algorytmy kompresji danych 2007 02 27 Plan wykładu 1 Modelowanie i kodowanie 2 Modelowanie i kodowanie Plan wykładu 1 Modelowanie i kodowanie 2 Modelowanie i kodowanie definicja stowarzyszona ze zbiorem

Bardziej szczegółowo

LEKCJA TEMAT: Współczesne procesory.

LEKCJA TEMAT: Współczesne procesory. LEKCJA TEMAT: Współczesne procesory. 1. Wymagania dla ucznia: zna pojęcia: procesor, CPU, ALU, potrafi podać typowe rozkazy; potrafi omówić uproszczony i rozszerzony schemat mikroprocesora; potraf omówić

Bardziej szczegółowo

dwójkę liczącą Licznikiem Podział liczników:

dwójkę liczącą Licznikiem Podział liczników: 1. Dwójka licząca Przerzutnik typu D łatwo jest przekształcić w przerzutnik typu T i zrealizować dzielnik modulo 2 - tzw. dwójkę liczącą. W tym celu wystarczy połączyć wyjście zanegowane Q z wejściem D.

Bardziej szczegółowo

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Temat 1. Algebra Boole a i bramki 1). Podać przykład dowolnego prawa lub tożsamości, które jest spełnione w algebrze Boole

Bardziej szczegółowo

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW

LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW POLITECHNIKA POZNAŃSKA FILIA W PILE LABORATORIUM ELEKTRONIKI I TEORII OBWODÓW numer ćwiczenia: data wykonania ćwiczenia: data oddania sprawozdania: OCENA: 6 21.11.2002 28.11.2002 tytuł ćwiczenia: wykonawcy:

Bardziej szczegółowo

Badanie układów średniej skali integracji - ćwiczenie Cel ćwiczenia. 2. Wykaz przyrządów i elementów: 3. Przedmiot badań

Badanie układów średniej skali integracji - ćwiczenie Cel ćwiczenia. 2. Wykaz przyrządów i elementów: 3. Przedmiot badań adanie układów średniej skali integracji - ćwiczenie 6. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawowymi układami SSI (Średniej Skali Integracji). Przed wykonaniem ćwiczenia należy zapoznać

Bardziej szczegółowo

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011 Układy arytmetyczne Joanna Ledzińska III rok EiT AGH 2011 Plan prezentacji Metody zapisu liczb ze znakiem Układy arytmetyczne: Układy dodające Półsumator Pełny sumator Półsubtraktor Pełny subtraktor Układy

Bardziej szczegółowo

MIKROKONTROLERY I MIKROPROCESORY

MIKROKONTROLERY I MIKROPROCESORY PLAN... work in progress 1. Mikrokontrolery i mikroprocesory - architektura systemów mikroprocesorów ( 8051, AVR, ARM) - pamięci - rejestry - tryby adresowania - repertuar instrukcji - urządzenia we/wy

Bardziej szczegółowo

Hardware mikrokontrolera X51

Hardware mikrokontrolera X51 Hardware mikrokontrolera X51 Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Hardware mikrokontrolera X51 (zegar)

Bardziej szczegółowo

Micha Strzelecki Metody przetwarzania i analizy obrazów biomedycznych (2)

Micha Strzelecki Metody przetwarzania i analizy obrazów biomedycznych (2) Micha Strzelecki Metody przetwarzania i analizy obrazów biomedycznych (2) Prezentacja multimedialna współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie Innowacyjna

Bardziej szczegółowo

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych Dodatek A Wyświetlacz LCD. Przeznaczenie i ogólna charakterystyka Wyświetlacz ciekłokrystaliczny HY-62F4 zastosowany w ćwiczeniu jest wyświetlaczem matrycowym zawierającym moduł kontrolera i układ wykonawczy

Bardziej szczegółowo

Programowany układ czasowy

Programowany układ czasowy Programowany układ czasowy Zbuduj na płycie testowej ze Spartanem-3A prosty ośmiobitowy układ czasowy pracujący w trzech trybach. Zademonstruj jego działanie na ekranie oscyloskopu. Projekt z Języków Opisu

Bardziej szczegółowo

Python: JPEG. Zadanie. 1. Wczytanie obrazka

Python: JPEG. Zadanie. 1. Wczytanie obrazka Python: JPEG Witajcie! Jest to kolejny z serii tutoriali uczący Pythona, a w przyszłości być może nawet Cythona i Numby Jeśli chcesz nauczyć się nowych, zaawansowanych konstrukcji to spróbuj rozwiązać

Bardziej szczegółowo

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych .Wprowadzenie do projektowania układów sekwencyjnych synchronicznych.. Przerzutniki synchroniczne Istota działania przerzutników synchronicznych polega na tym, że zmiana stanu wewnętrznego powinna nastąpić

Bardziej szczegółowo

Generowanie ciągów bitów losowych z wykorzystaniem sygnałów pochodzących z komputera

Generowanie ciągów bitów losowych z wykorzystaniem sygnałów pochodzących z komputera Generowanie ciągów bitów losowych z wykorzystaniem sygnałów pochodzących z komputera Praca dyplomowa magisterska Opiekun: prof. nzw. Zbigniew Kotulski Andrzej Piasecki apiaseck@mion.elka.pw.edu.pl Plan

Bardziej szczegółowo

Wygra Polska czy Brazylia, czyli o tym jak zwięźle zapisywać informacje

Wygra Polska czy Brazylia, czyli o tym jak zwięźle zapisywać informacje Wygra Polska czy Brazylia, czyli o tym jak zwięźle zapisywać informacje Witold Tomaszewski Instytut Matematyki Politechniki Śląskiej e-mail: Witold.Tomaszewski@polsl.pl Je n ai fait celle-ci plus longue

Bardziej szczegółowo

Kody splotowe. Zastosowanie

Kody splotowe. Zastosowanie Kody splotowe Zastosowanie Niekiedy potrzeba buforowania fragmentu wiadomości przed zakodowaniem, tak jak to ma miejsce w koderze blokowym, jest przeszkodą, gdyż dane do zakodowania napływają strumieniem.

Bardziej szczegółowo

Modulacja i kodowanie. Labolatorium. Kodowanie źródłowe Kod Huffman a

Modulacja i kodowanie. Labolatorium. Kodowanie źródłowe Kod Huffman a Modulacja i kodowanie Labolatorium Kodowanie źródłowe Kod Huffman a W tym ćwiczeniu zajmiemy się kodowaniem źródłowym (source coding). 1. Kodowanie źródłowe Głównym celem kodowanie źródłowego jest zmniejszenie

Bardziej szczegółowo

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone

Bardziej szczegółowo

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych. Elementy struktur cyfrowych Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych. Magistrale W układzie bank rejestrów do przechowywania danych. Wybór źródła danych

Bardziej szczegółowo

LICZNIKI LABORATORIUM. Elektronika AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. Wydział Informatyki, Elektroniki i Telekomunikacji

LICZNIKI LABORATORIUM. Elektronika AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. Wydział Informatyki, Elektroniki i Telekomunikacji AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Elektroniki LABORATORIUM Elektronika LICZNIKI Rev.1.0 1. Wprowadzenie Celem ćwiczenia

Bardziej szczegółowo

Fundamentals of Data Compression

Fundamentals of Data Compression Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2012/2013

Bardziej szczegółowo

Zapoznanie się z podstawowymi strukturami liczników asynchronicznych szeregowych modulo N, zliczających w przód i w tył oraz zasadą ich działania.

Zapoznanie się z podstawowymi strukturami liczników asynchronicznych szeregowych modulo N, zliczających w przód i w tył oraz zasadą ich działania. Badanie liczników asynchronicznych - Ćwiczenie 4 1. el ćwiczenia Zapoznanie się z podstawowymi strukturami liczników asynchronicznych szeregowych modulo N, zliczających w przód i w tył oraz zasadą ich

Bardziej szczegółowo

Układy kombinacyjne. cz.2

Układy kombinacyjne. cz.2 Układy kombinacyjne cz.2 Układy kombinacyjne 2/26 Kombinacyjne bloki funkcjonalne Kombinacyjne bloki funkcjonalne - dekodery 3/26 Dekodery Są to układy zamieniające wybrany kod binarny (najczęściej NB)

Bardziej szczegółowo

UKŁAD SCALONY. Cyfrowe układy można podzielić ze względu na różne kryteria, na przykład sposób przetwarzania informacji, technologię wykonania.

UKŁAD SCALONY. Cyfrowe układy można podzielić ze względu na różne kryteria, na przykład sposób przetwarzania informacji, technologię wykonania. UKŁDAY CYFROWE Układy cyfrowe są w praktyce realizowane różnymi technikami. W prostych urządzeniach automatyki powszechnie stosowane są układy elektryczne, wykorzystujące przekaźniki jako podstawowe elementy

Bardziej szczegółowo

Systemy Czasu Rzeczywistego FPGA

Systemy Czasu Rzeczywistego FPGA 01. Systemy Czasu Rzeczywistego FPGA 1 Systemy Czasu Rzeczywistego FPGA laboratorium: 04 autor: mgr inż. Mateusz Baran 01. Systemy Czasu Rzeczywistego FPGA 2 1 Spis treści FPGA... 1 1 Spis treści... 2

Bardziej szczegółowo