Czy poruszanie JPEG zmniejsza jakość

Streszczenie:

Przeniesienie obrazu JPEG niekoniecznie zmniejsza jego jakość. Jednak zmniejszenie jakości obrazu JPEG bez dekodowania nie jest praktycznie wykonalne. Wymagałoby to złożonych procesów kodowania i dekodowania. Alternatywne podejścia, takie jak stosowanie progresywnych JPEG lub optymalizacja tabel kwantyzacji, mogą pomóc zmniejszyć rozmiar i poprawić wydajność obrazów JPEG.

Kluczowe punkty:

  1. Przeniesienie obrazu JPEG nie zmniejsza jego jakości.
  2. Zmniejszenie jakości obrazu JPEG bez dekodowania jest to praktyczne.
  3. Konfigurowanie aparatu do wysyłania JPEG niższej jakości można wykonać za pomocą parametrów.
  4. Każdy system zdolny do zmniejszenia jakości JPEG byłby również w stanie go zdekodować i ponowić ponowne kodowanie.
  5. Zmniejszenie jakości JPEG bezpośrednio wymagałoby skomplikowanego parsowania i manipulacji ładunkiem.
  6. Kodowanie danych obrazu przy niższej jakości jest zwykle szybsze niż usuwanie danych wysokiej jakości.
  7. Progresywne JPEG kodują komponenty w wielu skanach, umożliwiając regulacje jakości.
  8. Później skanowanie progresywnego JPEG może zmniejszyć jego rozmiar, ale kosztem jakości.
  9. Rozmiar progresywnego JPEG można zmniejszyć poprzez dynamiczne dostosowanie liczby skanów.
  10. Zastosowania takie jak Thinkpit i JPegmini mogą zoptymalizować tabele kwantyzacyjne dla mniejszych rozmiarów JPEG.
  11. Funkcja SmartScale w JPEG 8 może zmniejszyć rozdzielczość bez utraty jakości, dostosowując współczynniki DCT.

Pytania:

1. Może przenieść obraz JPEG, zmniejszyć jego jakość?

Nie, przeniesienie obrazu JPEG nie zmniejsza jego jakości.

2. Czy można zmniejszyć jakość obrazu JPEG bez dekodowania?

Praktycznie nie jest możliwe zmniejszenie jakości obrazu JPEG bez jego dekodowania. Każdy system zdolny do zmniejszenia jakości JPEG byłby również w stanie zdekodować i ponowić ponowne kodowanie obrazu.

3. Jak mogę skonfigurować kamerę do wyprowadzania JPEG o niższej jakości?

Możesz skonfigurować kamerę do wyświetlania JPEG niższej jakości za pomocą parametrów takich jak parametr „-Q” w poleceniu „Raspistill”.

4. Co wiąże się bezpośrednio z jakością JPEG?

Zmniejszenie jakości JPEG bezpośrednio wymagałoby analizowania pliku JPEG w celu zidentyfikowania znaczników i ładunków, a następnie manipulowania częściami wysokiej zawartości ładunku w celu przygotowania nowego pliku.

5. Koduje dane obrazu przy niższej jakości szybciej niż usuwanie wysokiej jakości danych?

Tak, kodowanie danych obrazu przy niższej jakości jest ogólnie szybsze niż próba rozebrania danych wysokiej jakości kodowanych w wyższej jakości współczynnik jakości.

6. Co to są progresywne JPEGS?

Progresywne JPEG kodują komponenty obrazu w wielu skanach, udoskonalając obraz za pomocą każdego kolejnego skanu. To pozwala na regulacje jakości obrazu.

7. Jak można zmniejszyć rozmiar progresywnego JPEG?

Rozmiar progresywnego JPEG można zmniejszyć poprzez zrzucenie późniejszych skanów/wycinków z pliku JPEG, ale spowoduje to utratę jakości.

8. W jaki sposób można poprawić wydajność kodeków JPEG JPEG?

Wydajność kodeków JPEG można poprawić, optymalizując kodek dla określonych platform, takich jak poprzez optymalizację poziomu montażu specyficznego dla platformy.

