(IC 5.2) Arithmetic coding - Example #1

Поділитися
Вставка
  • Опубліковано 14 січ 2025

КОМЕНТАРІ • 54

  • @PandoriaFalls
    @PandoriaFalls 8 років тому +40

    Seriously, you are doing this so much better, then my prof. Thanks, this helped alot!

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

      he is always better

  • @cagataykaydr3015
    @cagataykaydr3015 6 місяців тому +3

    Man, 12 years ago you did a better job than recent articles and lessons. I swear I understood the algorithm in less than 5 minutes, which I'm looking for descriptive contents to understand for days. I can't thank you enough, I'm trying to write a new implementation of an image format! If I become Linus Torvalds someday, I'll make sure people will now you helped me a lot haha!

  • @Shljonx
    @Shljonx 9 років тому +8

    this is therapeutic. I watched this way longer then i had to

  • @BladeDivine
    @BladeDivine 11 років тому +2

    Thank you so much for this video. This is by far the best example I have come across which explains such a complex method so easily. Thank you...keep up the good work

  • @singhpratyush_
    @singhpratyush_ 7 років тому +19

    The video is great. But I don't get how you added 0.6875 and 0.015625 in left-to-right fashion. I need that kind of superpower too.

    • @Omnifarious0
      @Omnifarious0 5 років тому +1

      It's not that hard. Figuring out if you're going to have a carry is a lot easier than figuring out what the result number will be. So you just sort of eyeball ahead and guess if you're going to have a carry or not as you proceed from left to right.

  • @kahinakram
    @kahinakram 12 років тому +2

    Thank you for this awesome video, a lot more pedagogical then lecture slides :) nice job!

  • @papadakisandreas
    @papadakisandreas 12 років тому +1

    excellent work! Many thanks for the straightforward explanation

  • @shugafreemintyfresh
    @shugafreemintyfresh 13 років тому +1

    thanks for this! wish my lecturers could explain things as clearly and make it this easy to understand :)

  • @sheridavandenbent534
    @sheridavandenbent534 5 років тому +1

    Thank you, you made me understand Arithmetic coding a lot better!

  • @dionysiospiskopos2398
    @dionysiospiskopos2398 5 років тому +2

    Thanks for the video, but i am looking for an example of matlab arithmentic coding/decoding implementation!

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

    Read a lot of explanations and it made no sense. Watched this video got it straight away. Thanks good video.

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

    very nice and illustrative explanation. thanks a lot.

  • @OWT156
    @OWT156 2 роки тому

    excllent work! Many thanks for the straightforward explanation!

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

    Great explanation, thanks.

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

    Starting from 25:00, how do we know that there are 3 chunks? If we use EOF, then we don't provide the length of code. However, the amount of chunks depends on the length of code.

    • @Nikifuj908
      @Nikifuj908 9 місяців тому

      Once you hit the EOF, you stop decoding. You are done.

  • @xukonghe2465
    @xukonghe2465 2 роки тому

    Thanks a lot for your video!!!Really clear and really easy to understand.

  • @TheHobbyGuy369
    @TheHobbyGuy369 8 років тому +2

    So i understand how you decode it, but how are you gonna know the library or probabilities? So do you also have to send the library and the probabilities to decode it?

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

      yes, this would be saved on the file with the coding result

  • @dudhaiyasagar7
    @dudhaiyasagar7 7 років тому +1

    You *SAVED* my life!😩🤧 Khalid Sayood is lengthy 🤕

  • @skoire7305
    @skoire7305 2 роки тому

    This video is amazing - thank you

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

    Excellent explanation. Thanks!

  • @vaidyanathanpk9221
    @vaidyanathanpk9221 11 років тому

    Give this man a cookie :D Very well explained :D Thank you so much sir !

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

    Fantastic video, thanks

  • @caoyangjiang4661
    @caoyangjiang4661 11 років тому

    Excellent Video! Well explained!

  • @OuarzazateTube
    @OuarzazateTube 11 років тому

    Very clear explaination, thx

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

    ありがとう、先生👍

  • @isaac5990
    @isaac5990 6 місяців тому

    why do we need the probability mass function? wouldn't the steps be the same for encoding and decoding for an even distribution?

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

    very clear explanation! thanks a lot!

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

    You saved the day man !!
    Thanks !!

  • @hurricanehaynes
    @hurricanehaynes 13 років тому

    5.1 is not showing up in the list of videos

  • @amirkamel8
    @amirkamel8 11 років тому

    Very good explanation, thanks

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

    Why is our encoded string longer than our original string ? Hence what is the point ?

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

      It isn't. The encoded version only uses 6 bits opposed to the 18 bits used by the unencoded string

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

    what program you use to make the video .. ?

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

    Why does the binary number have to correspond to a subinterval of [a,b)? Isn't it enough information to know that the number lands in the interval? I feel like in the explanation of the decoding process, whenever you say "the purple interval is in such and such chunk", you could also have said "the purple NUMBER is in such and such chunk" and the argument would have gone through. The explanation on wikipedia for these extra bits is that otherwise you would need some external information to know where the encoded stream ends. For many purposes you will have the size of the encoded file, so this isn't a problem.
    Furthermore, you can come up with some pathological examples where those extra bits make a message far exceeding the entropy. For example, take the alphabet {0,1, 2} where 0 has probability epsilon, 1 has probability .5, and 2 has probability .5 - epsilon. How is the sequence 1 encoded? It seems like it is sufficient to encode it simply as the binary digit 1. However, the encoding process described in the video requires you to pad with another -log2(epsilon) 0s. This is huge for small epsilon.

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

      Ah. If I had watched the beginning of the next video I would have gained some insight.

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

    Awesome !!!

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

    Thanks

  • @jiahuili2322
    @jiahuili2322 2 роки тому

    you solved my problem! Thanks!!!

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

    really good

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

    Nice video, awesome explanation, bad algorithm... :P

  • @dhwanix
    @dhwanix 11 років тому

    Best explanation evaaaa! :D

  • @yolech
    @yolech 12 років тому

    That's the pronunciation when it's a noun. It's being used as an adjective here, which has a different pronunciation.

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

    awesome

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

    master

  • @Intense011
    @Intense011 5 місяців тому

    pro tip: hold shift to draw straight lines
    good vid tho

  • @MohammadaAprilianto
    @MohammadaAprilianto 13 років тому

    subtitle? :D hehe

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

    That is a lot of work to encode a simple 210 message. There are only 3 possible symbols so I would encode as 2 = 01, 1 = 1, 0 = 0 which would be 4 bits, compared to your 6 bits. So the entire encoding would be 0110 which decodes to 210, but unless this encoding scheme was already known on "both ends", the "mapping" table would also have to be sent. I am not sure what overhead arithmetic encoding has, for example, if the receiver knew nothing about how to decode it, what "extra" information would you have to send to them to ensure they can decode your encoded 210 message? Of course with a message that short, why encode at all? Just send them 210 uncompressed.

    • @PROJECTJoza100
      @PROJECTJoza100 4 місяці тому

      lol bro the point is to teach arithmetic encoding on a simple example-

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

    dude you gotta take care of your OCD

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

    awesome