INTERNATIONAL
TELECOMMUNICATION UNION ITU-T TELECOMMUNICATION
(03/93) STANDARDIZATION
SECTOR OF
ITU LINE
TRANSMISSION OF NON-TELEPHONE SIGNALS VIDEO CODEC FOR
AUDIOVISUAL SERVICES AT p ΄ 64 kbit/s
ITU-T
Recommendation H.261 (Previously
"CCITT Recommendation")
1. Γενικά
Το πρότυπο Η.261 του ITU,
περιγράφει τις μεθόδους
κωδικοποίησης και
αποκωδικοποίησης για
κινούμενη εικόνα σε
ρυθμούς p x 64 Kbit/s, όπου p
κυμαίνεται στην περιοχή 1
έως 30.
2.
Σύντομη περιγραφή
Ένα τυπικό διάγραμμα που
χρησιμοποιείται για την
κωδικοποίηση και
αποκωδικοποίηση video
δίνεται στο σχήμα 1. Σχήμα 1
2.1
Είσοδος και έξοδος video
-
Για να μπορέσει το
πρότυπο H.261 να καλύψει
τις περιοχές που
χρησιμοποιούν εικόνα
με 625 και 525 γραμμές , η
πηγή κωδικοποίησης
(Source coder) λειτουργεί με
εικόνες βασισμένες
στο πρότυπο CIF (Common
Intermediate Format). Τα
στάνταρτ για την
είσοδο και έξοδο
σήματος τηλεόρασης
-που μπορεί για
παράδειγμα να είναι
σύνθετο ή απλό,
αναλογικό ή ψηφιακό-
καθώς και η μέθοδοι
που εφαρμόζονται σε
κάθε απαραίτητη
μετατροπή του από και
προς την πηγή
κωδικοποίησης, δεν
αποτελούν αντικείμενο
του H.261.
2.2
Ψηφιακή είσοδος και έξοδος
-
Ο κωδικοποιητής video
(video coder) έχει ως έξοδο
μια ψηφιακή ακολουθία
(Coded bit stream) η οποία
μπορεί να συνδυαστεί
με άλλα σήματα (όπως
για παράδειγμα
περιγράφεται στο
πρότυπο H.221). Ο
αποκωδικοποιητής video
(video decoder) εκτελεί την
αντίθετη εργασία.
2.3
Συχνότητα δειγματοληψίας
-
Οι εικόνες
δειγματοληπτούνται με
ρυθμό ο οποίος είναι
ακέραιο πολλαπλάσιο
του αριθμού των
γραμμών απ’ τις
οποίες αποτελείται η
εικόνα. Ο χρονιστής
(clock) με βάση τον οποίο
γίνεται η
δειγματοληψία
λειτουργεί ασύγχρονα
με τον αντίστοιχο
χρονιστή του δικτύου.
2.4
Αλγόριθμος κωδικοποίησης
-
Χρησιμοποιείται η
τεχνική απόρριψης
χρονικού πλεονάσματος
πληροφορίας με βάση
κάποιους
προβλεπτικούς
αλγόριθμους, καθώς και
η τεχνική απόρριψης
χωρικού πλεονάσματος.
Ο αποκωδικοποιητής
έχει τη δυνατότητα
αντιστάθμισης
κίνησης, επιτρέποντας
έτσι και την
προαιρετική
ενσωμάτωση της
τεχνικής αυτής και
στον κωδικοποιητή.
2.5
Ρυθμός δυαδικών ψηφίων (bit
rate)
-
To πρότυπο Η.261 είναι
σχεδιασμένο κυρίως
για ρυθμούς video μεταξύ
40 Kbit/s και 2Mbit/s.
2.6
Συμμετρία μετάδοσης
-
Ο
κωδικοποιητής/αποκωδικοποιητής
μπορεί να
χρησιμοποιηθεί τόσο
για αμφίδρομη όσο και
για μονόδρομη
επικοινωνία.
2.7
Διαχείριση λαθών
-
Η μεταδιδόμενη
δυαδική ακολουθία
περιλαμβάνει και
κώδικα διόρθωσης
λαθών BCH (Bose, Chaudhuri and
Hocquengham). Η χρήση αυτού
του κώδικα απ’ τον
αποκωδικοποιητή είναι
προαιρετική.
2.8
Πολυτερματική λειτουργία
(multipoint operation)
-
Τα χαρακτηριστικά τα
οποία είναι
απαραίτητα για την
υποστήριξη αυτής της
λειτουργίας
περιλαμβάνονται στο
πρότυπο H.261
3. Πηγή
κωδικοποίησης (source coder)
3.1 Μορφή
πηγής
-
Η πηγή κωδικοποίησης
χειρίζεται non-interlaced
εικόνες με ρυθμό
30000/1001»29.97 φορές το
δευτερόλεπτο. Η τυπική
απόκλιση στη
συχνότητα είναι ±50ppm.
-
Οι εικόνες
κωδικοποιούνται στη
φωτεινή συνιστώσα
(luminance) και στις δυο
χρωματικές συνιστώσες
(Y , CB και CR). Αυτές οι
συνιστώσες και ο
τρόπος ανάθεσης των
τιμών τους
διευκρινίζονται στο
πρότυπο CCIR 601.
- Black = 16
- White =
235
- Zero
colour difference = 128
- Peak
colour difference = 16 and 240.
-
Οι τιμές αυτές
χρησιμοποιούνται και
οι συναρτήσεις που
υπάρχουν στον
αλγόριθμο
κωδικοποίησης
δέχονται ως είσοδο
τιμές από 1 έως 254.
- Δύο
μορφές εικόνας
καθορίζονται:
-
Στην πρώτη μορφή (CIF) , η
δομή της
δειγματοληψίας του
σήματος φωτεινότητας
(luminance) είναι: 352 pixels/line,
288 lines/picture σε ορθογώνια
διάταξη. Η
δειγματοληψία των δύο
χρωματικών συνιστωσών
γίνεται στα 176 pixels/line,
144 lines/picture επίσης σε
ορθογώνια διάταξη. Οι
χρωματικές συνιστώσες
υποδειγματοληπτούνται
σε σχέση με το σήμα
φωτεινότητας. Τα
δείγματα των
συνιστωσών διαφοράς
χρώματος και της
φωτεινότητας καθώς
και η συσχέτισή τους
φαίνονται στο σχήμα 2.
-
Σχήμα 2
-
Η δεύτερη μορφή
εικόνας, quarter-CIF (QCIF),
περιέχει το μισό
αριθμό pixels καθώς και
των γραμμών από ότι
περιγράφτηκε
παραπάνω. Όλες οι
διατάξεις
κωδικοποίησης και
αποκωδικοποίησης
πρέπει να είναι ικανές
να χειρίζονται
εικόνες QCIF. Μερικές
διατάξεις μπορούν να
χειρίζονται και
εικόνες CIF.
3.2
Αλγόριθμος κωδικοποίησης
video
-
Η πηγή κωδικοποίησης
σε γενική μορφή,
φαίνεται στο σχήμα 3.
Τα κύρια τμήματά της
είναι: η
προβλεπτικότητα
(prediction),
μετασχηματισμός block
(block transformation) και η
κβαντοποίηση (quantization).
Σχήμα 3
-
Η πρόβλεψη λαθών (ΙΝΤΕR
mode) ή η εικόνα που
μπαίνει ως είσοδος (INTRA
mode) υποδιαιρείται σε 8
pixels x 8 line blocks, που
χωρίζονται σε
μεταδιδόμενα ή μη
μεταδιδόμενα.
Επιπλέον, 4 block
φωτεινότητας και δύο
block που αντιστοιχούν
στις χρωματικές
συνιστώσες,
συνδυάζονται ώστε να
σχηματίσουν ένα macroblock
όπως φαίνεται στο
σχήμα 10.
-
Τα κριτήρια επιλογής
της κατάστασης και
μετάδοσης ενός block δεν
αποτελούν αντικείμενο
του Η.261 και μπορεί να
διαφέρουν. Τα block που
μεταδίδονται
υφίστανται διακριτό
μετασχηματισμό και οι
παραγόμενοι
συντελεστές
κβαντοποιούνται και
κωδικοποιούνται.
3.2.1
Πρόβλεψη
-
Η μέθοδος πρόβλεψης
μπορεί να βελτιωθεί
χρησιμοποιώντας την
αντιστάθμιση κίνησης
(βλ. 3.2.2) και φίλτρο
μείωσης χωρικού
πλεονάσματος.
3.2.2
Αντιστάθμιση κίνησης
-
Η δυνατότητα
αντιστάθμισης κίνησης
είναι προαιρετική για
τον κωδικοποιητή. Ο
αποκωδικοποιητής θα
αποδέχεται ένα
διάνυσμα ανά macroblock.
Τόσο η οριζόντια όσο
και η κατακόρυφη
συνιστώσα από αυτά τα
διανύσματα κίνησης
παίρνουν ακέραιες
τιμές που δεν
ξεπερνούν το ±15. Το
ίδιο διάνυσμα
χρησιμοποιείται και
για τα τέσσερα block
φωτεινότητας του
macroblock. Το διάνυσμα
κίνησης για τις δυο
χρωματικές συνιστώσες
παράγεται διαιρώντας
δια δύο κάθε συνιστώσα
από το διάνυσμα του
macroblock και
αποκόπτοντας το
δεκαδικό μέρος με
στρογγυλοποίηση, ώστε
να προκύψουν ακέραιοι
αριθμοί.
-
Θετική τιμή στην
κατακόρυφη ή
οριζόντια συνιστώσα
του διανύσματος
κίνησης, υποδηλώνει
ότι η τα αντίστοιχα pixel
της προηγούμενης
εικόνας βρίσκονται
δεξιά ή κάτω
αντίστοιχα, των pixel της
εικόνας για την οποία
γίνεται η πρόβλεψη. Τα
διανύσματα κίνησης
περιορίζονται στο ότι
όλα τα pixel που
σχετίζονται με αυτά,
δεν πρέπει να
βρίσκονται εκτός των
ορίων της εικόνας που
κωδικοποιείται.
3.2.3 Loop
Filter
-
Η διεργασία της
πρόβλεψης γίνεται
μέσω ενός δύο
διαστάσεων χωρικού
φίλτρου (FIL), το οποίο
λειτουργεί με βάση ένα
8x8 block.
-
To φίλτρο χωρίζεται σε
δύο μονοδιάστατα μέρη,
τα οποία χειρίζονται
δύο διαδικασίες, μία
για την οριζόντια και
μία για την κατακόρυφη
διεύθυνση. Και οι δυο
διαδικασίες, δεν είναι
αναδρομικές και οι
συντελεστές που
χρησιμοποιούνται
είναι: Ό, ½ , Ό, εκτός
από τα όρια του block
όπου ο έλεγχος μπορεί
να περάσει εκτός του
block. Στις περιπτώσεις
αυτές το 1-D φίλτρο
τροποποιείται έτσι
ώστε να έχει
συντελεστές: 0, 1, 0. Έτσι
οι αριθμοί που
επιστρέφονται στην
έξοδο του 2-D φίλτρου
είναι ακέραιοι εύρους
8 bit. Οι αριθμοί
στρογγυλοποιούνται
ώστε να μην έχουν
κλασματικό μέρος.
-
Το φίλτρο τίθεται
εντός ή εκτός
λειτουργίας για τα 6
block που αποτελούν το
macroblock ανάλογα με τον
τύπο του macroblock (βλ. 4.2.3)
3.2.4
Μετασχηματισμός
-
Τα μεταδιδόμενα block,
αρχικά υφίστανται
διακριτό συνημιτονικό
μετασχηματισμό, που
λαμβάνει χώρα στις δύο
διαστάσεις του 8x8 block.
Οι τιμές από τον
αντίστροφο
μετασχηματισμό
κυμαίνονται από -256 έως
+255 μετά το ψαλίδισμα,
ώστε να παριστάνονται
από δυαδικούς
αριθμούς εύρους 9 bits. Η
συνάρτηση μεταφοράς
του αντίστροφου
μετασχηματισμού
δίνονται από τον τύπο:
με u, v, x,
y = 0, 1, 2, . . ., 7
όπου x,y =
spatial coordinates in the pel domain,
u,v =
coordinates in the transform domain,
for u = 0;
otherwise 1,
for v = 0;
otherwise 1.
ΣΗΜΕΙΩΣΗ:
Στο Μετασχηματισμένο block,
x=0 και y=0 αναφέρονται στο
pixel που βρίσκεται στο πάνω
και αριστερό άκρο της
εικόνας.
3.2.5
Κβαντοποίηση
-
Ο αριθμός των
κβαντοποιητών είναι 1
για τους INTRA dc
συντελεστές και 31 για
τους άλλους
συντελεστές. Σε ένα
macroblock ο ίδιος
κβαντοποιητής
χρησιμοποιείται για
όλους τους
συντελεστές εκτός από
τους INTRA dc συντελεστές.
Τα επίπεδα αποφάσεων
δεν καθορίζονται. Ο
κβαντοποιητής για
τους INTRA dc συντελεστές
περιέχει τιμές που
μεταβάλλονται
γραμμικά με βήμα 8 και
χωρίς την ύπαρξη
νεκρής ζώνης (dead-zone). Οι
άλλοι 31 κβαντοποιητές
είναι επίσης
γραμμικοί αλλά με
ύπαρξη νεκρής ζώνης,
γύρω από το μηδέν και
με βήμα που παίρνει
τιμές από 2 έως 62.
-
Τα ανακατασκευαζόμενα
επίπεδα που
χρησιμοποιούνται
περιγράφονται στην
παράγραφο 4.2.4.
3.2.6
Ψαλιδισμός της
ανακατασκευαζόμενης
εικόνας
-
Για να αποφύγουμε την
αριθμητική
υπερχείλιση στον
κωδικοποιητή και
αποκωδικοποιητή, λόγω
μεγάλων συντελεστών,
είναι απαραίτητη η
χρήση των συναρτήσεων
ψαλιδισμού. Η
συνάρτηση ψαλιδισμού
εφαρμόζεται στην
ανακατασκευαζόμενη
εικόνα, που
σχηματίζεται
προσθέτοντας τις
τιμές της πρόβλεψης
και το σφάλμα
πρόβλεψης, που
καθορίζονται στη
διαδικασία
κωδικοποίησης. Ο
ψαλιδιστής επεμβαίνει
στις τιμές που είναι
μικρότερες του 0 ή
μεγαλύτερες του 255,
αλλάζοντας τις σε 0 και
255 αντίστοιχα.
3.3
Έλεγχος κωδικοποίησης (coding
control)
-
Αρκετές παράμετροι
μπορούν να υπάρχουν
για τον έλεγχο του
ρυθμού της παραγωγής
κωδικοποιημένων
δεδομένων video. Αυτές
περιλαμβάνουν
επεξεργασία πριν την
πηγή κωδικοποίησης
(source coder), κβαντοποιητή,
έλεγχος
σημαντικότητας block και
χρονική
υποδειγματοληψία. Οι
ρυθμίσεις που
χρησιμοποιούνται για
το σκοπό αυτό, δεν
αποτελούν αντικείμενο
του Η.261.
3.4
Ανανέωση macroblock
-
H ανανέωση γίνεται
προωθώντας τη χρήση
της INTRA κατάστασης του
αλγόριθμου
κωδικοποίησης. Η μορφή
ανανέωσης δεν
καθορίζεται. Για την
αποφυγή λανθασμένης ή
κακής ποιότητας
πληροφορίας που
προέρχεται από τη
χρήση του διακριτού
μετασχηματισμού, ένα
macroblock πρέπει να
ανανεώνεται δυναμικά
τουλάχιστο μια φορά
κάθε 132 φορές που
μεταδίδεται.
4. Video
multiplex coder
4.1 Δομή
δεδομένων
-
Εκτός αν καθορίζεται
διαφορετικά, το
περισσότερο σημαντικό
ψηφίο είναι αυτό που
μεταδίδεται πρώτο.
Αποτελεί το 1ο bit και
είναι το αριστερότερο
bit του κώδικα, κατά
σύμβαση με το H.261.
Εκτός αν καθορίζεται
διαφορετικά, όλα τα
υπόλοιπα bits που δε
χρησιμοποιούνται
παίρνουν τιμή "1".
Τα bits που δε
χρησιμοποιούνται θα
πρέπει να αγνοούνται
από το σύστημα εκτός
αν η χρήση τους
καθοριστεί από το CCITT.
4.2
Διάταξη του Video multiplex
-
To video multiplex ακολουθεί
μια δομή τεσσάρων
επιπέδων. Από την
κορυφή της ιεραρχίας
μέχρι το τέλος τα
επίπεδα αυτά είναι:
-
¨ picture
-
¨ Group of blocks (GOB)
-
¨ Macroblock (MB)
-
¨ Block
Ένα
συντακτικό διάγραμμα του
video multiplex coder δίνεται στο
σχήμα 4.
Σχήμα
4