Czy Wi-Fi wpływa na jakość obrazów pobieranych z Internetu?

12

Czy pobieranie obrazu ze strony internetowej, gdy sieć Wi-Fi jest silna, powoduje, że obraz ma lepszą jakość na urządzeniu?

Mariana Beaumont
źródło
34
Chociaż poniższe odpowiedzi są prawidłowe, należy pamiętać, że niektóre usługi, np. Facebook lub Whatsapp, mogą przetwarzać obraz w celu zmniejszenia rozmiaru plików. Może to (najprawdopodobniej w większości przypadków) wpłynąć na jakość obrazu, ponieważ nie jest to ten sam obraz, który przesłałeś na drugim końcu.
Viezevingertjes
1
@HagenvonEitzen niektóre sieci komórkowe dokonały niedawno ponownej kompresji (przez http, ale nie https). Może to na przykład sprawić, że tekst będzie nieczytelny na mapach - dokładnie w tym celu możesz użyć 3G!
Chris H
13
obowiązkowe xkcd
Eric Duminil
2
Ściśle nieruchome obrazy czy też wideo?
Peter - Przywróć Monikę
1
Samo Wi-Fi ma czeki i salda, a TCP ma sumy kontrolne. Jeśli jednak drugi koniec wykryje warunek, może zamienić zawartość inną wersją tego samego pliku.
cybernard

Odpowiedzi:

47

Czy pobieranie obrazu ze strony internetowej, gdy Wi-Fi jest silne, powoduje wyższą jakość obrazu na twoim urządzeniu?

Jakość sygnału nie ma zazwyczaj wpływu na transmisję danych, które przesyłane, choć może to doprowadzić do niepełnego transmisji. Jednak...

  • Strony internetowe często wysyłają różne dane do telefonu komórkowego lub komputera stacjonarnego.

  • Niektóre witryny zrobić korzystać ze skryptów do wysyłania różnych danych w zależności od jakości łącza i prędkości. Jest to szczególnie powszechne w witrynach do przesyłania strumieniowego wideo.

  • Niektóre przeglądarki używają serwerów proxy do przyspieszenia prędkości transmisji poprzez kompresję danych. Może to obejmować stratną rekompresję i zmianę rozmiaru zdjęć.

  • Niektóre witryny mogą wyświetlać obraz bardziej skompresowany niż wysyłany do pobrania. Często dzieje się tak, gdy dostępna jest funkcja zoomu.

Xiota
źródło
9
Kiedy byłem dzieckiem, moi rodzice twardo używali mobilnej karty danych PCMCIA, a dostawca kompresował wszystkie obrazy - w tym ikony - przed ich przesłaniem. Kompresja była dość agresywna.
Tomáš Zato - Przywróć Monikę
4
Niektórzy dostawcy sieci (zarówno Wi-Fi, jak i dane komórkowe) przechwytują ruch i obniżają jakość obrazu, aby zaoszczędzić przepustowość.
OrangeDog,
6
@OrangeDog to kolejny powód, dla którego odwiedzane witryny używają TLS (HTTPS), gdy jest on dostępny.
Seth R
1
@SethR To zależy od tego, czy wolisz wyższą jakość czy szybsze ładowanie. Powodem TLS jest to, że mogą robić inne mniej nieszkodliwe rzeczy z twoim ruchem. Lub nawet dobre intencje, które nie działają poprawnie.
user253751
Ponadto niektóre witryny (np. Wyszukiwarka grafiki Google) mogą mieć symbol zastępczy niskiej jakości, podczas gdy oczekuje na otrzymanie większego obrazu (i ten proces może nie zostać ukończony z tego czy innego powodu).
NotThatGuy
23

Inne odpowiedzi wskazują, że jakość obrazów cyfrowych nie pogarsza się podczas przesyłania. Warto jednak zauważyć, że wiele planów taryfowych danych mobilnych w dzisiejszych czasach transkoduje co najmniej filmy i dostarcza je w niższej jakości niż oryginalne, jeśli są przesyłane kanałem dostępnym dla usługodawcy. Może to oznaczać albo nieszyfrowane przesyłanie, albo przesyłanie zaszyfrowanego kanału, dla którego dostawca usług zawarł umowę buforowania z dostawcą treści (typowe dla platform takich jak Netflix). W zależności od planu i jego dostawcy nieszyfrowane obrazy na stronach internetowych mogą być równie dotknięte.

W przypadku takiego planu danych połączenie przez Wi-Fi poprawiłoby typową jakość obrazu. Wynik nie będzie różny w zależności od jakości połączenia Wi-Fi, ale od tego, czy telefon w ogóle go użyje, zamiast polegać na możliwym przekodowaniu abonamentu danych mobilnych.

