The Image Format That Made The Internet
▶ Visit brilliant.org/NewMind to get started learning STEM for free, and the first 200 people will get 20% off their annual premium subscription
The GIF format was introduced in 1987 by CompuServe, America's first major commercial online service provider. In early 1980s, advances in modem speed, processing power and the introduction of their CompuServe B file transfer protocol had now allowed for the exchange of graphics on the platform. This also opened the door to CompuServe's eventual transition to a GUI based interface.
At the time, access to most online information services were billed by time and for graphics to be exchanged cost effectively and within a practical transfer time, the service required a method to reduce the memory requirements of informationally dense graphical data.
PALETTES
Because of this the concept of a palette or a color lookup table was introduced. A palette is a data structure that contains an indexable lookup table of chromaticity coordinates. In this mechanism, each pixel of the image data is defined by a palette table index, where its color data can be found. A 2-bit per pixel image for example can reference 4 color definitions within a palette while a 16 bit per pixel image can reference a little over 65k unique color definitions.
IMAGE COMPRESSION
This technique is known as lossy compression, as it alters the original image data in the compression process. While lossy compression can dramatically reduce memory requirements, the technique was far too processor intensive for consumer computer hardware of the time and its losseness made it unusable for functional graphics, such as in case of graphic user interfaces. Lossless image compression that did not change the image data was chosen for the JIF format as the available techniques were relatively simple and could operate easily on existing hardware. It also best matched the intended application of sharp-edged line art based graphics that used a limited number of colors, such as logos and GUI elements.
RLE
This allowed long runs of similar pixels to be compressed into one data element and it proved to be most efficient on image data that contained simple graphics such as with icons and line drawings. Because of the overhead of the counting mechanism, more memory is required than the original image in such cases, making the technique unusable for more complex images.
LZW
Wilhite had concluded that run length encoding was not an effective solution and looked towards a new class of data-compression algorithms, developed in the late 1970s by Jacob Ziv and Abraham Lempel. A key characteristic of LZW is that the dictionary is neither stored or transmitted but rather developed within the algorithm as the source data is encoded or compressed data decoded.
ENCODING
In the encoding process an initial code-width size is established for the encoded data. An 8-Bit based data source for example would require the first 256 dictionary indexes to be mapped to each possible 8-bit word value.
From here, if more data is available in the source data stream the algorithm returns to its loop point. If there is no data left to encode, the contents of the remaining index buffer is found within the dictionary and its index code-word sent to the output code stream, completing the final encoding.
DECODING
A dictionary table matched to the bit-width specification of the encoded data is first initialized in a manner similar to the encoding process. Because the encoding process always starts with a single value, the first code-word read from the input code stream always references a single value within the dictionary, which is subsequently sent to the decoded output data stream. If one is found or the code-word represents a single value, the referenced values are sent to the decoded output data stream.
VARIABLE BIT-DEPTH
This requires the bit-width of a code-word to be, at minimum one bit larger than that of the image data. This is accomplished by starting the encoding process with the assumption that the bit-width of a code-word will be one bit larger than the image data’s bit-depth. This is the minimum needed to index every possible value of the image data plus the control codes.
IMAGE LAYOUT
Each image is contained within a segment block that defines its size, location on the canvas, an optional local color palette and the LZW encoded image data along with its starting code-word bit-width size. Each image can either use its own local color palette or the global color palette, allowing for the use of far more simultaneous colors than a single 8-bit palette would allow. The LZW encoded data within the image block are packaged into linked data sub-blocks of 256 bytes or less.
GRAPHIC CONTROL EXTENSION
The graphic control extension also took advantage of the format's ability to store multiple images with the introduction of basic animation.
SUPPORT NEW MIND ON PATREON
/ newmind
Пікірлер: 171
▶ Visit brilliant.org/NewMind to get started learning STEM for free, and the first 200 people will get 20% off their annual premium subscription
@wilderbeast9368
2 жыл бұрын
You said it wrong and now I cannot watch.
You are quite cheeky! A serious and well-researched video, and you flip between both pronunciations of GIF throughout. You are able to simultaneously appease and enrage everyone! In all seriousness, this video is amazing, and will be a valuable resource forever!
@michami135
2 жыл бұрын
I kept getting distracted by the change though. I think it would have been cool to hear his switch once, half way through, to show how the common pronunciation changed over time.
@poopsmithjones1
2 жыл бұрын
I almost didnt watch the rest until I read this comment lol my actual reaction at 0:39 was "if he's going to pronounce GIF incorrectly for the entire video then I don't think I can watch this lmao i'm glad I scrolled down (expecting to see people calling out the pronunciation) to see that it gets better, going to watch the rest now
@poopsmithjones1
2 жыл бұрын
omg he really just said ping instead of PNG.. such a good video otherwise it's like hard to believe
@qaaris4280
2 жыл бұрын
He also said "gooey" when talking about GUI. Maybe he's hinting at how it's a bit dumb to read acronyms as proper words.
@binguloid
2 жыл бұрын
@@poopsmithjones1 show me where, in the gif standard, it says how it's pronounced.
I love how he pronounces it as both 'JIF' and 'GIF'
@amogusenjoyer
2 жыл бұрын
And Goo-wee for GUI hahaha.
@Strideo1
2 жыл бұрын
@@amogusenjoyer that's how I always heard GUI pronounced back in the late 80's and early 90's when DOS programs were still prevalent and having programs with a GUI wasn't necessarily a given.
@joesterling4299
2 жыл бұрын
You mean "JIF" and "GHIF." The problem with "GIF" is that in English, it's ambiguous. 'G' before 'E' or 'I' is most often pronounced softly (as a J), but it doesn't need to be. Hence, gentle vs get. Then again, I can't think of a single English word right now that uses the hard pronunciation of 'G' before 'I.' (Giraffe, gist, gin, ginger--nope. Can't do it.) Rattle some off if you can.
@blindcat97
2 жыл бұрын
That was my favorite part of this video, because I was prepared for him to pronounce it differently than I do and make the whole video annoying, but instead everyone gets to be happy with how he says it exactly 50% of the time
@glenralph5123
2 жыл бұрын
@@joesterling4299 give, given, giving, gimbal, gimp, girt, girth. I could probs think of more but i just woke up. Gift, gill, gib git, eh that'll do for now.
Excellent as always. The only thing I noticed missing was how Flash took over for a few years in the early 2000's as the graphic format of choice for web design.
Man I'm so waiting for WebP or literally _anything but GIF_ to replace it, GIF is so inefficient by modern standards and loses so much color, it's honestly painful encoding the same small clip as an MP4 and GIF and seeing MP4 outperform the GIF with size and colors both, even though MP4 itself is getting phased out for WebM or whatever AV1 uses
@baksatibi
2 жыл бұрын
This already happened, Giphy will happily serve you the "GIF" in WEBP or MP4 format (although GIF is also supported).
@misterdeedeedee
2 жыл бұрын
mmmmm nah.
@JasminUwU
2 жыл бұрын
I think JXL is a way more promising image format then WebP, It's better in every measurable way.
@Boalmighty
2 жыл бұрын
iOS doesn’t support webm iirc…so hopefully that changes
@RC-nq7mg
Жыл бұрын
Pretty sure MP4 is just a container similar to AVI or WMV to combine and synchronize the audio and video, the compression of a typical MP4 would be H.264 or H.265, but it doesn't have to be.
I liked that you pronounced GIF as GIF and GIF
@GodlikeIridium
Жыл бұрын
Nononono. He said GIF and sometimes talked out of context about a brand of peanut butter xD
@1224chrisng
Жыл бұрын
shame he pronounces it GIF sometimes, which is quite different from the correct GIF, but it's fine as long as it's not as bad as GIF
3:19 Did you get something backwards? The 6 bit looks way better than 7 and 8 bit, much smoother colour gradient.
@MrCrackbear
2 жыл бұрын
6 bit had dithering enabled so it's an unfair comparison
@GodlikeIridium
Жыл бұрын
Yeah 6 bit looked so much better than all others. Dithering only the 6 bit image and therefore making the comparison useless seems like a very likeable explanation.
@GodlikeIridium
Жыл бұрын
Since I'm way too lazy to check that theory, i blindly trust Mr. 420BootyWizard. Someone with that name can't be wrong xD
Brings me back when I was a kid and had a 2400 baud modem...lurking on BBSs..waiting hours downloading badly compressed adult image GIFs. LOL
The search engine platform Giphy (hard g) reported 10 billion gifs (soft g) 🤔🤔😉 You evenly spread the pronunciation even through multiple contexts... well played
16:03 This is a really interesting point that I don't think a whole lot of people are aware of.
Fantastic video! Top notch research, script, graphics and narration. This channel is tremendous!
I expect you to tell that under the hood gif is replaced by better formats there it looks like a "gif" for the end user. You don't need gif to loop a short video, better formats can do this more efficient.
Well, they were usually dial-up back then. You would usually have the phone bill separate from what ever AOL, Compuserve or Netscape's rates were. The services themselves were billed monthly but the phone bill (which usually comes monthly) would vary depending on the length of time you were online and any other calls you made. Using dial-up was a bit like making a phone call since the data was going through a system that was not designed for data.
It’s GIF actually.
@DonnieX6
2 жыл бұрын
no, it's indeed pronounced "GIF", and not "GIF"! 🤓
@anonymous.youtuber
2 жыл бұрын
@@DonnieX6 Aah ! I always thought it was pronounced “GIF” ! Stupid me !
@xandercraw
2 жыл бұрын
And so it begins 🙃
@andersjjensen
2 жыл бұрын
When coming across people who argues over whether it should be pronounced GIF or GIF there is only one thing to do... pronounce it YIFF right away and keep insisting on it no matter what they say!
I really hate that KZread didn't update me of your new video. I hit the bell I subscribe and I missed this. Love all the videos :) excellent as always
I love how you alternate between the rite way and the wrong way of saying gif. Clever!
You legit always have the best videos. This is all so fascinating, thank you!
Is it just me or does 6 bit look better than 7 and 8 bit depth?
@lithiumdeuteride
2 жыл бұрын
I suspect the images were displayed out of order.
@baksatibi
2 жыл бұрын
I noticed this too, it seems dithering was enabled on 6-bit depth, but not on 7 or 8-bit depths.
@arantes6
2 жыл бұрын
Yep, Tibor Baksa is correct : it's not a question of order, it's just that the 6bit image used dithering, which makes it much better at displaying color gradients.
I appreciate how you used both the official pronunciation and the most obvious one; also, it should be noted that it's more common for animations purported to be GIFs to instead be WEBMs or MP4s with no audio. It's a shame that APNG didn't catch on, even after most browsers started supporting it, but then again it does tend to be bigger than WEBM and MP4. (Also, I'm surprised to have never seen an animated WEBP, even though the format has supported animation since its 30 September 2010 launch.)
We all know it's really pronounced "heef" (the Mexican/Spanish way)
@xcbrr50
2 жыл бұрын
Just combine it and say, GUH-JEEF
@amargasaurus5337
2 жыл бұрын
@@xcbrr50 I second this, the TRUE alpha pronunciation
@joesterling4299
2 жыл бұрын
That's because Spanish actually has pronunciation rules. In English, they're just suggestions (not pronounced "sug-GUEST-ions.")
@slowtrigger
2 жыл бұрын
Je-fe
@rainmannoodles
2 жыл бұрын
HEIF would like to have a word with you.
2:22 shout out to the Commodore 64, a computer ahead of its time.
Great story! Thanks for not getting into the pointless debate of the pronunciation and by using both you annoy everybody equally :)
Just now I start watching 👀 video it's a Amezing and informative 👌 please keep making 🙏
Finally! The lost lore we've all been waiting for!
Great Video. interesting Topic
What a great video about peanut butter! Fascinating stuff.
Great video! BTW the correct spelling is "Palette", not Pallete.
DIY that you can make animated PNGs? They’re called APNG and work in most browsers.
Remember, choosy moms choose gif.
very interesting, but I have to admit that I couldn't quite follow the technical explanation although I am studying computer science
@arantes6
2 жыл бұрын
Totally agree, and I am not a student anymore, I am a full-time dev ^^
Oh hey, some quality content!
@Niightblade
Жыл бұрын
I'll allow it, just this once.
Using the Thue-Morse sequence for GIF pronunciation, genius! Now everyone is evenly annoyed 🙂
This video is just an elaborate ruse to rick roll us
I'm convinced this video is just an elaborate Rick Roll.
I get tears in my eyes, when I see the Old systems. Not to mention the low resolution monitors. Dial up modems, and all that Old crap. 😊😀
I like how you alternated between "jif" and "gif" to avoid controversy... only to Rick roll us all later! :P
Hey Algo the KZread algorithm, share this content. It is good :)
Man I just watched a 15 minute explanation of an image format
Here I thought the video would be about peanut butter
Are we just ignoring that he pronounced PNG as "PING"?
GIF sucks... in term of memory file size. I wish people would start replacing them with MP4, WebM or AV1 now. These have much better image quality, file size and has soundtrack support.
@bagamax
2 жыл бұрын
good luck mp4ring sharp bw lines looped animation
@VincentNacon
2 жыл бұрын
@@bagamax Who gives a fuck about that? Just you?
Is it Gif? Or G(J)if?
@dreamyrhodes
11 ай бұрын
GHIF!!!!!!!!!!!!!
Thumbs up for good video even though brain too small to unerstan
Why break perfection? Also, the plural of "index" is "indices".
It's actually called "Greg".
Jraphics Interchange Format
@binguloid
2 жыл бұрын
why can't we just agree that it's pronounced exactly how it's spelled, just like gist and give are.
I'm lost in the first 4 min of this video. I really don't understand what the "dictionary" is and how to have a "symbolic dictionary".
......like "gift"
Are all these bits, bytes, codes, addresses, files, pallettes, segments, data blocks, extension, links, compatibility comparitors, registers, clock rates, readers, modems, algorithms,...the reason why my computer gets bogged down and runs so slow?
It’s graphics, not jraphics.
It's pronounced jyfe like knife
@andersjjensen
2 жыл бұрын
I don't care if Jod himself comes down from heaven and declares that pronunciation gospel. The Graphics part of Graphics Interchange Format is pronounced with a hard G, so the acronym is pronounced with a hard G. And anyone who disagrees can call it YIFF for all I care... :P
@qaaris4280
2 жыл бұрын
@@andersjjensen Does that mean any acronym with the letter 'C' has to be pronounced the same as the word that starts with it? One of my favorite shows is CSI, but I don't think I can start calling it "KeySI" anytime soon.
@andersjjensen
2 жыл бұрын
@@qaaris4280 Acronyms that are unpronounceable are just read out loud. SCSI being a somewhat middle ground as it is often pronounced "skasy" (like sassy) by some but spelled out by others. But see-es-eye will always be CSI...
Everyone is talking about how to pronounce it. I pronounce it as G-I-F "like: gee-eye-eff" I'm not sure if that is good for everyone, or makes them all hate me.
It's GIF, not GIF.
ILBM/IFF was way better than GIF and it could expand like hell. Don't get me wrong, I made one of my first salaries writing a GIF encoder.
Dude it's Graphics Interchange Format THAT MEANS IT IS GHIF NOT JIFF WTF
You mispronounced Jif peanut butter. It's actually "nutsack dog-lick bait"
I was waiting to the other meaning of PNG. "PNG's Not Gif"
pr0n
It's actually spelt gif not gif.
@LochyP
2 жыл бұрын
It's actually spelled not spelt
@andersjjensen
2 жыл бұрын
@@LochyP Spelt is sort of grain. So apparently he's complaining about the agricultural variant of GIF... or something..
it's pronounced, "GIF" !!!
It's jui not gui
Did you really say "JIF"? Holy f
Just randomly checked what was going on on the channel and happened to see this…lol. Peanut butter?… really?
It's not jif or gif, it's ÿif
It's GIF. Not jif.
@binguloid
2 жыл бұрын
It's GIF, not GIF.
yif
@mfbfreak
2 жыл бұрын
OwO
Oh yea still blurry
Dafuq is a JIF? Its GIF. Do you get jifts for xmas? Do you jo and gump high with excitement if you do?
the LZW explanation is fucking terrible! I tried to get it by watching it again but the lack of sense being made I just found frustrating and it started to give me a headache with all the code word algorithm nonsense!
Starts of saying "JIF" - yikes, But he came around later :)
@andersjjensen
2 жыл бұрын
He alternates evenly between JIF and GIF throughout the video... but Rick rolls everyone! :P
@Jet-Pack
2 жыл бұрын
@@andersjjensen I think he's just trolling everyone, I like it.
So what is the proper pronunciation?
@GodlikeIridium
Жыл бұрын
Graphics interchangeable format. G as in graphics. So gif, not jif.
@greenatom
Жыл бұрын
@@GodlikeIridium That's the way I've always seen it. Maybe it should be called grif.
It's infuriating when you say 'Jif'
Pronounced wrong right out of the gate, good job
@Ddub1083
2 жыл бұрын
*WHOOSH....
For the last time, it’s GIF, like GIFT, NOT “JIF” We know this for a fact because the .JIF file format also exists. Thus, in order to make a distinction between the two formats, .GIF is pronounced with a hard G, like GIFT.
@davidfleischer985
2 жыл бұрын
language is defined by usage, not standards
@xxsuper99xx
2 жыл бұрын
Pronounced like the g in graphic, because it stands for that g
@anonymous.youtuber
2 жыл бұрын
Clearly, opinions differ on this. Let’s have a vote on it and then declare the election stolen. So American !
@Ramndom
2 жыл бұрын
slowdown there. let people have fun. stop correcting
@GunganWorks
2 жыл бұрын
1.) This is an example of a time when standards overrule common usage. The fact that many people pronounce .GIF as “JIF” means many people are pronouncing it incorrectly, just like those who say “aks” instead of “ask” or “nucular” instead of “nuclear” and “irregardless” instead of “regardless” 2.) The file format is the Graphics Interchange Format not “Jraphics Interchange Format”
My face hurts from cringing every time you mispronounced "gif".
He said "jif". I can't watch (listen to) the rest of this video
@JamesLewis2
Жыл бұрын
He uses the hard G after that.
netscape was worse than terrible even at 14400 lol
GIF is pronounced as JIF not GIT
@andersjjensen
2 жыл бұрын
Even Jod the almighty, ruler of Heaven and Earth, does not pronounce it JIF. Only the original developer. Who doesn't get a say. That simple. It's not Japhics Interchange Format! :P
It might be my hearing, but I'm sure he calls it both "jif" and "gif". It reduces his credibility when he can't even get the basics right
@Ddub1083
2 жыл бұрын
*WHOOSH
@JasminUwU
2 жыл бұрын
Who cares about pronunciation, the accuracy of the info is what matters
@markc6714
2 жыл бұрын
@@JasminUwU it IS part of the detail. If you know the subject, you know the pronunciation.
@JasminUwU
2 жыл бұрын
@@markc6714 the pronunciation of it has been a heated debate for decades now, it really doesn't matter which one you choose.
@markc6714
2 жыл бұрын
@@JasminUwU and so has the existence of the lock Ness monster....but there's a clear answer, and then there are the idiots.....