Kompresja stratna - Lossy compression

JPEG o niskiej kompresji (wysoka jakość)
JPEG o wysokiej kompresji (niskiej jakości)

W technologii informacyjnej , kompresja stratna lub nieodwracalne kompresji jest klasa kodowania danych metod wykorzystuje kod nie w pełni przybliżone i dane częściowe odrzucenie reprezentuje zawartość. Techniki te służą do zmniejszania rozmiaru danych do przechowywania, obsługi i przesyłania treści. Różne wersje zdjęcia kota na tej stronie pokazują, jak wyższe stopnie przybliżenia tworzą bardziej szorstkie obrazy, gdy usuwa się więcej szczegółów. Jest to przeciwieństwo bezstratnej kompresji danych (odwracalnej kompresji danych), która nie degraduje danych. Możliwa redukcja danych przy użyciu kompresji stratnej jest znacznie wyższa niż przy użyciu technik bezstratnych.

Dobrze zaprojektowana technologia kompresji stratnej często znacznie zmniejsza rozmiary plików, zanim degradacja zostanie zauważona przez użytkownika końcowego. Nawet gdy jest to zauważalne przez użytkownika, może być pożądana dalsza redukcja danych (np. dla komunikacji w czasie rzeczywistym, aby skrócić czas transmisji lub zmniejszyć zapotrzebowanie na pamięć). Najczęściej stosowanym algorytmem kompresji stratnej jest dyskretna transformata kosinusowa (DCT), opublikowana po raz pierwszy przez Nasira Ahmeda , T. Natarajana i KR Rao w 1974 roku. W 2019 roku nowa rodzina funkcji transformacji sinusoidalno-hiperbolicznej, które mają porównywalne właściwości i wydajność z DCT, zaproponowano do kompresji stratnej.

Kompresja stratna jest najczęściej stosowana do kompresji danych multimedialnych ( audio , wideo i obrazy ), zwłaszcza w aplikacjach takich jak strumieniowe przesyłanie multimediów i telefonia internetowa . Natomiast kompresja bezstratna jest zwykle wymagana w przypadku plików tekstowych i danych, takich jak akta bankowe i artykuły tekstowe. Korzystne może być utworzenie głównego pliku bezstratnego, który może być następnie wykorzystany do wykonania dodatkowych kopii. Pozwala to uniknąć bazowania nowych skompresowanych kopii na stratnym pliku źródłowym, co skutkowałoby dodatkowymi artefaktami i dalszą niepotrzebną utratą informacji .

Rodzaje

Możliwe jest skompresowanie wielu typów danych cyfrowych w sposób zmniejszający rozmiar pliku komputerowego potrzebnego do jego przechowywania lub przepustowość niezbędną do jego przesłania, bez utraty pełnych informacji zawartych w oryginalnym pliku. Na przykład obraz jest konwertowany na plik cyfrowy, uznając go za tablicę kropek i określając kolor i jasność każdej kropki. Jeśli obraz zawiera obszar tego samego koloru, można go skompresować bez strat, mówiąc „200 czerwonych kropek” zamiast „czerwona kropka, czerwona kropka, ... (więcej razy 197)…, czerwona kropka”.

Oryginalne dane zawierają pewną ilość informacji i istnieje dolny limit rozmiaru pliku, który może zawierać wszystkie informacje. Podstawowa teoria informacji mówi, że istnieje bezwzględna granica zmniejszania rozmiaru tych danych. Kiedy dane są kompresowane, ich entropia wzrasta i nie może wzrastać w nieskończoność. Jako intuicyjny przykład większość ludzi wie, że skompresowany plik ZIP jest mniejszy niż oryginalny plik, ale wielokrotne kompresowanie tego samego pliku nie zmniejszy rozmiaru do niczego. Większość algorytmów kompresji potrafi rozpoznać, kiedy dalsza kompresja byłaby bezcelowa i faktycznie zwiększyłaby rozmiar danych.

