Nowe posty

xx konfiguracja sieci domowej (6)
Wczoraj o 23:58:47
clip Brak możliwości instalacji aplikacji na Opensuse Tumbleweed. (2)
Wczoraj o 23:35:02
xx petla while (11)
Wczoraj o 22:14:49
xx Repozytoria Archa (7)
Wczoraj o 21:43:06
xx Ktoś zna datę przejścia Minta 19.3 z bety do oficjala? (47)
Wczoraj o 14:28:28
xx Jak,Zrobić kopię całego dysku? (3)
Wczoraj o 08:39:41
xx Jaki linux na laptop/tablet hybrydowy? (11)
Wczoraj o 08:16:56
xx Brak rozdzielczości 16:9 ubuntu 19.04 (1)
Wczoraj o 01:46:25
xx Dziwne połączenia sieciowe! Co to jest? (14)
2019-12-13, 22:59:42
xx Conky - obraz z kamerki (11)
2019-12-13, 19:09:59

Autor Wątek: Huffman! Dywagacje o kompresji w sieci...  (Przeczytany 2876 razy)

Offline Filys

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 28
    • Zobacz profil
Huffman! Dywagacje o kompresji w sieci...
« dnia: 2015-12-11, 12:24:26 »
Najpierw podzielę się swoim kodem. Bo pod-forum jest o C/C++.

http://paste.ubuntu.com/13926335/

Warunek spełniono!

Wartości zwracane (zapis bitowy) należy czytać od tyłu, wtedy jest poprawny. Ponieważ napisałem o tym. Nie należy mi tego wytykać. Zdaję sobie z tego sprawę.

Chciałbym aby mi ktoś napisał coś wiecej o kompresji wiadomości przesyłanych w sieci. Co się poza huffmanem stosuje i jakaś podpowiedź jak czytać headery takich wiadomości aby je zdekodować.  Pozdrawiam.

Podobno headery ustala się wg widzimisie ale pewnie są jakieś schematy.

Z góry dziękuję za odpowiedzi - Bóg zapłać. Pozdrawiam.

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 2545
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
    • keybase.io/pkraszewski
Odp: Huffman! Dywagacje o kompresji w sieci...
« Odpowiedź #1 dnia: 2015-12-11, 14:53:12 »
Eeeeeee? Huffmana to chyba już tylko w kompresji współczynników transformaty w JPEGu stosuje. Większość współczesnych algorytmów stanowi rozwinięcie słownikowych algorytmów LZ77 i LZ78.

A teraz najważniejsze: jakich "wiadomości przesyłanych w sieci"? Maili? Komunikatorów? SMSów (też w sieci w końcu)?

A co do kodu, wklejaj go dopiero, gdy gcc -Wall -Wpedantic -Werror TwojPlik.c zakończy się sukcesem :)
Paweł Kraszewski
~Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline Filys

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 28
    • Zobacz profil
Odp: Huffman! Dywagacje o kompresji w sieci...
« Odpowiedź #2 dnia: 2015-12-11, 23:31:52 »
Eeeeeee? Huffmana to chyba już tylko w kompresji współczynników transformaty w JPEGu stosuje. Większość współczesnych algorytmów stanowi rozwinięcie słownikowych algorytmów LZ77 i LZ78.

A teraz najważniejsze: jakich "wiadomości przesyłanych w sieci"? Maili? Komunikatorów? SMSów (też w sieci w końcu)?

A co do kodu, wklejaj go dopiero, gdy gcc -Wall -Wpedantic -Werror TwojPlik.c zakończy się sukcesem :)

Fajnie jakby było wszystko. W domyśle pytałem o UDP. Przykład pierwszy z brzegu to streamowanie czegoś na żywo.
Nie za bardzo wiem gdzie można na ten temat coś przeczytać/dowiedzieć się stąd pytanie.


