- Nazwa przedmiotu:
- Kompresja danych
- Koordynator przedmiotu:
- Rajmund Kożuszek
- Status przedmiotu:
- Fakultatywny dowolnego wyboru
- Poziom kształcenia:
- Studia II stopnia
- Program:
- Informatyka
- Grupa przedmiotów:
- Przedmioty techniczne - podstawowe
- Kod przedmiotu:
- KODA
- Semestr nominalny:
- 2 / rok ak. 2021/2022
- Liczba punktów ECTS:
- 4
- Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
- 1. liczba godzin kontaktowych – 50 godz., w tym
obecność na wykładach 30 godz.,
spotkania projektowe 15 godz.,
konsultacje 2 godz.,
obecność na egzaminie 3 godz.
2. praca własna studenta – 55 godz., w tym
przygotowanie do zadania projektowego 5 godz.,
realizacja projektu 25 godz.
przygotowanie do egzaminu 25 godz.
Łączny nakład pracy studenta wynosi 105 godz., co odpowiada 4 pkt. ECTS.
- Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
- 1,90 pkt. ECTS, co odpowiada 50 godz. kontaktowym
- Język prowadzenia zajęć:
- polski
- Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
- 1,71 pkt. ECTS, co odpowiada 15 godz. spotkań projektowych plus 30 godz. przygotowania i realizacji projektu
- Formy zajęć i ich wymiar w semestrze:
-
- Wykład30h
- Ćwiczenia0h
- Laboratorium0h
- Projekt15h
- Lekcje komputerowe0h
- Wymagania wstępne:
- Osoby uczęszczające na przedmiot powinny przede wszystkim mieć widzę związaną z podstawami przetwarzania multimediów. Wymagana będzie również umiejętność programowania w językach C/C++ lub językach wysokiego poziomu (takich jak python).
- Limit liczby studentów:
- 30
- Cel przedmiotu:
- Celem przedmiotu jest omówienie podstaw teoretycznych oraz metod kodowania danych, zasad realizacji prostych algorytmów kompresji, przegląd współczesnych narzędzi i standardów z uwzględnieniem potencjalnych obszarów zastosowań, analiza możliwości oraz kryteriów doboru koderów optymalnych dla określonego rodzaju danych, a także sformułowanie współczesnych paradygmatów kompresji.
- Treści kształcenia:
- Wykład:
1. Wprowadzenie: przegląd i charakterystyka różnego typu danych wykorzystywanych do przekazu informacji, form ich reprezentowania (formaty, protokoły) w systemach informatycznych (głównie pliki tekstowe i graficzne, dźwięk, obrazy naturalne, medyczne, czarno-białe, wideo); podstawowe pojęcia z dziedziny kompresji, kierunki rozwoju nowoczesnych metod kompresji (1h).
2. Podstawy teorii informacji: definicje informacji, pojęcia nadmiarowości, kanału przekazu informacji, modele źródeł informacji (m.in. źródła Markowa), miary ilości informacji, twierdzenia o kodowaniu źródeł, reguły i ograniczenia efektywnego kodowania danych, kody jednoznacznie dekodowalne, praktyczne wykorzystanie modeli teoretycznych - kody optymalne (2h).
3. Podstawowe metody kodowania odwracalnego: schematy ogólne i paradygmaty bezstratnych metod kompresji, kodery długości sekwencji, Shannona-Fano, Huffmana (statyczny i dynamiczny), Golomba, i adaptacyjne modele kontekstowe (3h).
4. Efektywne metody bezstratnej kompresji danych: kodowanie arytmetyczne (m.in. szybkie kodeki binarne typu BAC i FBAC), numeryczne (ABS, tANS, rANS), słownikowe (m.in. przegląd archiwizerów rodziny ZIP) (6h).
5. Metody predykcyjne (wstecz, wprzód, DPCM, nieliniowe), predykcja w pętli rekonstrukcji z kwantyzacją, metody szeregowania pikseli, predykcja 2-D : (adaptacyjne modele przełączane, interpolacja międzypikselowa HINT, kilkuetapowe), modelowanie kontekstu, kwantyzacja kontekstu (CALIC, JPEG-LS), metoda PPM (3h).
6. Podstawy metod selekcji informacji: teoria zniekształceń źródeł informacji, optymalizacja R-D, średnia informacja wzajemna, metody kwantyzacji (skalarna, wektorowa, nieliniowa) kryteria i metody oceny jakości rekonstrukcji danych, pętla rekonstrukcji z kwantyzacją (2h).
7. Kodowanie transformacyjne, transformacje 1D/2D, przekształcenie KLT, transformacja kosinusowa/sinusowa, efektywność transformacji, całkowitoliczbowe przybliżenia transformacje (Hadamarda, wersje zastosowane w standardach wideo), selekcja współczynników transformaty, transformacja falkowa, dekompozycja wielopoziomowa, flaki Haara, 5x3 i 9x7, implementacja splotowa i za pomocą filtru drabinkowego, filtrowanie na granicach. (2h)
8. Wybrane standardy kompresji obrazów: JPEG, JPEG 2000, GIF, PNG, JPEG-LS, użyte metody transformacji, modelowania i kodowania binarnego (3h).
9. Wybrane standardy kompresji sekwencji obrazów MPEG (H.26x), wzrost stopnia złożoności i efektywności kompresji w kolejnych standardach, typy ramek wideo, struktury grupy obrazów, estymacja i kompensacja ruchu, dostępne tryby kodowania, użyte metody transformacji, predykcji i kodowania binarnego (3h)
10. Kodowania dźwięku (MPEG -1/2/4, AAC) (2h).
11. Wybrane problemy implementacji koderów: efektywność kompresji, regulacja stopnia kompresji, przepustowość, opóźnienie, zasoby obliczeniowe, skalowalność obliczeniowa, (2h).
12. Kompresja wykorzystująca sieci neuronowe, wybór trybów kodowania wspomagany sieciami neuronowymi, predykcja przez sieci neuronowe, kompresja za pomocą autoenkoderów neuronowych (1h)
Projekt:
Zadania projektowe obejmują takie aktywności jak: studia literaturowe, opracowanie koncepcji i algorytmów kodowania, implementacja poznanych metod kompresji, analiza najnowszych standardów, formatów czy narzędzi (w zakresie algorytmów, dostępnych pakietów oprogramowania, optymalizacja i modyfikacja dostępnych bibliotek, implementacje sprzętowe, projektowanie i realizacja testów weryfikacji narzędzi). Treść poszczególnych zadań projektowych, stale aktualizowanych, dotyczy samodzielnej realizacji prostych aplikacji kodeków (według kodu Huffmana, arytmetycznego, Golomba, słownikowego, predykcji, transformacji, kwantyzacji, RLE, itp.) oraz narzędzi wspomagających (do liczenia entropii, do eksperymentalnej weryfikacji określonych kodeków); Projekty mogą dotyczyć również optymalizacji i testowania kodeków złożonych z wykorzystaniem dostępnych pakietów oprogramowania oraz sprzętowej syntezy wysokopoziomowej wybranych metod kompresji;
- Metody oceny:
- Przedmiot jest oceniany na podstawie sumy punktów uzyskanych z egzaminu (max 50 pkt) oraz projektu (max 50 pkt) - warunkiem zaliczenia przedmiotu jest: uzyskanie łącznie min 51 pkt, w tym przynajmniej 25 pkt z egzaminu.
- Egzamin:
- tak
- Literatura:
- 1. Przelaskowski A., "Kompresja danych: podstawy, metody bezstratne, kodery obrazów", Wydawnictwo BTC, str. 258, 2005.
2. K. Sayood, "Kompresja danych. Wprowadzenie", READ ME, 2002.
3. D. Salomon, "A concise introduction to data compression", Springer, 2008.
4. A. Przelaskowski, "Falkowe metody kompresji danych obrazowych", Prace Naukowe - Elektronika, z. 138, Oficyna Wydawnicza PW, 2002.
5. W. Skarbek, "Metody reprezentacji obrazów cyfrowych", Akademicka Oficyna Wydawnicza PLJ, W-wa 1993W.
6. Skarbek (red.), "Multimedia. Algorytmy i standardy kompresji", Akademicka Oficyna Wydawnicza PLJ, W-wa 1998.
7. A. Drozdek, "Wprowadzenie do kompresji danych", WNT, 1999.
8. M. Rabbani, P. W. Jones, "Digital Image Compression Techniques", SPIE Press, 1991.
9. M. Domański, "Zaawansowane techniki kompresji obrazów i sekwencji wizyjnych", Wydawnictwo Politechniki Poznańskiej, 2000.
- Witryna www przedmiotu:
- https://usosweb.usos.pw.edu.pl/kontroler.php?_action=katalog2/przedmioty/pokazPrzedmiot&prz_kod=103D-xxxxx-MSP-KODA
- Uwagi:
- (-)
Efekty uczenia się