A Google támogatja az ARM-ra optimalizált Theora lib fejlesztését

Címkék

A Google nyílt forrású blogjában egy érdekes bejegyzés olvasható arról, hogy miért problémás a videó publikálás a tartalomszolgáltatók számára jelenleg az interneten. Régen elég volt, ha a videót le lehet játszani Windows-on és Mac-en. Jelenleg ez már nem elég. Mivel játsszák le? Az embereknél Android, ChromeOS, iPhone OS, Linux, Maemo, Symbian és ki tudja még milyen rendszer van. Nem beszélve arról, hogy a szolgáltatóknak fel kell készülniük arra, hogy az embereknél található különböző készülékek különböző teljesítményűek - desktopok és laptopok, netbookok, PDA-k és telefonok. Szerencsére itt a HTML5. A böngészők elkezdték támogatni.

Persze a probléma még koránt sincs megoldva. További kérdés az, hogy milyen formátumot használjanak. Ahogy az otthoni videokészülékeken fejlődött a minőség a VHS-től a DVD-n át a BluRay-ig, a webes video is egyre jobb minőségű lesz. Nincs ezzel semmi baj, a meglevő webszerver technológiák képesek a videót az adott eszköznek megfelelő minőségben kiszolgálni.

Persze szükség van egy olyan alapra, egy olyan standard formátumra, amire mindenki vissza tud váltani, vissza tud állni igény esetén. Ez a formátum nem kell, hogy a legkomplexebb formátum legyen. Az a lényeg, hogy elérhető legyen mindenhol. Ami szóba jöhet az Ogg Theora. Legnagyobb előnye a többivel szemben hogy teljesen szabad.

A video dekódolás egész CPU-intenzív feladat. A Theora messze nem olyan komplex mint legtöbb társa. Más codek-ek gyakran célhardvert igényelnek az eszközökben a megfelelő teljesítmény eléréséhez. Ezzel szemben a Theora gondos kódolás mellett ilyen eszközök nélkül is elvégzi a feladatot.

Az egyre szélesebb körben terjedő PDA-k, telefonok, netbookok, tablet-ek, médialejátszók egyre inkább ARM processzorokra épülnek. Szükség van arra, hogy ezeken az eszközökön tisztességes Theora lejátszás legyen.

Ezért támogatja a Google az ARM-ra optimalizált Theora - a TheorARM - fejlesztését.

Previous versions of Theorarm have been released under the GNU GPL, but thanks to a grant from Google it has now been rereleased under the same BSD style license as the original Theora library was. Many thanks to everyone at Google for making this happen!

A részletek itt.

Hozzászólások

Na a sok hivatásos gugli-rettegő most kereshet újabb szálkát a szemükben, mert a h.264-es balhé megoldódni látszik

Nekem egyből ez a youtube-os dolog ugrott be, hogy akkor mit is akarnak. Nem lenne hülyeség amúgy, biztos megvan az oka a lépésnek bőven -- ahogy mondod is -- csak akkor a múltkori felhajtásnak abban a formában semmi értelme nem volt. Vagy a gugli nagyon titkolózik, vagy egyelőre nem tudja pontosan h merre kéne lépni.

Nekem mar akkor az volt a velemenyem, hogy nem feltetlen a google a satan, amiert a flash-t segiti (pl chrome+flash-plugin tarsitassal), csupan realista, es _most_ is megoldast akar a felhasznaloknak nem csak a tavoli jovoben, amikor "minden html5 lesz" (ha lesz). Szerintem teljesen korrekt, hogy gondol a jovore is, tamogat ilyen fejleszteseket, nyomatja a html5-ot, de emellett gondol a jelenre is, amikoris meg eleg sok minden flash alapu, es akkor az kell a nepnek eppen meg.

Nem értem én ezt, mi lesz az On2-vel?

-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."

Akkor nezd meg a ket algoritmust, a kepessegeiket es az implementaciokat. A VP3 gyakorlatilag az MPEG2 rivalisakent jott letre, meghozza ugy, hogy ne kelljen jogdijat fizetni.

