| Koliko
filma stvarno stane na SVCD?
|
SVCD nije ništa drugo, nego normalni CD, na kome je film u MPEG2-formatu.
Za detalje pogledati: Napraviti
Video CD (VCD) ili Super Video CD (S-VCD)
Da bi se objasnilo, koliki film može biti da bi stao na jedan
CD, pogledajmo kako izgleda prosječan CD. Proizvodanja samog filma (kodiranje)
ili objašnjenje određenih normi vezanih za kodiranje, nećemo objašnjavati.
Ima dosta materijala o tome. Govorit ćemo samo o kapacitetu.
Podaci
na CD-u se fizički nalaze kao mala udubljenja, takozvani Pits.
Za razliku kod HDD-a, Pitsovi se nalaze u spiralnom obliku na CD-u ,
iznutra prema vani (kao kod starih LP ploča). Razmak među Pits-ovima
je, od početka do kraja - isti. Na vanjske trake se tako može zapisati
dulji zapis nego na početku CD-a.
Stariji
CD-ROM-ovi, se regulirali brzinu tako da se podaci čitaju konstantnom
brzinom..
Pits-ovi i Lands-ovi ( udubljenja i
uzvišenja ) su se čitali CLV-načinom (CLV =
Constant Linear Velocity, konstantna linearna brzina) u formi
spirale, koja je išla iznutra prema vani. Brzina čitanja podataka
je bila stalna (1,2 metra /s), i brzina rotiranja je, samim tim, bila
različita. Pri čitanju unutrašnjih traka brtina je bila 500 okretaja/m,
dok je kod vanjskih padala na 200 okretaja/m. Kod CD-ova napunjenih
podacima, više ne postoji razlog da se koči brzina čitanja na vanjskim
trakama CD-a, pa noviji CD-ROM-ovi ih čitaju konstantnom brzinom. (CAV
= Constant Angular Velocity, konstantna kutna brzina).
Zapisani
CD se sastoji od (najmanje) tri dijela: Lead-In
dio, (nešto kao direktorijsko stablo), programski
dio (podaci, muzika, filmovi...) i Lead-Out
dio (označava kraj CD-a). Kod 74 minutnog CD-a, duljina Pitsa iznosi
5.378 metar, ako netko ne vjeruje neka izmjeri :)).
Najmanji
dio koji sadrži informacije na CD-u su, takozvani, Channel-Bit,
koji ima svoju duljinu od 277,662 nm/bit. Zapisni kapacitet CD-a je:
|
= |
5378
[m] / 277,662 [nm/bit] |
|
= |
19.368.887.000
[bits] |
Jedan
programski bajt se sastoji od 8 bitova, mada se prikazuje, na CD-u,
kao 14 kanalni bit. Bitovi se spajaju u frameove, pri čemu 588 bitova
čime jedan frame, a 98 frameova čine jedan sektor na CD-u.
Što
znači:
|
= |
19.368.887.000
[bits] / 588 [bits/frame] |
|
= |
32.940.250
[frames] |
|
= |
32.940.250
[frames] / 98 [frames/sector] |
|
= |
336.125
sectors |
Zbog
poteškoća i mogućih grešaka u proizvodnji, išlo se na sigurno i definirano
je
( za 74-minutni-CD) 333.000 sektora.
To
se lako izračuna kada se vrijeme pomnoži sa faktorom 4500. 4500 dobijemo
kada brzinu pomnožimo sa 75, jer se u sekundi čita 75 sektora (jednobrzinski
CD), a minuta ima 60 sekunda.
75
[sektora /sekundi] x 60 [sekunda/minuti] = 4500 sektora po minuti
- 74
minutni - CD = 333.000 sektora
- 80
minutni - CD = 360.000 sektora
- 90
minutni - CD = 405.000 sektora
- 99
minutni - CD = 445.500 sektora
Nakon "trošenja" bitova i bajtova na prepoznavanje grešaka,
i upravljačku logiku CD-ROM-a, ostaju 2352 Byte (po sektoru).
Broj, koji se često naziva veličina sektora. Do ove točke se Audio-CD
ne razlikuje od CD-ROM/XA. Razlike leže u dijeljenje i iskorištavanju
tih istih 2352 bajtova po sektoru.
80 minutni CD (na kome je deklarirano 700 MB) ima 360.000 sektora, sa
2352 bajova / sektoru.
Ukupno je to 846.720.000 bajtova. Ako je 1024 bajta = 1 KB, i 1024 KB
= 1 MB onda je kapacitet CD-a 807,5 MB.
Kod
normalnog CD-a (CD sa podacima) ne računamo 2352 bajta/sektoru, već
samo 2048 bajta/sektoru. (360.000 *2048 =703,125 MB).
SVCD
je CD-ROM XA format. Detaljnije u "Formatima". Riječ je o "Yellow Book" specifikaciji,
koja pravi razliku između Sector-Mode 1
i 2. CD-ROM XA koristi Sector Mode 2.
Jednostavno rečeno, SVCD se sastoji od barem jednog dijela sa podacima
(VideoCD 2.0 ) i jednog video dijela (sami film).

Oba formata sektora se označavaju kao Form
1 i Form 2. Sektori u Form 1
se koriste od strane računala i imaju dodatne podatke o prepoznavanju
i ispravkama grešaka. Kako kod klasičnog CD-a, na početku sektora
(Form 1) se nalazi jedan blok sa 12 sinkronizacijskih bajtova. Sljedeća
4 bajta se koriste za adresiranje. Nakon njih idu 8 bajtova subheader,
i tek na kraju korisnih 2048 bajtova.
ECC
(error correction) dio je za i zadužen je za prepoznavanje grešaka.
Na kraju se nalazio EDC (error detection)
dio sa 4 bajta, koji služe za kvalitetu kontrole u toku samog procesa
proizvodnje.

Samo
jedan jedini pogrešan bit odlučuje o tome hoće li program raditi ili
ne. Iz toga razloga je kod "Form 1", znači klasični CD, posebna pažnja
posvećena ispravkama grešaka. Jedan pogrešan bit kod video streama se
uopće ne vidi, i iz toga razloga je povećan kapacitet u dijelu User
Data na 2324 bajta (Form 2), tako da je ECC dio potpuno ignoriran.
Kod Audio CD-a (po "Red-Book-Standardu" se takođe ignorira ECC.
Toliko
o toriji.
Postoje
razni SVCD kalkulatori, ali je (meni) najbolji, "SVCDcalc"
Unesite
duljinu filma (50 min.), veličinu CD-a (80 min.). Sljedeća postavka
vam dozvoljava, definirati veličinu "Form1" dijela, ako želite još neke
sliek tekste ili programe na cd spržiti. Ovdje je uneseno 1.647.456
bajtova. Program ne zbraja jednostavno te veličine, on ih računa preko
sektora. Znamo da Form1-dio ima samo 2048 bajtova. Naših 1.647.456 bajtova
su u biti 804 sektora.
Ako
to oduzmemo od 360.000 sektora, ostaje nam 359.196 sa po 2324 bajta
za film. To je 834.770.524 bajta.
Od
toga oduzmemo 7.902.302 bajtova za PACK and
PES, 6.972.000 bajtova za sequence aligning
i 3.900 bajtova za SVCD scan offset,
tako dobijemo 819.892.322 bajtova. To pomnožimo sa 8 Bit/Bajt, i dobijemo
6.559.138.576 bitova.
Ako
film traje 50 minuta (3000 sekunda), podijelimo 6.559.138.576 bitova
sa 3000 sekunda, dobijemo datarate od 2.186.380 bit/sek. Kada to podijelimo
sa 1024 bit/Kbit, dobijemo vrijednost 2.135 kbps.
Film
kodiramo TMPG-om, (moj prijedlog) 2pass variable
bitrate. Nekome će sad 'rogovi izrasti', jer je to nasporiji način
iz razloga jer TMPGEnc analizira kompletan film. Pri tome se
računa, unaprijed određena srednja vrijednodst bitrate-a. Pri tome se
precizno gleda da je srednja vrijednost stvarno tolika kolika je zadana.
još
se namjeste postavke tona:
i
datarate samog video streama:
Namjestimo
"Average/Maximun/Minimum bitrate":
Za
dobar kvalitet ne treba ići ispod 1500 kbit/sek. Za srednju vrijednost
se može ići od 1750 do 2000 kbit/sek. Maximum ostavimo kakav je.
Ako
kodirate AVI u SVCD, i koristite konstantni bitrate, i isti taj avi
kodirate sa 2pass variable bitrate (VBR),
vidjet ćete da su oba filma iste veličine. Zanči da se TMPG držao zadatih
srednjih vrijednosti. (kod verzija 1.2 i 1.2a se razlike, CBR i VBR,
stvarno bile velike).
Nedavni
test enkodera http://www.tecoltd.com/enctest/enctest.htm opisuje razliku
verzija 1.2 i 1.2a:
"The
earlier versions were better. The current problem is if we set the
dual pass VBR the result's bitrate is extremelly strange. There is
some problem with the average bitrate calculation. You can see on
the graph, that at the swimming pool scene the bitrate gets down instead
of groving. The earlier version, for eg. the simple Beta 12 worked
well from this point of view.The encoder strictly try to hold the
set avg. 5 Mbit and as can be seen the result is an oscillation bitrate.
The speed of encoder improved by 30% comparing to the first Beta 12
version. We are a bit disappointed..."
Film
ima 14.522 frameova. Pri 25 fps, njegova duljina je 580,88 sek.
"SVCDcalc" dozvoljava unos samo cijelih minuta,
pa smo to izračunali na drugi način (Excel tablica).
| |
Veličina
na HDD-u |
Veličina
CD-a (Nero) |
Veličina
CD-a (WinOnCD) |
| TMPGEnc |
178.745.812
bajtova |
181.024.076
bajtova |
180.873.548
bajtova |
| AVI2MPG2 |
173.835.200
bajtova |
176.054.300
bajtova |
175.931.996
bajtova |
Vidi
se da su programi nadodali još neke stvari i promjenili veličinu datoteke.
Šta nam vrijedi SVCDcalc, kad se programi ne drže toga ?
Isti
film kodiramo opet sa srednjom vrijednosti 2200 kBit/sec i audiom streamom
od 224 kBit/sec.
Metodom pokušaj/pogreška, dodamo Overhead pri muxanju i snimanju od
71 kBit/sec.
| = |
2.200
kbit/sec + 224 kbit/sec + 71 kbit/sec |
| = |
2.495
kbit/sec |
Izračunamo
bitove/sekundi:
to
pomnožimo sa duljinom:
| = |
2.495.000
bit/sec x 580,88 sec |
| = |
1.449.295.000
bit |
i
preračunamo u bajtove:
| = |
1.449.295.000
bit / 8 bit/Byte |
| = |
181.161.950
Byte |
Mislim da dodavnje 71 kbit/sek treba služit kao zlatno pravilo,
za korištenje CD-a.
Alternativa
"SVCDcalc" je FitCD. Nije baš intuitivan (za početnika), ali sadrži
dosta korisnih informacija.
|