W wielu przypadkach pliki lub strumienie danych zawierają więcej informacji, niż jest to potrzebne do określonego celu. Na przykład obraz może mieć więcej szczegółów, niż oko jest w stanie odróżnić po odtworzeniu w największym zamierzonym rozmiarze; podobnie, plik audio nie wymaga zbyt wielu szczegółów podczas bardzo głośnego przejścia. Rozwijanie stratnych technik kompresji, jak najlepiej dopasowanych do ludzkiej percepcji, jest zadaniem złożonym. Czasami ideałem jest plik, który zapewnia dokładnie taką samą percepcję jak oryginał, z usunięciem jak największej ilości informacji cyfrowych; w innych przypadkach zauważalna utrata jakości jest uważana za ważny kompromis dla zredukowanych danych.

Terminy „nieodwracalny” i „odwracalny” są preferowane odpowiednio nad „stratny” i „bezstratny” w niektórych zastosowaniach, takich jak kompresja obrazów medycznych, w celu obejścia negatywnych konsekwencji „straty”. Rodzaj i wielkość strat może mieć wpływ na użyteczność obrazów. Artefakty lub niepożądane efekty kompresji mogą być wyraźnie dostrzegalne, ale wynik jest nadal przydatny do zamierzonego celu. Obrazy skompresowane stratnie mogą być „ wizualnie bezstratne ”, aw przypadku obrazów medycznych można zastosować tak zwaną nieodwracalną kompresję diagnostyczną (DAIC) .

Przekształć kodowanie

Niektóre formy kompresji stratnej można traktować jako zastosowanie kodowania transformującego , które jest rodzajem kompresji danych stosowanym w przypadku obrazów cyfrowych , cyfrowych sygnałów audio i cyfrowego wideo . Przekształcenie jest zwykle używane w celu umożliwienia lepszej (bardziej ukierunkowanej) kwantyzacji . Znajomość aplikacji służy do wybierania informacji do odrzucenia, co zmniejsza jej przepustowość . Pozostałe informacje można następnie skompresować różnymi metodami. Gdy dane wyjściowe są dekodowane, wynik może nie być identyczny z oryginalnymi danymi wejściowymi, ale oczekuje się, że będzie wystarczająco zbliżony do celów aplikacji.

Najpopularniejszą formą kompresji stratnej jest metoda kodowania transformacyjnego, dyskretna transformata kosinusowa (DCT), która została po raz pierwszy opublikowana przez Nasira Ahmeda , T. Natarajana i KR Rao w 1974 roku. DCT jest najczęściej stosowaną formą kompresji stratnej, m.in. popularne formaty kompresji obrazu (takie jak JPEG ), standardy kodowania wideo (takie jak MPEG i H.264/AVC ) oraz formaty kompresji audio (takie jak MP3 i AAC ).

W przypadku danych audio popularną formą kodowania przekształcającego jest kodowanie percepcyjne , które przekształca nieprzetworzone dane w domenę, która dokładniej odzwierciedla zawartość informacji. Na przykład, zamiast wyrażać plik dźwiękowy jako poziomy amplitudy w czasie, można go wyrazić jako widmo częstotliwości w czasie, które bardziej odpowiada percepcji dźwięku przez człowieka. Chociaż redukcja danych (kompresja, czy to stratna, czy bezstratna) jest głównym celem kodowania transformacyjnego, pozwala ona również na inne cele: można dokładniej reprezentować dane dla oryginalnej ilości miejsca – na przykład, w zasadzie, jeśli zaczyna się od analogowy lub cyfrowy master o wysokiej rozdzielczości oraz plik MP3 o danym rozmiarze powinien zapewniać lepszą reprezentację niż surowy nieskompresowany dźwięk w pliku WAV lub AIFF o tym samym rozmiarze. Dzieje się tak, ponieważ nieskompresowany dźwięk może zmniejszyć rozmiar pliku tylko poprzez zmniejszenie szybkości transmisji lub głębokości, podczas gdy kompresja dźwięku może zmniejszyć rozmiar przy zachowaniu szybkości transmisji i głębokości. Ta kompresja staje się selektywną utratą najmniej znaczących danych, a nie utratą wszystkich danych. Co więcej, kodowanie transformacyjne może zapewnić lepszą domenę do manipulowania lub innej edycji danych – na przykład wyrównanie dźwięku jest najbardziej naturalnie wyrażane w domenie częstotliwości (na przykład podbicie basów), a nie w surowej domenie czasu.

