Σύνδεση Όνομα μέλους Κωδικός
Να γίνεται η σύνδεση αυτόματα σε κάθε μου επίσκεψη    
Εγγραφή
Εγγραφή
Συνδεθείτε, για να ελέγξετε τα προσωπικά σας μηνύματα
Συνδεθείτε, για να ελέγξετε τα προσωπικά σας μηνύματα
AnimeClipse Αρχική σελίδα » Εγκυκλοπαίδεια Fansubbing

Encoding - Εισαγωγή *DRAFT*
Προβολή προηγούμενου Θέματος :: Προβολή επόμενου Θέματος  
Συγγραφέας Μήνυμα


Ένταξη: 04 Μάρ 2006
Δημοσιεύσεις: 2744
Τοποθεσία: Θεσσαλονίκη





















Δημοσίευση Δημοσιεύθηκε: Δευ Μάρ 05, 2012 11:39 am
Τίτλος: Encoding - Εισαγωγή *DRAFT*
Απάντηση με παράθεση αυτού του μηνύματος

Πού θα πάει, κούτσα κούτσα, θα τον γράψουμε κι αυτόν!

Εισαγωγή

Ακούγονται πολλά για το "encoding" ή αλλιώς "συμπίεση βίντεο". Τι είναι όμως αυτό στην πράξη;
Αρχικά θα πρέπει να δούμε τι είναι αυτό το οποίο συμπιέζουμε, γιατί το κάνουμε αυτό, και μετά το πώς.

Ένα αρχείο βίντεο (video file) είναι άλλο ένα ψηφιακό αρχείο σαν όλα τα άλλα που έχουμε στα αποθηκευτικά μέσα των υπολογιστών μας. Το περιεχόμενό του είναι κατά βάση αλληλουχία εικόνων (video) μαζί με ήχο (audio). Μάλιστα, ένα αρχείο βίντεο μπορεί να περιέχει περισσότερα του ενός κανάλια (stream/track) από αλληλουχίες εικόνων και ήχους.
Άρα θα μπορούσαμε να ορίσουμε το video encoding ως εξής:

Video encoding ορίζεται η συμπίεση, μέσω κατάλληλης ψηφιακής κωδικοποίησης, των καναλιών από αλληλουχίες εικόνων και ήχους, και ο συνδυασμός τους (mux) σε ένα αρχείο βίντεο.

Κοιτάξτε όμως τι μπέρδεμα μπορεί να δημιουργηθεί έτσι. Όταν λέμε video, τελικά τι εννοούμε; Το αρχείο βίντεο, ή το κανάλι από αλληλουχίες εικόνων; Για να μην μπερδευόμαστε, από δω και πέρα θα ορίζουμε σαν βίντεο (video) το κανάλι από αλληλουχίες εικόνων, ενώ σαν αρχείο βίντεο (video file) το αρχείο βίντεο. Επίσης, ορίζουμε σαν συμπίεση βίντεο (video encoding) τη συμπίεση του καναλιού από αλληλουχίες εικόνων, ενώ σαν συμπίεση ήχου (audio encoding) τη συμπίεση του καναλιού του ήχου. Έτσι, ο πιο πάνω ορισμός τελικά γίνεται:

Video file encoding, ή σκέτο encoding, ορίζεται η συμπίεση, μέσω κατάλληλης ψηφιακής κωδικοποίησης, των καναλιών από αλληλουχίες εικόνων και ήχους, και ο συνδυασμός τους (mux) σε ένα αρχείο βίντεο.

Πλέον λοιπόν έχουμε τον ορισμό του encoding έτσι όπως το ακούμε στα διάφορα μέρη.

Από τα παραπάνω, είναι προφανές ότι η διαδικασία του encoding χωρίζεται στις εξής βασικές ενότητες

  1. Συμπίεση βίντεο
  2. Συμπίεση ήχων
  3. Συνδυασμός σε ένα αρχείο βίντεο