Persze az MPEG2-hoz kepest azert volt benne fejlodes, ill. a golden frame struktura az jo otlet, de megis csak jobb blokk cimzest tud a H.264, ill. a rengeteg egyeb feature (egy jelentos kulonbseg az arithmetic coding) ami nincs jelen a Theoraban.

Illetve a linkelt tesztekhze: H264+AAC vs Theora+Vorbis. Ez igy nagyon csaloka. H264 vs Theora-t kell osszehasonlitani anelkul hogy az audio befolyasolna.

--
http://bsdbased.com

"Ez a formátum nem kell, hogy a legkomplexebb formátum legyen"

Kepminoseg vs. bitrata osszehasonlitasban nem biztos, hogy a fenti mondat lesz a mervado.

"Az a lényeg, hogy elérhető legyen mindenhol."

Sajnalattal kell kozolnom, hogy a mai napon a H.264 dekoderek sokkalta szelesebb korben erhetoek el (HW implementaciok).

"Kepminoseg vs. bitrata osszehasonlitasban nem biztos, hogy a fenti mondat lesz a mervado."

Egyszerű felhasználónak vajon feltűnne a különbség?

"Sajnalattal kell kozolnom, hogy a mai napon a H.264 dekoderek sokkalta szelesebb korben erhetoek el (HW implementaciok)."

Mintha épp az lenne a gugli célja ezzel, hogy ne legyen szükség külön hw támogatásra (és licencdíj-fizetésre) a videólejátszáshoz.

"
"Kepminoseg vs. bitrata osszehasonlitasban nem biztos, hogy a fenti mondat lesz a mervado."

Egyszerű felhasználónak vajon feltűnne a különbség?
"

Ennek igy mi koze van az egeszhez?

"Mintha épp az lenne a gugli célja ezzel, hogy ne legyen szükség külön hw támogatásra (és licencdíj-fizetésre) a videólejátszáshoz."

Hardver lejatszas szinte mindig olcsobb osszesegeben, mint cpu-n torteno lejtaszas. Ha egyeduli kulonbsegkent a fogyaszatas (=> hasznalti ido) marad, az is penzbeli kulonbseget jelent.

Attol, hogy HW tamogatasa van valaminek, a licencdij nem szunt meg, legfeljebb a chipgyarto fizeti helyetted es beepiti az arba.

A "Ez a formátum nem kell, hogy a legkomplexebb formátum legyen." milyen modon fejezi azt ki, hogy a Theora jobb/azonos kepminoseget eredmenyez? Semmi koze nincs hozza, megis szerintetek emiatt jobb?

Adott ket formatum, melyben tobb mintat azonos bitrataval tomoritunk. Ezutan pedig sok felhasznalo reszvetelevel vaktesztet vegzunk melyik a jobb kepminoseg teren.

Amig ez nem tortent meg, hiaba megy a gorcsoles, hogy a Theora jobb. Algoritmikai szinten nezve a H.264 jobb minoseget fog produkalni azonos bitratan mint a Theora. Ez sajnos teny.

Olvasd el a regebbi hozzaszolasokat is, abban benne van, hogy tobb opciot tamogat, tobbek kozott arithmetic codingot, ami bizonyos esetekben sokkal hatasosabb mint a huffman, amit a theora tud.

Ezenkivul a kepminoseg szubjektiv, de van par fokmeroje pl a PSNR, amit mar valamilyen szinten ossze tudsz hasonlitani a ketto kozt.

Rovidre zarva: engem nem erdekel melyik milyen, de azon kar erolkodni, hogy technikailag melyik a fejlettebb: a H.264. Ezenkivul amig nem tudsz egy rendes vakteszt kutatasi eredmenyt mutatni, addig nincs mire alapozni, hogy egy technikailag fejletlenebb megoldas ugyanazt hozza mint egy technikailag fejletebb.

A Theora mennyire kulonbozik a JPEG-tol? Ezt probalnam megertetni hogy a Theora is "mult evezred" technologiaihoz tartozik, egy szinten van az MPEG2-vel, tehat a PSNR a te definiciod szerint alkalmazhato ra.