Z tego punktu widzenia kodowanie percepcyjne nie polega zasadniczo na odrzucaniu danych, ale raczej na lepszej reprezentacji danych. Innym zastosowaniem jest kompatybilność wsteczna i łagodna degradacja : w telewizji kolorowej kodowanie koloru za pomocą domeny transformacji luminancja - chrominancja (takiej jak YUV ) oznacza, że ​​czarno-białe zestawy wyświetlają luminancję, ignorując informacje o kolorze. Innym przykładem jest podpróbkowanie chrominancji : wykorzystanie przestrzeni kolorów, takich jak YIQ , używanej w NTSC , pozwala na zmniejszenie rozdzielczości komponentów zgodnie z ludzką percepcją – ludzie mają najwyższą rozdzielczość dla czerni i bieli (luma), niższą rozdzielczość dla kolorów o średnim widmie, takich jak żółty i zielony, a najniższa dla czerwonego i niebieskiego – w ten sposób NTSC wyświetla około 350 pikseli lumy na linię skanowania , 150 pikseli żółtego i zielonego oraz 50 pikseli niebieskiego i czerwonego, które są proporcjonalne do wrażliwość człowieka na każdy składnik.

Utrata informacji

Stratne formaty kompresji cierpią z powodu utraty generacji : wielokrotne kompresowanie i dekompresowanie pliku spowoduje jego stopniową utratę jakości. Jest to w przeciwieństwie do bezstratnej kompresji danych , gdzie dane nie zostaną utracone w wyniku zastosowania takiej procedury. Teoretyczne podstawy informacji dla stratnej kompresji danych zapewnia teoria zniekształceń szybkości . Podobnie jak wykorzystanie prawdopodobieństwa w optymalnej teorii kodowania, teoria zniekształceń szybkości w dużym stopniu opiera się na estymacji bayesowskiej i teorii decyzji w celu modelowania zniekształceń percepcyjnych, a nawet oceny estetycznej .

Istnieją dwa podstawowe schematy kompresji stratnej:

  • W kodekach z transformacją stratną pobierane są próbki obrazu lub dźwięku, cięte na małe segmenty, przekształcane w nową przestrzeń bazową i kwantyzowane . Otrzymane skwantowane wartości są następnie kodowane entropijnie .
  • W stratnych kodekach predykcyjnych poprzednie i/lub kolejne dekodowane dane są wykorzystywane do przewidywania bieżącej próbki dźwięku lub ramki obrazu. Błąd między przewidywanymi danymi a rzeczywistymi danymi, wraz z wszelkimi dodatkowymi informacjami potrzebnymi do odtworzenia przewidywania, jest następnie kwantyzowany i kodowany.

W niektórych systemach te dwie techniki są połączone, a kodeki transformacji są wykorzystywane do kompresji sygnałów błędów generowanych przez stopień predykcyjny.

Porównanie

Zaletą metod stratnych nad bezstratnymi jest to, że w niektórych przypadkach metoda stratna może wytworzyć znacznie mniejszy skompresowany plik niż jakakolwiek metoda bezstratna, jednocześnie spełniając wymagania aplikacji. Stratne metody są najczęściej używane do kompresji dźwięku, obrazów lub filmów. Dzieje się tak, ponieważ tego typu dane są przeznaczone do ludzkiej interpretacji, w której umysł może łatwo „zapełnić puste miejsca” lub zobaczyć przeszłe bardzo drobne błędy lub niespójności – najlepiej, aby kompresja stratna była przezroczysta (niezauważalna), co można zweryfikować za pomocą testu ABX . Pliki danych wykorzystujące kompresję stratną mają mniejszy rozmiar, a tym samym są tańsze w przechowywaniu i przesyłaniu przez Internet, co ma kluczowe znaczenie w przypadku usług przesyłania strumieniowego wideo , takich jak Netflix i usług przesyłania strumieniowego audio , takich jak Spotify .

Efekty emocjonalne

Badanie przeprowadzone przez Audio Engineering Library wykazało, że niższa szybkość transmisji (112 kb/s) stratnych formatów kompresji, takich jak MP3, ma wyraźny wpływ na charakterystykę barwową i emocjonalną, co ma tendencję do wzmacniania negatywnych cech emocjonalnych i osłabiania pozytywnych. Badanie wykazało ponadto, że trąbka jest instrumentem najbardziej dotkniętym kompresją, podczas gdy tuba jest najmniej.