Μιας και είμαστε στο κεφάλαιο της εισαγωγής, θα πούμε μερικά γενικά και εισαγωγικά πράγματα για τις ενότητες αυτές:

  • Συμπίεση βίντεο

    Όπως είπαμε, το βίντεο είναι ουσιαστικά μια αλληλουχία εικόνων. Η πρώτη σκέψη λοιπόν που περνάει από το μυαλό κάποιου για τη συμπίεση βίντεο, είναι η συμπίεση της κάθε εικόνας στην αλληλουχία. Κέρδος σε χώρο; Για να δούμε ένα παράδειγμα:

    Εικόνα διάστασης 310x250 pixel
    Ασυμπίεστη σε RGB32 (32bits = 4bytes per pixel) : 310 * 250 * 4 = 310.000 bytes => 302,7 KB
    Συμπιεσμένη σε JPEG ποιότητα 60 : 15.759 bytes => 15,39 KB (~5% του αρχικού μεγέθους)

    Εκ πρώτης όψεως, φαίνεται ότι έχουμε φοβερό κέρδος σε χώρο! Για να δούμε πώς αυτό επεκτείνεται σε ένα βίντεο διάρκειας 24 λεπτών.

    Ρυθμός αναπαραγωγής εικόνων ανά δευτερόλεπτο (framerate): 25 fps
    Διάρκεια (duration): 24 λεπτά => 1.440 δευτερόλεπτα
    Συνολικός αριθμός εικόνων: 1.440 * 25 = 36.000
    Ασυμπίεστο μέγεθος: 36.000 * 310.000 = 11.160.000.000 bytes => 10.898.437,5 KB => 10.643 MB => 10,39 GB
    Συμπιεσμένο μέγεθος: 36.000 * 15.759 = 567.324.000 bytes => 554.027,34 KB => 541,04 MB

    Δηλαδή ένα βίντεο διαστάσεων 310x250 pixel (ούτε καν SD) διάρκειας 24 λεπτών (όσο περίπου διαρκεί ένα μέσο επεισόδιο anime) απαιτεί 541 MB με συμπίεση JPEG σε ποιότητα 60! Όπως καταλαβαίνετε, δεν είναι αποδεκτό ένα τέτοιο μέγεθος, αλλά ούτε και η ποιότητα αυτή.

    Υπάρχουν λοιπόν άλλες τεχνικές, πολύ πιο εξελιγμένες, οι οποίες αξιοποιούν τις ομοιότητες ανάμεσα στις εικόνες ώστε να κωδικοποιούν μόνο τις διαφορές τους και όχι όλη την εικόνα ξανά, ανιχνεύουν τις κινούμενες σκηνές και κάνουν συμπίεση καλύτερης ποιότητας σε αυτές τις εικόνες απ' ότι σε εκείνες που ανήκουν σε στατικές σκηνές, και άλλα πολλά. Υπάρχουν λοιπόν πρότυπα που ορίζουν αυτές τις πρακτικές και τους αλγορίθμους. Οι υλοποιήσεις αυτών των προτύπων αποτελούν τα γνωστά μας video codec. Έτσι έχουμε τον ορισμό:

    Video Codec (Compressor/Decompressor) ορίζουμε την υλοποίηση κάποιου πρότυπου ή προτύπων συμπίεσης βίντεο.

    Για τη συμπίεση λοιπόν του βίντεο, επιλέγουμε τον Video Codec που μας εξυπηρετεί γι' αυτό που θέλουμε, και χρησιμοποιώντας τον σε συνδυασμό με ένα συμβατό πρόγραμμα για επεξεργασία αρχείων βίντεο, κάνουμε τη συμπίεσή μας.

    Παραδείγματα video codec: XviD, DivX, x264, WMV9, VC1, κτλ...

    Πιο αναλυτικές οδηγίες στα επόμενα κεφάλαια.

  • Συμπίεση ήχου

    Όπως και με το βίντεο, έτσι και με τον ήχο, θέλουμε να τον συμπιέσουμε για να κερδίσουμε σε χώρο. Ας δούμε ένα παράδειγμα για να καταλάβουμε και ποσοτικά τη σημασία της συμπίεσης του ήχου.

    Ήχος διάρκειας 24 λεπτών => 1440 δευτερόλεπτα
    Ρυθμός δειγματοληψίας: 44.100 Hz
    Αριθμός bit κβάντισης: 16 bit => 2 bytes
    Ασυμπίεστο μέγεθος (μονοφωνικό): ((44.100) * 2) * 1440 = 127.008.000 bytes => 124.031,25 KB => 121,12 MB
    Ασυμπίεστο μέγεθος (στερεοφωνικό): (((44.100) * 2) * 1440) * 2 = 254016000 bytes => 248062,5 KB => 242,25 MB
    Συμπιεσμένο μέγεθος 64kbps (μονοφωνικό): 64 / 8 * 1000 * 1440 = 11520000 bytes => 11250 KB => 10,99 MB (~9% του αρχικού μεγέθους)
    Συμπιεσμένο μέγεθος 128kbps (στερεοφωνικό): 128 / 8 * 1000 * 1440 = 23040000 bytes => 22500 KB => 21,97 MB (~9% του αρχικού μεγέθους)

    Η διαφορά στο μέγεθος είναι κι εδώ εμφανής, καθώς υπολογίσαμε και πάλι τα μεγέθη με βάση την τυπική διάρκεια εός επεισοδίου anime.

    Εδώ, όπως και στο βίντεο, υπάρχουν διάφορες τεχνικές συμπίεσης του ήχου, οι οποίες υπάρχουν σε πρότυπα. Οι υλοποιήσεις των προτύπων αυτών αποτελούν τα γνωστά μας audio codec. Έτσι έχουμε τον ορισμό:

    Audio Codec (Compressor/Decompressor) ορίζουμε την υλοποίηση κάποιου πρότυπου ή προτύπων συμπίεσης ήχου.

    Για τη συμπίεση λοιπόν του ήχου, επιλέγουμε τον Audio Codec που μας εξυπηρετεί γι' αυτό που θέλουμε, και χρησιμοποιώντας τον σε συνδυασμό με ένα συμβατό πρόγραμμα για επεξεργασία ήχου, κάνουμε τη συμπίεσή μας.

    Παραδείγματα audio codec: MP3, AAC, Vorbis, κτλ...

    Πιο αναλυτικές οδηγίες στα επόμενα κεφάλαια.

  • Συνδυασμός σε ένα αρχείο βίντεο

    Ωραία, τελειώσαμε με τις συμπιέσεις των επι μέρους καναλιών βίντεο και ήχου. Τώρα, θα πρέπει να τα ενώσουμε όλα μαζί σε ένα αρχείο βίντεο.

    Κι εδώ υπάρχουν πρότυπα τα οποία ορίζουν τον τρόπο με τον οποίο συνυπάρχουν και αποθηκεύονται τα διάφορα κανάλια δεδομένων, βίντεο, ήχος, υπότιτλοι, κεφάλαια, αλλά κι άλλα δεδομένα κατά περίπτωση. Οι υλοποιήσεις αυτών των προτύπων ονομάζονται video file container. Έχουμε λοιπόν τον ορισμό:

    Video file container ορίζουμε την υλοποίηση κάποιου πρότυπου πολυπλεξίας και αποθήκευσης διαφόρων καναλιών πολυμεσικών δεδομένων (βίντεο, ήχου, υπότιτλων, κα.) σε ένα αρχείο βίντεο.

    Παραδείγματα video file container: AVI, OGM, MP4, MKV, MOV, κτλ...

    Η διαδικασία αυτή καθεαυτή ονομάζεται muxing και ουσιαστικά ενώνει τα διάφορα κανάλια δεδομένων σε ένα αρχείο βίντεο, σύμφωνα με τη διαδικασία που ορίζει το πρότυπο του συγκεκριμένου container τον οποίο θέλουμε να έχει το αρχείο βίντεο. Έτσι έχουμε τον ορισμό:

    Muxing ορίζουμε τη διαδικασία συνένωσης διαφορετικών καναλιών πολυμεσικών δεδομένων (βίντεο, ήχου, υπότιτλων, κα.) σε ένα αρχείο βίντεο, σύμφωνα με τις διαδικασίες που ορίζει το πρότυπο που υλοποιεί ο video file container που θέλουμε να χρησιμοποιήσουμε.

    Για τον συνδυασμό και συνένωση λοιπόν, των συμπιεσμένων καναλιών σε ένα αρχείο βίντεο, επιλέγουμε τον video file container που μας εξυπηρετεί γι' αυτό που θέλουμε, και χρησιμοποιώντας το αντίστοιχο πρόγραμμα muxing (muxer), ετοιμάζουμε το αρχείο βίντεο.

    Για να γίνει στη συνέχεια ο διαχωρισμός αυτών των καναλιών δεδομένων για την αναπαραγωγή του αρχείου βίντεο, απαιτείται ένας διαχωριστής (splitter) για τον αντίστοιχο container. Έχουμε δηλαδή τον ορισμό:

    Διαχωριστή αρχείων βίντεο (video file splitter) ορίζουμε την υλοποίηση διαχωρισμού των καναλιών πολυμεσικών δεδομένων από ένα αρχείο βίντεο, σύμφωνα με κάποιο πρότυπο πολυπλεξίας και αποθήκευσης διαφόρων καναλιών πολυμεσικών δεδομένων (βίντεο, ήχου, υπότιτλων, κα.) σε ένα αρχείο βίντεο.

    Πιο αναλυτικές οδηγίες στα επόμενα κεφάλαια.