Mondj egy jobbat a PSNR-nel (azt nem allitotam h ez a legjobb, viszont eleg elterjedt). Illetve szolj a Xiph / FFmpeg / Xvid csapatoknak, hogy a PSNR alkalmatlan barmire is es sose hasznaljak regression teszteknel se.

megnyugodtam, azt hittem már, hogy lemaradtam valami vaktesztről. de ha ilyen a te birtokodban sincs, akkor azt is fölösleges hangsúlyozni, hogy überfasza a h264, mert ugyanannyi az alapja, mint annak az állításnak, hogy a theora überfasza.

a technikai/algoritmikus fejlettség meg _nem számít_ a formátumok harcában. lásd mp3. végezzetek vakteszteket, hozzátok ki egyiket vagy másikat győztesnek, addig meg ne dobálózzunk itt fejlettséggel.

a képminőség számít _bizonyos szintig_, de sejtésem szerint 10-ből 9 user abszolút nem venné észre, ha mondjuk youtube-on lecserélnék a videókat theora-ra. ha egymás mellé tennék a két formátumot, akkor talán észrevenne valami _különbséget_. nem romlást/javulást. egyiknek se mondanám rossznak a képét.
szerintem.

Azt sose allitottam, hogy Theora nem tud ugyanolyan minoseget produkalni, mint a H.264. Es az biztos, hogy az MP3 is tud olyan minoseget produkalni mint a Vorbis.

A hangsuly az ehhez felhasznalt bitratan van.

De amugy inkabb hagyom az egeszet, azt hasznalsz amit akarsz es a nagy opensource osszeborulas elveben meg lehet nyaladzani, hogy Theora FTW mert open.

(Egyebkent fejlesztettem Theora codecet)

Srácok!

Senki nem azt mondta, hogy a Theora jobban fog kinézni. Sőt, a kinézetről szó sem volt.

Arról volt szó, hogy a Theora szabad, vagyis bármilyen platformra elérhető (mert meg lehet írni), és nem komplex, tehát szerény teljesítményű hardveren is le lehet játszani.

Ezek egyike sem igaz pl. a h264-re. Ennek a cikknek a kapcsán így kell ezeket összehasonlítani, nem az algoritmus fejlettsége, vagy a kép jósága alapján.

Azon alapult, hogy jobban jarna nagykozonseg, ha a VP6/7/8 lenne szabad es a Youtube azt hasznalna. (Mas helyeken a H.264-tol egy ideig most nem lehet megszabadulni, mert mart elegge beette magat az ipari megoldasokba.)

A VP3(Theora)-val is jol jar mindenki, mert lesz egy "szabad" formatum amire tobb fajta implementacio letezik mar.

Veszteni senki nem veszit semmit, a Theora tamogatasaval csak nyerunk. Azzal is nyerunk, ha a H.264 mellett Theora is elerheto lenne a Youtube-on.

Ha viszont csak Theora lenne a Youtube-on, azzal a teljes internetes kozosseg vesztene.

természetesen ha kell egy film HDban optimális helyhasználat mellett, akkor h.264 a választás.
ha HD videót akarok feltölteni, akkor sem zavar hogy h.264et használ a videomegosztó. a Google elbajlódik az esetleges szolgáltatói licencdíjakkal stb.
a h.264 compatibilis asztali lejátszónál sem érdekel mennyi licencdíjat kellett fizetnie utána a gyártónak, ha rászántam a pénzt. egyébként a legtöbb kínai gyártó egy kanyi jüant sem fizet semmilyen licencért. így licencdíjjal nem kalkulálva szinte minden lehetséges videoformátum támogatását beépítik a termékeikbe. itt koppantak hatalmasat a régi nagy szórakoztatóelektronikai márkák.

de ha saját videotartalmat is magában foglaló szervert kell csinálnom már problémás a h.264. pláne az 5évenkénti licencváltogató módszere miatt.
ma valószínűleg h.264et választanék, de jó tudni lesz mire konvertálni a videotartalmat, ha esetleg 2015ben csillagászati árú licencelésre váltana az mpeg.la.