Przezroczystość

Gdy użytkownik uzyska plik skompresowany stratnie (na przykład w celu skrócenia czasu pobierania), pobrany plik może różnić się od oryginału na poziomie bitowym , będąc jednocześnie nie do odróżnienia dla ludzkiego ucha lub oka w większości praktycznych celów. Wiele metod kompresji skupia się na osobliwościach fizjologii człowieka , biorąc pod uwagę na przykład, że ludzkie oko widzi tylko określone długości fal światła. Model psychoakustyczny opisuje, w jaki sposób dźwięk może być mocno skompresowany bez pogorszenia postrzeganej jakości. Wady spowodowane kompresją stratną, które są zauważalne dla ludzkiego oka lub ucha, są znane jako artefakty kompresji .

Stopień sprężania

Współczynnik kompresji (czyli rozmiar skompresowanego pliku w porównaniu z plikiem nieskompresowanym) stratnych kodeków wideo jest prawie zawsze znacznie wyższy niż odpowiedników audio i nieruchomych obrazów.

  • Wideo może być bardzo skompresowane (np. 100:1) z niewielką widoczną utratą jakości
  • Dźwięk często może być skompresowany do 10:1 z prawie niezauważalną utratą jakości
  • Obrazy nieruchome są często kompresowane stratnie w proporcji 10:1, tak jak w przypadku dźwięku, ale utrata jakości jest bardziej zauważalna, zwłaszcza przy bliższym przyjrzeniu się.

Transkodowanie i edycja

Ważnym zastrzeżeniem dotyczącym kompresji stratnej (formalnego transkodowania) jest to, że edytowanie plików skompresowanych stratnie powoduje utratę generowania cyfrowego w wyniku ponownego kodowania. Można tego uniknąć, tworząc tylko stratne pliki z (bezstratnych) oryginałów i tylko edytując (kopie) oryginalnych plików, takich jak obrazy w formacie RAW zamiast JPEG . Jeśli dane, które zostały skompresowane stratnie, są dekodowane i skompresowane bezstratnie, rozmiar wyniku może być porównywalny z rozmiarem danych przed kompresją stratną, ale danych już utraconych nie można odzyskać. Decydując się na użycie konwersji stratnej bez zachowania oryginału, w przyszłości może być potrzebna konwersja formatu w celu osiągnięcia zgodności z oprogramowaniem lub urządzeniami ( przesunięcie formatu ) lub aby uniknąć płacenia tantiem patentowych za dekodowanie lub dystrybucję skompresowanych plików.

Edycja plików stratnych

Modyfikując skompresowane dane bezpośrednio bez dekodowania i ponownego kodowania, możliwa jest pewna edycja plików skompresowanych stratnie bez pogorszenia jakości. Edytowanie, które zmniejsza rozmiar pliku, tak jakby był skompresowany w większym stopniu, ale bez większych strat, jest czasami również możliwe.

JPEG

Podstawowymi programami do bezstratnej edycji plików JPEG są jpegtran, pochodny exiftran(który również zachowuje informacje Exif ) oraz Jpegcrop (który zapewnia interfejs Windows).

Pozwalają one obrazowi być

Podczas gdy niechciane informacje są niszczone, jakość pozostałej części pozostaje niezmieniona.

Możliwe są do pewnego stopnia inne przekształcenia, takie jak łączenie obrazów z tym samym kodowaniem (komponowanie obok siebie, jak na siatce) lub wklejanie obrazów (takich jak logo) do istniejących obrazów (oba za pomocą Jpegjoin ) lub skalowanie.

Niektóre zmiany można wprowadzić w kompresji bez ponownego kodowania:

  • optymalizacja kompresji (zmniejszenie rozmiaru bez zmiany dekodowanego obrazu)
  • konwersja między kodowaniem progresywnym i nieprogresywnym.

Darmowy IrfanView działający tylko w systemie Windows ma w swojej JPG_TRANSFORM wtyczce kilka bezstratnych operacji JPEG .

Metadane