9. Czy są dostępne aplikacje do optymalizacji rozmiarów JPEG?

Tak, zastosowania komercyjne, takie jak Thinkpit i JPegmini, mogą znacznie zmniejszyć rozmiar obrazów JPEG, optymalizując tabele kwantyzacyjne.

10. Czy rozdzielczość plików ruchu-JPEG może zostać zmniejszona bez utraty jakości?

Tak, rozdzielczość plików Motion-JPEG można zmniejszyć przy użyciu technik takich jak funkcja SmartScale wprowadzona w JPEG 8, która odcina współczynniki wysokiej częstotliwości bloków DCT.

11. Czy możesz dynamicznie dostosować bity wysyłane do JPEG z wieloma skanami?

Tak, dostosowując liczbę skanów w progresywnych JPEG, możesz dynamicznie dostosować wysyłane bity i kontrolować jakość obrazu.

12. Czy ekstremalna optymalizacja oprogramowania może poprawić prędkość kodowania JPEG?

Tak, ekstremalna optymalizacja oprogramowania dla określonych platform może poprawić prędkość kodowania JPEG, o czym świadczy aplikacje takie jak SnappyCam na iPhonie.

13. Może zmniejszyć tabele kwantyzacyjne w mniejszych rozmiarach JPEG?

Tak, zmniejszenie tabel kwantyzacji może znacznie zmniejszyć rozmiar obrazów JPEG przy jednoczesnym zachowaniu tej samej pozornej jakości. Aplikacje takie jak Thinkpit i JPegmini wykorzystują tę technikę.

14. Jak osiągnięto zmniejszenie rozdzielczości dla plików ruchu-JPEG?

Zmniejszenie rozdzielczości plików ruchu-JPEG można osiągnąć poprzez odcięcie współczynników wysokiej częstotliwości bloków DCT, przy użyciu funkcji takich jak SmartScale w JPEG 8.

15. Czy są dostępne bezpłatne opcje kodu źródłowego do optymalizacji JPEG?

Niestety, wspomniane opcje, takie jak SnappyCam, Thinkpi i JPegmini, to oferty komercyjne, a bezpłatny kod źródłowy nie jest łatwo dostępny.

Czy poruszanie JPEG zmniejsza jakość

Reddit i jego partnerzy używają plików cookie i podobnych technologii, aby zapewnić lepsze wrażenia.

Czy wysokiej jakości JPEG można przekonwertować na niską jakość JPEG bez dekodowania?

Mam kamerę internetową, która dostarcza wysokiej jakości MJPEG. Muszę wysłać małą, niską jakość, JPEG przez sieć. Mój sprzęt to Raspberry Pi (ramię 700 MHz). Chcę, aby kod używał tak małej mocy procesora i dodaje jak najmłodsze opóźnienia, jak to możliwe. Mógłbym dekodować i ponownie inkodować każdą ramkę, ale może to być marnotrawstwo. Czy logicznie możliwe jest zmniejszenie jakości obrazu JPEG bez dekodowania? I.mi. Czy mogę znaleźć i usunąć fragmenty „drobnoziarnistych” danych, a następnie naprawić długości pola i sumy kontrolne?

zapytał 15 sierpnia 2013 o 8:28

42.1K 43 43 Złote odznaki 171 171 Srebrne odznaki 300 300 brązowych odznaki

Na wypadek, gdybyś próbował czegoś w stylu Ten, Możesz skonfigurować kamerę do wyprowadzania JPEG o niższej jakości za pomocą paramentu -q do Raspistill .

15 sierpnia 2013 o 11:07

2 Answers 2

Teoretycznie tak.

Ale praktycznie każdy system zdolny byłby w stanie zdekodować i ponowić JPEG w rozsądnym czasie.

Każdy kod, który próbuje bezpośrednio zmniejszyć jakość JPEG, musiałby mieć następujące 2 fazy:

Faza 1. Zastosuj plik JPEG, aby zidentyfikować różne znaczniki i ładunek.
Faza 2. Rozetrzyj części wysokiej zawartości ładunku i przygotuj nowy plik.

  • Powyższa faza 1 miałaby złożoność dekodera JPEG.
  • Wszelkie potencjalne przyrosty wydajności musiałyby zostać zdobyte poprzez wdrożenie fazy 2 do wykonania szybciej niż kodowanie JPEG przy niższej wartości Q. Nie jest to atrakcyjna propozycja, ponieważ czas kodowania spada wraz ze zmniejszonym czynnikiem Q 2 . Innymi słowy, kodowanie DATA obrazu przy niższym współczynniku Q jest prawie zawsze szybsze niż próba rozebrania data obrazu kodowanego na wyższym czynniku Q.

Alternatywne podejście (podobne do tego, co masz na uwadze) będzie ładnie działać w przypadku podzbioru obrazów JPEG – Progressive JPEG (które nawiasem mówiąc, są po prostu Wspaniały).

W progresywnych obrazach JPEG komponenty są kodowane w wielu skanach. Dane skompresowane dla każdego komponentu są umieszczane w minimum 2 i aż 896 skanów. Początkowe skany tworzą szorstką wersję obrazu, a kolejne skany udoskonalają.

Linia bazowa vs. progresywne JPEGS

Zasadniczo liczba skanów określa jakość JPEG, gdy te ostatnie skany poprawiają się na poprzednie skany, dodając do obrazu drobnoziarniste informacje o wysokiej entropii.

W strumieniu JPEG każdy skan jest oznaczony przez SOS (początek markera skanowania), który jest zasadniczo 2 bajtów 0xff, 0xda, a następnie ładunek i.e Zkodowane dane zawarte w tym konkretnym skanie (lub „pokrój” jako technicznie dokładne).

Aby zmniejszyć rozmiar progresywnego JPEG, można po prostu odczytać z góry określoną liczbę skanów/plasterków z pliku JPEG i upuścić te ostatnie kosztem jakości. Można to zaimplementować podczas czytania danych JPEG z pliku lub później w jednym przejściu przez zakodowane dane.

Bibliografia :
1. en.Wikipedia.org/wiki/jpeg.
2. Gregory k. Wallace. JPEG nadal standard kompresji obrazu. Komunikacja ACM, 34 (10), OCT. 1991.
3. ECE.UCDavis.edu/cerl/freibleJpeg/cung/jpeg.html

odpowiedział 15 sierpnia 2013 o 11:00

Thecodeartist thecodeartist

21.2K 4 4 złote odznaki 69 69 srebrnych odznak 128 128 brązowe odznaki

Zapewnienie, że wszystkie JPEG są wcześniej progresywne, jest zdecydowanie najlepszą metodą; Dzięki 5 skanom możesz łatwo dynamicznie dostosować wysyłane bity. Nie zawsze możliwe, niestety.

25 października 2013 o 1:12

25 października 2013 o 1:15

Dziękujemy za prośbę o komentarz.

Cóż, Motion-JPEG jest w rzeczywistości najwyższym dostępnym formatem ruchomego obrazu i ma ogromny potencjał do dalszego przetwarzania i transformacji, która jest obecnie daleka od realizacji.

Należy wziąć pod uwagę kilka aspektów, mogę podać trzy konkretne przykłady tutaj.

Po pierwsze, istnieje świetna okazja do zwiększenia wydajności w czasie wykonywania według optymalizacji kodeksu JPEG na poziomie asemblera, jak pokazano tutaj:

  • Aplikacja SnappyCam iPhone
  • iPhone King of Speed

Dzięki ekstremalnej optymalizacji oprogramowania dla konkretnej platformy ARM ta aplikacja osiąga większą prędkość niż nawet dedykowane rozwiązanie sprzętowe w tym celu na tym urządzeniu!