Zawsze używam -Wall i -Wextra.  Tamtej reszty nie. Z nimi też null ostrzeżeń. Kompilowałem na -std=c11. I to jest pewnie rozwiązanie problemu. Ale faktycznie -Wshadow mogłem sobie właczyć. ;p
« Ostatnia zmiana: 2015-12-11, 23:38:37 wysłana przez WreszcieWidoczny »

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 2545
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
    • keybase.io/pkraszewski
Odp: Huffman! Dywagacje o kompresji w sieci...
« Odpowiedź #3 dnia: 2015-12-12, 10:38:24 »
Fajnie jakby było wszystko. W domyśle pytałem o UDP. Przykład pierwszy z brzegu to streamowanie czegoś na żywo.
Nie za bardzo wiem gdzie można na ten temat coś przeczytać/dowiedzieć się stąd pytanie.

1. Nie pytałeś o UDP.
2. "Wiadomości" i "streamowanie" to całkowicie dwa różne światy. Chyba, że miałeś na myśli streaming "Wiadomości" z TVP1.
3. Streamowane są wcześniej skompresowane strumienie. Typ kompresji zależy od tego co jest streamowane (dźwięk, obraz). W tym przypadku w 99% są to kompresje stratne (ten 1% to bezstratna kompresja audio). Jest milion dokumentów opisujących wszystkie te standardy, od warstwy transportowej (np TCP/UDP/SCTP), przez warstwę kontenera (np MPEG TS) aż po warstwę kompresji danych (AC3, MP3, OGG, MPEG, H263/4/5)


O.T.
Mam wrażenie, że już byłeś u nas na forum pod innym nickiem... I że dostałeś bana...
Paweł Kraszewski
~Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline Filys

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 28
    • Zobacz profil
Odp: Huffman! Dywagacje o kompresji w sieci...
« Odpowiedź #4 dnia: 2015-12-13, 10:54:11 »
Fajnie jakby było wszystko. W domyśle pytałem o UDP. Przykład pierwszy z brzegu to streamowanie czegoś na żywo.
Nie za bardzo wiem gdzie można na ten temat coś przeczytać/dowiedzieć się stąd pytanie.

1. Nie pytałeś o UDP.
2. "Wiadomości" i "streamowanie" to całkowicie dwa różne światy. Chyba, że miałeś na myśli streaming "Wiadomości" z TVP1.
3. Streamowane są wcześniej skompresowane strumienie. Typ kompresji zależy od tego co jest streamowane (dźwięk, obraz). W tym przypadku w 99% są to kompresje stratne (ten 1% to bezstratna kompresja audio). Jest milion dokumentów opisujących wszystkie te standardy, od warstwy transportowej (np TCP/UDP/SCTP), przez warstwę kontenera (np MPEG TS) aż po warstwę kompresji danych (AC3, MP3, OGG, MPEG, H263/4/5)


O.T.
Mam wrażenie, że już byłeś u nas na forum pod innym nickiem... I że dostałeś bana...

Ostatnio używąłem nicku Filystyn. I po migracji nick ten mi zmieniono na spacje.

No i właśnie pytanie moje jest o nazwę tych dokumentów.  RFC??? Chciałbym jakieś źródło w którym jest szeroki opis różnych rodzajów kompresji różnego przeznaczenia.

I dlaczego Kolega nie używa nowego standardu hm?
« Ostatnia zmiana: 2015-12-13, 11:01:05 wysłana przez WreszcieWidoczny »

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 2545
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
    • keybase.io/pkraszewski
Odp: Huffman! Dywagacje o kompresji w sieci...
« Odpowiedź #5 dnia: 2015-12-13, 11:39:11 »
Cytuj
Ostatnio używąłem nicku Filystyn
Tak myślałem... Osobnik zbanowany chyba na wszystkich możliwych forach...

Cytuj
No i właśnie pytanie moje jest o nazwę tych dokumentów.  RFC??? Chciałbym jakieś źródło w którym jest szeroki opis różnych rodzajów kompresji różnego przeznaczenia.
A tu mi witki opadły. Na Google też już masz bana? Szukasz wiki nazwa_protokołu, wchodzisz na angielskie wiki o protokole, na dole masz references z linkami do opisu protokołu i standardów.

