Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 28. 04. 2019 22:13

Zikáč
Zelenáč
Příspěvky: 1
Reputace:   
 

Komprese videa

Zdravím všechny na fóru :-)

Mám úkol s tímto zadáním:

Nahrajte si krátkou videosekvenci a uložte ji ve standardním formátu, který podporuje zařízení použité pro vytvoření videosekvence. Pokud to zařízení umožňuje, vypněte před pořízením nahrávky záznam zvuku a kompresi uložené nahrávky. Poznamenejte si nastavené rozlišení obrazu (počet obrazových bodů), barevnou hloubku nahrávky a její délku (např. v sekundách). Uloženou nahrávku následně zkonvertujte (pomocí vhodného nástroje, např. Format Factory) do formátu s vysokým stupněm komprese (např. MPEG4). Spočtěte nebo odhadněte  kompresní poměr, a to jak pro původně uložený soubor, tak pro jeho zkonvertovanou (komprimovanou) podobu.

Nahrávku mám z foťáku se zvukem ve formátu MOV, 19 sekund, velikost 58 MB, 30 FPS, rozlišení 1280x720..

Nevím, jak zjistit barevnou hloubku. Když dám vlastnosti souboru pomocí Format Factory, nedohledám tuto hodnotu.

Přes tentýž program jsem zkomprimoval video do formátu DivX, výsledná velikost souboru je 1,32 MB, rozlišení 432x240, 30 FPS apod. (můžu přihodit screeny vlastností z Format Factory)..

Hledal jsem ve skriptech a asi 10 hodin na netu, jak mám dopočítat kompresní poměr. A už vůbec nechápu, jak to mám udělat pro původní soubor..

Tímto vás prosím o pomoc a vysvětlení. Nechci, ať to za mě někdo dělá, jen potřebuju znát jak se s tím vlastně pracuje.. Skripta za moc nestojí, pochopil jsem z nich pouze něco, a to jen na začátku.

Předem děkuji za odpovědi.

P.S.: Pokud jsem dal zadání do špatné sekce, omlouvám se :-)

Offline

 

#2 29. 04. 2019 18:59

MichalAld
Moderátor
Příspěvky: 4872
Reputace:   125 
 

Re: Komprese videa

Pochybuji, že nějaké běžně dostupné zařízení bude umět uložit video úplně bez komprese. Ale není až takový problém to spočítat.

Pokud mám třeba CCD čip co má 1MPix, tak to je milion bodů (krát zpravidlao 8bitů). Nevím ovšem jak rychle to ty obrázky snímá. Kamery co používáme jedou třeba 20-40ms/snímek. Když by šlo o černobílou kameru, tak to je všechno. Nekomprimované video by mělo 25-50 Mb za každou sekundu záznamu.

Jak se to dělá s těmi barvami, to já přesně nevím. On ten datový tok přímo z čipu je totiž úplně stejný. Čip ve skutečnosti neví, jestli je černobílý nebo barevný. Barevný má pixely obarvené, černobílý né. Ale je jich jinak úplně stejně.

Když se z toho vypočítá barevný obraz, tak je najednou 3x větší (RGB), ale to je jen důsledek nevhodného formátu dat. Informací v obraze nemohlo přibýt, není jich 3x tolik.

Co je to ta "barevná hloubka" to já nevím.



Když máš tedy nahrávku mám z foťáku se zvukem ve formátu MOV, 19 sekund, velikost 58 MB, 30 FPS, rozlišení 1280x720..

Tak beze zvuku, jen nezkomprimovaný obraz, by měl mít 1280x720x30x19 bajtů, tedy cca 525MB. V případě, že bychom snímky ukládali v RGB formátu (jak se to běžně dělá) tak ještě 3x tolik.

Aby šlo mluvit o nějakém "kompresním poměru", měl by mít obrázek (video) stále stejné rozlišení, tj. stále těch 1280x720 bodů, a stejnou rychlost. Zmenšení rozlišení - to není žádná komprese. Komprese je, že se zmenší objem dat (či přímo datový tok) ale obrázek/video zůstane, alespoň na první pohled, stejné.

Offline

 

#3 29. 04. 2019 20:59

Stýv
Vrchní cenzor
Příspěvky: 5691
Reputace:   215 
Web
 

Re: Komprese videa

↑ Zikáč: Media Player Classic (neplést s Windows Media Playerem) umí zobrazit spoustu informací o videu, včetně barevný hloubky.

MichalAld napsal(a):

Jak se to dělá s těmi barvami, to já přesně nevím...

Když nevíš, tak aspoň nepiš takový hovadiny. Barevnej pixel má obvykle 4 subpixely (červenej, modrej a dva zelený), proto je objem dat větší. Žádnej nevhodej formát.