Zasadniczo więc jakość obrazów nie zależy od jakości kanału używanego do ich uzyskania, ale od tego, czy ktoś zadzwoni z twoimi danymi. I w dzisiejszych czasach mogą.


źródło
8
Ponadto w tym przypadku większość usług przesyłania strumieniowego dostosowuje jakość (rozdzielczość, poziom kompresji) na podstawie szybkości połączenia i jakości. (Niezależnie od interakcji z dostawcą).
Proszę przeczytać mój profil
@mattdm i często (na przykład tmobile robi to z ciągłym włączaniem) po prostu dławią twoje połączenie z youtube / netflix / etc i pozwalają aplikacji zdecydować się na przesyłanie strumieniowe w niższej jakości.
Jon
1
@Jon Optus robi to również wtedy, gdy masz włączone bezpłatne przesyłanie strumieniowe wideo, ale tak naprawdę nie działa dobrze i poważnie psuje system automatycznej jakości zarówno dla Netflix, jak i Stan. Rozpocznie przesyłanie strumieniowe w niskiej jakości i będzie stopniowo zwiększać jakość, aż w końcu osiągnie 720p lub 1080p, a następnie w ciągu kilku sekund Optus dławi połączenie i bufory przesyłania strumieniowego i spada do najniższej jakości. Crappy system.
Clonkex,
„zaszyfrowany kanał, dla którego dostawca usług ma umowę buforowania z dostawcą treści” - Jak to zrobić bez kluczy szyfrowania?
xiota
1
@xiota Simple: usługodawca ma klucze szyfrujące. W tym przypadku działają jako CDN. security.stackexchange.com/questions/107835/…
Proszę przeczytać mój profil
12

Mimo że inne odpowiedzi tutaj są już bardzo dobre, pozwól mi dać inną perspektywę:

Ogólnie nie.

Podczas pobierania obrazu w przeglądarce jest bardzo prawdopodobne, że ten plik (obraz) zostanie pobrany za pośrednictwem protokołu kontroli transferu (TCP). TCP podzieli twój obraz na małe pakiety i wyśle ​​każdy z nich osobno przez Internet. Każdemu pakietowi towarzyszy suma kontrolna. Ta suma kontrolna jest wynikiem pewnej operacji matematycznej na pakiecie. Po otrzymaniu suma kontrolna jest ponownie obliczana przez odbiorcę. Obie sumy kontrolne powinny być takie same. Jeśli nie, oznacza to, że co najmniej jeden bit się zmienił lub informacje zostały pozostawione. W takim przypadku odbiorca poprosi o ponowne wysłanie tego konkretnego pakietu. Po otrzymaniu wszystkich pakietów pobrany plik będzie identyczny z oryginałem na serwerze, z którego został pobrany.

Jednak jeśli przesyłasz strumieniowo film lub przeglądasz obrazy w strumieniu internetowym, istnieje prawdopodobieństwo, że nie jest to TCP, ale UDP (User Datagram Protocol). UDP NIE wykonuje takich samych kontroli, jak TCP. nazywa się to „ogniem i zapomnieniem”. Jeśli pakiety zostaną zgubione lub uszkodzone, nie zostaną naprawione.

Opifex
źródło
5
Ponadto błędy bitowe (nie celowe transkodowanie stratne) zauważalnie psują obrazy w większości formatów. Najczęściej używane formaty są kompresowane, przy czym najbardziej zewnętrzna warstwa kompresji (poza stratną kwantyzacją lub bezstratnym przetwarzaniem) stanowi pewnego rodzaju kodowanie entropijne (jak Huffman dla JPEG lub zip aka DEFLATE dla PNG ), gdzie zmiana 1 bitu w strumień bitów może powodować duże zmiany w sposobie dekodowania reszty. W przypadku formatów wideo może to być pojedynczy uszkodzony makroblok 8x8 lub coś takiego.
Peter Cordes,
2
Teraz, gdy wszyscy przeszli z Flasha na HTML5, strony streamingowe częściej korzystają z TCP. Zobacz Czy YouTube przesyła strumieniowo wideo przez TCP?
xiota
3
UDP wykorzystuje również sumy kontrolne. Utracisz całe pakiety, a nie pojedyncze bity.
Dubu
@Dubu: Sumy kontrolne są dostarczane dla warstwy aplikacji. Sam UDP nie zapewnia żadnej korekty ani nawet detekcji. TCP używa pakietów, UDP nie.
Opifex
@Opifex Nie. TCP ma strumienie, UDP ma datagramy, ale oba mają pakiety (a raczej są na niższym poziomie). Ale UDP robi integralność danych gwarancyjną (tak samo jak suma kontrolna może) - już nigdy nie dostać uszkodzony datagram lub niekompletny / rozdrobnioną datagram. UDP nie retransmituje uszkodzonych datagramów - jeśli chodzi o twoją aplikację, nigdy tego nie zrobiły.
Luaan
6