a videocodecek között csúcstechnológia ugyanakkor nem a h.264, hanem a Dirac vagy a Snow.

Kb. errol van szo, viszont otthoni hasznalatra a h.264 megtekintese ingyenes, ha enkodolsz, akkor kereskedelmi szoftver araban benne van a license. Ha nem, akkor ugysem fog vele foglalkozni senki, mert nem massziv felhasznalo vagy. Ha ceg vagy, akkor meg termeld ki az arat, vagy dontsd el, hogy a minoseg mennyit er meg neked. Content providerkent hamar ra fogsz dobbenni, hogy a minoseg tobbet fog erni, mint az amibe egy jobb codec kerul. Theora sem ingyenes, maximum olcsobb.

a videocodecek között csúcstechnológia ugyanakkor nem a h.264, hanem a Dirac vagy a Snow.

Ezzel nincs mit vitatkozni, viszont keves hw Dirac/Snow kepes hw decoder van a notebookomban meg a telefonomban. :)

---
pontscho / fresh!mindworkz

"Hardver lejatszas szinte mindig olcsobb osszesegeben, mint cpu-n torteno lejtaszas."

Akkor is, ha a sw-s lejátszást se külön chip, se licencdíj nem drágítja?

"Ha egyeduli kulonbsegkent a fogyaszatas (=> hasznalti ido) marad, az is penzbeli kulonbseget jelent."

A fogyasztásbeli különbség akkor is mérhető, hogyha a user csak az idő pl. 5%-ában néz videót? Mennyit fogyaszt egy dedikált dekóderchip, amikor nincs rá szükség? Le lehet olyankor kapcsolni energiaspórolás végett?

"Attol, hogy HW tamogatasa van valaminek, a licencdij nem szunt meg, legfeljebb a chipgyarto fizeti helyetted es beepiti az arba."

Ezért írtem, amit, és alighanem ezt (is) akarja elkerülni a google.

a hw lejátszás is egyre inkább sw lejátszás mostanában. csak annyi a különbség, hogy van egy SoC chip a célra, ami black.boxként működik az eszköz tulajdonosa számára.
valamelyik vorbis levlistán ír arról az egyik fejlesztő, hogy az utóbbi időben egyre gyorsabb, általában Arm cpumagok kerültek a zenelejátszást végző cél SoC chipekbe, de ugyanakkor egyre kevesebb memória társul hozzájuk. a Vorbis pedig úgy lett tervezve anno, hogy lassú cpukon is működjön, de a másik oldalon több memóriát is fogyaszthat. ezért még gyártói támogatás esetén is lehetetlen vorbis támogatással ellátni ezeket a chipeket. imho hasonló helyzet lehet a Theora esetében is.
egy Google súlyú szereplő viszont akár változtathat is ezen.

Teljesen mindegy, hogy milyen a képminőség, lényeg, hogy mozgókép megjeleníthető vele.
A széles körben elérhető, még mindig kisebb mint a bárhol elérhető! Pont az a lényeg, hogy mivel nyílt forráskódú, ha akarod, akár abakuszon is fog menni. Egyébként nem minden multimédiás képességekkel rendelkező telefon rendelkezik h.264 dekódoló hardver. Ha a cpu kapacitásából csak annyira futja, hogy két pixel villog, akkor ez van. De legalább működik!

Forumatum beli kulonbsegek:
- flipped screen
- valtoztathato (1 verzio per file, elotte pedig dekoderben volt beegetve egy) quant/huffman/.. tablak

A jelentos kulonbseg az hogy a Xiph-en kivul volt valaki, aki irt egy jobb enkodert.

Alternativ VP3/Theora dekoder: http://git.ffmpeg.org/?p=ffmpeg;a=blob;f=libavcodec/vp3.c;h=2dccbcdea4e… (ebbol kiderulnek a kulonbsege)

De javits ki, ha tevednek.

--
http://bsdbased.com

Egész pontosan erre gondoltam:

Q. What can Theora do that VP3 couldn't do?
The major change from VP3 to Theora is architectural. VP3, like most codecs of today, makes certain assumptions about the nature of the material it compresses. These assumptions take the form of fixed sets of numeric values, such as quantization matrices, which control how different frequency components of the signal are handled, and token frequency tables, which control the efficiency of post-transform lossless coding. In Theora, we have leveraged the intrinsic flexibility of the Ogg multimedia framework to allow the encoder to modify these values appropriately for the material. This simple, powerful approach has already been proven effective in Vorbis, and will allow for a longer cycle of encoder optimization without requiring client-side updates.

tetszoleges kvantalasi matrixot MPEG2-ben is meg lehet adni, az optimalis huffman kod pedig valoszinuleg csak elvi lehetoseg, szerintem a theora encoder a beledrotozott fix huffman kodokat hasznalja.
pl. a vorbis is megenged tetszoleges huffman kodot, de az encoder ott (is) fix koddal dolgozik - viszont ott letezik egy "rehuff" nevu tool (irta Segher Boessenkool, a vorbis-dev listara kuldte el a forrast), ami kiszamolja az optimalis huffman kodot, ezaltal 2-3%-kal csokkentve a vorbis file meretet

- Use the Source Luke ! -

Amennyiben az adott formatum tamogatna a menetkozbeni kodtabla cseret, akkor nem lenne problema, mert lehetne menet kozben is adott pontoknal egy frissitest eszkozolni abbol kiindulva, hogy minnel nagyobb adathalmazt ismerunk meg, annal precizebben reprezentalja az a halmaz a teljes adatot.

Mivel a Theora nem tud ilyet (legalabbis a dekoderek biztosan nem), ezert indulasnal tudni kellene egy optimalis tablat, amit altalaban 1-2 frame alapjan szoktak becsulni.

Persze van mindenfele becsleses modszer, de logikusan vegiggondolva, abban az esetben ha a teljes streamre egy kodtablat hasznalhatunk, akkor a legopitmalisabb a teljes adathalmaz ismereteben egy fat felepiteni ezt pedig csak second-pass kivitelezheto.

Azt ugye nem tudod becsulni hogy a film felenel megvaltozik a karakterisztika :)

--
http://bsdbased.com

Igen valoszinu tobb pass kell. En csak azt mondom, hogy a theora eseten egy sima rehuff tool nem lesz optimalis mint vorbis eseten.
Azert nem, mert a trellis kvantalas es hasonlo modszerek a huffman kodok hossza alapjan donti el, hogy mit ir ki vegul a tomoritett folyamba (mi a legjobb) - tehat nem eleg siman egy statisztika a hasznalt kodokrol az optimalis huffman tablahoz (mint a rehuff-nal), mivel a huffman tabla megvaltozasaval az encoder altal kiirt es huffman kodolt adat is valtozik. Ez nem tunik egy trivialis problemanak (es a bonyolultsag okan lehet hogy inkabb az encoderben erdemes megoldani - ha egyaltalan lehet -, mint egy kulso toolban).

- Use the Source Luke ! -

Mindig is tetszett az ogg és a theora. Remélem nagyobb népszerűségre tesznek szert a jövőben.

Az én olvasatomban itt a sztori nem arról szól, hogy a Theora kell mindenhova, minden helyett és minden felett, hanem kell egy olyan formátum amire vissza lehet fallback-elni, ha az adott eszköz a jobb formátumot valami miatt nem tudja lejátszani.

--
trey @ gépház

Es ezzel senkinek semmi baja. A Theora pl nagyon jol muzsikal az Elphel kamerakon HD felbontasban (az egy "hardveres" enkoder implementacio). Nem akarom, hogy a Theora eltunjon, vagy ne is letezzen. Csak kar alomvilagban elni.

Az egyik linkelt blog mondja a tutit, hogy (mondjuk a szabad VP8 valtoztathat ezen) H.264 ill. Theorat is tamogassanak a bongeszok. Ennek az oka, hogy a nagy content providerek nem fognak viccbol atallni a Theorara, ha mar minden tartalmuk H.264-ben keszul/tarolodik/terjesztodik (felveteltol kezdve a tarolason at a lejatszasig minden esetben).

