Variable Length Codes (Ep 1, Compressor Head)

Поделиться
HTML-код
  • Опубликовано: 10 сен 2024

Комментарии • 96

  • @GoogleDevelopers
    @GoogleDevelopers  10 лет назад +103

    *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 лет назад +63

    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

  • @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.

  • @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

  • @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.

  • @alexcleac
    @alexcleac 9 лет назад +1

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

  • @cindysi63
    @cindysi63 9 лет назад +1

    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.

  • @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..

  • @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!

  • @AugustoCesarRighetto
    @AugustoCesarRighetto 10 лет назад

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

  • @KalpeshPanchal
    @KalpeshPanchal 10 лет назад +2

    Thanks Colt McAnlis for wonderfully explaining this! :-)

  • @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.

  • @theyruinedyoutubeagain
    @theyruinedyoutubeagain 10 лет назад +1

    This is brilliantly taught, good job!

  • @rahulr9301
    @rahulr9301 3 года назад

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

  • @MikeTeehan
    @MikeTeehan 10 лет назад

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

  • @TheVidhiagrawal
    @TheVidhiagrawal 7 лет назад

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

  • @LavaHotMan
    @LavaHotMan 10 лет назад

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

  • @thereseserena4978
    @thereseserena4978 5 лет назад

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

  • @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

  • @gangater100
    @gangater100 10 лет назад

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

  • @wesleyfernandes2292
    @wesleyfernandes2292 9 лет назад

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

  • @shem86
    @shem86 10 лет назад +2

    this is awesome.
    very well explained!

  • @ksawery2843
    @ksawery2843 3 года назад

    Great explanation, thanks!

  • @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 :))

  • @InnocentDjiofack
    @InnocentDjiofack 10 лет назад +2

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

  • @krishnanshudey3831
    @krishnanshudey3831 5 лет назад

    Fantastic it's help me a lot. Tnx

  • @mzgggg
    @mzgggg 10 лет назад

    love the show, make it a regular thing

  • @HiteshChavda
    @HiteshChavda 10 лет назад

    More Like This Please

  • @priyankpathak7032
    @priyankpathak7032 10 лет назад

    Super awesome ..!!!

  •  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!!

  • @NilosPsathas
    @NilosPsathas 10 лет назад

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

  • @user-pt5rx8gf1m
    @user-pt5rx8gf1m 10 лет назад

    Very understandable. Thanks!

  • @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?

  • @laexpearl
    @laexpearl 10 лет назад +1

    Maximum Awesome.

  • @liperoxd
    @liperoxd 10 лет назад

    excelent !

  • @diegonayalazo
    @diegonayalazo 2 года назад

    Thanks

  • @pbezunartea
    @pbezunartea 10 лет назад

    Great video!

  • @alexseyshestacov4290
    @alexseyshestacov4290 8 лет назад

    So awesome, so I can expain this

  • @justdream1991
    @justdream1991 8 лет назад

    great Job i like u show

  • @xBZZZZyt
    @xBZZZZyt Год назад

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

  • @SamuraiCoding
    @SamuraiCoding 9 лет назад +1

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

  • @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?

  • @JamesShisiah
    @JamesShisiah 10 лет назад

    that is great...

  • @DilSeDesee
    @DilSeDesee 10 лет назад

    awesome explanation :)

  • @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.

  • @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.

  • @puzzud
    @puzzud 10 лет назад

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

  • @crpshooter
    @crpshooter 10 лет назад

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

  • @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) ;-)

  • @sergey198
    @sergey198 6 лет назад

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

  • @alexbahls3613
    @alexbahls3613 10 лет назад +1

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

  • @FlGHTFORLlBERTY
    @FlGHTFORLlBERTY 5 лет назад

    At 19:04 the codes are in reverse order.

  • @drunkencop
    @drunkencop 8 лет назад

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

  • @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.

  • @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.

  • @kbaafi
    @kbaafi 10 лет назад +1

    Now I want to work at Google :)

  • @zeevtarantov
    @zeevtarantov 7 лет назад

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

  • @zeevtarantov
    @zeevtarantov 7 лет назад

    ASCII is 7 bit, not 8 bit.

  • @recterbert
    @recterbert 10 лет назад +2

    Hahahha "pay attention"

  • @Duhdad
    @Duhdad 10 лет назад

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

  • @noli-timere-crede-tantum
    @noli-timere-crede-tantum 10 лет назад

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

  • @user-tw7xi5vf1e
    @user-tw7xi5vf1e 10 лет назад

    mad science?

  • @wisdom538
    @wisdom538 16 дней назад

    here in 2024