Offline

 

#4 29. 04. 2019 23:38

MichalAld
Moderátor
Příspěvky: 4872
Reputace:   125 
 

Re: Komprese videa

↑ Stýv:

To si ale úplně nemyslím.

Fyzické čipy (daného typu) jsou úplně stejné, MONO i RGB.

Viz námátkou vybraný 5MPix čip MT9P031:

https://www.onsemi.com/PowerSolutions/p … ifications

Můžeš si klidně stáhnout i datasheet - fyzický čip (křemík) je úplně ten samý, pro MONO i RGB, akorát ten barevný má ty filtry na pixelech, jak píšeš. Jeden řádek červené/zelené, další zelené/modré, a tak pořád dál.

Neprodává se to ovšem jako 1.2MPix čip, prodává se to jako 5MPix čip, ať už je mono, nebo rgb.

A když si vezmu kameru s tímto čipem, a uložím z ní obrázek, tak má zase vždycky 5MPix, ať už je to černobílý z mono kamery, nebo barevný z rgb kamery. A barevný je skutečně 3x větší - přitom oba čipy mají stejné množství fyzických pixelů.

Barevný snímek se nepočítá tak, že by se vzaly 2x2 (tedy čtyři) pixely, převedly se na rgb - a pak zase sousední 2x2 pixely. Né. "Posouvá" se to vždy jen o jeden pixel.

Takže když bychom začali v levém horním rohu, kde jsou pixely

RGRGRG...
GBGBGB...
RGRGRG...
GBGBGB...


Tak se vezmou nejprve ty 4 úplně vlevo nahoře,

RG..
GB..

a udělá se z nich jeden pixel našeho obrázku. Pak se vezmou čtyři o jeden vlevo

.GR.
.BG.

a udělá se z nich další pixel (jen se to musí "udělat obráceně").

...

pak se to posune o jeden řádek dolů a postup se zase opakuje.


Takže nezkomprimovaný obrázek z 5MPix barevného čipu je skutečně 3x větší (15Mb) než černobílý obrázek ze stejného (ale MONO) čipu, který má jen těch 5Mb.

To je také to, co jsem nazval "nevhodný formát obrázku", protože technicky vzato je to nesmysl, z čipu, který nám dá 5Mb dat dělat soubor co má 15Mb dat, ale žádný běžně známý formát pro ukládání snímků neumožňuje uložit data tak, jak jdou přímo z toho čipu (a střídají se pixely R, G, ... G, B...).

Nic nám samozřejmě nebrání udělat vždy ze 4 sousedních pixelů jeden RGB - ale pak už nebude mít snímek rozlišení 5MPix, ale jen 1.2MPix, jenže zákazník by se pak možná divil, proč mu z 5MPix kamery chodí jen 1MPix snímky, a navíc ty 5MPix snímky jsou možná přeci jen o trošku lepší.

Každopádně - čip se prodává jako 5MPix, ať už je v MONO provedení, nebo RGB provedení - akorát že u RGB je to celkový počet pixelů, (tedy počet těch subpixelů, jak jsi to nazval).

No a předpokládám, že když se mluví o rozlišení videa, tak je to stejné jako u jednoduchého obrázku - že je to počet pixelů, kde každý pixel má ty tři barvy.

Offline

 

#5 30. 04. 2019 09:35

Stýv
Vrchní cenzor
Příspěvky: 5691
Reputace:   215 
Web
 

Re: Komprese videa

↑ MichalAld: Jo takhle jsi to myslel. V tom případě máš víceméně pravdu, jen mi vychází, že tedy objem dat bude 4x větší, přičemž je tam navíc informace o rozložení zelené, zatímco modrá a červená se prostě duplikuje.

Já bych pro účely téhle úlohy za nezkomprimovaný obraz považoval těch 1,2Mpx * 32bitů.

Offline

 

#6 30. 04. 2019 09:56

MichalAld
Moderátor
Příspěvky: 4872
Reputace:   125 
 

Re: Komprese videa

↑ Stýv:

Taky bych to tak viděl. A co je to tedy ta barevná hloubka? To je těch 32 bitů ?

Offline

 

#7 30. 04. 2019 14:12

Stýv
Vrchní cenzor
Příspěvky: 5691
Reputace:   215 
Web
 

Re: Komprese videa

↑ MichalAld: Jsem myslel 24 bitů, ale i to může být špatně. Každopádně tenhle počet bitů je barevná hloubka, ale přesnější by bylo specifikovat to po barvách, protože třeba pro zelenou může být těch bitů víc.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson