next up previous
Next: Caratteristiche di SDL Up: MSDL-S Previous: MSDL-S

Utilizzo di SDL

SDL è stato progettato come componente indipendente (``ortogonale'') di MSDL: le specifiche di SDL non condizionano la struttura delle applicazioni MPEG-4, attualmente scritte utilizzando Java, ma naturalmente vi sono degli aspetti comuni ai due linguaggi. SDL, infatti, assume un approccio di tipo C++/Java nella definizione di tipi di dati utili nella descrizione delle quantità presenti a livello di bitstream. SDL può essere visto come una generalizzazione della descrizione di costanti mediante valori immediati: in questo caso, i valori delle costanti vengono ottenuti dal bitstream. Si assume che l'accesso al bitstream preceda la lettura della costante, che ha quindi sempre un valore definito. Si consideri questo semplice esempio di definizione di un oggetto in C++/Java.


// C++/Java
class simple {
int alpha;
void decode() {
        alpha=in.getint(3);     // Parsing esplicito
        alpha+=15;              // Decodifica         
        }
};

Qui il bitstream in contiene il valore del parametro alpha su 3 bit, che viene successivamente decodificato mediante un incremento, che funge da offset. Lo stesso oggetto in SDL viene definito come segue:


// SDL
class simple {
int(3) alpha;
void decode() {
        alpha+=15;
        }
};

Il costrutto int(3) indica che il parametro alpha è costituito da 3 bit, che vengono ricavati dal bitstream e poi convertiti in un intero. In questo modo, le informazioni sul tipo di dato, sulla sintassi e sui metodi dell'oggetto sono chiaramente definitite, in un modo non più complicato del tradizionale approccio C++/Java.

SDL è applicabile a terminali flessibili e non flessibili: chiaramente, incorporare un analizzatore sintattico programmabile ha un impatto significativo sul costo del terminale. Le specifiche sintattiche del bitstream possono far parte del codice scaricabile di un oggetto, oppure possono essere scaricate dal terminale indipendentemente. Ciò permette la ridefinizione della sintassi senza dover modificare l'implementazione dei metodi di una classe (i tool).


next up previous
Next: Caratteristiche di SDL Up: MSDL-S Previous: MSDL-S
Marco Delaurenti
1999-06-25