Αυτός ο ιστότοπος χρησιμοποιεί cookie ώστε να μπορούμε να σας παρέχουμε την καλύτερη δυνατή εμπειρία χρήστη. Οι πληροφορίες cookie αποθηκεύονται στο πρόγραμμα περιήγησης σας και εκτελούν λειτουργίες όπως η ανάγνωση σας όταν επιστρέφετε στον ιστότοπο μας και η βοήθεια της ομάδας μας να κατανοήσει ποιες ενότητες του ιστοτόπου θεωρείτε πιο ενδιαφέρουσες και χρήσιμες.
ΡΟΗ ΕΙΔΗΣΕΩΝ
21 Νοεμβρίου 2024 12:16
21 Νοεμβρίου 2024 11:07
21 Νοεμβρίου 2024 10:54
21 Νοεμβρίου 2024 09:34
21 Νοεμβρίου 2024 09:29
21 Νοεμβρίου 2024 09:25
21 Νοεμβρίου 2024 09:14
21 Νοεμβρίου 2024 09:11
21 Νοεμβρίου 2024 08:45
18 Φεβρουαρίου 2011 02:00
DVB upscaling με το ffdshow,
ρυθμίσεις, τα συν και τα πλην…
Γράφει: Σωτήρης Χατζηστρατής
Πριν από την έλευση των μέσων υψηλής ευκρίνειας (Blu-ray και του αποτυχημένου εμπορικά HD DVD) υπήρχε η ανάγκη προσαρμογής των αρχείων βίντεο χαμηλής ανάλυσης (τυπικά έως 768×576) στα σύγχρονα μέσα προβολής, δηλαδή στις τηλεοράσεις LCD, Plasma, και τους νέους προβολείς, αφού η αναπαραγωγή τους σε αυτά υπολειπόταν ποιοτικά σε σχέση με τις παλιές τηλεοράσεις CRT. Η κυριότερη μέθοδος προσαρμογής ήταν το upscaling, δηλαδή η τεχνητή αύξηση της ανάλυσης του βίντεο (όχι όμως και της λεπτομέρειας, αφού αυτή δεν μπορεί να δημιουργηθεί από το πουθενά, εφόσον δεν υπάρχει ήδη), ώστε να ταιριάζει με αυτή του μέσου προβολής.
Tο upscaling μπορεί να πραγματοποιηθεί με τρεις μεθόδους, η πρώτη με εξειδικευμένα ολοκληρωμένα μέσα στις συσκευές αναπαραγωγής ή/και προβολής, η δεύτερη κάνει χρήση αυτόνομων συσκευών επεξεργασίας, συνήθως υψηλού κόστους (όπως για παράδειγμα οι scalers της Faroudja), ενώ η τρίτη είναι το upscaling μέσω λογισμικού και αναπαραγωγή των βίντεο/DVD σε υπολογιστή με κάποιο πρόγραμμα media player. Αν και η τελευταία μέθοδος χρησιμοποιείται περισσότερο για την αναπαραγωγή DVD, δεν υπάρχει κάτι που να αποκλείει τη χρήση της και για το upscaling εκπομπών DVB, από τη δορυφορική ή επίγεια ψηφιακή τηλεόραση. Ακριβώς την τελευταία χρήση θα εξετάσουμε στο παρόν άρθρο, θα δούμε τις βασικές ρυθμίσεις, αλλά και κάποια συμπεράσματα (θετικά ή αρνητικά) από αυτήν τη διαδικασία.
Το λογισμικό που θα χρησιμοποιήσουμε για να πετύχουμε το upscaling είναι το πακέτο φίλτρων ffdshow, που περιλαμβάνει decoder βίντεο και ήχου, σε συνεργασία με την τελευταία έκδοση 4.6 του DVBViewer Pro στα Windows 7. Θα εξετάσουμε δύο περιπτώσεις, τη χρήση του ffdshow ως αποκωδικοποιητής βίντεο, συν τις δυνατότητες επεξεργασίας του (upscaling, deblocking, sharpening, κλπ) και τις διαφορές στη χρήση του ως post processor (μετα-επεξεργαστή) όταν την αποκωδικοποίηση βίντεο αναλαμβάνει άλλος αποκωδικοποιητής.
Την τελευταία επίσημη έκδοση του ffdshow μπορούμε να κατεβάσουμε από την ιστοσελίδα http://ffdshow-tryout.sourceforge.net, ενώ τα πιο «φρέσκα» build από την www.free-codecs.com/download/ffdshow.htm. Στην εγκατάσταση ακολουθούμε τις τυπικές ρυθμίσεις στα διαδοχικά βήματα, εκτός από το βήμα «Select Additional Tasks», όπου τσεκάρουμε τα κουτάκια που αντιστοιχούν στους αποκωδικοποιητές MPEG-2 > libmpeg2 και VC1 > wmv9 (εικόνα 1), όπως και στο Raw Video λίγο παρακάτω (εικόνα 2). Η επόμενη εργασία που πρέπει να κάνουμε είναι οι κύριες ρυθμίσεις του FFDshow, οι οποίες μπορούν να πραγματοποιηθούν από το μενού έναρξης των Windows > Όλα τα προγράμματα > ffdshow > Video decoder configuration.
1. Codecs. Αρχικά πηγαίνουμε στο tab Codecs, όπου τέρμα κάτω στο Raw Video επιλέγουμε το YUY2 (εικόνα 3).
2. Blur & NR. Η ρύθμιση είναι χρήσιμη στην περίπτωση που θέλουμε να εξομαλύνουμε ελαφρά την εικόνα όταν υπάρχει θόρυβος ή μικρά τεχνουργήματα. Η ενεργοποίηση της είναι προαιρετική και εξαρτάται από την ποιότητα της πηγής. Απενεργοποιούμε όλες τις προεπιλογές, ενώ ενεργοποιούμε τα denoise3d και HQ, δίνοντας τιμές 0 στο luma, 2 στο chroma, 3 στο time (εικόνα 4).
3. Resize & Aspect. Με την ενεργοποίηση αυτής της επιλογής μπορούμε να κάνουμε upscale στο βίντεο, έτσι είναι η βασικότερη που αφορά το θέμα του άρθρου μας. Αν και υπάρχουν αρκετοί συνδυασμοί, θα προτιμήσουμε να κάνουμε upscale τσεκάροντας το «Specify horizontal and vertical size» όπου θα δώσουμε την ανάλυση του επιθυμητού upscale, για παράδειγμα 1920×1080 για full HD ή 1280×720 για τηλεοράσεις HD Ready. Επιλέγουμε επίσης και το Resize if… δίνοντας τις τιμές από τις οποίες και κάτω θα ενεργοποιείται το resize (είναι λογικό ότι δεν θέλουμε να κάνουμε resize σε βίντεο που έχει ήδη ανάλυση HD), για παράδειγμα όταν η οριζόντια διάσταση είναι μικρότερη από 1280 ή η κάθετη μικρότερη από 720. Αφήνουμε τσεκαρισμένο το Process pixel aspect ratio internally, και τσεκάρουμε επίσης το no aspect ratio correction (εικόνα 5). Στα Settings του Resize & Aspect επιλέγουμε το Spline (ένας από τους αλγόριθμους που υλοποιούν το resize), και τσεκάρουμε και το Accurate rounding. Αν θέλουμε μπορούμε να εφαρμόσουμε και λίγη όξυνση (sharpening) στην εικόνα βάζοντας μία μέτρια τιμή (πχ 0.5) στο Luma sharpen (εικόνα 6).
4. Output. Η επόμενη κίνηση μας είναι να πάμε στο Output. Εδώ θα απενεργοποιήσουμε όλα τα output colorspaces εκτός του YV12, ενώ θα αφήσουμε τσεκαρισμένο το High Quality YV12 to RGB, το Set pixel aspect ratio in output media type, και το Allow output format changes during playback (εικόνα 7).
5. Deinterlacing. Η απόπλεξη (deinterlacing) είναι μια βασική ρύθμιση για να μετατρέψουμε το σήμα πλεκτής σάρωσης των τηλεοπτικών μεταδόσεων σε προοδευτικής σάρωσης, συμβατό με τις σύγχρονες τηλεοράσεις. Ενεργοποιώντας το deinterlacing πρέπει να επιλέξουμε και μία από τις μεθόδους απόπλεξης στο Method. Mία από τις πιο αποτελεσματικές είναι η TomsMoComp, με search effort στο 3 και ενεργοποιημένο και το Vertical filter. Πρέπει να πούμε όμως εδώ ότι καλό είναι να γίνουν δοκιμές για το καλύτερο αποτέλεσμα, αφού στις περισσότερες περιπτώσεις καμία από τις έτοιμες αυτές μεθόδους δεν δίνει βέλτιστα αποτελέσματα στην καθαρότητα σε βίντεο που έχει πολύ κίνηση, και στα τεχνουργήματα που προέρχονται από αυτήν (εικόνα 8).
6. Postprocessing. Με την ενεργοποίηση του παρεμβάλλεται ένα φίλτρο deblocking που φιλτράρει τα ενοχλητικά τεχνουργήματα των macroblocks ή των blocks που οφείλονται στην διαδικασία κωδικοποίησης του βίντεο, και εμφανίζονται συχνότατα όταν δεν επαρκεί το παρεχόμενο bitrate για να αποδοθεί σωστά η κίνηση της εικόνας. Μπορούμε να αφήσουμε την προεπιλογή ως έχει, και να τσεκάρουμε το mplayer στο Processing method. Να τονίσουμε ότι αυτό το φίλτρο μπορεί να είναι απαραίτητο μόνο σε σήματα βίντεο που παρουσιάζονται πολλά προβλήματα λόγω των macroblocks, σε άλλες περιπτώσεις μπορεί να χειροτερεύσει την ποιότητα της εικόνας (εικόνα 9).
7. Sharpen. Η χρήση ποσοστού και της μεθόδου όξυνσης που παρέχει αυτό το φίλτρο θέλει ιδιαίτερη προσοχή, ενώ με προσεκτική ρύθμιση μπορεί να έχει ευεργετικά αποτελέσματα στην αντίθεση της εικόνας, ίσως και στην ανάδειξη κάποιων λεπτομερειών, η υπερβολική χρήση του όμως μπορεί να την καταστρέψει! Προτείνουμε τη χρήση του xsharp με τις default επιλογές, ή του msharpen (με το high quality τσεκαρισμένο) με ιδιαίτερα προσεκτική ρύθμιση του Strength και του Threshold (εικόνα 10).
Η ρύθμιση του ffdshow στο DVBViewer Pro (όπως και στα περισσότερα προγράμματα DVB που το δέχονται) είναι πάρα πολύ απλή. Πηγαίνουμε στο Settings > Options > DirectX και στο MPEG2 Video Decoder επιλέγουμε το ffdshow video decoder (εικόνα 11).
To ffdshow ως post processor
Αν θέλουμε να χρησιμοποιήσουμε έναν διαφορετικό βίντεο decoder, όπως για παράδειγμα τον πολύ καλό Cyberlink Video SP/Decoder (τον οποίο μπορούμε να βρούμε σε διάφορα προγράμματα της Cyberlink, όπως για παράδειγμα το PowerDVD), γιατί ίσως μπορεί να δίνει καλύτερα οπτικά αποτελέσματα, ειδικά σε σχέση με το deinterlacing, αλλά να κάνουμε και upscaling με το ffdshow, μπορούμε να το χρησιμοποιήσουμε ως φίλτρο post processing. Οι τελευταίες εκδόσεις του DVBViewer Pro (και μερικών άλλων προγραμμάτων DVB) δίνουν αυτή την δυνατότητα στα Windows 7 (και Vista). Έτσι για να ενεργοποιηθεί η δυνατότητα χρήσης του post processor πρέπει να επιλέξουμε στο DirectX τον EVR Custom Video Renderer (έχοντας τσεκάρει το Use Custom Renderers), όπως και τον video decoder που θα χρησιμοποιήσουμε (εικόνα 12). Η επιλογή του ffdshow ως post processor μπορεί να γίνει τώρα από το μενού Plugins > Video Postprocessor > ffdshow. Επειδή αυτή η επιλογή εισάγει το ffdshow σε όλους τους τύπους βίντεο, ακόμα και στα HD σε MPEG-4/H.264, πράγμα που δεν θέλουμε, μπορούμε πολύ απλά όταν είμαστε συντονισμένοι σε τέτοιο κανάλι να επιλέξουμε τα Exclude for Current Media Type ή Exclude for Current Decoder αν θέλουμε να αποκλείσουμε το ffdshow από τέτοια χρήση (εικόνα 13). Οι ρυθμίσεις του ffdshow ως post processor δεν έχουν μεγάλες διαφορές από αυτές που περιγράψαμε πιο πάνω. Η πρώτη διαφορά είναι ότι δεν ενεργοποιούμε το Deinterlacing, αφού την απόπλεξη θα κάνει ο decoder μας. Η δεύτερη και σπουδαιότερη βρίσκεται στην επιλογή του Output. Εδώ πρέπει υποχρεωτικά να επιλέξουμε το YUY2 colorspace, και όχι το YV12 όπως κάναμε προηγουμένως. Διαφορετικά το ffdshow δεν θα μπορεί να συνδεθεί με τα υπόλοιπα φίλτρα και έτσι δεν θα μπορεί να χρησιμοποιηθεί (εικόνα 14).
Συμπεράσματα από τη χρήση
Το πρώτο που θα πρέπει να πούμε εδώ είναι ότι το ffdshow απενεργοποιεί τις δυνατότητες επιτάχυνσης βίντεο (dxva) της κάρτας γραφικών, έτσι αυξάνεται η χρήση του επεξεργαστή. Μάλιστα πρέπει να προσαρμόσουμε τις ρυθμίσεις του upscaling, deinterlacing, και των άλλων φίλτρων που θα χρησιμοποιήσουμε ανάλογα με την ισχύ του επεξεργαστή του υπολογιστή μας, αφού παλιοί επεξεργαστές δεν θα ανταπεξέλθουν σε απαιτητικές ρυθμίσεις. To ffdshow έχει παρόμοια απόδοση στο upscaling είτε ως decoder είτε ως post processor, με τον δεύτερο να έχει όμως προβάδισμα στο deinterlacing και στην ομαλότητα της κίνησης όταν συνδυαστεί με έναν καλό βίντεο decoder. Ανάλογα με τις ρυθμίσεις μας στα διάφορα φίλτρα που αναφέραμε πιο πάνω μπορούμε να πάρουμε ένα ελαφρά καλύτερο οπτικά αποτέλεσμα, με άκρα (edges) που έχουν καλύτερο antialiasing και καλύτερη αντίθεση σε σχέση με το upscaling που κάνει η κάρτα γραφικών μας σε συνδυασμό με τον EVR Video Renderer. Όμως οι διαφορές δεν είναι τεράστιες αφού οι σύγχρονες κάρτες γραφικών κάνουν και αυτές πολύ καλό upscaling όταν χρησιμοποιούν τον EVR, έτσι για να τις παρατηρήσουμε πρέπει να έχουμε μία σχετικά μεγάλου μεγέθους τηλεόραση ή προβολέα. Εδώ πρέπει να τονίσουμε ότι η ποιότητα βίντεο της πηγής πρέπει να είναι πολύ καλή, να έχει δηλαδή ανάλυση 720Χ576 και μεγάλο bitrate, για να έχουμε οπτικά ευχάριστο αποτέλεσμα με το upscaling του ffdshow. Αν το τροφοδοτήσουμε με βίντεο από εκπομπές DVB πολύ χαμηλής ανάλυσης και ποιότητας, με χαμηλό bitrate και διάφορα τεχνουργήματα (πράγμα πάρα πολύ συνηθισμένο στις δορυφορικές εκπομπές), το οπτικό αποτέλεσμα μπορεί πολύ εύκολα να είναι χειρότερο από το αρχικό, αφού το upscaling θα τονίσει έντονα και όλες τις ατέλειες και τα προβλήματα του βίντεο. Έτσι, ως τελικό συμπέρασμα μπορούμε να πούμε ότι το upscaling με το ffdshow δεν είναι πανάκεια, χρειάζεται ιδιαίτερη προσοχή στις ρυθμίσεις, στο σήμα πηγής και στη συσκευή προβολής που θα χρησιμοποιήσουμε, ώστε να αξίζει ο κόπος για μια δοκιμή η οποία θα δώσει αποτελέσματα που θα μας ικανοποιούν.
Λεζάντες
01. Εγκατάσταση ffdshow, προεπιλογή MPEG2 και VC1 decoder.
02. Εγκατάσταση ffdshow, προεπιλογή φίλτρου Raw Video.
03. Ρύθμιση Raw Video να δουλεύει μόνο με YUY2 colorspace.
04. Οι προαιρετικές ρυθμίσεις στο Blur & Noise.
05. Δίνοντας τις απαραίτητες τιμές για το upscaling στο Resize & aspect.
06. Επιλογή μεθόδου resizing στο Settings του Resize & aspect.
07. Επιλογή του colorspace “YV12” στο Output όταν το ffdshow δουλεύει ως Decoder.
08. Ρυθμίσεις Deinterlacing.
09. Φίλτρο post processing και οι προαιρετικές του ρυθμίσεις.
10. Φίλτρο όξυνσης (Sharpen), προσοχή μην το παρακάνουμε!
11. Επιλογή του ffdshow ως video decoder στο DVBViewer Pro.
12. Επιλογή του EVR Renderer και του Cyberlink ως decoder στο DVBViewer Pro.
13. Ενεργοποίηση του ffdshow ως video post processor στο DVBViewer Pro.
14. Επιλογή του colorspace “YUY2” στο Output όταν το ffdshow δουλεύει ως post processor.