Variable Length Codes (Ep 1, Compressor Head)

Поділитися
Вставка
  • Опубліковано 28 жов 2024

КОМЕНТАРІ • 96

  • @GoogleDevelopers
    @GoogleDevelopers  10 років тому +104

    *Welcome to Compressor Head*
    #everybitcounts #compressorhead #developers
    Introducing a three part series focused on compression (goo.gl/ojiISz) with your host Colt McAnlis. Understanding compression algorithms means understanding how humans view and use data.
    In episode 1, Colt walks through the creation of Information Theory, and how it’s spawned the concept of Variable Length Codes, which since the early 1950s has been at the heart of data compression algorithms. Find the entire playlist at g.co/compressorhead.

    • @LeslieSox
      @LeslieSox 10 років тому +1

      This is in intro to computer networking books. You start to see the need for error correction due to possible electrical interference and mistakes in the channels. Thanks Google!

    • @ColtMcAnlis
      @ColtMcAnlis 10 років тому

      Leslie Sox Great insight! But that's a different show ;)

    • @ColtMcAnlis
      @ColtMcAnlis 10 років тому

      Adrián de la Rosa Martín You can see all 3 episodes here g.co/compressorhead

    • @paulmadore370
      @paulmadore370 10 років тому

      Enjoyable. Thank you.

    • @AlexWagnerPhD
      @AlexWagnerPhD 10 років тому +6

      At 19:10 we see the symbol table for the Huffman coding example, and 'A' is clearly a prefix for 'B'. For others that may have been confused by this, the symbol table is generated from tracing from the root to the leaves, not from leaf to root as demonstrated here.

  • @atwupack
    @atwupack 10 років тому +65

    Great video. But should the evaluation of the Huffman tree not be the other way round to fulfil the prefix condition? You had
    A - 0
    B - 01
    C - 11
    But it should be
    A - 0
    B - 10
    C - 11

    • @Cypressious
      @Cypressious 10 років тому +1

      Absolutely.

    • @bluezio123
      @bluezio123 10 років тому

      Yep, I think so too.

    • @ColtMcAnlis
      @ColtMcAnlis 10 років тому +12

      Yup! We missed that one. I'll add an annotation! Thanks!

    • @DavidHewson0
      @DavidHewson0 10 років тому +1

      Agreeee

  • @cindysi63
    @cindysi63 9 років тому +3

    I came here from the Coffee with a Googler series.
    Great show. Well put together. Entertaining. I loved the "will code for ..." running gag. And best of all I understood it better then when I tried reading it hahah.
    Going to check out the rest of episodes.

  • @AugustoCesarRighetto
    @AugustoCesarRighetto 10 років тому +1

    Awesome video! People will get inspired for learning computer science topics with more videos like that. Congrats Colt.

  • @EuphoriaLacrymosa
    @EuphoriaLacrymosa 8 років тому

    this has got to be one of the best attempts at explaining and teaching a super dry and boring subject. THANK YOU :D

  • @lalibi
    @lalibi 9 років тому +12

    Isn't the VLC wrong at the end of the video? It should be A -> 0, B -> 10 (not 01) and C -> 11.

  • @myusernameislongerth
    @myusernameislongerth 9 років тому +10

    You got the Huffman codes backwards. The codes you created don't have the prefix property.

  • @amaxwell01
    @amaxwell01 10 років тому +5

    Great video, I actually learned a lot and enjoyed every minute if it.

  • @bluezio123
    @bluezio123 10 років тому +9

    I'm a bit confused about the generated Huffman codes at 19:10. Wouldn't it be better for A to be 0, B to be 10 and C to be 11 (going from the top to the bottom)? A=0, B=01 and C=11 seems like it would violate the prefix property (B starts by 0).

    • @ColtMcAnlis
      @ColtMcAnlis 10 років тому +6

      Yup! this was a mistake, we'll add an annotation to fix it.

    • @Djazeiry
      @Djazeiry 10 років тому

      i was confused too,..but guys, thanks a lot for such a great video series

    • @ColtMcAnlis
      @ColtMcAnlis 10 років тому +1

      ***** Thanks! Glad you liked it!

    • @Djazeiry
      @Djazeiry 10 років тому

      you're welcome !

    • @remmievail8148
      @remmievail8148 10 років тому

      Great question! I was thinking the same thing.

  • @LavaHotMan
    @LavaHotMan 10 років тому

    Colt is great! Please do more videos like this on varying topics!

  • @chikhongkuick7584
    @chikhongkuick7584 8 років тому

    just started to watch your video. I must admit that these videos are very very useful and easy to understand! Thanks Google!

  • @TheVidhiagrawal
    @TheVidhiagrawal 7 років тому

    I love this series!! Kindly make more such videos on other fundamentals as well.

  • @alexcleac
    @alexcleac 9 років тому +1

    Really easy! I was trying to understand Huffman for a long time, before I found this video =) Thanks much

  • @mzgggg
    @mzgggg 10 років тому

    love the show, make it a regular thing

  • @KalpeshPanchal
    @KalpeshPanchal 10 років тому +2

    Thanks Colt McAnlis for wonderfully explaining this! :-)

  • @dc5
    @dc5 10 років тому

    Can't wait to watch the next one... Thank you Colt McAnlis

    • @LouisGray
      @LouisGray 10 років тому

      You can find all three videos at g.co/compressorhead

    • @dc5
      @dc5 10 років тому +1

      Great! Thank you Louis Gray..

  • @thereseserena4978
    @thereseserena4978 6 років тому

    There should be Oscars for teachers - you would win them all!

  • @theyruinedyoutubeagain
    @theyruinedyoutubeagain 10 років тому +1

    This is brilliantly taught, good job!

  • @MikeTeehan
    @MikeTeehan 10 років тому

    This amazing content. Well produced and informative. Compressor Head indeed.

  • @IlkerDeligoz
    @IlkerDeligoz 9 років тому

    That's an amazing video. I know I'm a year late (how come I missed this!), but it's never too late to say thanks :))

  • @lazarivkov8686
    @lazarivkov8686 6 років тому

    It was great. I started reading the book 'Understanding Compression' and thought the content was kind of similar and going in a similar direction. Googled a bit and, yep, the bald guy is one of the authors.

  • @arturaker
    @arturaker 4 роки тому

    Great series, but just to clarify, you can have variable length code that do not obey the prefix property. here is an example: 11 110

  • @rahulr9301
    @rahulr9301 3 роки тому

    OMG....Dood my mind is rushing me to like and subscribe in the middle of this video. Amazing video

  • @gangater100
    @gangater100 10 років тому

    Very nice lecture series. Justice for my PhD in HEVC Video compression!!

  • @shem86
    @shem86 10 років тому +2

    this is awesome.
    very well explained!

  • @samer-makary
    @samer-makary 10 років тому

    Nice show 😀 ... really enjoyed it.
    But shouldn't the code for B in the Huffman tree be 10 instead of 01, otherwise the VLC won't have the prefix property?

  • @wesleyfernandes2292
    @wesleyfernandes2292 9 років тому

    Very good class :-). Thank u for your time in share with us this theory in a simple way.

  • @ksawery2843
    @ksawery2843 3 роки тому

    Great explanation, thanks!

  • @InnocentDjiofack
    @InnocentDjiofack 10 років тому +2

    Thanks a lot for this video, you did on wonderful job on this.

  •  10 років тому

    Muy bien explicado, Gracias. Me quedo esperando el siguiente capítulo. :)

    • @ColtMcAnlis
      @ColtMcAnlis 10 років тому +1

      You can catch all 3 episodes at g.co/compressorhead

    •  10 років тому

      Colt McAnlis so thanks!!

  • @HiteshChavda
    @HiteshChavda 10 років тому

    More Like This Please

  • @pbezunartea
    @pbezunartea 10 років тому

    Great video!

  • @magicalmarvin7060
    @magicalmarvin7060 5 років тому

    Awesome video, but you need to create the Huffman code top-down from the tree. In your example B (01) starts with "A" (0) ;-)

  • @puzzud
    @puzzud 10 років тому

    Let's not forget variable length quantities, which work I suppose under the assumption the most occurring numbers are small.

  • @sergey198
    @sergey198 6 років тому

    Awesome, but you forgot to reverse codes after obtaining them from the tree, so that 01 becomes 10

  • @VishalSharma1310
    @VishalSharma1310 10 років тому

    Excellent video ..!! @ 18:07 how can the probability be 4? I guess what he is trying to explain is frequency rather than probability.

  • @SamuraiCoding
    @SamuraiCoding 9 років тому +1

    At 6:45 I think you meant to say P1 and P2, not P0 and P1

  • @FlGHTFORLlBERTY
    @FlGHTFORLlBERTY 5 років тому

    At 19:04 the codes are in reverse order.

  • @krishnanshudey3831
    @krishnanshudey3831 5 років тому

    Fantastic it's help me a lot. Tnx

  • @AliaksandrKaralchuk
    @AliaksandrKaralchuk 10 років тому

    Very understandable. Thanks!

  • @GegoXaren
    @GegoXaren 6 років тому

    I think that it is better to watch The Art of The Problems videos on information theory and Markov chains.
    They are much clearer.

  • @RickBeacham
    @RickBeacham 9 років тому +2

    Will quantum computing allow for new compression algorithms?

    • @piguy5450
      @piguy5450 6 років тому

      with qubits it is certainly possible. we may only need 1 character per word, as they work in varying degrees of polarization

    • @davidolsen1222
      @davidolsen1222 5 років тому

      @@piguy5450 Short answer, No. Longer answer, if they do it'll would be by developing some algorithms that makes newer algorithms feasible. Doing something akin to Shor's algorithm to find better patterns within a dataset. While qubits are nice, you don't save them to a harddrive as they'll lose their quantum state quite quickly. However, at a certain point improving compression becomes about finding novel patterns in seemingly random code and there might be some algorithms that work with quantum computers that could do that with better time complexity, but generally we can do all that stuff in classical computing already anyway so the answer should be no.
      However, it is the case that quantum computing is great for one thing (while they actually suck for most things) and that is mapping out the probability within quantum phenomena. And the probability of sequences are how you build compression tables so in the very limited case of compressing data that is fundamentally about quantum phenomena, you would want to know the probability of that phenomena and quantum computers would actually provide you those probabilities. But, that's part of an edge condition of a best case scenario, constructed explicitly to find something it might do better. So the longer answer is also no.

  • @DilSeDesee
    @DilSeDesee 10 років тому

    awesome explanation :)

  • @NilosPsathas
    @NilosPsathas 10 років тому

    Huffman encoding does not obey to the prefix rule. How is it considered as vlc method?

  • @priyankpathak7032
    @priyankpathak7032 10 років тому

    Super awesome ..!!!

  • @alexseyshestacov4290
    @alexseyshestacov4290 9 років тому

    So awesome, so I can expain this

  • @alexbahls3613
    @alexbahls3613 10 років тому +1

    in the Hoffman Tree the variable B should be "1-0" and not "0-1".. [19:00] ?!!

  • @laexpearl
    @laexpearl 10 років тому +1

    Maximum Awesome.

  • @xBZZZZyt
    @xBZZZZyt Рік тому

    02:42 is "eee" same as "s"?

  • @crpshooter
    @crpshooter 10 років тому

    This is amazing video! And will be very useful in my country (Brazil) if you subtitle for us :)

  • @samert8248
    @samert8248 8 років тому

    There is an article written in 3-apr-2015 comparing between 10 famous apps www.androidauthority.com/voice-call-data-comparison-598541 this article shows that there are many voice and video call apps consume less data than hangouts, so I want to ask do these apps use new compression algorithms than hangouts? why hangouts is not good enough in data compression and consuming data?

  • @liperoxd
    @liperoxd 10 років тому

    excelent !

  • @justdream1991
    @justdream1991 8 років тому

    great Job i like u show

  • @MaximilianBeck
    @MaximilianBeck 10 років тому +1

    360p rly?

    • @MaximilianBeck
      @MaximilianBeck 10 років тому +1

      ok 1080p available :D

    • @LouisGray
      @LouisGray 10 років тому +3

      Maximilian Beck Sorry about the initial 360p. We promise it was not a compression issue.

  • @diegonayalazo
    @diegonayalazo 3 роки тому

    Thanks

  • @drunkencop
    @drunkencop 8 років тому

    Isn't the formula sigma P(i) * log2 of 1/P(i)?

  • @JamesShisiah
    @JamesShisiah 10 років тому

    that is great...

  • @zeevtarantov
    @zeevtarantov 7 років тому

    Claude Shannon's first name is not pronounced like the word "cloud".

  • @kbaafi
    @kbaafi 10 років тому +1

    Now I want to work at Google :)

  • @zeevtarantov
    @zeevtarantov 7 років тому

    ASCII is 7 bit, not 8 bit.

  • @Duhdad
    @Duhdad 10 років тому

    Grats!! Great job.. I was gonna go write some VLC's, until ya got to F@#$%&n Markov Chain.... ~(8^(!)~

  • @recterbert
    @recterbert 10 років тому +2

    Hahahha "pay attention"

  • @noli-timere-crede-tantum
    @noli-timere-crede-tantum 10 років тому

    Colt McAnlis You would have done well with Leo Laporte some 10 years at #ZDTV =)

  • @버스터필리
    @버스터필리 10 років тому

    mad science?

  • @wisdom538
    @wisdom538 2 місяці тому

    here in 2024