Μέχρι πρόσφατα, για να απολαύσουμε βίντεο στον υπολογιστή μας μέσω Internet, έπρεπε πρώτα να παραλειφθεί ολόκληρο το αρχείο και μετά να αρχίσει η αναπαραγωγή του. Το πλεονέκτημα αυτής της μεθόδου είναι ότι μπορούμε να παρακολουθήσουμε βίντεο αρκετά καλής ποιότητας, ακόμα και από χαμηλής ταχύτητας συνδέσεις. Το σημαντικότερο μειονέκτημα, ωστόσο, είναι ότι ο χρήστης θα πρέπει να περιμένει για μεγάλο χρονικό διάστημα την παραλαβή ολόκληρου του αρχείου. Παράλληλα, τίθενται και θέματα παραβίασης της πνευματικής ιδιοκτησίας, αφού καθίσταται δυνατή η αντιγραφή και διανομή του αρχείου αυτού. Για την αντιμετώπιση των προαναφερόμενων προβλημάτων αναπτύχθηκε μία νέα τεχνολογία, που επιτρέπει την αποστολή συμπιεσμένου ψηφιακού βίντεο μέσω δικτύων. Το streaming video, όπως ονομάζεται, αποτελεί μία από τις πιο εντυπωσιακές και ταυτόχρονα ταχύτατα αναπτυσσόμενες τεχνολογίες στο Internet. Εχει ήδη δημιουργήσει μία νέα αγορά, γνωστή ως Internet broadcast ή Intercast/Webcast. Παρ' όλα αυτά, οι λεπτομέρειες του streaming παραμένουν εν πολλοίς άγνωστες. Σε αυτό συνέβαλε η εμπορική εκμετάλλευσή του, που δεν βασίστηκε σε κάποιο ανοικτό στάνταρ, αλλά σε ιδιόκτητο κώδικα (proprietary) που αναπτύχθηκε από τις εταιρείες του χώρου. Ακόμα και ο ορισμός του streaming παραμένει στοιχειώδης και περιγραφικός. Σε γενικές γραμμές, περιλαμβάνει την αποστολή υλικού (π.χ. ήχου και εικόνας) από κάποιον server σε κάποιο τερματικό, μέσω ενός packet-based δικτύου, όπως το Internet. Ο server κατατέμνει το υλικό (media) σε πακέτα (packets), τα οποία εκπέμπονται μέσω του δικτύου προς έναν προκαθορισμένο αποδέκτη. Κατά την παραλαβή τους, τα πακέτα επανασυντίθενται και ξεκινά η αναπαραγωγή. Η αλληλουχία των πακέτων αυτών ονομάζεται "ροή" (stream) και η διαφορά ως προς την απλή μεταφορά αρχείων έγκειται στο ότι η αναπαραγωγή του υλικού αρχίζει καθώς αυτό παραλαμβάνεται από τον υπολογιστή του χρήστη. Ενδέχεται, μάλιστα, ο τελικός αποδέκτης να μην παραλάβει ποτέ το συνολικό αρχείο, αλλά απλώς να αναπαράγει τα πακέτα καθώς αυτά καταφθάνουν. Για το χρήστη, η ουσία της όλης διαδικασίας εστιάζει στην προσδοκία ότι το υλικό που ζήτησε θα αναπαραχθεί στον υπολογιστή του άμεσα και χωρίς διακοπές. Αυτός είναι και ο σημαντικότερος στόχος του streaming και ο λόγος για τον οποίο αναπτύχθηκε η τεχνολογία αυτή. Ποιοι είναι, όμως, οι παράγοντες που διαμορφώνουν την τελική ποιότητα; Επειδή η διαδικασία δημιουργίας και διανομής streaming media αποτελείται από αρκετά στάδια, οι παράγοντες αυτοί ποικίλλουν και επηρεάζουν με διαφορετική κάθε φορά βαρύτητα το τελικό αποτέλεσμα. Το πρώτο βήμα, λοιπόν, είναι η καταγραφή ή η δημιουργία του υλικού, είτε σε απευθείας ψηφιακή μορφή είτε σε αναλογική και κατόπιν ψηφιοποίησή της. Η διαδικασία αυτή είναι καθοριστικής σημασίας, αφού η ποιότητα του αρχικού υλικού (π.χ. μίας ταινίας) θα πρέπει να είναι όσο το δυνατόν καλύτερη. Παρ' όλα αυτά, το θέμα αυτό ξεφεύγει από τους σκοπούς του παρόντος άρθρου, αφού δεν σχετίζεται άμεσα με το streaming. Το επόμενο στάδιο αποτελείται από τη συμπίεση του υλικού, χρησιμοποιώντας τα κατάλληλα codecs που έχουν αναπτυχθεί. Είναι θέμα μεγίστης σημασίας και θα μας απασχολήσει τόσο η περιγραφή των codecs που υπάρχουν όσο και τα πλεονεκτήματα ή μειονεκτήματα που παρουσιάζουν. Τα codecs αυτά χρησιμοποιούνται από τις τρεις κυριότερες αρχιτεκτονικές που έχουν δημιουργήσει οι Microsoft, Apple και Real Networks, τις οποίες θα εξετάσουμε αναλυτικά. Αφού ολοκληρωθεί η επεξεργασία του υλικού, ακολουθεί η τοποθέτησή του σε κάποιον server και η αποστολή του προς τους τελικούς αποδέκτες μέσω των νέων streaming πρωτοκόλλων που έχουν αναπτυχθεί. Ο τρόπος με τον οποίο γίνεται η αποστολή, χωρίζει το streaming σε διάφορες μεθόδους και είδη τα οποία θα περιγράψουμε στις επόμενες σελίδες. [b:557e730892] Audio και Video Codecs[/b:557e730892] [b:557e730892][color=darkblue:557e730892]Η ύπαρξη πλήθους διαφορετικών codecs, συχνά προβληματίζει τον χρήστη που αναρωτιέται σε τι εξυπηρετούν. Κι όμως, οι codecs έχουν αναπτυχθεί για να καλύψουν διαφορετικές ανάγκες και ο καθένας τους παρουσιάζει διαφορετικά πλεονεκτήματα και μειονεκτήματα.[/color:557e730892][/b:557e730892] Για την συμπίεση και αποσυμπίεση video και ήχου, έχουν δημιουργηθεί διάφορες τεχνικές και αλγόριθμοι που, υλοποιημένοι σε software, είναι γνωστοί ως codecs (Compression/Decompression). Ως προς τη συμπίεση video, δύο είναι οι κυριότερες τεχνικές σε εφαρμογή σήμερα: οι interframe και intraframe. Η πρώτη εκμεταλλεύεται το γεγονός ότι οι περισσότερες πληροφορίες παραμένουν σταθερές από το ένα καρέ στο άλλο. Για παράδειγμα, σε ένα video που απεικονίζει κάποιον ομιλητή, το σύνολο σχεδόν του φόντου παραμένει σταθερό παρά τις εκφράσεις του προσώπου του εκφωνητή. Η δεύτερη αναλαμβάνει τη συμπίεση κάθε καρέ ξεχωριστά, με τρόπο παρόμοιο προς τη συμπίεση JPEG για εικόνες. Ο συνδυασμός των δύο τεχνικών, μπορεί να επιτρέψει τη συμπίεση του αρχικού υλικού έως και 200:1. Μία βασική κατηγοριοποίηση των codecs είναι σε συμμετρικούς και ασύμμετρους (symmetric / asymmetric), ανάλογα με το αν η συμπίεση διαρκεί περισσότερο από την αποσυμπίεση. Οι ασύμμετροι codecs απαιτούν ισχυρούς υπολογιστές για τη συμπίεση και χρησιμοποιούνται για υλικό που θα συμπιεστεί μία φορά και θα αναπαραχθεί πολλές. Οι συμμετρικοί codecs απ’ την άλλη πλευρά, χρησιμοποιούνται σε real-time εφαρμογές όπως ζωντανές μεταδόσεις, όπου η συμπίεση πρέπει να γίνεται σε πραγματικό χρόνο. Επομένως κανένας codec δεν μπορεί να καλύψει όλες τις ανάγκες, αλλά αντίθετα απαιτείται ο κατάλληλος συνδυασμός τους ώστε να πετύχουμε τα καλύτερα αποτελέσματα για την πλειοψηφία των περιπτώσεων. [b:557e730892]Video Codecs[/b:557e730892] Στη συνέχεια, θα δούμε σε συντομία τους κυριότερους Codecs συμπίεσης / αποσυμπίεσης video που χρησιμοποιούνται σήμερα. H.263: Ο Codec αυτός αναπτύχθηκε από το ITU το 1994 και αποτελεί την εξέλιξη του H.261. Προορίζεται για βιντεοτηλέφωνα και διεξαγωγή τηλεδιασκέψεων μέσω ISDN αλλά και modem, περιπτώσεις όπου η εικόνα δεν περιλαμβάνει πολύ κίνηση. Κυριότερη βελτίωση έναντι του προκατόχου του είναι η υποστήριξη για ακόμα χαμηλότερα bit rate, ενώ περιλαμβάνεται και ένας μηχανισμός που επιτρέπει την καλύτερη αξιοποίηση του bandwidth. Ο μηχανισμός λειτουργεί ισορροπώντας μεταξύ της ποιότητας της εικόνας και της κίνησης, με αποτέλεσμα οι εικόνες που περιλαμβάνουν έντονη κίνηση να είναι χαμηλότερης ποιότητας από τις στατικές. JPEG και MJPEG: Τα αρχικά JPEG προκύπτουν από τις λέξεις Joint Photographic Experts Group. Πρόκειται για έναν φορέα που ανέλαβε την ανάπτυξη ενός αλγόριθμου συμπίεσης για 24-bit (true-color) φωτογραφίες. Η συμπίεση οδηγεί σε απώλεια ποιότητας (lossy) και μπορεί να συμπιέσει από 2 έως και 30 φορές το αρχικό υλικό, ανάλογα με τις ρυθμίσεις. Το MJPEG (Μotion JPEG), είναι απλά μια ακολουθία JPEG εικόνων που αποτελούν το video. MPEG: Ο International Standards Organization (ISO), έχει υιοθετήσει μία σειρά από πρότυπα για video Codec που αναπτύχθηκαν από το Moving Pictures Experts Group (MPEG). Η σειρά περιλαμβάνει τους MPEG-1, MPEG-2 και MPEG-4, με το τελευταίο να αποτελεί και το σημαντικότερο. Το πρότυπο MPEG-4 σχεδιάστηκε για τη διανομή interactive multimedia υλικού μέσω δικτύων. Επομένως δεν πρόκειται για έναν απλό Codec, αλλά περιλαμβάνει προδιαγραφές για ήχο, video και δυνατότητες αλληλεπίδρασης (interactivity). Λειτουργεί αφαιρώντας πλεονάζουσες πληροφορίες μεταξύ των καρέ, αλλά και συμπιέζοντας ταυτόχρονα τα ίδια τα καρέ με μία τεχνική παρόμοια του JPEG. Υποστηρίζει δύο τρόπους κωδικοποίησης, με μεταβλητό ή σταθερό ρυθμό μετάδοσης (variable / constant bit rate), προσφέροντας υψηλής ποιότητας αναπαραγωγή και μικρό μέγεθος αρχείων. Cinepak: O Codec αυτός αναπτύχθηκε το 1990 με σκοπό την αναπαραγωγή ταινιών σε υπολογιστές 386 από CD-ROM μονής ταχύτητας. Το μεγαλύτερο πλεονέκτημά του λοιπόν, είναι ότι απαιτεί ελάχιστη υπολογιστική ισχύ. Καθώς όμως η διαθέσιμη επεξεργαστική ισχύς αυξήθηκε, οι δημιουργοί του Cinepak βελτίωσαν τους αλγόριθμους που χρησιμοποιεί ώστε να υποστηρίζει υψηλότερα data-rates. Αν και όταν πρωτοπαρουσιάστηκε προσέφερε καταπληκτική ποιότητα, δεν μπορεί πλέον να ανταγωνιστεί τους νεότερους Codecs. VP3: Το πρότυπο VP3 αναπτύχθηκε από την εταιρία On2.com. Σχεδιάστηκε για την αναπαραγωγή υψηλής ποιότητας video με σημαντική συμπίεση, χωρίς ωστόσο να απαιτείται υπερβολική ισχύς για αναπαραγωγή. Αρχικά συμπεριλαμβανόταν στην αρχιτεκτονική TrueMotion της On2, αλλά σήμερα έχει ενσωματωθεί και στο QuickTime 5. Παράλληλα, η Real Networks έχει ανακοινώσει ότι θα το υποστηρίξει σε μελλοντικές εκδόσεις. Indeo v4 και v5: O Indeo Video Interactive (IVI) είναι ένας Codec υψηλής ποιότητας, που όμως απαιτεί αρκετά ισχυρό υπολογιστή για σωστή αναπαραγωγή. Χρησιμοποιεί τελείως διαφορετική τεχνολογία από τον Indeo 3 και παρέχει ορισμένα πρωτοποριακά χαρακτηριστικά, όπως chromakeyed transparency και υποστήριξη για hot spots. Η έκδοση 5 προσφέρει βελτιωμένη ποιότητα απεικόνισης και εκμεταλλεύεται τις multimedia εντολές των νέων επεξεργαστών. Πρόσφατα, η εταιρία Lingo αγόρασε τα δικαιώματα της τεχνολογίας Indeo από την Intel, που ευθύνεται για την ανάπτυξή της. Σε γενικές γραμμές, η ποιότητα που προσφέρει είναι ανώτερη του Cinepak αλλά κατώτερη του Sorenson. Sorenson: Ένα από τα σημαντικότερα χαρακτηριστικά του Sorenson video Codec, είναι η υποστήριξη κωδικοποίησης Variable Bitrate (VBR). Η τεχνική αυτή λειτουργεί αναλύοντας πρώτα ολόκληρη την ταινία, με σκοπό να εντοπίσει τα δύσκολα σημεία. Σε δεύτερο στάδιο αναλαμβάνει την κωδικοποίησή της, χρησιμοποιώντας περισσότερα δεδομένα για την κωδικοποίηση των σημείων που εντοπίστηκαν. Η διαδικασία αυτή ονομάζεται two-pass encoding και προκαλεί καθυστέρηση στην κωδικοποίηση που μπορεί να διαρκέσει έως και τριπλάσιο χρόνο. O Codec υποστηρίζει επίσης watermarks, αλλά και την απόρριψη frames ή μείωση της ποιότητα αναπαραγωγής, όταν η ισχύς της CPU δεν επαρκεί. Αποτελεί τον κύριο video Codec για το QuickTime από την έκδοση 3 και έπειτα, ενώ η ποιότητα που προσφέρει είναι πολύ υψηλότερη από του Cinepak σε χαμηλότερα μάλιστα data-rate. RealVideo 8: Η αρχιτεκτονική RealSystem βασίζεται στον Real Video 8 με Scalable Video Technology (SVT). Όπως υποδηλώνει και το όνομά του, ο Codec αυτός έχει την ικανότητα να ρυθμίζει την ποιότητα αναπαραγωγής, ανάλογα με την ταχύτητα σύνδεσης. Πιο συγκεκριμένα, όταν ανιχνεύει ότι υπάρχει πρόβλημα με το διαθέσιμο bandwidth, αντί να απορρίπτει ολόκληρα frames σταματά να αποστέλλει τις λιγότερο χρήσιμες πληροφορίες. Μέσω της τεχνικής αυτής, επιτυγχάνει σημαντικά μικρότερη αλλοίωση της απεικόνισης. Φυσικά υποστηρίζει κωδικοποίηση VBR, ενώ μειονέκτημα αποτελεί ότι σε υψηλά bandwidth απαιτείται ισχυρός υπολογιστής. Windows Media Video: Το codec αυτό αποτελεί το βασικό συστατικό της αρχιτεκτονικής της Microsoft και προέρχεται από το γνωστό MPEG-4. Με την ενσωμάτωση νέων τεχνικών, η εταιρία κατάφερε να αυξήσει τις ήδη πολύ καλές επιδόσεις του αλγορίθμου, δημιουργώντας ένας από τα καλύτερα -αν όχι το καλύτερο- video Codec σήμερα. Η τελευταία έκδοση v8 προσφέρει 30% βελτίωση στη συμπίεση από την προκάτοχό της v7 και ενσωματώνει τεχνικές VBR και Digital Rights Management. [b:557e730892]Audio Codecs[/b:557e730892] Η ευρύτατη απήχηση του προτύπου MP3, μαρτυράει από μόνη της την σημαντικότητα των Codecs και στον ήχο. Στη συνέχεια, θα δούμε τους σημαντικότερους από αυτούς. MP3:Το MPEG Layer 3 (περισσότερο γνωστό ως MP3) είναι ένα εξαιρετικά δημοφιλές standard για τη διανομή μουσικής από το Internet. Παράγει ήχο πολύ υψηλής ποιότητας που απαιτεί εξίσου υψηλά data-rate, της τάξης των 128kbits. Για το λόγο αυτό, τα αρχεία MP3 δεν προσφέρονται συνήθως σε μορφή streaming, αλλά αποθηκεύονται στον υπολογιστή του χρήστη για αναπαραγωγή σε δεύτερο στάδιο. Επειδή το MPEG Layer 3 ανήκει στο MPEG standard, συχνά αναφέρεται ως MPEG 3, πράγμα όμως που είναι λάθος (δεν υπάρχει "MPEG 3").