Artykuł dostępny jest również w formie dokumentu

Transkrypt

Artykuł dostępny jest również w formie dokumentu
Rozdzielczości analogowe i cyfrowe
Słowo wstępne
Gdy mamy do czynienia z filmami w postaci cyfrowej, możemy się zetknąć z pewną zagadką. Otóż mówi się,
że obraz o rozdzielczości 720x576 ma proporcje 4:3! Nietrudno obliczyć, że 720:576 to 5:4, zatem skąd takie
dziwne informacje? Czy to jakaś pomyłka?
Rozdzielczość analogowa a rozdzielczość cyfrowa
Przyjrzyjmy się sposobowi digitalizacji (zmiany na postać cyfrową) analogowego materiału wideo.
Jedna sekunda obrazu w systemie PAL zawiera dokładnie 25 klatek, zaś każda klatka 625 linii poziomych (z
czego tylko 574 linie i dwie półlinie zawierają właściwy obraz). Skoro jedna klatka jest transmitowana w
ciągu 40 milisekund, to łatwo obliczyć, że jedna linia pozioma to dokładnie 64 mikrosekundy. Ponieważ
brzegi poziomych linii nie zawierają obrazu, interesują nas tylko "środkowe" 52 mikrosekundy. Obraz (a
właściwie jego jasność) jest próbkowany z częstotliwością 13.5 MHz, co daje nam 13.5 * 52 = 702 punkty na
jedną linię poziomą. Skąd zatem rozdzielczość pozioma 720 pikseli? Dodatkowe 9 pikseli po bokach obrazu
przechwytuje się, ponieważ analogowe urządzenia do transmisji wideo nie są tak precyzyjne, aby na pewno
przekazać cały obraz w środkowych 702 pikselach. Dlatego digitalizując obraz zapewniamy sobie margines
bezpieczeństwa w postaci tych 9 pikseli po bokach - jest to tzw. obszar overscan.
A skąd rozdzielczość pionowa 576? Mamy 574 pełne poziome linie obrazu oraz dwie linie poziome (jedna u
góry, druga w dole) zawierające obraz tylko do połowy swej długości. Aby uchwycić cały obraz,
digitalizujemy 576 pełnych linii.
Dla systemu telewizyjnego NTSC częstotliwość digitalizacji rekomendowana przez ITU jest taka sama, jak w
przypadku systemu PAL - 13.5 MHz. W NTSC mamy 29.97 klatek na sekundę oraz 525 linii poziomych, z
których 484 pełne linie i dwie półlinie zawierają właściwy obraz. Jedna linia pozioma obrazu "trwa" przez
63+5/9 mikrosekundy, z czego tylko "środkowe" 53+2/3 mikrosekundy zawierają informacje o obrazie.
Otrzymujemy zatem (52+2/3) * 13.5 = 711 punktów rozdzielczości poziomej i 486 rozdzielczości pionowej.
Dlaczego zatem rozdzielczość pionowa DVD w systemie NTSC wynosi tylko 480 pikseli? Ponieważ kompresja
MPEG jest oparta na fragmentach obrazu 16x16 (tzw. makroblokach), przez co wymaga, aby wymiary
obrazu były podzielne przez 16.
Proporcje piksela
Skoro obraz o wymiarach 702x576 ma proporcje 4:3, to wniosek może być tylko jeden: punkty nie są
kwadratami! Przy kwadratowych pikselach obraz w proporcjach 4:3 powinien mieć wymiary 768x576, zatem
proporcje piksela obrazu o rozdzielczości 702x576 (oraz 720x576) to 768:702, czyli 128:117. Z kolei gdy
mamy do czynienia z obrazem anamorficznym, mnożymy proporcje piksela przez 4/3
((4/3)*(128/117)=512/351). Dla systemu NTSC proporcje piksela wynoszą odpowiednio 72/79 i
(4/3)*(72/79)=288/237.
Konwersja formatów obrazu
Prawidłowa konwersja z jednego formatu obrazu na drugi wiąże się ze skomplikowanymi obliczeniami. Oto
sposób ich wykonywania:
obliczamy wartość VCF = wysokość_celu / wysokość_źródła
obliczamy HCF = (proporcje_źródła / proporcje_celu) * VCF
obliczamy szerokość docelową: szerokość_docelowa = HCF * szerokość_źródła
obliczamy wysokość docelową: wysokość_docelowa = VCF * wysokość_źródła
gdzie:
wysokość_celu to znana z góry wysokość obrazu formatu docelowego
proporcje_źródła to proporcje piksela w materiale źródłowym
proporcje_celu to proporcje piksela w docelowym formacie obrazu
Następnie przeskalowujemy obraz do rozdzielczości szerokość_docelowa x wysokość_docelowa i
obcinamy brzegi (lub dodajemy czarne pasy) tak, aby osiągnąć żądane wymiary naszego formatu
docelowego.
Weźmy na przykład konwersję z PAL do NTSC. Wymiary PAL to 720x576, zaś wymiary NTSC to 720x486, ale
w świecie cyfrowego wideo stosuje się 720x480 (ponieważ 480 dzieli się przez 16).
liczymy VCF = 486/576 = 27/32
liczymy HCF = ((128/117) / (72/79)) * 27/32 = 79/78
obliczamy nową szerokość 720 * (79/78) = 729 + 3/13
obliczamy nową wysokość 576 * (27/32) = 486
przeskalowujemy obraz z 720x576 do 729x486
obcinamy boki obrazu tak, aby uzyskać 720x480
Poniżej przedstawiamy gotowe skrypty AviSynth służące do konwersji systemów telewizyjnych (z NTSC do
PAL i na odwrót).
Prawa autorskie © VideoAudio.pl 2001-2008
# PAL -> NTSC materiał TFF z przeplotem
LoadPlugin("•cie•kadgbob.dll")
DGBob(order=1)
ConvertToYUY2()
ConvertFPS(59.94)
Lanczos4Resize(728,484,1,1,718,574)
Crop(4,2,-4,-2)
SeparateFields()
SelectEvery(4,0,3)
Weave()
# PAL -> NTSC materiał BFF z przeplotem
LoadPlugin("•cie•kadgbob.dll")
DGBob(order=0)
ConvertToYUY2()
ConvertFPS(59.94)
Lanczos4Resize(728,484,1,1,718,574)
Crop(4,2,-4,-2)
SeparateFields()
SelectEvery(4,1,2)
Weave()
# NTSC -> PAL materiał TFF z przeplotem
LoadPlugin("•cie•kadgbob.dll")
DGBob(order=1)
ConvertToYUY2()
ConvertFPS(50)
Lanczos4Resize(720,480)
SeparateFields()
SelectEvery(4,0,3)
Weave()
# NTSC -> PAL materiał BFF z przeplotem
LoadPlugin("•cie•kadgbob.dll")
DGBob(order=0)
ConvertToYUY2()
ConvertFPS(50)
Lanczos4Resize(720,480)
SeparateFields()
SelectEvery(4,1,2)
Weave()
W powyższych skryptach do zmiany rozdzielczości wykorzystano filtr Lanczos4Resize(), lecz zamiast
niego można użyć dowolnego filtra AviSynth służąceggo do skalowania obrazu, np. BilinearResize()
lub BicubicResize().
Dodatek: Czym są "linie rozdzielczości"?
W świecie analogowego wideo stosuje się pojęcie "linii rozdzielczości" (ang. lines of resolution ), które
powoduje wiele zamieszania. Oznacza ono ilość pionowych linii obecnych w kwadratowym obszarze obrazu.
Innymi słowy, aby obliczyć ilość "linii rozdzielczości", musimy "obciąć" boki obrazu tak, aby jego szerokość
(nie wyrażona w punktach, lecz w centymetrach) była równa jego wysokości, a dopiero wtedy policzyć
pionowe linie. Na przykład gdy weźmiemy obraz 702x576 o proporcjach 4:3, obliczamy (3/4)*702 i
dostajemy 526.5 "linii rozdzielczości".
Prawa autorskie © VideoAudio.pl 2001-2008

Podobne dokumenty