Κάπου εδώ τελειώνει το κεφάλαιο εισαγωγής, θα επακολουθήσουν σιγά σιγά και τα αναλυτικά κεφάλαια, τα οποία θα καλύπτουν με λεπτομέρειες τα παραπάνω θέματα.

Τελευταία ενημέρωση (Gpower2) 06/03/2012 12:40
_________________
Διαβάστε τους Κανόνες του Forum! Τα greeklish απαγορεύονται!
Διαβάστε το Playback FAQ
Feeling... nauseous already? Wait to see my anime list first...

And remember, fansubbing is NOT serious business...
Επιστροφή στην κορυφή
Προβολή του προφίλ του συγγραφέα Αποστολή προσωπικού μηνύματος Επίσκεψη στην ιστοσελίδα του συγγραφέα Διεύθυνση AIM Yahoo Messenger MSN Messenger
Προβολή όλων των Δημοσιεύσεων που έγιναν πριν από:   
Δημοσίευση νέου Θέματος     Απάντηση στο Θέμα     AnimeClipse Αρχική σελίδα » Εγκυκλοπαίδεια Fansubbing Όλες οι Ώρες είναι GMT + 2 Ώρες
Σελίδα 1 από 1

 
Μετάβαση στη:   
Δεν μπορείτε να δημοσιεύσετε νέο Θέμα σ' αυτήν την Ενότητα
Δεν μπορείτε να απαντήσετε στα Θέματα αυτής της Ενότητας
Δεν μπορείτε να επεξεργασθείτε τις δημοσιεύσεις σας σ' αυτήν την Ενότητα
Δεν μπορείτε να διαγράψετε τις δημοσιεύσεις σας σ' αυτήν την Ενότητα
Δεν έχετε δικαίωμα ψήφου στα δημοψηφίσματα αυτής της Ενότητας




Powered by phpBB © 2001, 2002 phpBB Group






MKPortal M1.1 Rc1 ©2003-2005 All rights reserved
Page generated in 0.01571 seconds with 5 queries