Po drugie, istnieją zastosowania, które mogą znacznie zmniejszyć rozmiar podanych obrazów JPEG w tej samej rozdzielczości i tego samego pozorny jakość, optymalizując tabele kwantyzacji. Wyszukaj aplikację Thinkpit i JPegmini (wygląda na to, że nie wolno publikować tutaj więcej linków).

To są wszystkie oferty komercyjne, więc nie ma dostępnego bezpłatnego kodu źródłowego.

Po trzecie, miałem wymóg zmniejszyć rozdzielczość z podanych plików ruchu jpeg. Zostały zastrzelone na 1280×720 w aparacie cyfrowym, a ja chciałem odtworzyć je w oknie na ekranie o połowie rozmiaru przy 640×360.

Użyłem nowej funkcji SmartScale wprowadzonej z JPEG 8, aby osiągnąć tę redukcję bez utraty jakości, po prostu odcinając współczynniki wysokiej częstotliwości bloku DCT. Zmniejszenie wielkości powstałego pliku nie było tak świetne (o około 20% mniejsze), ale znacznie mniej wymagające jest odtwarzanie 640×360 z 4×4 DCT zamiast 1280×720 z 8×8 DCT.

Transkode wykonano za pomocą specjalnie dostosowanego VirtualDub I JPEGTRAN Kod źródłowy (nowi menedżerowie źródła pamięci i kierownicy docelowi kodu IJG zostały wprowadzone z tym przypadkiem użycia). Odtwarzanie odbywa się ze specjalnie przystosowanym ffdshow kod źródłowy. Jest to eksperymentalna konfiguracja demonstracji i jest daleka od stanu rozproszonego.

Pozdrawiam, Guido Vollbeding, organizator niezależnej grupy JPEG

Czy poruszanie JPEG zmniejsza jakość

Reddit i jego partnerzy używają plików cookie i podobnych technologii, aby zapewnić lepsze wrażenia.

Akceptując wszystkie pliki cookie, zgadzasz się na korzystanie z plików cookie w celu dostarczania i utrzymywania naszych usług i witryny, poprawy jakości Reddit, personalizowanie treści i reklam Reddit oraz mierz skuteczność reklamy.

Odrzucając nieistotne pliki cookie, Reddit może nadal używać niektórych plików cookie, aby zapewnić właściwą funkcjonalność naszej platformy.

Aby uzyskać więcej informacji, zapoznaj się z naszym powiadomieniem o plikach cookie i naszej polityki prywatności .

Pobierz aplikację Reddit

Zeskanuj ten kod QR, aby pobrać aplikację teraz

Lub sprawdź to w App Stores

R/Graphic_Design

R/Graphic_Design

Projekt graficzny to proces komunikacji wizualnej i rozwiązywania problemów poprzez użycie typografii, fotografii i ilustracji.

Członkowie online

autor: Astuteasstoot

awatar u/astuteasstoot

Czy pliki JPEG tracą jakość po zapisaniu na komputerze?

Witam, kiedy klikam prawym przyciskiem myszy obraz JPEG online i naciśnij „Zapisz obraz jako” i zapisz go na moim komputerze, czy plik traci jakość?

Ponadto, jeśli natychmiast przekonwertuję go na plik PNG po zapisaniu go na moim komputerze, czy będzie to dokładnie taka sama jakość, jak oryginalny obraz był online?

Rozumiem, że pliki JPEG tracą jakość po ich otwarciu i zapisaniu ich w oprogramowaniu do edycji, takiego jak Paint 3D, ale nie byłem w stanie znaleźć jasnej odpowiedzi na to konkretne pytanie. Myślę, że moje zamieszanie polega na wyborze słów, które są powszechnie używane w tym pytaniu; Inni powiedzieli, że nie ma utraty jakości podczas przesyłania pliku JPEG, tylko przy zapisaniu go na nowo. Kiedy „zapisuję obraz jako”, nie jestem pewien, czy po prostu przesyłam plik, czy też jest on skompresowany. Używam Google Chrome.

Jeśli istnieje bardziej odpowiednie miejsce do opublikowania tego, daj mi znać! Dziękuję za każdą pomoc!