az On2 ma már Google. a patenttrollok ehhez igazítják a bírósági úton harácsolandó pénzösszeg nagyságát.
a VP3/Theora, egyszerűbb codec, ezért ott sokkal kisebb eséllyel fordulhat elő ilyen szabadalmi probléma. eddig nem volt semmi ilyesmi.
az On2 azért vállalta, mert tudta jó eséllyel úgyis nyer a bíróságon. azért kellett vállalnia, mert egy per sajnos komoly pénzbefektetést kíván, ami a Xiph.Orgnak nem áll a rendelkezésére, ezért elbukná egyedül. az On2vel szemben viszont a patenttroll bukna és utána fizetné a perköltséget az On2nek. nem véletlen, hogy eddig nem is próbálkoztak.
ebben a hülye világban imho az optimális út internetes videotartalom szolgáltatásban az encoderek fejlesztése a médiaformátum helyett. jogilag nehezebb támadni. az mp3 hangminősége is rengeteget javult az elmúlt évtizedben. egy jó mp3 és vorbis között ma már csak a vájtfülű audiophile emberek hallanak észrevehető különbséget.

Epp most mondtal ellent korabbi velemenyednek. Egyreszt belattad, hogy a Theora kevesbe komplex - kevesebb lehetoseget tamogat (ami nem feltetlenul jelenti azt, hogy rosszabb, de az biztos, hogy bizonyos bemenetre x beallitas produkal jo eredmenyt, mig mas bementre y beallitas. Theoranal kisebb a jatekter.). Masreszt belattad, hogy szabadalmi fenyegetettseg a Theoranal is fenall.

Es abban igazat kell adnom neked, hogy most Google tulajdonba kerules (azt nem tudom, hogy beolvasztottak-e vagy be fogjak-e olvasztani az anyacegbe) reven:
a, nagyobb lett a fenyegetettseg, mert tobb penzre szamithatnak a meretbol kifolyolag

vagy

b, kisebb lett a fenyegetettseg, mert a Google valoszinuleg tobb kereszt-licenc megallapodassal rendelkezik (amik persze nem feltetlenul engedik a redisztribuciot).

Amennyiben az a, pont a mervado, akkor semmi elonye nincs a Theoranak a kisebb komplexitasbol eredo egyszerubb implementaciotol eltekintve (viszont ellene szol, hogy kevesebb a HW dekoder es a kepminoseg beli lehetseges kulonbsegek).

Amennyiben a b, pont a mervado, ugy a VP8-al kapcsolatban sincs problema.

még ezt akartam hozzátenni a fentiekhez,
az MPEG LA egyébként korrekt fél. 10 körömmel védi azt, ami az övé de a megélhetési pereskedéstől "úri ember" módjára távol tartja magát. plusz szabadalmi portfóliójával maga is margón kívülre szorít sok patentroll megélhetésit.
a VP3/Theora valószínűleg ha érint is szabadalmat, az MPEG portfólióba tartozik és onnan nem fogják támadni.

a keresztlicenc megállapodások általában sajnos tiltják a redisztribúciót. ez lehet a gondja a Googlenek is. sokat mondó a csend is a VP6/7/8 körül.

igen, ebben teljesen igazad van. már átlépi az MPEG.LA ingerküszöbét, nemcsak pár régi szabadalomról van szó.

a Theorával kapcsolatban nem azt mondtam, hogy azonos szinten van a h.264el, hanem az hogy ma már a végeredmény az átlag ember számára nem annyira szembetűnő. ezért fallback megoldásként, ami ennek a hírnek hátterében állhat, a Theora ma ideális.
a Theora imho olyan ma videoban, mint az mp3 zenében. régi ugyan, de ügyes optimalizált encoderrel nagyon jó eredmény hozható ki belőle. az átlagember számára nem lesz zavaró a kölünbség Theora és h.264 között, ahogy az átlagnak ma is jó az mp3, annak ellenére hogy lenne jobb is, AAC, vorbis, stb.
a különbség, hogy a Theora nem terjedt el, szemben az mp3al, de legalább szabad, nem úgy mint az mp3.