Cytuj
I dlaczego Kolega nie używa nowego standardu hm?
Nowego standardu CZEGO?
Paweł Kraszewski
~Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline Filys

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 28
    • Zobacz profil
Odp: Huffman! Dywagacje o kompresji w sieci...
« Odpowiedź #6 dnia: 2015-12-13, 15:55:26 »
" Osobnik zbanowany chyba na wszystkich możliwych forach..."

O.o

Może jakiś przykład? O jakie fora niby chodzi?

Co do reszty ok. Dam sobie radę. Pytanie było po to aby uzyskać jakieś dobre źródło. Zakładam zatem, że Kolega chciał powiedzieć, że czego bym sobie nie znalazł to będzie dobre.
« Ostatnia zmiana: 2015-12-13, 15:58:14 wysłana przez WreszcieWidoczny »

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 2545
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
    • keybase.io/pkraszewski
Odp: Huffman! Dywagacje o kompresji w sieci...
« Odpowiedź #7 dnia: 2015-12-13, 18:33:20 »
Może jakiś przykład? O jakie fora niby chodzi?

Z polskich o których wiem to nasze (o ile pamiętam to chyba co najmniej 2x), forum Ubuntu (i jakieś jeszcze, którymi się chwaliłeś/żaliłeś). Z międzynarodowych - jesteś na czarnych listach międzyforumowych i IRC. Przyczyna banowania praktycznie zawsze ta sama, cytuję: repeated trolling, griefing, vote abuse, completely toxic behavior. U nas było to - o ile pamiętam - dysgooglia i dysmanualia.

Z mojej strony EOT topiku banowania.

Cytuj
Pytanie było po to aby uzyskać jakieś dobre źródło. Zakładam zatem, że Kolega chciał powiedzieć, że czego bym sobie nie znalazł to będzie dobre.
To pytanie powinno się pojawić w formie "przeczytałem dokumentację z Wiki i ze stron wskazanych przez Wiki jako źródłowe (tutaj list przeczytanych stron), ale są niedokładne/niekompletne/niepotrzebne skreślić". A tak strzelasz ogólnikiem "kompresja" bez wyspecyfikowanie o co dokładnie Ci chodzi i oczekujesz konkretnych odpowiedzi. Potem łaskawie uściślasz, że chodzi o streaming (co w żadnym przypadku NIE jest oczywiste i NIE wynika z pierwszego posta)

Kompresja sama w sobie jest naprawdę szeroką dziedziną wiedzy, a przy stopniu matematycznej złożoności stratnej kompresji dźwięku i obrazu - Huffman i LZ-ty to pikusie ze swoją budową drzewek i przeszukiwaniem list w porównaniu do transformat, algorytmów przewidywania ruchu czy algorytmów modelowania percepcji słuchu w kompresji AV. Do tych kompresji są grube, drogie książki, wypchane po brzegi matematyką - jeżeli chcesz się dowiedzieć JAK taka kompresja działa. Tutaj masz film, któr "liże" po wierzchu najprostszą kompresję stratną, JPEG-a. Po wierzchu, bo tak naprawdę pominięta jest całe "mięso" matematyki transformat i pokazywane są tylko tabelki przed i po transformacie.
Paweł Kraszewski
~Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline Filys

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 28
    • Zobacz profil
Odp: Huffman! Dywagacje o kompresji w sieci...
« Odpowiedź #8 dnia: 2015-12-13, 21:24:39 »
Dziękuję za odpowiedź. Już sobie znalazłem odpowiednie książki zgodnie z poleconymi na bt-digg.

Pozdrawiam!

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 2545
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
    • keybase.io/pkraszewski
Odp: Huffman! Dywagacje o kompresji w sieci...
« Odpowiedź #9 dnia: 2015-12-13, 22:43:05 »
Gratuluję pochwalenia się kradzieżą.
Paweł Kraszewski
~Gentoo/FreeBSD/OpenBSD/Specjalizowane customy