Metadane, takie jak tagi ID3 , komentarze Vorbis lub informacje Exif, można zwykle modyfikować lub usuwać bez modyfikowania danych źródłowych.

Skalowalność w dół/skompresowana reprezentacja

Można chcieć zmniejszyć lub w inny sposób zmniejszyć rozdzielczość reprezentowanego sygnału źródłowego i ilość danych używanych do jego skompresowanej reprezentacji bez ponownego kodowania, jak w przypadku peelingu przepływności , ale ta funkcja nie jest obsługiwana we wszystkich projektach, ponieważ nie wszystkie kodeki kodują dane w formie, która pozwala po prostu usunąć mniej ważne szczegóły. Niektóre dobrze znane projekty, które mają tę funkcję, obejmują JPEG 2000 dla obrazów nieruchomych i kodowanie skalowalne wideo oparte na H.264/MPEG-4 AVC dla wideo. Takie schematy zostały również znormalizowane dla starszych projektów, takich jak obrazy JPEG z progresywnym kodowaniem oraz wideo MPEG-2 i MPEG-4 Part 2 , chociaż te wcześniejsze schematy miały ograniczony sukces pod względem przyjęcia do powszechnego użytku w świecie rzeczywistym. Bez tej zdolności, która często ma miejsce w praktyce, do wytworzenia reprezentacji o niższej rozdzielczości lub mniejszej wierności niż dana, trzeba zacząć od oryginalnego sygnału źródłowego i zakodować lub zacząć od skompresowanej reprezentacji, a następnie rozpakować i ponownie -encode it ( transkodowanie ), chociaż to drugie powoduje utratę generacji cyfrowej .

Innym podejściem jest kodowanie oryginalnego sygnału przy kilku różnych szybkościach transmisji bitów, a następnie wybieranie, którego użyć (jak podczas przesyłania strumieniowego przez Internet – jak w RealNetworksSureStream ” – lub oferowanie różnych plików do pobrania, jak w sklepie iTunes firmy Apple ) lub nadawanie kilka, gdzie stosuje się to, co najlepsze, co jest z powodzeniem odbierane, jak w różnych implementacjach modulacji hierarchicznej . Podobne techniki są używane w mipmapach , reprezentacjach ostrosłupowych i bardziej wyrafinowanych metodach przestrzeni skali . Niektóre formaty audio zawierają kombinację formatu stratnego i korekcji bezstratnej, które po połączeniu odtwarzają oryginalny sygnał; korektę można usunąć, pozostawiając mniejszy, stratnie skompresowany plik. Takie formaty obejmują MPEG-4 SLS (Scalable to Lossless), WavPack , OptimFROG DualStream i DTS-HD Master Audio w trybie bezstratnym (XLL) ).

Metody

Grafika

Obraz

grafika komputerowa 3D

Wideo

Audio

Ogólny

Przemówienie

Inne dane

Naukowcy przeprowadzili (półpoważnie) kompresję stratną tekstu, używając tezaurusa w celu zastąpienia długich słów krótkimi słowami lub generatywnych technik tekstowych , chociaż czasami należą one do powiązanej kategorii stratnej konwersji danych .

Obniżenie rozdzielczości

Ogólny rodzaj kompresji stratnej polega na obniżeniu rozdzielczości obrazu, tak jak w przypadku skalowania obrazu , w szczególności decymacji . Można również usunąć mniej "niższych informacji" części obrazu, na przykład przez rzeźbienie szwów . Wiele przekształceń mediów, takich jak rozmycie gaussowskie , jest, podobnie jak kompresja stratna, nieodwracalnych: oryginalnego sygnału nie można zrekonstruować z sygnału przetworzonego. Jednak na ogół będą one miały taki sam rozmiar jak oryginał i nie są formą kompresji. Obniżenie rozdzielczości ma praktyczne zastosowania, ponieważ statek NASA New Horizons przesłał miniatury swojego spotkania z Plutonem-Charonem, zanim wysłał obrazy o wyższej rozdzielczości. Innym rozwiązaniem dla wolnych połączeń jest użycie przeplotu obrazu, który stopniowo definiuje obraz. W ten sposób wystarczy częściowa transmisja, aby uzyskać podgląd finalnego obrazu w niższej rozdzielczości, bez tworzenia wersji przeskalowanej i pełnej.

