|
Ostatnio dodane
Najchętniej pobierane
|
|
|
|
|
VideoAudio.pl - serwis o technologii video/audio WITAMY:
biniekjako nowego użytkownika.
Zarejestrowanch Uzytkowników: 3877
Super Administratorzy: 3
Administratorzy: 2 Użytkownicy: 3872
Użytkownicy Online:
Gości Online: 26
Najwiecej online: 106
Bylo: 27.05.2008-19:56 Twoje IP to: 38.107.179.209
|
|
|
|
|
|
Poprzedni | Następny| 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).
# 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".
Artykuł dostępny jest również w formie dokumentu PDF
Aby ściągnąć plik skorzystaj z menu kontekstowego myszy i opcji Zapisz element docelowy jako... |
| |
|
|
| Poprzedni | Następny
 |
07-05-2006.r 17:39
Jeżeli obraz ma w poziomie 702 piksele a przechwytuje się 720 to dlaczego nie widać po bokach pustych pasków jak zgrywam z vhs do karty video? Czy karta sama odrzuca obszar overscan a przechwyconą część obrazu zapisuje w ustawionej w programie rozdzielczości, która nie ma nic wspólnego z rozdzielczością wchodzącego sygnału. Bo jak by miała to filmy by miały standardowo 702x576. Jak ustawię przy zgrywaniu 768x576 to jest normalnie a jak 720x576 to są jajowate głowy bo komputer ma kwadratowe piksele. Jaki jest związek rozdzielczości sygnału video z rozdzielczością rejestracji?
Ciekawi mnie też jak dlaczego istnieją te półlinie (nie jest to opisane w artykule). W komputerze są bardzo denerwujące bo trzeba potem kadrować obraz.
|
 |
08-05-2006.r 09:44
Wiele kart (np. te z popularnym chipem Bt8x8) nieprawidłowo skaluje obraz, dlatego w rozdzielczości 720x576 nie widać czarnych pasków overscanu. W takim przypadku należy przeskalować z 720x576 do 768x576 bez obcinania boków obrazu. O takiej sytuacji wspomina między innymi przewodnik http://www.arachnotron.nl/videocap/doc/Karl_cap_v1_en.pdf.
Półlinie? Hmmm...
Z jakichś powodów twórcy systemów telewizyjnych postanowili, że pierwsza i ostatnia linia obrazu nie mogą być pełne. Nie udało mi się znaleźć informacji, dlaczego tak jest. Może potrzebowali więcej "miejsca" na upchnięcie innych informacji w obrazie (sygnały synchronizacyjne, teletekst).
|
 |
08-05-2006.r 13:00
Dzięki za wyjaśnienie. Ten przewodnik wyjaśnił mi też inne zagadki, nie tylko to o co pytałem. Wnioskuję, że karta ma na wejściu 702 (albo 704) pixele a krawędzie boczne nie są w ogóle skanowane. Obraz 702x576 jest następnie przeskalowywany do ustawionej rozdzielczości.
|
Zaloguj się, żeby móc dodawać komentarze.
|
|
|
|
|
|
|