Compression - Computerphile

Sdílet
Vložit

Komentáře • 471

  • @doemaeries
    @doemaeries Před 10 lety +453

    Without compression this video would be 1920pixel*1080pixel*24bit depth*25fps*(7*60+38)seconds = 569825280000bit = 71.23GB big.

  • @RyanHansen_101
    @RyanHansen_101 Před 10 lety +151

    I love any 45+ computer science professionals/lecturers, they have a very calm way of explaining ideas :)

  • @SyphistPrime
    @SyphistPrime Před 9 lety +122

    I came up with the dumbest idea for my friend and I to develop, a lossy alternative to .zip and .rar. Just imagine all the affects you could get.

  • @Drigger95
    @Drigger95 Před 10 lety +129

    He sounds sooo passionate about this!!!

  • @HerrLavett
    @HerrLavett Před 8 lety +95

    This is to good to be free.

  • @sunsmusic9290
    @sunsmusic9290 Před 8 lety +51

    This is the best explanation I have ever watched regarding compression... Professor David Brailsford is awesome !!

  • @Computerphile
    @Computerphile  Před 11 lety +11

    yes, one video at a time! there's a lot to say about a lot of topics! this is just a CZcams channel!
    >Brady

  • @Pennyinmouth
    @Pennyinmouth Před 9 lety +264

    pied piper does this well

  • @amsyarzero
    @amsyarzero Před 4 lety +1

    My lecturer asked our class to search about _data compression_ & _data encryption_ , and I stumbled upon this video. I was surprised to see that he's a professor at the University of Nottingham, which is also the same university that I'm attending right now.
    I love the nonchalant and easy-to-understand way you explained encryption, professor! 👍🏼

  • @sethconnell3497
    @sethconnell3497 Před 7 lety +10

    Probably one of the best explanations about something technical I've ever heard. Bravo!

  • @McLir
    @McLir Před 11 lety +4

    I hope Computerphile also discusses fractal compression (and fractal interpolation) because the concepts are so frikkin' cool.
    BTW, the key signatures in standard music notation can also be thought of as a compression scheme.
    Thanks for the great stuff, Brady!

  • @jonpleasetalk
    @jonpleasetalk Před 11 lety +2

    As always Brady asks the best questions. As i expected this channel is getting better and better!

  • @arickleppin918
    @arickleppin918 Před 9 lety +67

    You've gotta go tip-to-tip for optimal efficiency - use the middle-out!

  • @anavailableusernam3
    @anavailableusernam3 Před 11 lety

    The channel is definitely getting closer to what I was expecting and it's nice to see after being so terrified of the first video! Very much looking forward to see a little more advanced topics. :)

  • @PedanticNo1
    @PedanticNo1 Před 10 lety +13

    7:18
    "Let's get you a piece of paper . . ."
    Don't let him stop, Brady! If he goes below 60 MPH, he'll explode!

  • @TheTrueRandomness
    @TheTrueRandomness Před 11 lety +2

    Wow, I really love Prof. Brailsford's style of explanation

  • @Galakyllz
    @Galakyllz Před 11 lety

    I'm glad to see this channel taking off. Great content, Brady.

  • @nO_d3N1AL
    @nO_d3N1AL Před 10 lety +8

    Great explanation. It's basically like factoring out an equation. All about efficient use of space

  • @toobeetoobeetoo
    @toobeetoobeetoo Před 11 lety +1

    I appreciate these videos immensely. It does a pretty good job of explaining these concepts that I deal with every day. But at the same time, I have trouble explaining it to people who aren't as computer literate. I'll send them a link to an appropriate computerphile vid and generally they have been coming back with oh now I understand what you mean. Which helps me out professionally and is a credit to you Brady (and team).

  • @kenbobcorn
    @kenbobcorn Před 11 lety

    I find this video is very introductive to the topic, and gives a very brief overview of what compression is.(great for people like myself) It was made clear in the video that the next video will include more advanced explanations and discussions. On a side note, I have no idea why people marked your comment as spam. You gave criticism and an explanation yet people aren't happy with opposing views.

  • @Pivitrix
    @Pivitrix Před 11 lety

    this interviewer gets to meet alot of awesome people .. and lots of awesome information from speaking with all these people

  • @WiremuWinitana
    @WiremuWinitana Před 11 lety

    Doing computer science at university and loving the videos, Brady! You have a subscriber for life for this channel and all other subjects you wish to enlighten! Cheers :)

  • @IstasPumaNevada
    @IstasPumaNevada Před 11 lety

    How kind and helpful of you. Good thing you're around, otherwise people might think it's okay to ask questions.

  • @roniii2743
    @roniii2743 Před 11 lety

    This just became one of my favorite channels.

  • @0decimator0
    @0decimator0 Před 11 lety

    I see a lot of people complaining about computerphile being too basic, too simple, too trivial. Well, for me, its just perfect. Im studying materials science so i allready know a whole lot of stuff discussed in periodic videos or sixty symbols. But i am completely ignorant about computers and these videos are a easy to digest sustenance for my brain :3

  • @Garthdon
    @Garthdon Před 11 lety

    I was honoured to test out Fractal Image Compression to see if it was viable back at uni. It's what you think it is, you take a smaller bit of the pic, and then try to match that to bigger portions of the pic, and you would store the smaller block and the 'transform' needed. In the end, its not as good a current ones, it takes ages to scan every possible combination of blocks to find the best case, but you could get insane compression ratios on certain styles of images. Happy to see these videos

  • @iau
    @iau Před 11 lety

    I'd say the hardest part of getting into computer science is the lack of simple and understandable explanations. It can be discouraging trying to learn about a topic and getting overwhelmed by advance information, which happens most of the time. So I think this channel is doing a great job introducing people so as long as they bring on the more advanced stuff later too.

  • @IstasPumaNevada
    @IstasPumaNevada Před 11 lety +1

    Very clear and informative, and interesting. This channel is turning out just how I'd hoped it'd be.

  • @CYON4D
    @CYON4D Před 11 lety +1

    I really love Computerphile and Numberphile videos. Waiting for more, thanks!

  • @mr1hanky
    @mr1hanky Před 11 lety

    well thats the way brady rolls if you check his other 10000 channels you will see that almost all his channels are for teaching people who dont know a lot about a topic or subject and making it more understandible and fun. And hes doing a damn good job at it

  • @Hazal1337
    @Hazal1337 Před 11 lety

    I really love the videos you are providing with this channel. Keep up the good job!

  • @mkaatr
    @mkaatr Před 11 lety +1

    Compression is such a beautiful subject. Keep up the good work.

  • @KHPandaZ
    @KHPandaZ Před 11 lety

    This is my favourite presenter so far. Don't get me wrong, I've liked everyone but he just seems so enthusiastic about what he says. :)

  • @HenkJanBakker
    @HenkJanBakker Před 11 lety

    Ow darn. Just when we get the the actual info you leave us with this cliffhanger.
    Well played Mr. Brady. Well played.

  • @PaperclipBadger
    @PaperclipBadger Před 11 lety

    That business document is hilarious. I especially liked the part about the meaningful and relevant scenarios at this point in time going forward.

  • @totalrandomtechnolog
    @totalrandomtechnolog Před 10 lety +1

    One thing i would like to see explored here or in another video would be compression of several files vs data deduplication of several files. Data deduplication is a completly different technique but it is also quite fascinating i think.

  • @LukasLevickas
    @LukasLevickas Před 11 lety

    JESUS, CAN'T WAIT FOR THE UPCOMING CONTINUATIONS!

  • @InterficioPupillus
    @InterficioPupillus Před 11 lety

    I can't help but think Brady must be one of the most interesting people ever to talk to on account of all the information and stories he hears during these videos.

  • @Oersted4
    @Oersted4 Před 11 lety

    Well, I'm starting a computer science degree next year and I understood perfectly what he said. In fact, this is a topic of wich I have thought a lot and I really enjoyed the level of detail they gave. Will see about the entropy thing but the level of this video was perfect for me.

  • @flatdragonfruit5
    @flatdragonfruit5 Před 11 lety

    Wow, I enjoyed every minute of him talking... He's a really smart guy can't wait to see the next video.

  • @Poederman3
    @Poederman3 Před 11 lety

    The first really interesting video for me !
    Looking forward to the next compression video.

  • @gadgetwhore2
    @gadgetwhore2 Před 11 lety

    I thought this was a great way to present the concept of compression. I'm a little surprised at the comments from people who complained there wasn't more in-depth information, even though they already knew it! Like many of your videos, this was (I think) for people that don't know much about compression, but are interested in knowing more.

  • @jsbrochu123
    @jsbrochu123 Před 10 lety +2

    Brings me back to my engineering classes where we had to compress sound (like mp3's), would have loved if he had gotten into the details on that topic... All I can remember was that you had to do a Fast Fourier Transform (FFT)... but that's all I can recall :)

  • @maybe_monad
    @maybe_monad Před 11 lety

    Physics and Math are very interesting to watch, but as a web developer this channel is a bit more engaging.)
    and as always - amazing work, Brady!

  • @FlyingShotsOfJack
    @FlyingShotsOfJack Před 10 lety

    I really do love these compression videos

  • @The3oLand
    @The3oLand Před 11 lety

    I like Professor David Brailsford. He manage to describe one of the more complex computer subjects in an easy to understand way without oversimplifying it.

  • @Computerphile
    @Computerphile  Před 11 lety +3

    Send us your details and we'll give you your money back! ;)
    Hope you stick with us and some of the videos to come will be more to your liking. We are never going to jump straight into the deep end... We're wading in gradually so our bits don't get too cold!
    >Brady

  • @MaxUgly
    @MaxUgly Před 11 měsíci

    I had no idea computerphile was this old. Even crazier how it was just as good then as it is now. Most channels back then still felt more "public access". Then again, there were some jewels on public access TV in the 90's.

  • @ghelyar
    @ghelyar Před 11 lety +2

    Just suggestions for future videos :)
    DCT in particular (or more general frequency based algorithms) is quite difficult to understand and would need its own video, but it is the basis for almost all lossy compression used in the real world right now (mp3, jpeg, mpeg, etc).
    Some of them are quite easy to explain, such as RLE, but are still used practically.

  • @Computerphile
    @Computerphile  Před 11 lety +3

    Hi, captions are quite a bit of extra work and we are super busy. I'd LOVE to have them... Numberphile has them done by an external organisation and I have nothing to do with it... Unfortunately computerphile does not have this same deal!
    >Brady

  • @SyntekkTeam
    @SyntekkTeam Před 11 lety

    Awesome video, I'm happy to seem these videos getting into more complicated topics

  • @revolutionoftheresolution5867

    straight to the point this is 100% clean video I've ever seen keep it up from 2020 : )

  • @dsrpg
    @dsrpg Před 11 lety

    Me and my friends loved your channel. Good job, buddy.

  • @ciddknee
    @ciddknee Před 11 lety

    This is great. I understand how the scene group Black-Box go around compressing their releases.

  • @Metalknighted
    @Metalknighted Před 8 lety

    I can listen to him all day!

  • @nand3kudasai
    @nand3kudasai Před 9 lety +1

    i like how he uses the word "predictability" instead of patterns (all the time).
    if he's a teacher i'd like to attend his classes, he's kinda tranquilizing and explains well.

  • @MrShysterme
    @MrShysterme Před 11 lety

    It would be interesting to have two vids from the computerphile and numberphile channels, respectively, dealing with information theory. One could be on the math of it, and then another on how it is used in computing and in things like compression and encryption, etc. There are tons of opportunities for the channels to complement each other with uploads that are timed like that.

  • @patrickthepure
    @patrickthepure Před 11 lety

    In normal image files, stored data is list of pixels(BMP), or compressed list of pixels (JPEG, PNG).
    In vector image files(SVG), stored data is a list of program intructions like this:
    lineTo(x, y);
    moveTo(x, y);
    drawPolygon(x1, y1, x2, y2, x3, y3);
    A vector graphic renderer program will do these intructions and render your vector graphic.

  • @U014B
    @U014B Před 8 lety +1

    meaningful and relevant scenarios at this point in time going forward

  • @KuruHS
    @KuruHS Před 11 lety

    I remember our physics teacher explaining this just like him, love it!

  • @92LeoDa
    @92LeoDa Před 11 lety

    This video was pretty cool, I know a bits and pieces about computer science, and I deal a lot with audio compression in the audio industry, so cool to learn how it works on a basic level. =P. Thanks Brady!

  • @JakeStephensMrJakeStephens

    Loving computerphile, Brady!
    Cheers!

  • @iabervon
    @iabervon Před 11 lety

    Here's one method (called LZW): I'm going to give you a sequence of codes. These codes can be symbols from the message, or they can be references to the compressed file. The code "1" means to look back at the first and second items in the compressed message, use them, and keep expanding. "2" means the second and third, etc. E.g.:
    this is the theme -> this 3 1e 8me [3 means "is", 1="th", 8="1e"="the"].
    If there's a lot of repetition, the dictionary gets a lot of codes that expand to big chunks.

  • @chrisrichardsonpiano
    @chrisrichardsonpiano Před 11 lety

    excited about the next vid, i got really dissapointed when he got cut off.

  • @LucidEnigma21
    @LucidEnigma21 Před 11 lety

    Really loved this video! I was actually recently dealing with this stuff!

  • @TASDeign
    @TASDeign Před 11 lety

    I'm loving the latest topics. Keep it up :D

  • @MidnightSt
    @MidnightSt Před 11 lety

    there's a fine line between explaining the core principle/idea behind something, and a specific technique derived from that core idea. explaining the core idea only is usually more certain to be interesting, explaining specific technique tends to be a) more complicated; b) less "generaly usable", and therefore less interesting, in many cases. finding that line is hard, and it's better/safer to keep on that more general side, at least on the beginning.

  • @BGBTech
    @BGBTech Před 11 lety

    the interpolated frames (P-Frames) are usually deltas from smeared around versions of the key-frames (I-Frames). (ignoring B-Frames for now...).
    IOW: encode how the blocks in the I-Frame move around (via "motion vectors"), and subtract this from the current frame;
    encode this subtracted image as a residual (still sort of like JPEG, just only encoding a residual image).
    audio compression is more its own thing (often the video and audio encoding are handled separately, but share the container)

  • @TheWeepingCorpse
    @TheWeepingCorpse Před 11 lety

    I did some work in the late 90s with compression algorithms. Huffman coding is interesting to play with and easy to understand.

  • @Rienspy
    @Rienspy Před 11 lety

    I really like this! I'm already looking out for the next part(s) :) Keep up the good work :D

  • @aloywkd
    @aloywkd Před 11 lety

    I've always been curious about this topic. looking forward to watching :D

  • @DanSnipesBetter
    @DanSnipesBetter Před 11 lety

    Awesome, can't wait for more!

  • @wagenvas
    @wagenvas Před 11 lety

    way to go Brady! excellent videos and very interesting themes! keep up the good work ;)

  • @nsletteb
    @nsletteb Před 11 lety

    Really great 1st video for numerous follow-ups...!
    @SEThatered: JPEG is not a lossless compression and MP3 removes sounds within human hearing range, as the uncompressed source audio already has very little sound outside said range. Most lossy compressions tries to remove information you're not going to miss, but take it too far, and you'll notice.

  • @AnogVideosLDA
    @AnogVideosLDA Před 11 lety

    Great video, always wondered how it worked.

  • @mepain1
    @mepain1 Před 11 lety +1

    Love it! Keep them coming!

  • @Pianoguy32
    @Pianoguy32 Před 11 lety

    Fascinating, looking forward to pt 2

  • @Timeyy
    @Timeyy Před 11 lety

    I wish the CS professors at my uni were this awesome

  • @BGBTech
    @BGBTech Před 11 lety

    sort of...
    typically, we feed the audio through the MDCT, which converts from time-based samples to a number of frequency bands (for a block of audio samples). we can then divide these numbers by other numbers (based on quality settings and the "psycho-acoustic model" and similar), then the output numbers can be encoded.
    often left/right is converted into center/side as well (this compresses better), in what is known as "joint stereo".
    (center is like mono / average, side is left - center).

  • @Spikehead777
    @Spikehead777 Před 11 lety

    That is very true. Pretty much any image that is defined as paths and simple colors or gradients can be described as a SVG file. In that sense, which format is best depends on the content of the image, as well as the size of the image.

  • @Sc2mapper117
    @Sc2mapper117 Před 9 lety

    This was really interesting! I'd always wondered how this worked. Thanks :)

  • @jsnadrian
    @jsnadrian Před 11 lety

    Numberphile should cover the mathematics of this topics -- would be very cool to see some linear algebra videos from you, Brady!

  • @MidnightSt
    @MidnightSt Před 11 lety

    if the people targets casual audience that is at least a little interested in these things, but thought they're not, because of bad teachers (which is the audience that ALL of brady's channels target, imo), the content is exactly as awesome as it's meant to be.
    and: I'm a programmer and I love watching this stuff, because I'm always curious how will they explain these things in the language of mortals :-D
    (and sometimes I learn a bit of something new too!)

  • @EditorsCanPlay
    @EditorsCanPlay Před 11 lety

    YES BEEN WAITING FOR THIS BADBOY

  • @barhaupt
    @barhaupt Před 11 lety

    Morse code is a compression, because it uses shorter sequences for common letters like e, i and longer sequences for rare letters. This technique is the basis of all modern compression algorithms and it is easy to understand for ordinary people.

  • @patchy69
    @patchy69 Před 11 lety

    @SChil
    True, for a 'smaller' file sizes such as the cd you mentioned, the time saved by compression then transmission would be negligable.
    But then imagine the same scenario where, for whatever reason, you are wanting to send a file of several hundred gigabytes; then the time saved may be the difference between it taking 12 hours or 2 (if the file is easily compressed).
    Then again, as you said, speeds are increasing so much that eventually even files of this size might become negligable!

  • @Garthdon
    @Garthdon Před 11 lety

    No, dithering is where you add dots/pixels of a color to make a colour change smoother. For example if you had a red and white beside each other, to blend them you would add red dots to the white edge, and white dots to the red edge, and from a distance it looks the white morphs to the red. With compression, you start with 'dithered' images, and throw away the dots to save space. Of course you would only do this if you wouldnt miss it, make it 'fuzzy' like the video says.

  • @incrediblepony
    @incrediblepony Před 11 lety

    Brady, can you please put links to the videos you are showing at the end in the description to? Mobile viewers are not able to click on the video window :) thanks in advance!

  • @phoenix77770000
    @phoenix77770000 Před 11 lety

    sound compression uses sampling lengths, if you've ever seen a thing on an mp3 file when you right click on it it will say something like 192bit or 320bit. That's the number of times in one second that it samples the original sound file. files like .wav and .flac are lossless files, but take up about 10x more space but can sound much better if the sound file is very busy for instance an intricate orchestral piece.

  • @BGBTech
    @BGBTech Před 11 lety

    yep. using a dictionary and Huffman coding works pretty well...
    slight compression improvements are possible by using a bigger window / dictionary and arithmetic or range coding (like 7zip / LZMA), but the gains are fairly modest relative to the slowdown.

  • @Sammysapphira
    @Sammysapphira Před 11 lety

    Good video, I've always wondered how the computer will compress data then be able to bring it back in the future.

  • @BGBTech
    @BGBTech Před 11 lety

    typically, there is a "sliding window", where if something is seen which has been seen previously, we encode a reference to it (in terms of how far back it was and how long it was). on the encoder end, it is typically a "clever" version of a brute-force search (over the preceding 32kB or so...).
    usually, it is based on if at the current encoding position there is a matching string in the window, and encoding whichever match is longest, otherwise emit a character and try again, ...

  • @b4ux1t3-tech
    @b4ux1t3-tech Před 9 lety +2

    So, is it actually efficient to write a compression program that simply does what you said? Like, all you do is take out key character combinations or words and then seed them in the file as necessary?
    I feel the need to try this myself.

  • @pcljet
    @pcljet Před 11 lety

    So, from the way it sounds, JPEG might use something akin to Fourier decomposition/Wavelet decomposition. Could you confirm or refute this?
    Also, I am looking forward to the Compression and Entropy video, if only as a refresher on what little Information Theory I have studied.

  • @Adamantium9001
    @Adamantium9001 Před 11 lety

    Yeah, that was exactly what he was talking about when he said "dividing the picture up into blocks and squares and saying 'well, this is almost the same green; I'll use this as an approximation'" (except it's black instead of green in your example)

  • @TheSpaceDudeTV
    @TheSpaceDudeTV Před 11 lety

    I HATE YOU BRADY! Why did you have to stop!!!
    This is by far my favorite video on computerphile! Now I know something I've always been wondering about :D

  • @fusobotic
    @fusobotic Před 11 lety

    I've seen a 1080p full-length movie that was 1-2gb compressed. It was indistinguishable from the original blu-ray in quality (which is normally say 5 or 6 times as large on the disc). How is this possible?

  • @MarTuv93
    @MarTuv93 Před 11 lety

    WebP and VP9 are two new compression algorithms from Google which sound amazing. VP9 is smaller than JPEG at the same quality, supports animations, and it can be lossless. So basically, it can replace JPEG, PNG and GIF.
    VP9 is a video codec which offers H.264 level quality, at half the size.
    If anyone is interested about new compression algorithms, check those two out because they are pretty damn amazing.

  • @BGBTech
    @BGBTech Před 11 lety

    note that despite their fancy-looking mathematical definitions, as-implemented, the DCT transform (and its inverse), typically amount mostly to matrix multiplies with fixed-point numbers.
    IOW: typically no actual "cos" is used, as this would make things too slow. matrix multiplies are reasonably faster. likewise for integers vs floats.
    luma is essentially a weighted average of red/green/blue (IOW: brightness).
    these are both so we can abuse the numbers more before people will really notice.

  • @HexJamXXX
    @HexJamXXX Před 11 lety

    On the first thing the prof said, I might be nit picking here but as I understood it (non-lossy) compression is about reducing the amount of data, whilst keeping the same amount of information, i.e. reducing redundancy rather than reducing the information (which would be lossy compression). :)