Zobacz też

Uwagi

  1. ^ Abedi, M.; Słońce, B.; Zheng, Z. (lipiec 2019). „Sinusoidalno-hiperboliczna rodzina transformacji z potencjalnymi zastosowaniami w wykrywaniu ściskającym”. Transakcje IEEE dotyczące przetwarzania obrazu . 28 (7): 3571–3583. doi : 10.1109/WSKAZÓWKA.2019.2912355 . PMID  31071031 .
  2. ^ Europejskie Towarzystwo Radiologiczne (2011). „Użyteczność nieodwracalnej kompresji obrazu w obrazowaniu radiologicznym. Stanowisko Europejskiego Towarzystwa Radiologicznego (ESR)” . Wgląd Obrazowanie . 2 (2): 103–115. doi : 10.1007/s13244-011-0071-x . PMC  3259360 . PMID  22347940 .
  3. ^ "Kompresja danych" . Encyklopedia Britannica . Źródło 13 sierpnia 2019 .
  4. ^ Ahmed, Nasir ; Natarajan, T.; Rao, KR (styczeń 1974), "Discrete Cosine Transform", IEEE Transactions on Computers , C-23 (1): 90-93, doi : 10.1109/TC.1974.223784
  5. ^ "T.81 - KOMPRESJA CYFROWA I KODOWANIE CIĄGŁYCH TONU OBRAZÓW - WYMAGANIA I WYTYCZNE" (PDF) . CCITT. wrzesień 1992 . Źródło 12 lipca 2019 .
  6. ^ „Chociaż jednym z głównych celów cyfrowych koderów percepcyjnych audio jest redukcja danych, nie jest to konieczna cecha. Jak zobaczymy, kodowanie percepcyjne można wykorzystać do poprawy reprezentacji dźwięku cyfrowego poprzez zaawansowaną alokację bitów”. Maskowanie i kodowanie percepcyjne , Victor Lombardi, noisebetweenstations.com
  7. ^ Svetlik, Joe (5 grudnia 2016). „Pliki MP3 sprawiają, że jesteś mniej szczęśliwy, mówi badanie” . Jakie Hi-Fi? . Jakie Hi-Fi? . Źródło 17 grudnia 2018 .
  8. ^ "Nowe funkcje jpegtran" . sylvana.pl . Źródło 2019-09-20 .
  9. ^ B c d e f Stanković Radomir S .; Astola, Jaakko T. (2012). „Wspomnienia wczesnych prac w DCT: Wywiad z KR Rao” (PDF) . Przedruki z wczesnych dni informatyki . 60 . Źródło 13 październik 2019 .
  10. ^ B K. R. Rao i JJ Hwang, Techniki i norm dotyczących obrazu, wideo i Audio Coding , Prentice Hall, 1996; JPEG: rozdział 8; H.261: Rozdział 9; MPEG-1: Rozdział 10; MPEG-2: Rozdział 11.
  11. ^ Guckert, John (wiosna 2012). „Zastosowanie FFT i MDCT w kompresji dźwięku MP3” (PDF) . Uniwersytet w Utah . Źródło 14 lipca 2019 .
  12. ^ Brandenburgia, Karlheinz (1999). „Objaśnienie MP3 i AAC” (PDF) . Zarchiwizowane (PDF) z oryginału w dniu 13.02.2017.
  13. ^ Darko, John H. (2017-03-29). „Niewygodna prawda o dźwięku Bluetooth” . DAR__KO . Zarchiwizowane od oryginału w dniu 2018-01-14 . Pobrano 2018-01-13 .
  14. ^ Ford, Jez (24.08.2015). „Co to jest Sony LDAC i jak to się robi?” . AVHub . Pobrano 2018-01-13 .
  15. ^ Ford, Jez (22.11.2016). "aptX HD - bezstratny czy stratny?" . AVHub . Pobrano 2018-01-13 .
  16. ^ IH WITTEN; i in. „Semantyczne i generatywne modele stratnej kompresji tekstu” (PDF) . Dziennik komputerowy . Źródło 2007-10-13 .

Zewnętrzne linki

( Kopia Wayback Machine )