Nie, komputery komunikują się na nieco doskonałym poziomie - nawet niewielka zmiana podczas transmisji może całkowicie uszkodzić dane i jest chroniona przed wykorzystaniem sum kontrolnych (i ponawiania prób w przypadku błędów).

Możliwe jest jednak „stopniowe ładowanie” obrazów, w których np. Strona internetowa może najpierw wyświetlać obrazy o niższej rozdzielczości jako szybki symbol zastępczy (w celu zmniejszenia postrzeganej prędkości ładowania), zastępowane obrazami o wyższej rozdzielczości po ich pobraniu. Jeśli twoje połączenie jest bardzo wolne i / lub zawodne, możliwe, że utkniesz w miejscu obrazu zastępczego o niższej rozdzielczości.

Edycja: Aby wyjaśnić, możliwe jest, że jakość może zostać obniżona z powodu wielu czynników, ale dzieje się tak, ponieważ strona internetowa (lub serwer proxy) tak wybiera - nie dlatego, że transmisja przez Wi-Fi pogorszyłaby jakość.

Vlumi
źródło
3
To prawda, że ​​przesyłanie danych przez HTTP jest bezstratne, ale z pewnością istnieją strony, które włamią się / zoptymalizują ładowanie obrazu i innych zasobów. Jeśli ładowanie zdjęć trwa zbyt długo, nie będą one ładować wersji o wyższej rozdzielczości w przyszłości. W rzeczywistości staje się to standaryzowane, ponieważ przeglądarka zgłasza zmierzoną przepustowość (na podstawie ostatniej przepustowości) stronie, aby strona mogła zdecydować, co zrobić. Możliwe jest również oznaczenie niektórych połączeń WiFi jako połączeń pomiarowych, w których strony mogą optymalizować się pod kątem niskiej przepustowości.
Brad
3
Strony internetowe z pewnością optymalizują swoje obrazy w ten sposób, ale zazwyczaj to po stronie klienta sądzi się, aby poprosić o właściwy obraz z serwera. Jeśli po prostu pobierzesz obraz z serwera, na pewno nie będzie wiedział, jak silne jest twoje Wi-Fi, i jako taki nie zmieni jakości obrazu na podstawie tego (jak zadano w pierwotnym pytaniu).
vlumi
5

Inne odpowiedzi są poprawne (bez utraty jakości obrazów przez WiFi), ale chcę tylko podkreślić:

Być może zauważyłeś, że jakość strumieniowego przesyłania filmów (!) Wydaje się obniżać na „słabych” połączeniach. To jednak nie spowodowane przez niektóre informacje są utracone podczas transmisji (*): Większość wideo serwery strumieniowe dziś utrzymać wielu kopii tego samego filmu, każdy skompresowany z innym stopniem kompresji. Wyższe współczynniki kompresji dają mniejsze pliki, ale ponieważ kompresja jest stratna, jakość tych mniejszych plików jest gorsza.

To, co dzieje się podczas przesyłania strumieniowego wideo, polega na tym, że serwer przesyłania strumieniowego monitoruje „jakość” połączenia, tj. Szybkość transmisji danych połączenia. Gdy serwer wykryje, że połączenie uległo spowolnieniu, np. Dlatego, że urządzenie zostało przeniesione, a sygnał Wi-Fi staje się marginalny, płynnie lub mniej płynnie przełączy się na niższy strumień bitów tego samego wideo, poświęcając jakość obrazu, aby móc oglądać dalej wideo zamiast powtarzania (wysokiej jakości) pauzy podczas pobierania kolejnych kilku sekund strumienia.

Działa to również na odwrót: gdy serwer wykryje, że przepustowość połączenia wzrosła, może przełączyć się na wyższą jakość strumienia, próbując zawsze zapewnić najlepszą możliwą jakość obrazu przy bieżącej przepustowości.

*) W rzeczywistości jest to pośrednio spowodowane utratą pakietów danych: gdy sygnał staje się słaby, przypadkowe błędy danych stają się częstsze. Jednak te błędy danych są wykrywane przez sprzęt, a „zepsute” pakiety zwykle są wysyłane ponownie kilka razy, aż pakiet zostanie poprawnie odebrany; oznacza to jednak, że każdy pakiet musi (średnio) zostać przesłany przez łącze WiFi więcej niż jeden raz, np. trzy razy, co oznacza, że ​​osiągnięta szybkość transmisji danych (tj. pakiety pomyślnie przesłane na sekundę) spada do np. 1/3.

JimmyB
źródło
2

Aby dodać nieco smaku tym innym odpowiedziom, oto kilka kopii zdjęcia, które właśnie zrobiłem:

Unikitty 1 - Resized? X400px, bez zmian w jakości

Unikitty 1

Unikitty 2 - Resized? X400px Jakość 50%

