Google - Pri Googlu so povedali da so med iskanjem največje upočasnitve pri nalaganju spletnih strani vedno našli enakega krivca, slikovne datoteke. Tekom raziskave so razvijalcem omogočili optimizirati in pohitriti nalaganje praktično vseh delov spletnih strani, razen slik. Odločili so se, da bodo poskušali popraviti še to, kar načrtujejo s predstavitvijo novega slikovnega formata WebP.
Osredotočili se bodo predvsem na format JPEG, ki že zdaj uporablja kompresijo z izgubo informacij (PNG je npr. format s kompresijo brez izgube kakovosti, t.i. lossless), saj je ta daleč najpogostejši na spletu. Želijo povečati stopnjo kompresije, a obenem ne želijo vidno izgubiti informacij, kar je običajno naravna posledica stiskanja. Za samo stiskanje informacij bodo uporabili kar gradnike svojega kodeka za videoposnetke, VP8, katerega izvorno kodo so objavili letošnjega maja.
Skupaj s formatom WebP so predstavili še nov tip datoteke, osnovan na datotekah RIFF, ki bo služil kot hramba podatkov za nov format. Ker želijo predvsem zmanjšati velikost slikovnih datotek, da se bodo le-te prenesle hitreje, nov zabojnik zavzame le 20 bajtov pri vsaki sliki.
WebP so inženirji pri Googlu že preizkusili in odkrili, da so pri približno milijonu slik s spleta (nekaj PNG-jev in GIF-ov z večino JPEG-ov) zmanjšali velikost datotek za 39%, brez da bi to vidno vplivalo na kakovost same slike. Pripravili so še primerjalno galerijo med osmimi datotekami, da lahko sami ocenite kakovost novega formata (WebP je trenutno zapakiran v datoteke PNG). Pri Googlu za bližnjo prihodnost pripravljajo še dodatno plast za slike, t.i. alpha plast, ki doda možnost prozornosti, ter popravek za brskalniški pogon Web-Kit, ki bo omogočil nativno podporo formatu WebP.
Ne vem aj se je zgodilo z Microsoftovim formatom slik, ki naj bi bil odprt in superioren JPEG-u...
Drugače pa ste za PNG mal čudno napisali. Lossless ne pomeni brez kompresije ampak pomeni kompresijo brez izgube podatkov. In PNG lahko uporablja lossless encoding. In tud PNG še zdaleč ni najbolj razširjen format, ta je še vedno kar lepo JPG. V PNG so se z odhodom IE6 resno pretvrili samo avatarji na forumih na račun boljše transparence kot pri GIF-ih. Pa elementi spletnih strani kjer pa je PNG običajno celo boljši, ker so fajli manjši in brez tipičnih JPEG artefaktov, ki nastanejo zaradi kompresije. Osebno bi mi čist odgovarjal PNG pri katerem bi izboljšali lossless encoder.
RejZoR... saj piše da je JPG najbolj razširjen. Sam mau morš oklepaje pogledat ;) Tudi sam sem mislil da piše za PNG. Ker se mi je zdelo nekoliko sumljivo sem šel pa še enkrat čez.
Sedaj bo google upeljal en kup standardov od videa do slike, potem pa bomo spet čakali 10 let, da se bodo vsi brskalniki in aplikacije temu prilagodile. Na koncu bodo še ugotovili, da je za hitrost kriv tudi HTML in bodo naredili nekaj drugega.
Zanimivo, pri meni so največji krivci do sedaj bili: -flash vsebina -reklame (ok, odkar obstaja AdBlock, tudi pralni stroj pere boljše :) ) -nepregledno redirectanje, preden se odpre dejanska stran na dejanskem URLju (v porastu z raznoraznimy bit.ly, sns.ly, goo.gl ipd. :\ , sicer pa že prisotno prej pri downloadanju kakšnega sharewarea ipd., ker je skakal od mirrorja do mirrorja, preden je začel download)
Pri toliko ogledih strani, kot jih ima google (in še mnogi drugi) 39% prihranka pri bandwidthu nikakor ni zanemarljivo in gredo številke hitro lahko v milijone $.
Fact je, da je sam content še najmanjši razlog za počasno nalaganje, sploh dandanes, ko je 56k povezava nekako stvar zgodovine. In ko pri 8Mbit+ liniji čakaš par sekund da se stran naloži to ni krivec sam content v JPG ali PNG obliki ampak 100 stvari, ki na strani ne počnejo drugega kot navlako in browser čaka na njih, da se naložijo. V prvi vrsti so tle ogromne Flash reklame, slikovne reklame na ogabno počasnih serverjih ter stat trackerji spet na počasnih serverjih. Potem pa so še famozni "Facebuke" knofi, ki so vsepovsod in so isto razlog za počasno nalaganje. Ko se enkrat znebiš tega govna strani postanejo kar naenkrat izjemno hitre. Har har.
Osebno bi bil bolj za optimizacijo obstoječega PNG formata z boljšim lossless algoritmom oz še bolje, zbrcal web designerje, ki dajejo gor neoptimizirano grafiko. Ker razlike so že med PNG-jem generiranim v MS Paint, Paint.NET, GIMP in kakšnim Photoshopom oz namenskimi PNG optimizatorji. Pred leti sem tud za GIF-e dobival različne rezultate kjer sem v nekaterih z boljšim dither filtrom dobil lepše slikce, ki so zasedale bistveno manj. Enako pa je s PNG fajli.
Malo zabavno mi je, da slika za primerjavo med Original, JPG, GIF in PNG, kodirana v formatu JPG. :) Opazil sem pa ker sta se Original in PNG razlikovala, kar mi ni ravno šlo v glavo zakaj bi to bilo tako. :D Ah manjša napaka samo se mi je zdelo zabavno.
Zanimivo. Meni pa Opera največkrat med nalaganjem strani piše nekaj v tem stilu "waiting for ad.google," in ko konča čakanje, se tudi reklama in celotna stran naloži zelo hitro.
Potem redirectanje. www.gmail.com, vpišeš user/pass, in te ene petkrat redirecta, preden prideš do svojega inboxa.
--
To je seveda iz uporabniške strani. Iz strani contenct providerjev, kot je Google, je pa perspektiva seveda drugačna. Sam sicer po eni strani pozdravljam googlov napor, da pohitri internet, a po drugi strani, je tako, kot je omenil nekdo zgoraj: spet nov "standard" in preden se prime, bo trajalo, nato bo pa postal Chrome kot IE6 z ActiveX oziroma kakšen drug brskalnik pa z nalepko/značko "google compability browser." (I hope not!)
--
Še nekaj glede PNG. (Ki je moj najljubši format.) Ko v GIMPu shranjuješ sliko v .PNG formatu, imaš možnost nastavitve stopnje kompresije. Kaj je sedaj s tem?
--
edit:
Link do večjih slik za primerjavo med JPEG in WebP, ~40MB: webp.googlecode.com
Meni se slike na prvi pogled zdijo enake. Ampak za resno primerjavo, bi morali dati slike z večjo resolucijo, vsaj 4160x2800 (na blef ena "standardna" večja resolucija).
Islam is not about "I'm right, you're wrong," but "I'm right, you're dead!"
-Wole Soyinka, Literature Nobelist
|-|-|-|-|Proton decay is a tax on existence.|-|-|-|-|
Osebno bi bil bolj za optimizacijo obstoječega PNG formata z boljšim lossless algoritmom oz še bolje, zbrcal web designerje, ki dajejo gor neoptimizirano grafiko. Ker razlike so že med PNG-jem generiranim v MS Paint, Paint.NET, GIMP in kakšnim Photoshopom oz namenskimi PNG optimizatorji. Pred leti sem tud za GIF-e dobival različne rezultate kjer sem v nekaterih z boljšim dither filtrom dobil lepše slikce, ki so zasedale bistveno manj. Enako pa je s PNG fajli.
Rejzor: Tvojega komentarja nisem prebral, preden sem sam postal. S tvojimi ugotovitvami se strinjam, ker dejansko obstaja razlika pri generiranju .png fajlov. Za resize se je v zadnjem času pojavil nek lanzcos/Neki algoritem, ki daje izmed štirih (treh) "standardnih" in ene pet "ne-standarndih", najboljše rezultate.
Če "delaš" slike iz kakšnega RAW formata, ti priporočam, da ga probaš. Dobiš ga pa kot plugin za GIMP. Mogoče si našel boljšo rešitev, ampak moje oči, ga imajo rajraje.
Islam is not about "I'm right, you're wrong," but "I'm right, you're dead!"
-Wole Soyinka, Literature Nobelist
|-|-|-|-|Proton decay is a tax on existence.|-|-|-|-|
Kako ponazoriti, kako se razlikuje lossy vs lossless kompresija, če je slika, ki jo gledaš v lossy formatu???
Največja napaka desetletja je bila narejena 4. novembra 2008
Oni so goljufali in Alah je goljufal, Alah je najboljši prevarant. (Koran 3:54)
Citiraj svetega očeta Benedikta XVI. in postani "persona rudis"...
Ko sva z Rejzorjem, vsak zase, ugotovila, da različni programi generirajo različne PNGje, sem se sedaj spomnil na fotoaparate, ki shranjujejo v JPG.
Nisem expert na področju fotografije; zame je fotoaparat naprava, katera, ko hočem slikati, mora *sama* ugotoviti, kaj hočem in se sama nastaviti ter mi povedati kdaj naj slikam. Kako profiči pravite takšnim fotografom/fotoaparatom? Trotel_XXXX? Ja, to je zame/to sem jaz.
No, tudi tukaj se pozna razlika med mojim bivšim Sonyjem in sestričnim Canonom. Sony naredi sliko v velikosti približno 1MB**. Canon dela malo večje fotke. Recimo ~1.2MB. Na FullHD monitorju se pa opazi razlika v živosti barv, ostrini in nasploh je lepša slika v prid Sonyjevem Idiot-Proof fotoaparatu. Canon Idiot-Proof, ki je bil v istem cenovnem razredu, ima podobne specifikacije, pri enaki resoluciji naredi ~1.2MB, ki pa mojim očem ne naredi tako prijazne, lepe, memorable fotografije. (Ker sva fotkala na nekaj lokacijah skupaj, sem lahko primerjal moje in njene fotke.)
Objektivno se pa (skoraj) ne da ugotoviti, kateri fotoaparat je naredil bolj pristno fotografijo, pa še to so bile razlike povečini majhne, da bi moje preference lahko pripisal placebu, ampak to ni point. Beri zaključek spodaj.
*je delal, ker so mi ga ukradli. **če sem slikal podnevi in je bilo na sliki več barv, kakšne sence,... Če si slikal kakšno sivino, ali pa nebo, je bila slika manjša.
--
Moj zaključek: Tako kot programi, tudi naprave, ki na tak ali drugačen način obdelujejo slikovne formate, uporabljajo drugačne algoritme z drugačnim izkupičkom. Več (MB) ni vedno bolje.
Islam is not about "I'm right, you're wrong," but "I'm right, you're dead!"
-Wole Soyinka, Literature Nobelist
|-|-|-|-|Proton decay is a tax on existence.|-|-|-|-|
Jst: Sony in Canon verjetno uporabljata različne senzorje, zato pride do precejšnje razlike v živosti barv. Sama JPEG kompresija bolj vpliva na ostrost slike in na ostre prehode med barvami:
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.
ender: Saj pravim, jaz se na fotografiranje bolj malo spoznam. Zato hočem idiot proof fotoaparat, ki dela namesto mene. Ampak zanimivo mi je bilo to, da kljub večji sliki (JPG, ista resolucija) za 20%, je bila le ta ... skoraj enaka, ampak definitivno ne za 20% drugačna.
Islam is not about "I'm right, you're wrong," but "I'm right, you're dead!"
-Wole Soyinka, Literature Nobelist
|-|-|-|-|Proton decay is a tax on existence.|-|-|-|-|
Pač aparata uporabljata različno stopnjo kompresije. Primerjaj ti dve sliki:
23kB
13kB
Kljub temu, da je ena skoraj za polovico manjša od druge, pri običajni povečavi praktično ne vidiš razlike - samo zato, ker je prva skoraj dvakrat večja, še ne pomeni, da tudi izgleda dvakrat bolje.
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.
Torej, zakaj je Google šel v nov format, ko bi lahko optimiziral ali inoviral algoritme za stiskanje in jih ponudil svetu pod BSD licenco. Bi bilo veliko več narejenega v pozitivnem smislu. In ne samo na internetu.
Hja, vem zakaj. Google Ads. :/
Islam is not about "I'm right, you're wrong," but "I'm right, you're dead!"
-Wole Soyinka, Literature Nobelist
|-|-|-|-|Proton decay is a tax on existence.|-|-|-|-|
Zanimivo. Meni pa Opera največkrat med nalaganjem strani piše nekaj v tem stilu "waiting for ad.google," in ko konča čakanje, se tudi reklama in celotna stran naloži zelo hitro.
Potem redirectanje. www.gmail.com, vpišeš user/pass, in te ene petkrat redirecta, preden prideš do svojega inboxa.
+1
Naj najprej pred svojin pragom pometejo. Na skoraj vsaki strani mi wait piše ali za google ads ali za google analytics. Hvala bogu, da adblock zna del tega zblokirat. Prav tako AFAIK google ads redko ali pa sploh ne vsebuje slik, tako da tale WebP ne bo pri tem nič pomagal.
Pri gmailu pa tudi te 10x redirecta, včasih pa še rabi 2 leti in napiše, da naj raje preklopiš v navadni HTML.
in kaj pol ce cakatena google ads in analyticse? obojni so tko nareti, da se nalagajo, ko je stran nalozena... tak da nic ne zamuajte... sploh ce so razvijalci strani pametni in dajo analitikse cisto c nogo strani
Na skoraj vsaki strani mi wait piše ali za google ads ali za google analytics.
V hosts datoteki narediš preusmeritve domene na localhost: 127.0.0.1 www.google-analytics.com 127.0.0.1 google-analytics.com
Če imaš http strežnik, lahko daš v / še prazno datoteko ga.js ...
Največja napaka desetletja je bila narejena 4. novembra 2008
Oni so goljufali in Alah je goljufal, Alah je najboljši prevarant. (Koran 3:54)
Citiraj svetega očeta Benedikta XVI. in postani "persona rudis"...
Točno. Če datoteka /ga.js obstaja, potem ne vpraša vsakič zanjo (in dobi 404 odgovor). Ni pa to neka tako nujna stvar, da bi si moral instalirati http strežnik zaradi nje. Če ga pa že imaš, potem pač daš to datoteko not.
Največja napaka desetletja je bila narejena 4. novembra 2008
Oni so goljufali in Alah je goljufal, Alah je najboljši prevarant. (Koran 3:54)
Citiraj svetega očeta Benedikta XVI. in postani "persona rudis"...
Tudi to je alternativa - da da preusmeriš www. in google-analytics.com domeno na svoj javni strežnik. Potem si zapomni (cache) ga.js, tako da je ni treba vsakokrat nalagati.
Največja napaka desetletja je bila narejena 4. novembra 2008
Oni so goljufali in Alah je goljufal, Alah je najboljši prevarant. (Koran 3:54)
Citiraj svetega očeta Benedikta XVI. in postani "persona rudis"...
ne, stran se ne nalaga dlje...stran se nalozi (jo lahko komot uporabljas, pregledujes, etc)... nato se nalozi analytics... tvojega workflowa nic ne moti.... edino ce se vpicis v to, da ti pise, da se nekaj nalaga
Če hočejo, gredo lahko gledat apache/IIS log. Googlu se pač ne pustim vohuniti, da točno ve kdaj in po kateri spletnih straneh grem.
Največja napaka desetletja je bila narejena 4. novembra 2008
Oni so goljufali in Alah je goljufal, Alah je najboljši prevarant. (Koran 3:54)
Citiraj svetega očeta Benedikta XVI. in postani "persona rudis"...
kako je lahko? pr veliki vecini strani je koda za analyticse cisto na koncu.. torej se cela stran nalozi prej, sele nato se izvede koda analyticsov, ki nic ne vpliva na nalaganje same strani.... in se to, se izvede le par vrstic kode...ki potem gre iskat na googlov server dejansko kodo..
nedvomno, da rabi kar nekaj casa, da nalozi vse potrebno (ce se nimas pokeshirano od drugih strani)...ampak to na tvoj workflow ne vpliva!
google adsi pa so mal drugacni... tisto zarad mene tudi ce v celoti blokirate :)
Neodvisni testi so zelo skritizirali Googlov WebP. Ni problem samo v implementaciji, pač pa tudi v (ne)podprtih metodah kompresije. Ne podpira niti transparentnosti (alpha)...
Če že gremo uvajati nekaj novega, bi moralo to biti to nedvomno boljše kot današnji JPEG/PNG.
Največja napaka desetletja je bila narejena 4. novembra 2008
Oni so goljufali in Alah je goljufal, Alah je najboljši prevarant. (Koran 3:54)
Citiraj svetega očeta Benedikta XVI. in postani "persona rudis"...
Neodvisni testi so zelo skritizirali Googlov WebP. Ni problem samo v implementaciji, pač pa tudi v (ne)podprtih metodah kompresije. Ne podpira niti transparentnosti (alpha)...
Če že gremo uvajati nekaj novega, bi moralo to biti to nedvomno boljše kot današnji JPEG/PNG.
A ne bi blo kul če bi vsi pametovali brez da bi prebrali novico?
Pa JPEG (ki naj bi ga WebP zamenjal) ima TAKO odlično podporo alpha channelu.
A ne bi blo kul če bi vsi pametovali brez da bi prebrali novico?
Pametovali???
09/30/2010 (7:48 pm) H.264 and VP8 for still image coding: WebP?
JPEG is a very old lossy image format. By today’s standards, it’s awful compression-wise: practically every video format since the days of MPEG-2 has been able to tie or beat JPEG at its own game. The reasons people haven’t switched to something more modern practically always boil down to a simple one — it’s just not worth the hassle. Even if JPEG can be beaten by a factor of 2, convincing the entire world to change image formats after 20 years is nigh impossible. Furthermore, JPEG is fast, simple, and practically guaranteed to be free of any intellectual property worries. It’s been tried before: JPEG-2000 first, then Microsoft’s JPEG XR, both tried to unseat JPEG. Neither got much of anywhere.
Now Google is trying to dump yet another image format on us, “WebP”. But really, it’s just a VP8 intra frame. There are some obvious practical problems with this new image format in comparison to JPEG; it doesn’t even support all of JPEG’s features, let alone many of the much-wanted features JPEG was missing (alpha channel support, lossless support). It only supports 4:2:0 chroma subsampling, while JPEG can handle 4:2:2 and 4:4:4. Google doesn’t seem interested in adding any of these features either.
But let’s get to the meat and see how these encoders stack up on compressing still images. As I explained in my original analysis, VP8 has the advantage of H.264′s intra prediction, which is one of the primary reasons why H.264 has such an advantage in intra compression. It only has i4x4 and i16x16 modes, not i8x8, so it’s not quite as fancy as H.264′s, but it comes close.
The test files are all around 155KB; download them for the exact filesizes. For all three, I did a binary search of quality levels to get the file sizes close. For x264, I encoded with --tune stillimage --preset placebo. For libvpx, I encoded with --best. For JPEG, I encoded with ffmpeg, then applied jpgcrush, a lossless jpeg compressor. I suspect there are better JPEG encoders out there than ffmpeg; if you have one, feel free to test it and post the results. The source image is the 200th frame of Parkjoy, from derf’s page (fun fact: this video was shot here! More info on the video here.).
Files: (x264 [154KB], vp8 [155KB], jpg [156KB])
Results (decoded to PNG): (x264, vp8, jpg)
This seems rather embarrassing for libvpx. Personally I think VP8 looks by far the worst of the bunch, despite JPEG’s blocking. What’s going on here? VP8 certainly has better entropy coding than JPEG does (by far!). It has better intra prediction (JPEG has just DC prediction). How could VP8 look worse? Let’s investigate.
VP8 uses a 4×4 transform, which tends to blur and lose more detail than JPEG’s 8×8 transform. But that alone certainly isn’t enough to create such a dramatic difference. Let’s investigate a hypothesis — that the problem is that libvpx is optimizing for PSNR and ignoring psychovisual considerations when encoding the image… I’ll encode with --tune psnr --preset placebo in x264, turning off all psy optimizations.
Files: (x264, optimized for PSNR [154KB]) [Note for the technical people: because adaptive quantization is off, to get the filesize on target I had to use a CQM here.]
Results (decoded to PNG): (x264, optimized for PSNR)
What a blur! Only somewhat better than VP8, and still worse than JPEG. And that’s using the same encoder and the same level of analysis — the only thing done differently is dropping the psy optimizations. Thus we come back to the conclusion I’ve made over and over on this blog — the encoder matters more than the video format, and good psy optimizations are more important than anything else for compression. libvpx, a much more powerful encoder than ffmpeg’s jpeg encoder, loses because it tries too hard to optimize for PSNR.
These results raise an obvious question — is Google nuts? I could understand the push for “WebP” if it was better than JPEG. And sure, technically as a file format it is, and an encoder could be made for it that’s better than JPEG. But note the word “could”. Why announce it now when libvpx is still such an awful encoder? You’d have to be nuts to try to replace JPEG with this blurry mess as-is. Now, I don’t expect libvpx to be able to compete with x264, the best encoder in the world — but surely it should be able to beat an image format released in 1992?
Earth to Google: make the encoder good first, then promote it as better than the alternatives. The reverse doesn’t work quite as well.
Addendum (added Oct. 2, 03:51):
maikmerten gave me a Theora-encoded image to compare as well. Here’s the PNG and the source (155KB). And yes, that’s Theora 1.2 (Ptalarbvorm) beating VP8 handily. Now that is embarassing. Guess what the main new feature of Ptalarbvorm is? Psy optimizations…
Če to napiše glavni developer x264, verjamem napisanemu...
Največja napaka desetletja je bila narejena 4. novembra 2008
Oni so goljufali in Alah je goljufal, Alah je najboljši prevarant. (Koran 3:54)
Citiraj svetega očeta Benedikta XVI. in postani "persona rudis"...
Pri Googlu za bližnjo prihodnost pripravljajo še dodatno plast za slike, t.i. alpha plast, ki doda možnost prozornosti, ter popravek za brskalniški pogon Web-Kit, ki bo omogočil nativno podporo formatu WebP.
Google se obnaša zadnje čase kot MS v 90ih. Sili svoje formate, ki so en crap, odprtokodniki*, pa padajo v nezavest, kako je pa to res leto odprte kode. Ojoj. Ja leto zelo slabe odprte kode.
*(med katere spadam tudi sam)
Saj WebP ni toliko problem, ampak WebM. Nažene ga v kot deset let star enkoder. Google ga reklamira kot OS, a specifikacije so zabetonirane. Še huje, specifikacije so kar sama koda. In v "svoje" - Android - mobilnike bo zagotovo silil hardwareski dekoder za WebM, kar bo consumer naprave samo podražilo, brez da bi kaj konkretnega pridobili.
Lepo, da se trudijo, ampak naj se pri consumer napravah ne grejo "once a beta allways beta."
Oboje, WebM in WebP bi morali najprej spolirati, napisati Prave specifikacije, jih dati v public beto za ene 6 mesecev, da bi se lahko Google-Moderirano spreminjali, ker sem siguren, da bi skupnost v tem času naredila zadeve res boljše, kot obstoječe in desetleja stare.
Google, Do No Evil, Remember???
Islam is not about "I'm right, you're wrong," but "I'm right, you're dead!"
-Wole Soyinka, Literature Nobelist
|-|-|-|-|Proton decay is a tax on existence.|-|-|-|-|
google je v zadnjih letih naredil OGROMNO za razvoj interneta... in vecina teh stvari je ODPRTOKODNIH, to pomeni, da lahko kjerkoli pripomore k izboljsani kodi...
po mojem mnenju ne gre nikakor metati googla in MS v isti kos...
sicer je pa MS naredil tudi ogromno koristnega... ce nebi forsirali office in boljse winse tudi open office nebi bil v taksni obliki danes kot je ali pa ubuntu/leopard in podobni
M$ pa je takrat vsiljeval svoje standarde mimo uveljavljenih standardov, google pa dela pravilno, s predlogi standardov in usklajevanjem le teh