Unikitty 2

Unikitty 3 - zmieniono rozmiar? X200px Jakość 50%

Unikitty 3

Unikitty 4 - zmiana rozmiaru? X200px Jakość 5%

Unikitty 4

Na moim komputerze usunąłem metadane exiftool --all=i obliczyłem sumy kontrolne obrazów:

$ sha256sum unikitty*.jpg
2ead7f2b1c5453f2a80da46f131c95be3423fc92ef8bce43b95fac3ee483d1b3  unikitty.jpg
42358f2f2447568fedc31a03575e8850406f89ff0e5d5a6e2d15c9e492205279  unikitty1.jpg
5c05365cb4aea2f100da471cdee85e5a3942509ab09cf3aa646fddb6962bd95a  unikitty2.jpg
e48c7158bbb9476cacdc80308832d76384e3016fb4dd2afd4333970781b367d5  unikitty3.jpg
986f8c64745fb61196df662c5e9a7c799ed370749f3dc367f269162bfa413800  unikitty4.jpg

Jednak po pobraniu Unikitty # 4 skrót zmienił się:

3b5991bfaeff83bd6c1fef585f2fdee80cf649f84978d249b08c2b17a03702c2

Oznacza to, że plik zdecydowanie się zmienił. Dokładnie jak, nie jestem pewien. Prawdopodobnie Imgur robi coś, aby zmienić rozmiar.

Jeśli chcesz mieć pewność, że obraz, który otrzymujesz, jest obrazem, na który patrzy również ktoś inny, musisz mieć sumę kontrolną, aby sprawdzić, czy żaden z bitów nie został zmiażdżony podczas transportu. W przeważającej części Internet tak robi (TCP / IP mówi, jak się upewnić, że kiedy wysyłasz informacje, wszystko dociera do miejsca, do którego ma się udać, a jeśli tam nie dotrze, musi głośno narzekać. Z tego powodu większość Internetu korzysta z TCP / IP). Jednak, jak wspomnieli inni, istnieje niezliczona ilość sposobów na zmianę jakości obrazu.

Jeśli pobierzesz Unikitty 4 i otrzymasz tę samą sumę SHA-256, którą zrobiłem, możesz niemal z całą pewnością wiedzieć , że obraz, na który patrzysz, i obraz, na który patrzę, są w 100% identyczne.

Jednak musisz się martwić, czy nasze monitory są skalibrowane tak samo, a oświetlenie otoczenia wpływa na coś, lub ...

Wayne Werner
źródło
2
Jestem pewien, że imgur usuwa metadane. Mogą również ponownie kompresować podczas przesyłania . Chociaż mogą zmieniać transmisję danych w oparciu o przepustowość, nie świadczy to o tym. Sumy kontrolne nie muszą się zgadzać, aby mieć identyczne obrazy. Na przykład PNG jest bezstratny z wieloma poziomami kompresji.
xiota
wget https://i.stack.imgur.com/t69qT.jpg; sha256sum t69qT.jpg; 3b5991bfaeff83bd6c1fef585f2fdee80cf649f84978d249b08c2b17a03702c2 t69qT.jpg
xiota
1
Słuszna uwaga! Suma kontrolna może być używana tylko jako gwarancja, że ​​obrazy są takie same, a nie, że są różne. Cholera, trudno mi powiedzieć, czy 1 i 2 są w ogóle różne i mają zupełnie inne sumy kontrolne.
Wayne Werner,
1

Możliwe, że przeglądasz obrazy podczas ich pobierania (zdjęcia przechowywane w aplikacji w chmurze, takiej jak Google Photos) lub jest w pełni pobrany, ale oprogramowanie, którego używasz do przeglądania obrazu, nie zakończyło renderowania - więc widzisz obraz w trybie renderowania progresywnego.

Aby odpowiedzieć na twoje pytanie, brak jakości (zakładam, że miałeś na myśli szybkość) sieci nie wpływa na jakość obrazu.

Pura
źródło
0

Nie. Pliki cyfrowe, w przeciwieństwie do ich odpowiedników analogowych, są zawsze doskonałymi kopiami, więc obraz albo nie pobiera się, albo jest pobierany idealnie za każdym razem. To samo dotyczy przenoszenia ich między nośnikami (SD na dysk, pendrive, CD, ...) lub tworzenia kopii.

Uszkodzone kopie są możliwe, choć bardzo nieprawdopodobne, w niektórych przypadkach, ale nie są one „niższej jakości”, ale całkowicie błędne (tj. Tylko połowa obrazu i tak dalej).

Anonimowy
źródło
3
Uszkodzone pliki nie są „bardzo nieprawdopodobne”, ale raczej nie są rzadkie. Mogą pozostać niezauważone, jeśli pliki nie zostaną zweryfikowane.
osullic