ITTO990394A1 - Apparecchiatura per la rimultiplazione di flussi audiovisivi numeriz-zati - Google Patents

Apparecchiatura per la rimultiplazione di flussi audiovisivi numeriz-zati Download PDF

Info

Publication number
ITTO990394A1
ITTO990394A1 IT1999TO000394A ITTO990394A ITTO990394A1 IT TO990394 A1 ITTO990394 A1 IT TO990394A1 IT 1999TO000394 A IT1999TO000394 A IT 1999TO000394A IT TO990394 A ITTO990394 A IT TO990394A IT TO990394 A1 ITTO990394 A1 IT TO990394A1
Authority
IT
Italy
Prior art keywords
packet
packets
memory
flows
output
Prior art date
Application number
IT1999TO000394A
Other languages
English (en)
Inventor
Maura Turolla
Luciano Pilati
Achille Montanaro
Luigi Mori
Original Assignee
Cselt Centro Studi Lab Telecom
Italtel Spa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cselt Centro Studi Lab Telecom, Italtel Spa filed Critical Cselt Centro Studi Lab Telecom
Priority to IT1999TO000394A priority Critical patent/IT1308484B1/it
Publication of ITTO990394A0 publication Critical patent/ITTO990394A0/it
Priority to EP00110083A priority patent/EP1052855A3/en
Priority to CA002308355A priority patent/CA2308355C/en
Priority to US09/570,152 priority patent/US6826185B1/en
Priority to JP2000141819A priority patent/JP3401766B2/ja
Publication of ITTO990394A1 publication Critical patent/ITTO990394A1/it
Application granted granted Critical
Publication of IT1308484B1 publication Critical patent/IT1308484B1/it

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64307ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5664Support of Video, e.g. MPEG
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5672Multiplexing, e.g. coding, scrambling

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Television Systems (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

Descrizione dell’invenzione avente per titolo:
"APPARECCHIATURA PER LA RIMULTIPLAZIONE DI FLUSSI AUDIOVISIVI NUMERIZZATI"
La presente invenzione si riferisce ai sistemi di trasporto e diffusione di flussi audiovisivi codificati e più in particolare ha per oggetto un'apparecchiatura per la rimultiplazione di tali flussi, cioè un'apparecchiatura per estrarre da un flusso contenente più programmi le informazioni relative a programmi specifici e la loro riorganizzazione in un flusso di uscita in vista dell'inoltro agli utenti.
E' noto che un numero sempre crescente di programmi audiovisivi codificati (in particolare programmi televisivi) viene diffuso via cavo o via satellite. Le tecniche di trasporto di questi programmi sono codificate da norme intemazionali, tra le quali si citano a titolo di esempio le norme ETSI della serie ETS 300 4xx ("Digital broadcasting systems for television, sound and data Services..."), riguardanti la trasmissione su uno stesso cavo o su uno stesso canale satellitare di un certo numero di programmi codificati e multiplati con le modalità stabilite dalla raccomandazione ITU-T H222 o normativa ISO/IEC 13818, "Information Technology -Generic Coding of Moving Pictures and Associated Audio Information", comunemente nota come normativa MPEG2. La normativa definisce una sintassi dei flussi codificati, sia relativi ai singoli programmi (flusso di trasporto di programmi singoli o SPTS, acronimo di Single Program Transport Stream), sia all'insieme muitiplato dei programmi (flusso di trasporto di programmi multipli o MPTS, acronimo di MultiProgram Transport Stream). La normativa stabilisce anche le regole per trasportare le informazioni relative al contenuto del flusso, in particolare le tabelle relative alle informazioni specifiche per il programma e alle informazioni di sistema (PSl/SI, acronimo di Program Specific Information/System Information). I flussi di trasporto sono costituiti da pacchetti di lunghezza fissa (188 byte) che comprendono un'intestazione e un campo dati (o carico pagante) che può contenere o i dati dei flussi elementari audio e video o i dati delle tabelle. L'intestazione a sua volta comprende un identificativo di pacchetto (PID = Packet Identifier), il cui valore è assegnato in modo univoco ai singoli flussi elementari per tutta la durata di un programma. Un particolare valore dell'identificativo PID contraddistingue i pacchetti che portano una particolare tabella, chiamata tabella di associazione dei programmi (PAT = Program Association Table), che contiene le informazioni necessarie per individuare la tabella della mappa dei programmi ((PMT = Program Map Table) che contiene a sua volta le informazioni sui singoli flussi elementari all'interno di un singolo programma. L’intestazione dei pacchetti contiene anche informazioni di sincronizzazione, trasmesse con una certa periodicità, tra le quali ai fini della presente invenzione è di interesse il cosiddetto riferimento temporale di programma (PCR = Program Clock Reference).
Nelle convenzionali trasmissioni via cavo o via satellite l'intero flusso di trasporto di programmi multipli arriva a casa dell'utente, il quale mediante un'apparecchiatura apposita (set top box) seleziona un programma desiderato.
Il settore audiovisivo sta diventando un'area di interesse anche per gli operatori di telecomunicazioni, in quanto da un lato le linee a funga distanza, grazie anche all’impiego dì fibre ottiche, hanno la capacità necessaria per trasportare numerosi flussi multiprogramma, e dall'altro lato l’adozione delle tecniche xDSL (si veda p. es. per la tecnica ADSL la normativa ITU-T G.992) per la trasmissione sulle linee di utente ha reso disponibili su queste linee capacità dell'ordine dal Mbit/s a qualche decina di Mbit/s, che consentono di fornire all'utente programmi video singoli o in numero molto limitato. La specifica DAVIC 1.1, che può essere consultata al sito Internet www.davic.org, stabilisce le caratteristiche di una possibile tipologia di servizio fornito dagli operatori di telecomunicazioni agli utenti attraverso le infrastrutture di rete fissa. Questo servizio è noto come "Diffusione video numerica commutata" (SDVB = Switched Digital Video Broadcasting).
In un servizio di questo tipo le operazioni di selezione del programma non possono più essere devolute al dispositivo di utente ma dovranno essere effettuate da organi centralizzati (p. es. in nodi della rete di accesso) che, ricevendo i comandi di selezione dell'utente, siano in grado di riconoscere all'interno del flusso di trasporto multiprogramma i flussi elementari appartenenti al programma scelto, estrarli e combinarli in un flusso per programma singolo, associare a questo tutte le informazioni di servizio necessarie per la corretta decodifica da parte dell’utente, e infine inviarlo a quest'ultimo. Queste operazioni sono effettuate, in uno o più punti della rete, da un'unità di controllo della diffusione (BCU, acronimo di Broadcast Control Unit), destinata alla ricezione e al trattamento dei comandi dell'utente, in cooperazione con un'unità di replica (RU, acronimo di Replication Unit) che riceve i flussi multi programmi e li distribuisce ai singoli utenti. L'operazione di scomposizione di un flusso multiprogramma in flussi singolo programma o in generale in flussi di minor capacità è comunemente nota con il termine di rimultiplazione (remultiplexing).
Dispositivi che svolgono questa funzione, eventualmente unitamente a quella di multiplazione di programmi indipendenti in un flusso di trasporto o all'aggiunta di programmi a un flusso di trasporto, sono noti in letteratura e disponibili commercialmente. A titolo di esempio si citano il brevetto US 5 835 493, dove si descrivono diffusamente le problematiche connesse alla rimultiplazione dei flussi di trasporto, o l'apparecchiatura TokenMux prodotta dalla Philips di Eindhoven (Paesi Bassi).
Nel realizzare un servizio di diffusione video commutata si ha l’ulteriore esigenza di adattare i flussi di trasporto MPEG provenienti dai fornitori di servizi alla tecnica di trasporto adottata sulla rete. Una scelta conveniente e quasi naturale per il trasporto è quella di utilizzare la tecnica ATM, inserendo ciascun programma in un rispettivo canale virtuale. In particolare si è scelto di utilizzare il cosiddetto livello di adattamento (ATM Adaptation Layer) AAL5, definito nella Raccomandazione ITU-T 1.363. Nel trasferire i pacchetti dei programmi nei canali virtuali ATM si ha l'esigenza di controllare che la banda di picco di ciascun canale su ognuna di queste linee non ecceda la banda disponibile sulla linea stessa (tipicamente 8 Mbit/s nel caso si impieghi una connessione ADSL). Ciò richiede un’azione di controllo (nota come "shaping", o livellamento) sui flussi di uscita in modo da smussare i picchi di traffico.
I dispositivi di rimultiplazione noti non prevedono la rimultiplazione diretta di flussi di trasporto MPEG in canali virtuali ATM, e lo scopo dell'invenzione è quello di fornire un'apparecchiatura che consenta di compiere il trasferimento di un flusso di trasporto multiprogramma MPEG nei canali virtuali ATM e multiplare i canali virtuali in cammini virtuali, tenendo presente le esigenze di controllo di banda dette sopra.
Le caratteristiche dell'invenzione risulteranno chiaramente dalle rivendicazioni allegate.
A maggior chiarimento si fa riferimento ai disegni allegati, in cui:
- la fig. 1 è uno schema generale dell'architettura di un servizio di diffusione video commutata in cui si utilizza l'invenzione;
- la fig. 2 è uno schema logico dell'apparecchiatura di rimultiplazione oggetto dell'invenzione;
- la fig. 3 è uno schema a blocchi dell'invenzione;
- le figure 4 - 6 sono schemi di alcune unità dell'apparecchiatura di fig. 3,
- la fig. 7 è un diagramma a stati di una rete logica;
- le fig. 8, 9 sono schemi degli organi di ricalcolo del riferimento di orologio di dei programmi; e
- le figure 10, 11 sono schemi dell'organizzazione dei programmi dell'organo di controllo.
Con riferimento alla fig. 1, con CS1...CSn sono indicati un certo numero di centri servizi in grado di fornire flussi di trasporto multiprogramma MPEG-2 trasmessi su linee dì distribuzione m1..mn, p. es. in cavo coassiale o in fibra ottica, che collegano i centri servizi a una rete di telecomunicazioni RT. In questa, p. es. a livello di terminazione di rete di accesso o in un nodo trasmissivo di livello gerarchico superiore, le linee m1..mn sono ricevute da un'apparecchiatura di rimultiplazione RM, che costituisce l'oggetto dell'invenzione e che effettua tutte le operazioni connesse con l'estrazione dal flusso di trasporto dei programmi di interesse per i vari utenti U1...Ux, il trasferimento dei programmi in canali virtuali ATM e la multiplazione dei canali virtuali in cammini virtuali. Nel disegno l'apparecchiatura di rimultiplazione RM è stata rappresentata in una posizione centralizzata rispetto alle unità dì replica RU e alle unità di controllo della diffusione BCU (una sola delle quali è indicata in figura) ed è collegata alle unità RU attraverso la rete di trasporto ATM indicata con RA. Dalle unità di replica RU i programmi sono poi inviati ai decodificatori degli utenti U1...Ux. Più in particolare, l'apparecchiatura RM deve eseguire, per ciascun flusso multiprogramma ricevuto , le seguenti operazioni:
- identificazione dei programmi contenuti nel flusso,
- separazione dei programmi in flussi singolo programma e/o la loro riaggregazione in più flussi multiprogramma di banda inferiore, con ricalcolo e riscrittura dei valori riferimento temporale del programma PCR e costruzione di una replica delle tabelle informative trasportate nel flusso di ingresso, opportunamente aggiornate per riflettere la composizione del flusso di uscita,
- trasmissione di ogni flusso così ottenuto su canali virtuali ATM distinti all'interno di uno stesso cammino virtuale, trasferendo i pacchetti MPEG nelle celle ATM come richiesto dalle normative internazionali. Come accennato nell'introduzione, in questa fase occorrerà far sì che la banda di picco sui singoli canali virtuali non ecceda la capacità delle linee d'utente su cui gii stessi sono trasportati nell’ultimo tratto della rete di distribuzione. Inoltre, occorrerà effettuare anche una multiplazione statistica dei canali virtuali per far sì che la banda complessiva trasferita sul cammino virtuale entro cui i canali virtuali sono inseriti non ecceda la banda di picco disponibile per il cammino stesso.
La struttura logica dell’apparecchiatura RM può essere quella rappresentata in fig. 2. L'apparecchiatura comprende una parte di analisi sintattica AS dei flussi MPEG2, che, per ciascun flusso, separa le informazioni che non devono essere sottoposte a elaborazioni (tipicamente i flussi elementari audio e video e dati privati) dalle informazioni che vanno rielaborate (in particolare le tabelle menzionate sopra e i dati dei programmi che vanno replicati in più copie). In quanto segue, le informazioni che vanno rielaborate saranno semplicemente chiamate "tabelle" o più in generale anche "informazioni di servizio". Queste ultime vengono inoltrate a un dispositivo di elaborazione e controllo MP, tipicamente un microprocessore, che costruisce le repliche aggiornate delle tabelle, da inoltrare su ciascun canale virtuale attivo, e genera anche l'intestazione dei nuovi pacchetti in cui tali repliche vanno inserite. Le informazioni da non sottoporre a elaborazione sono fomite a dispositivi di memorizzazione ME che, sotto il controllo di MP, organizzano code logiche di tipo FIFO, separatamente per ciascun programma o gruppi di programmi. Infine, l’organo CF provvede alla effettiva conversione dei flussi MPEG in flussi ATM, leggendo il contenuto delle code in ME, suddividendo i pacchetti MPEG in celle ATM ed effettuando il livellamento dei canali virtuali e la multiplazione statistica entro i cammini virtuali.
A monte del blocco AS vi saranno organi di preelaborazione dei flussi di trasporto che hanno il compito di fornire il contenuto dei pacchetti in forma adatta al trattamento nel dispositivo RM, p. es. sotto forma di parole di 8 bit, associate ai segnali di orologio, a un'informazione di inizio pacchetto e ai convenzionali segnali previsti dal protocollo di scambio informazioni adottato. Questi organi non hanno interesse ai fini della presente invenzione e quindi non sono indicati.
Nella fig. 3 si è rappresentata con maggiori dettagli la struttura del dispositivo RM. I flussi di trasporto in arrivo presenti sulle linee mi..m„ sono fomiti a rispettive interfacce di ingresso FL1...FLn, nel seguito chiamate "filtri", che hanno il compito di separare i pacchetti validi da quelli da scartare, di distinguere, nel caso di pacchetti validi, quelli che contengono informazioni che devono essere sottoposte a ulteriori elaborazioni da quelli contenenti dati dei programmi che non devono essere ulteriormente elaborati, e di effettuare un primo trattamento del riferimento temporale di programma PCR, trattamento che verrà poi completato in organi AA che preparano i flussi ATM. A questo scopo i filtri ricevono da AA, tramite una connessione 9, un segnale di orologio alla stessa frequenza (27 MHz) dei segnali di orologio di sistema secondo la normativa MPEG2 e segnali di sincronizzazione per gli organi che effettuano tale trattamento. I principi che stanno alla base del trattamento effettuato saranno esposti più avanti.
Per le operazioni di analisi sintattica i filtri FL1...FLn utilizzano una parola di controllo individuata in una rispettiva memoria di ricerca MR1...MRn utilizzando come indirizzo l'identificativo di pacchetto PID contenuto nell'intestazione dei pacchetti. Questa parola è preparata ed aggiornata dal dispositivo di controllo MP sulla base dell'evoluzione delle tabelle e contiene tre campi: il primo indica se il pacchetto è valido e va ulteriormente trattato (tabella o dati di programma) oppure va scartato (pacchetto di riempimento o pacchetto ricevuto durante una fase transitoria durante la quale il microprocessore non ha ancora completato l'acquisizione della struttura del programma): il secondo specifica se il pacchetto è relativo a dati di un programma o a una tabella; e il terzo, che è utilizzato per i pacchetti contenenti dati dei programmi, comprende un gruppo di bit ognuno dei quali è associato a una coda logica per l'inoltro dei pacchetti verso i canali virtuali interessati e indica, con il suo valore logico, se un dato pacchetto deve o no essere inserito nella relativa coda. L'associazione tra pacchetti (distinti dai loro identificativi PID) e code logiche viene costruita e aggiornata dal controllore MP sulla base delle informazioni sulla struttura del flusso di ingresso, ricavate dall'analisi continua delle tabelle PSI/SI.
La struttura dei filtri FL sarà descritta con maggiori dettagli con riferimento alla figura 4.
I pacchetti che contengono i dati dei programmi sono inoltrati dai filtri FL1...FLn, tramite connessioni 1-1...1n, alle rispettive memorie dati MD1...MDn, in cui vengono organizzate le code logiche di tipo FIFO associate a ciascun canale virtuale attivo. I dati possono anche essere presentati all'esterno, per scopi di monitoraggio di un particolare flusso entrante da parte dì un operatore, attraverso un mulltiplexer MX1 , comandato p. es. dal dispositivo di controllo MP. La scrittura/lettura dei dati nelle memorie dati MD1...MDn è gestita da rispettivi controllori di memoria CM1...CMn che provvedono a ripartire dinamicamente lo spazio di memoria tra le diverse code logiche attraverso la gestione di liste concatenate di puntatori, ciascuno dei quali individua un segmento di memoria in cui viene inserito un singolo pacchetto. Come usuale nella gestione di queste liste, ogni lista comprende un elemento di testa e uno di coda che vengono aggiornati ad ogni scrittura e rispettivamente lettura. Dopo ogni lettura di un pacchetto, il relativo puntatore verrà normalmente accodato a una lista dei segmenti di memoria liberi, che verrà utilizzata per individuare di volta in volta le posizioni in cui scrivere i pacchetti in arrivo. Se è richiesta la replica di componenti elementari su più canali, senza elaborazione, questa replica viene effettuata agendo sulle code di puntatori in modo che non sia necessario memorizzare più copie dì uno stesso pacchetto nelle memorie MD: in pratica per ogni pacchetto da replicare verrà creato l'opportuno numero di copie del puntatore all'unico segmento di memoria MD che contiene il pacchetto, e ciascuna copia viene accodata alla lista opportuna: In questo caso l'inserimento del segmento di memoria nella lista di segmenti lìberi dovrà ovviamente avvenire solo quando il segmento è stato letto il numero di volte fissato. Le informazioni necessarie sono contenute nel terzo campo della parola di controllo, che viene inviato da FL1...FLn al rispettivo controllore di memoria CM1...CMn tramite connessioni 2-1...2n su cui transitano tutte le informazioni che devono essere scambiate tra un filtro FL e un controllore CM, come si esaminerà meglio in seguito. Maggiori dettagli sulla struttura dei controllori di memoria risulteranno dalla fig. 5.
I pacchetti che contengono le informazioni da elaborare nel controllore MP sono forniti dai filtri FL1...FLn a una memoria tampone di ingresso MT1...MTn, dove vengono inseriti in un'unica coda logica. Preferibilmente le memorie tampone MT1...MTn e le memorie di ricerca MR1...MRn sono realizzate fisicamente come due metà parti di una stessa memoria di servizio MS1...MSn. Ciò semplifica la struttura dell'apparecchiatura. Pertanto nel disegno si è indicata un'unica connessione 3-1...3-n che collega un filtro FL1...FLn alla rispettiva memoria di servizio MS1...MSn. L'accesso di un filtro FL a MR o a MT dipenderà dalla fase di operazione.
Le tabelle memorizzate nelle memorie tampone MT1...MTn vengono poi lette dal controllore MP attraverso un bus interno 5 dell'apparecchiatura e un'interfaccia IM, collegata al bus b del controllore MP. Come detto, il controllore utilizza le informazioni contenute nelle tabelle per aggiornare le parole di controllo da fornire alle memorie MRl..MRn. Inoltre, ottenuta una versione completa di tali tabelle, MP ne costruisce le repliche aggiornate da inviare sui canali virtuali attivi. Queste repliche vengono distribuite nel carico pagante di opportuni pacchetti, sempre conformi alla sintassi prevista per i flussi di trasporto, dei quali il controllore costruisce anche l'intestazione. I pacchetti con le tabelle vengono poi inseriti in apposite code logiche realizzate in una memoria di uscita TU, che è divisa in n aree in corrispondenza biunivoca con le interfacce di ingresso FL e, all'interno di ciascuna area, comprende una posizione per ciascuna delle code logiche realizzate nella corrispondente memoria dati MD. Il controllore MP stabilirà anche la sequenza e la frequenza di emissione delle tabelle su una connessione 7 per l'inserimento da parte di AA nelle opportune celle ATM. Si noti che il controllore MP opera in parallelo su tutti i flussi presenti all'ingresso di RM e che analogamente la memoria di uscita TU organizza le code logiche dei pacchetti di tabelle per tutti i canali virtuali dì tutti i cammini virtuali.
Le uscite delle memorie dati MD sono collegate al blocco AA che effettua la vera e propria conversione dei flussi MPEG in flussi ATM. Il blocco AA (che sarà descritto con maggiori dettagli con riferimento alla fig. 6) è in grado di leggere i dati da una memoria MD alla volta, e quindi tali uscite formano vantaggiosamente una struttura a bus. Per semplicità di disegno si è rappresentato un unico bus 4 per trasferire i dati dalle memorie MD ad AA e per lo scambio tra MD e AA di segnali connessi a tale invio (indirizzi, segnali di comando e segnali del protocollo di scambio informazioni). Una struttura a bus 6 analoga è prevista per l'invio di segnali di comando della lettura e di indirizzi da AA alle memorie stesse e per lo scambio di informazioni tra il blocco AA e i controllori di memoria CM. Il blocco AA provvede a segmentare i pacchetti organizzati secondo la sintassi dei flussi di trasporto in celle ATM secondo le modalità previste dal protocollo AAL5 e provvede a ripartire la banda tra i canali virtuali attivi operando in due stadi. Nel primo stadio, AA limita la banda di picco di ciascun canale virtuale in modo programmabile ed effettua la multiplazione nei canali virtuali dei dati relativi ai flussi elementari (estratti dalle memorie MD) e alle tabelle aggiornate (fomite da TU tramite opportuni fili di una connessione 7). Nel secondo stadio, viene effettuata la multiplazione statistica dei canali virtuali entro i cammini virtuali limitando la banda di picco di questi ultimi a un valore anch’esso programmabile. I flussi ATM preparati da AA sono poi emessi sull’uscita a tramite interfacce normalizzate (note come UTOPIA), non rappresentate. Per le operazioni suddette il blocco AA coopera con una memoria di livellamento MC al cui interno sono memorizzate le informazioni che consentono di determinare, per ogni tempo di cella ATM, il flusso di ingresso e la coda da servire. Queste informazioni sono fornite da MC ad AA tramite una connessione 8.
Più In particolare, la memoria MC memorizza una lista di "buoni di uscita" ("token") per l’invio all’uscita dell'apparecchiatura delle singole celle ATM e ciascun buono di uscita è relativo a un particolare canale virtuale attivo. Il buono di uscita può essere semplicemente costituito da una parola con due campi, uno che individua l'interfaccia d'ingresso (e quindi la memoria MD dove è organizzata la coda relativa a quel canale) e l'altro la coda logica. La frequenza nella lista dei buoni di uscita relativi a un dato canale virtuale e la velocità di scansione della lista determinano la banda di picco che può essere allocata a quel canale. Si deve anche ricordare che, secondo le normative AAL5, ogni unità dati (la cosiddetta PDU o Protocol Data Unit) deve contenere i dati di due pacchetti MPEG, che possono essere trasferiti in otto celle ATM, e quindi per ogni canale virtuale si dovranno leggere otto buoni di uscita.
Al fine di poter gestire variazioni nella legge di multiplazione dei pacchetti entro i rispettivi canali virtuali, che possono rendersi necessarie a seguito di intervenute modifiche nella composizione del flusso multiprogramma in ingresso all'apparecchiatura RM, la memoria MC è suddivisa in due parti organizzate a pingpong, una delle quali contiene lo stato attuale della sequenza dei buoni di uscita, da utilizzare nella trama in corso, e l'altra contiene lo stato futuro di tale sequenza, preparato dal controllore a seguito della rilevazione della suddetta modifica di composizione del flusso.
Il blocco AA provvede anche a completare le elaborazioni dei valori del riferimento PCR necessarie per il ricalcolo degli stessi. Questo ricalcolo è necessario per eliminare o ridurre una fonte non trascurabile di fluttuazioni del ritardo di trasmissione Qitter) dei pacchetti da un trasmettitore a un ricevitore e consentire quindi di sintetizzare al ricevitore una base tempi sincrona con quella del trasmettitore tramite un circuito ad aggancio di fase o PLL che opera a partire dalla sequenza dei valori di PCR. Essenzialmente le elaborazioni consistono nel determinare il tempo di permanenza (variabile) nel blocco RM di ciascun paccheto contenente l'informazione PCR e aggiornare di conseguenza il valore del riferimento PCR nei paccheti emessi. La stima di tale tempo dovrebbe a rigore essere effettuata utilizzando un orologio sincrono con l'orologio che ha originato il PCR stesso: ciò tuttavia implicherebbe l'impiego di tanti PLL (analoghi a quelli utilizzati al ricevitore) quanti sono i programmi con orologi di sistema distinti. Una notevole riduzione di complessità si otiene effetuando la misura del tempo mediante un unico contatore, incrementato da un oscillatore locale alla frequenza nominale dell'orologio di sistema. Purché la precisione e la stabilità dell'oscillatore locale siano le stesse di quello impiegato nei trasmettitori, l'errore introdotto sulle misure degli intervalli temporali è tale da poter essere facilmente assorbito dai PLL di ricezione. L’operazione di calcolo del tempo di attraversamento potrebbe richiedere, in linea di principio, la memorizzazione dell’istante di ingresso di ciascun campione PCR nell'apparecchiatura, l'associazione di questo istante con il campione stesso, la rilevazione dell’istante di uscita dal remultiplexer, il calcolo dell'intervallo di tempo trascorso e la correzione del valore del campione secondo questa misura. Questa procedura risulterebbe inefficiente per due ragioni:
- vi sarebbe la necessità di riservare memoria per la registrazione degli istanti di ingresso dei PCR; le dimensioni di detta memoria sarebbero difficilmente stimabili a priori data l'impossibilità di predire il numero massimo di campioni di PCR contemporaneamente presenti all'interno dell'apparecchiatura in ogni dato istante, - sarebbe difficile mantenere un'associazione tra gli istanti di ingresso dei campioni e i campioni stessi.
La soluzione adottata evita entrambi gli inconvenienti di cui sopra e prevede come detto una correzione in due stadi successivi, uno dei quali è svolto nei blocchi FL e l'altro nel blocco AA. Il valore corretto PCROUT è calcolato in base alla relazione:
dove PCRIN è il valore contenuto in un pacchetto ricevuto e T|N, TOUT sono gli istanti di arrivo e di uscita del pacchetto determinati utilizzando l'oscillatore locale. In pratica, nei filtri FL si calcola un valore e nel blocco AA si calcola un valore
Una realizzazione preferita dei mezzi di correzione sarà
descritta in seguito.
Va ancora aggiunto che oltre ai flussi presenti sulle linee m1...mn l’apparecchiatura può anche ricevere flussi di test preparati dal controllore MP. Questi flussi sono letti in un’apposita memoria TS e arrivano ai filtri FL tramite una linea t. Essi possono essere poi prelevati o all'uscita delle memorie tampone MT o all'uscita del blocco AA per essere rinviati al controllore MP.
Con riferimento alla fig. 4 un filtro FL comprende essenzialmente:
- una macchina a stati PA1 che costituisce l'analizzatóre sintattico vero e proprio che, come detto, deve discriminare, tra i pacchetti validi e non validi e tra pacchetti che trasportano tabelle o dati dei programmi,
- un blocco CR1 per il calcolo del valore PCRM detto sopra,
- una memoria tampone BU1, che è sostanzialmente strutturata come un banco di registri a scorrimento, per la memorizzazione temporanea del flusso di pacchetti durante le operazioni del filtro FL; i pacchetti vengono poi emessi da BU1 su fili 1a della opportuna connessione 1 di fig. 3
- un organo DC di gestione dell'accesso alla memoria dati MD e alla memoria di servizio MS;
- un multip.lexer MX2 per fornire a PA1 e a BU1 o i pacchetti dei programmi presenti sulla linea m o i pacchetti di prova presenti sulla linea t.
La macchina a stati PA1 , come detto, opera a partire dall'analisi dell'identificativo di pacchetto PID e della parola di controllo associata al pacchetto e letta nelle memorie di servizio e genera:
- su un filo 10 un segnale di comando che viene fornito a DC per permettere al filtro di accedere alla memoria di servizio MS oppure alla memoria dati MD; nella fase iniziale delle operazioni relative a un pacchetto, e in particolare fino a quando PA1 non ha riconosciuto il tipo di pacchetto, il segnale di comando avrà valore tale da determinare l'accesso alla memoria di servizio (e in particolare alla sezione che costituisce la memoria di ricerca MR);
- su un filo 11 un segnale TABADD che viene utilizzato da DC per la generazione degli indirizzi di lettura/scrittura nelle memorie suddette;
- su fili indicati nel loro complesso con 12, segnali di controllo per la scrittura/lettura dei dati nella memoria tampone BU1, per il trasferimento da BU1 a DC dell'identificativo di pacchetto PID (connessione 13) e segnali di controllo per il trasferimento da BU1 a CR1 del segnale PCR da aggiornare e per il trasferimento da CR1 a BU1 del segnale PCR elaborato in CR1 (connessione 14).
Inoltre PA1 riceve:
- da DC, tramite una connessione 15, la parola di controllo,
- da CM (Fig. 3), tramite fili 2a della connessione 2, un puntatore per la scrittura in memoria dati (che verrà utilizzato per la generazione dell’indirizzo effettivo di scrittura).
Inoltre, nel caso di un pacchetto contenente dati, restituisce a CM, sempre tramite fili 2b della connessione 2, il terzo campo della parola di controllo contenente le indicazioni sulle code logiche da attivare.
Il blocco DC genera, utilizzando l'identificativo PID e/o il segnale TABADD presenti rispettivamente sulle connessioni 13 e 10, gli indirizzi per l'accesso a MR oppure a MT o MD, a seconda della fase e del tipo di pacchetto. Gli indirizzi per l’accesso a MD sono presentati su fili 1b della connessione 1; quelli per l'accesso a MR o a MT su fili 3a della connessione 3. Inoltre DC riceve da BU1, tramite i fili 1a, i pacchetti da inviare verso MT e li presenta su fili 3b, per esempio con parallelismo a 16 bit; in direzione verso DC, lo stesso gruppo di fili 3b viene utilizzato per fornire a DC la parola di controllo da inoltrare sulla connessione 15. Si noti che nel disegno non sono rappresentati i convenzionali segnali relativi al protocollo di dialogo con una memoria (selezione del chip, dato valido, lettura/scrittura ecc.) in quanto privi di interesse ai fini della comprensione dell'invenzione.
Il funzionamento del filtro è il seguente: la macchina a stati PA1, ricevendo un pacchetto MPEG rimane in uno stato di riposo in attesa di riconoscere l'arrivo dell'identificativo di pacchetto PIO. Quando viene riconosciuto PID, PA1 ne comanda la lettura in BU1 e il trasferimento a DC, che lo utilizza come indirizzo di lettura in MR della parola di controllo associata a quel pacchetto. Sulla base del contenuto della parola di controllo PA1 abilita DC a gestire l’accesso a MT o MD oppure, se il pacchetto è un pacchetto non significativo, ritorna a riposo. Se il pacchetto è un pacchetto da fornire al controllore MP, il segnale sul filo 10 continua a rimanere al valore logico necessario per l’accesso alla memoria di servizio. Inoltre, il pacchetto viene trasferito da BU1 sull'uscita 1a e passato a DC che lo inoltra verso MT, dove verrà scritto all'indirizzo generato da DC sulla connessione 3a. Se il pacchetto è un pacchetto dati, in base al valore del puntatore fornito da CM sui fili 2a PA1 genera un opportuno valore per TABADD; il segnale sul filo 10 viene commutato in modo da consentire l'accesso di DC a MD: il pacchetto viene inoltrato da BU1 verso MD e verrà scritto all'indirizzo generato da DC sulla connessione 1b. Quando viene riconosciuto un pacchetto con un campione del PCR, PA1 comanda l'estrazione da BU1 del campione stesso e il suo trasferimento a CR1 per il calcolo di PCRM. Il valore PCRM è poi reintrodotto nella stessa memoria tampone BU1 prima dell'inoltro a valle del pacchetto.
Nel caso di pacchetti di test, le operazioni si svolgono con criteri identici a quelli per i pacchetti provenienti dai centri servizi. L'unica differenza è che, anche se si tratta di pacchetti di dati, essi possono essere inoltrati o verso ME o verso DC, a seconda che i pacchetti di test vadano letti o all'uscita di AA (FIG. 3) o prelevati da MT.
Nella fig. 5, un controllore di memoria CM comprende essenzialmente:
- una memoria FF destinata a memorizzare i puntatori per la scrittura nella memoria dati MD;
- un'unita UR destinata a replicare un puntatore tante volte quante sono le code in cui un pacchetto di dati di un programma va inserito;
- un'unità QM di gestione delle code logiche nella memoria dati MD;
- un'unità FP di controllo della liberazione dei puntatori.
La memoria FF è una memoria FIFO del tutto convenzionale che contiene una lista di puntatori corrispondenti ad aree di memoria MD libere. Ogni puntatore seleziona un'area di memoria di dimensioni tali da contenere un pacchetto MPEG. Questa memoria viene inizializzata in modo da contenere la lista di tutti i possibili puntatori (p. es. 128) e, sulla base delle informazioni di aggiornamento fornite dal successivo blocco AA (fig. 3), genera un'indicazione del primo puntatore libero e la presenta suH’uscita 2a per l'invio al blocco PA1 (fig. 4) del filtro FL e al blocco UR dello stesso controllore CM.
L'unità UR riceve dal blocco PA1 (fig. 4), tramite i fili 2b, il terzo campo della parola di controllo, contenente le indicazioni delle code in cui il pacchetto va inserito, e dalla memoria FF il puntatore all’area di memoria MD dove la coda viene organizzata e invia verso il gestore delle code QM, tramite connessioni 16, 17, i puntatori e i comando per la loro scrittura nelle code, replicandoli tante volte quante sono le code attive per quel pacchetto. Ciò consente di memorizzare una sola volta in MD il pacchetto, indipendentemente dal numero di utenti a cui il pacchetto va fornito. Inoltre UR fornisce, su un’uscita 18 collegata all'unità FP di controllo della liberazione dei puntatori, l'informazione sul numero delle code, e quindi di repliche.
L'unità QM realizza un insieme di code organizzate secondo un criterio di tipo FIFO, memorizzando i puntatori forniti da UR. Poiché come detto ogni PDU del protocollo AAL5 deve contenere due pacchetti MPEG, ogni coda in QM sarà considerata vuota fino a quando non comprende una coppia di puntatori. QM riceve da AA (Fig. 3) le richieste di lettura di una particolare coda tramite fili 6a della connessione 6 e fornisce ad AA, a ogni richiesta, la coppia di puntatori tramite fili 6b della stessa connessione 6, unitamente a un'indicazione della loro effettiva validità (coda non vuota). Le tecniche per realizzare un dispositivo che svolga le funzioni di QM sono note in letteratura.
Il blocco FP infine è una memoria che contiene le identità dei puntatori ed è associata a un contatore che viene inizializzato con il valore fornito da UR tramite la connessione 18 e viene decrementato ogni volta che AA ha completato un'operazione concernente l'area di memoria individuata da un puntatore. Per questo scopo FP riceve da AA tramite fili 6c della connessione 6 segnali indicativi dell'avvenuto accesso all’area di memoria indicata dal puntatore, emettendo sull'uscita 19 verso FF l'informazione di "area di memoria libera" quando il contatore è arrivato a 0.
Con riferimento alla fig. 6, nel blocco AA una rete logica GD di gestione del dialogo con i controllori di memoria CM (Fig. 3) riceve da MC i buoni di uscita tramite la connessione 8 e, quando viene letto il primo buono di uscita del gruppo di otto relativo a un canale virtuale di uscita, richiede al gestore delle code logiche QM (fig.
5) nel controllore CM interessato, tramite i fili 6a, i puntatori relativi a quel canale. Se la coda non è vuota (cioè in QM, fig. 5, sono presenti almeno due puntatori), tali puntatori sono inseriti da GD in una parola di informazione o "permesso" unitamente all'identità della coda e del flusso di programmi di provenienza (cioè alle informazioni contenute in un buono di uscita), a un'indicazione che il buono di uscita è associato a dati di programma, e all'informazione della posizione del buono di uscita nel gruppo di otto. Se la coda è vuota (ciò che è riconosciuto da GD grazie a un segnale presente anch'esso sui fili 6b) e se vi sono invece tabelle associate a quel canale virtuale (ciò che è segnalato dal controllore tramite il bus 5), nel permesso viene inserita l'indicazione che il buono di uscita è associato a una tabella, oltre all'identità della coda e del flusso di programmi. In pratica, la rete logica GD è una macchina a stati replicata tante volte quante sono le possibili code logiche e, per ciascuna coda, opera secondo il diagramma degli stati di fig. 7, relativo alla coda x. Il passaggio da uno stato all’altro è determinato dalla lettura di un "buono di uscita" della rispettiva coda.
I permessi creati da GD sono inseriti in una di n code di permessi, associate ognuna a un cammino virtuale di uscita, a sua volta associato univocamente a uno dei flussi di ingresso. Queste code di permessi vengono organizzate in un gruppo di n memorie FIFO indicate nel loro complesso con PQ, che li ricevono da GD tramite una connessione 20. I permessi vengono forniti dalle memorie PQ a una rete logica DR di gestione delle richieste dati tramite connessioni 21. La rete logica DR, sulla base delle informazioni contenute in un dato permesso, genera su fili 4a del bus 4 gli indirizzi di lettura in una delle memorie MD (fig. 3), oppure su fili 7a della connessione 7, gli indirizzi di lettura nella memoria TU. Un multiplexer MX3 permette di selezionare una delle memorie PQ. Di conseguenza la logica DR comanda tramite la connessione 22 il posizionamento di un multiplexer MX4 su un primo ingresso collegato a fili 4b del bus 4 o su un secondo ingresso collegato a fili 7b della connessione 7, in modo che AA riceva i dati di programma o le tabelle.
Al termine della lettura di un pacchetto (ciò che è segnalato dal controllore) DR emette sui fili 6c il segnale di liberazione del puntatore. I permessi vengono letti dalle rispettive code con una frequenza che è programmabile dal controllore MP. L'alternanza delle n code è invece ciclica. L'accesso a TU avverrà anche periodicamente, dopo la lettura di un certo numero di coppie di pacchetti dati.
Le informazioni che all'interno di un permesso identificano una coda logica (cioè le informazioni contenute in un buono di uscita) sono anche trasferite a unità IC, CC destinate a costruire rispettivamente l'intestazione delle celle ATM e l’etichetta di chiusura (trailer) delle unità di protocollo, e inoltre servono per indirizzare una memoria VR che contiene le informazioni sulle associazioni tra code logiche e cammini virtuali/canali virtuali e che fornisce a IC gli identificativi del canale virtuale e del cammino virtuale da inserire nell'intestazione di una cella. Le informazioni necessarie sono caricate in VR da MP. La connessione 22 porta i segnali di comando anche ai blocchi IC, CC.
I dati o le tabelle sono forniti da MX4 a una seconda memoria tampone BU2, analoga a BU1 (Fig. 4), e a un secondo analizzatore sintattico PA2 che, nel caso di programmi, deve riconoscere la presenza dell’indicativo PCR nei pacchetti e comandarne il trasferimento da BU2 agli organi CR2 che effettuano la seconda parte delle elaborazioni richieste per PCR calcolando il valore PCROUT e sostituendolo al valore PCRM prima dell'inoltro a valle del pacchetto. I dati uscenti da BU2 sono fomiti tramite una connessione 23 a un primo ingresso di un ulteriore multiplexer MX5, che ha due altri ingressi collegati rispettivamente a IC e CC per trasferire in uscita, negli istanti opportuni, l'intestazione o il carico pagante delle celie e, alla fine del gruppo di celle l'etichetta di chiusura (trailer). Anche MX5 è comandato da segnali emessi da DR sulla connessione 22. L'uscita 24 di MX5 è poi collegata all'interfaccia UTOPIA di trasmissione UT, e quindi all'uscita a del dispositivo.
Si ricorda che secondo le specifiche AAL5 l'etichetta di chiusura occupa un certo numero di parole dell'ultima cella di un'unità dati, e quindi da un lato DR comanda la lettura in MD di un diverso numero di parole a seconda che si stia leggendo una delle prime 7 celle oppure l'ultima di un gruppo di 8, e dall'altro CC deve ricevere anche i dati presenti sulla connessione 23 per completare l'ultima cella.
L'uscita 24 di MX5 è anche collegata al bus 5 tramite un ulteriore multiplexer MX6, che in alternativa può ricevere attraverso un’interfaccia UTOPIA di ricezione UR celle ATM utilizzate per scopi diagnostici, da avviare al controllore. In questo modo si possono trasferire a MP i pacchetti di test generati da TS (Fig. 3).
Tornando alle elaborazioni dei campioni PCR, i circuiti CR1, CR2, illustrati nelle figure 8 e 9, tengono conto dell'esigenza di mantenere la compatibilità con lo standard MPEG1 (ISO/IEC 11172) che prevede un segnale di orologio alla frequenza nominale di 90 KHz (1/300 di 27 MHz): per questa ragione il valore PCR comprende due parti, una di 33 bit che evolve alla frequenza di 90 KHz (''base", indicata in quanto segue con il pedice B) e l'altra di 9 bit che evolve alla frequenza di 27 MHz ("estensione", indicata in quanto segue con il pedice E). Il generico campione PCR(i) relativo all'istante t(i) può quindi essere espresso come:
La differenza PCRM = PCRIN - TIN viene realizzata sulle due parti PCRE, PCRB a 9 e 33 bit tenendo conto dell'opportuno riporto (negativo) nel caso in cui la parte a 9 bit del sottraendo sia maggiore di quella del minuendo e operando con la lunghezza di parola opportuna. In particolare risulterà:
e
Ciò premesso, come si vede in fig. 8, il circuito CR1 comprende una coppia di contatori in cascata CNE1, CNB1 il primo dei quali è un contatore a 9 bit modulo 300 e genera il valore TINE mentre il secondo è un contatore a 33 bit (modulo 233), abilitato dal riporto del primo, e genera il valore TINB. Il valore TINB, invertito in un invertitore INB, è fornito a un sommatore a 33 bit SMB1, che riceve da BU1 (Fig. 4) tramite fili 14a della connessione 14, il valore PCRINB e genera su fili 14b il valore PCRMB da inviare a BU1. Il calcolo di PCRME può essere eseguito con due sommatoli modulo 9 in cascata, sfruttando il fatto che, come ben noto, risulta in generale:
dove 2J è la potenza di 2 immediatamente superiore a K. Nel caso specifico sarà A = PCRINE, B = TINE, K = 300, J = 9. I due sommatori modulo 9 sono indicati in figura con SME11, SME12: il primo riceve da CNE1 il valore TINE, invertito in un invertitore INE, e da BU1 (Fig. 4) il valore PCRINE e il secondo riceve il risultato PCRMEP della somma effettuata in SME11 e calcola la relazione (5). Un multiplexer MU1 permette di fornire come valore PCRME sui fili 14d l'uscita di SME11 o quella di SME12. Il multiplexer
MU1 è pilotato dal riporto di SME1, che vale 1 o 0 a seconda che valga la (4) o la (5).
In modo analogo l'operazione PCRout = (PCRM Tout) deve essere realizzata sulle due parti a 9 e 33 bit, effettuando la somma modulo 300 sulle parti a 9 bit e tenendo conto dell’eventuale riporto (positivo) nella somma delle parti a 33 bit. In particolare risulterà:
Per il calcolo di PCROUTE e la rilevazione della condizione per la scelta dell’espressione per PCROUTB si possono effettuare considerazioni complementari a quelle fatte per il calcolo di PCRME· CR2 (fig. 9) comprende allora elementi CNE2, CNB2, SMB2, SME21, SME22, MU2 corrispondenti agli elementi CNE1, CNB1, SMB1, SME11, SME12, MU1 di fig. 8 e collegati come questi: le differenze sono che non sono previsti gli invertitori sulle uscite dei contatori CNE2, CNB2 e che il multiplexer MU2 è comandato da una porta PR, che combina in OR le uscite di riporto dei sommatori SME21, SME22: in particolare, MU2 selezionerà come valore PCROUTE il valore fornito da SME21 quando l’uscita di PR è 0 e il valore fornito da SME22 nel caso contrario. In effetti, indicando con CRE il segnale di uscita della porta PR, è immediato vedere che con lo schema circuitale di fig. 9 si ottiene:
I gruppi di fili 25a, 25b, 25c, 25d corrispondono rispettivamente ai gruppi di fili 14a, 14b, 14c, 14d.
Si noti che i due circuiti CR2, CR1 operano in una configurazione padrone (CR2) - servo (CR1), cosicché CR2 invierà a CR1 il segnale di sincronizzazione, menzionato in connessione con i filtri FL e non indicato nelle figure 8 e 9.
A completamento della descrizione dei blocchi funzionali dell'apparecchiatura si forniranno ora alcuni dettagli sulle operazioni del controllore MP, facendo anche riferimento alle figure 10, 11.
Il controllore è programmato in modo da fornire le seguenti funzionalità:
- Elaborazione delle tabelle PSI/SI: ciò comporta in particolare:
- ricostruzione e interpretazione delle tabelle PSI/SI, con individuazione della composizione dei flussi di trasporto multiprogramma MPTS in ingresso all’unità RM (figg. 1-3);
- determinazione della natura e composizione dei flussi di trasporto multiprogramma o singolo programma MPTS/SPTS in uscita dall'unità RM, aggiornamento delle tabelle e loro replica,
- segmentazione delle tabelle in pacchetti TS ("transport stream") e loro inserimento in TU (fig. 3) con frequenza opportuna;
- generazione di messaggi del protocollo di comunicazione verso le unità BCU (fig. 1): questo aspetto è legato alle specifiche del gestore della rete di telecomunicazioni RT (fig. 1) e non ha interesse per l'invenzione.
- Configurazione e controllo dei moduli hardware: ciò comporta in particolare:
- programmazione dei blocchi FL, CM, AA (fig. 3);
- inizializzazione e controllo dinamico delle memorie di ricerca MR e della memoria di livellamento MC;
- gestione delle procedure di diagnostica automatiche o richieste dall'operatore di sistema (flussi di test generati da TS);
- controllo dell'interazione con l'operatore di sistema, che può intervenire su tutte le operazioni di configurazione e controllo dell'hardware sopra elencate e sui parametri di configurazione relativi al trattamento delle tabelle PSI/SI:
L’architettura dei processi software in esecuzione sul controllore comprende tre sottosistemi: PARSER, FORMATTER e USERIF, mostrati in Fig. 10 insieme con i principali messaggi/comandì che vengono scambiati tra di essi. I trasferimenti di dati tra i sottosistemi avvengono mediante aree di memoria condivisa ( Service Table , Table Buffer, la cui struttura è illustrata in fig. 11) contenenti tutte le informazioni relative ai programmi rilevati nei flussi in ingresso e ai programmi da produrre in uscita.
Il sottosistema PARSER comprende un'unità per ciascuna interfaccia di ingresso (e quindi ciascun canale virtuale di uscita). Un'unità legge dalla corrispondente memoria MT i pacchetti contenenti le tabelle PSI/SI e ne ricostruisce una copia completa, sorvegliandone quindi gli eventuali aggiornamenti. Le informazioni sulla struttura del flusso multiprogramma ricavate dalle tabelle sono comunicate al sottosistema FORMATTER (service_update).
In base alle regole di costruzione dei programmi in uscita dall'apparecchiatura RM stabilite dal gestore della rete, il sottosistema FORMATTER (unico per tutte le interfacce d'ingresso/canali virtuali attivi) opera l'aggiornamento e la replica delle tabelle PSI/SI e la formazione dei pacchetti MPEG in cui queste vengono segmentate e inviate a TU (Fig. 3). Il sottosistema gestisce anche l'aggiornamento della memoria MR interessata, di MC e di VR (Fig. 6), nonché la creazione e l'invio dei messaggi del protocollo di comunicazione unidirezionale verso le BCU.
Il sottosistema USERIF gestisce lo scambio con l’operatore dei messaggi con cui si configurano i vari parametri di sistema e se ne rilevano le condizioni di funzionamento.
Per quanto riguarda in particolare i due sottosistemi PARSER e FORMATTER, che sono quelli maggiormente coinvolti nelle operazioni di RM, si farà riferimento alla fig. 11 , dove le linee a tratto spesso indicano i flussi di dati e quelle a tratto sottile i flussi di comandi. Per chiarezza sono riportati anche gli elementi circuitali coinvolti, indicati con gli stessi riferimenti utilizzati nella fig. 3 e rappresentati all'esterno della cornice in tratteggio.
1) Sottosistema PARSER
Il sottosistema PARSER è realizzato tramite un processo costantemente attivo di analisi e programmazione (TS Parser/Scheduler) e uno o più processi creati e distrutti dinamicamente ( Section Parser). Il processo TS Parser/Scheduier è a sua volta composto dai due sottoprocessi TS Parser e Scheduler. Il sottoprocesso TS Parser legge da MT (fig. 3) i pacchetti TS da cui estrae ed interpreta i campi dell’intestazione. I dati contenuti nel carico pagante del pacchetto e il relativo identificativo PID vengono resi disponibili ai processi Section Parser che li richiedono. I dati dell'intestazione vengono invece elaborati dal sottoprocesso Scheduler.
I processi Section Parser operano la ricostruzione delle tabelle PSI/SI. Ogni processo gestisce una sezione di tabella, ricostruendola e scrivendola nell'area Table Buffer. Quando viene attivato, un Section Parser invia una richiesta di dati per uno specifico PID (indicato nel comando di attivazione generato dallo Scheduler) al TS Parser, e procede alla ricostruzione della tabella segmentata nei pacchetti individuati da quel PID. Il processo rimane attivo fino al momentaneo esaurimento dei dati in ingresso relativi al PID trattato, ovvero fino al termine della sezione in fase di ricostruzione. Nel primo caso il processo invia allo Scheduler un messaggio di attesa sec_wait e va a riposo ( sleepy, nel secondo comunica allo Scheduler la disponibilità a processare altri PID, inviando un messaggio di fine sezione sec_end e ponendosi ancora nello stato sleep. Le sezioni complete di tabelle vengono inserite nel Table Buffer con un indicatore associato che ne indica la modalità di replica richiesta in uscita (duplicazione, aggiornamento, ...) e informazioni (offset dei campi da modificare, ...) intese a ridurre al minimo le funzioni di analisi sintattica nel sottosistema FORMATTER.
Il sottoprocesso TS Parser comunica al sottoprocesso Scheduler il PID di ogni pacchetto TS ricevuto in ingresso. Lo Scheduler, basandosi su una tabella informativa locale ( Parser Table), sceglie la particolare istanza del processo Section Parser da attivare ovvero, se non esistono istanze di processo in attesa di dati relativi a quel PID o istanze di processo libere, ne crea dinamicamente una nuova. Il Section Parser attivato invia una richiesta di dati per il PID corrente al TS Parser e procede come descritto , sopra. Un opportuno campo (Age) della Parser Table permette di realizzare un meccanismo di rimozione automatica delle istanze di processo Section Parser non più necessarie.
Il processo Section Parser incaricato di ricostruire la tabella PAT (Section Parser 1) inserisce nella Service Table gli identificativi PID dei pacchetti che contengono la tabella PMT (Program Map Table = tabella della mappa dei programmi) e invia alla funzione PID RAM Init del sottosistema FORMATTER il comando service_update, in modo da inizializzare opportunamente le memorie MR (si noti che i PID relativi alla tabella PMT, a differenza dei PID delle altre tabelle PSl/SI, non sono noti a priori ma devono essere ricavati dalla PAT).
Il processo Section Parser incaricato di ricostruire la tabella PMT ( Section Parser n ), oltre ad inserire la tabella suddetta nel Table Buffer , immette nella Section Table i valori di PID, identità dell'interfaccia di ingresso (intfjd) e bit rate di ogni programma (identificato da un servicejd distinto) descritto nella tabella PMT. Il processo realizza inoltre parte della funzionalità PID RAM Init, in quanto inizializza il campo identità della coda logica (queuejd) per ogni nuovo servicejd. Ogni modifica della Service Table generata da un aggiornamento delle tabelle PSI/SI provoca l'invio del comando service_update a. tutti i sottosistemi software interessati.
2) Sottosistema FORMATTER
Il corpo principale del processo FORMATTER è costituito dalla funzione Segment/Replicate, che si occupa di attualizzare e replicare le tabelle scritte dai Section Parser nel Table Buffer, segmentandole in pacchetti TS sulle code di uscita nella memoria MT. A seconda del tipo e della composizione dei programmi, le tabelle possono essere replicate senza modifiche, con modifiche minime, o generate ex novo (ad esempio nel caso di alcune tabelle di descrizione dei servizi SDT (Service Description Table), utilizzando le informazioni incluse nel Table Buffer dai Section Parser.
La funzione genera le tabelle con un tasso di ripetizione configurabile, utilizzando una base tempi interna all'apparecchiatura (Timer) per generare opportune finestre temporali. L'accesso a MT è gestito tramite semafori allocati in registri del componente che realizza MT. La tabella Rep Table viene impiegata per contare il numero di finestre effettivamente utilizzate per ogni tabella ed inserire eventuali correttivi nell'algoritmo di replica (si noti infatti che il blocco AA può non essere in grado di programmare in uscita i pacchetti TS relativi alle tabelle entro la finestra temporale prevista).
Ogni coda di MT contiene una unità dati PDU formata da due pacchetti di tipo TS: la funzione Segment/Replicate deve quindi anche effettuare la segmentazione delle sezioni di tabelle in pacchetti TS di 188 byte (inserendo le intestazioni richieste dalle relative normative) e aggregare due pacchetti TS in una PDU.
La funzione PID RAM Init gestisce le memorie MR utilizzate dai filtri FL. Inizialmente la funzione inserisce nelle memorie i soli identificativi PID noti a priori in base alle regole sintattiche che governano il flusso e relativi ad alcune tabelle PSI/SI. Man mano che viene ricostruita la tabella PAT, ovvero ogni volta che riceve il comando se rvice_u pelate dal processo Parser, la funzione aggiorna la memoria MR con i PID relativi ai (nuovi) programmi.
La funzione VpVc ìnìt utilizza i dati di Service Table per inizializzare le tabelle contenute nel blocco VR di AA. Ogni volta che riceve il comando service_update dal modulo USERIF, la funzione si limita a copiare in corrispondenza dei campi queue_id e intrf_id della tabella l'identificativo o gli identificativi di cammino virtuale e canale virtuale VPI/VCI scritto(i) in Service Table dall'operatore di sistema.
La funzione Shaper Init, in base a regole predefinite o, dinamicamente, utilizzando le informazioni sul bit rate contenute in Service Table, programma opportunamente MC con i buoni di uscita necessari a realizzare la limitazione delle bande sulle connessioni ATM in uscita.
La funzione BCU intf forma e invia sulle code opportune ricavate (una per ciascun cammino virtuale attivo) in MT, i messaggi destinati alle BCU e contenenti le associazioni fra programmi e VPI/VCI delle connessioni ATM che li trasportano. I messaggi vengono inviati a intervalli regolari generati mediante Timer, in modo da rispettare i requisiti di banda sui canali entro cui sono trasmessi.
E' evidente che quanto descritto è dato unicamente a titolo di esempio non limitativo e che varianti e modifiche sono possibili senza uscire dal campo di protezione dell'invenzione.

Claims (10)

  1. Rivendicazioni 1. Apparecchiatura per la rimultiplazione di flussi audiovisivi codificati trasmessi nell'ambito di un servizio di diffusione video numerica commutata e contenenti ognuno una molteplicità di programmi (flussi di trasporto multiprogramma), in cui le informazioni relative ai programmi sono trasmesse sotto forma di pacchetti comprendenti ognuno un'intestazione contenente un identificativo di pacchetto che fornisce informazioni sull'identità del programma a cui il pacchetto si riferisce, e un carico pagante contenente dati del programma o informazioni di servizio relative alla struttura del flusso, l'apparecchiatura comprendendo: - mezzi (AS; FL1...FLn, MS1...MSn) di ricezione e analisi sintattica, atti a ricevere una pluralità di detti flussi, a separare in ciascun flusso pacchetti, nel seguito chiamati "pacchetti dati", che possono essere inoltrati direttamente verso mezzi (CF; AA, MC, TU) di generazione di flussi di uscita, da pacchetti nel seguito chiamati "pacchetti di servizio", che devono essere inoltrati a detto organo di controllo (MP) per esservi sottoposti a elaborazioni, in particolare per l'aggiornamento delle informazioni di servizio in modo da riflettere la composizione dei flussi di uscita; - mezzi (ME) per la memorizzazione temporanea dei pacchetti dati, separatamente per ciascun flusso d'ingresso; - detti mezzi di generazione di flussi di uscita (CF; AA, MC, TU) per generare e inviare a utenti del servizio flussi di uscita ottenuti a partire dai pacchetti memorizzati in detti mezzi di memorizzazione temporanea (ME) e dai pacchetti di servizio elaborati, i flussi di uscita essendo flussi singolo programma o flussi multiprogramma di banda inferiore a quella dei flussi di ingresso, - detto organo di controllo (MP) che è atto a ricevere dai mezzi di ricezione e analisi sintattica (AS; FL1...FLn, MS1...MSn) i pacchetti di servizio, a identificare i singoli flussi costituenti del flusso multiprogramma, ad effettuare l'aggiornamento delle informazioni di servizio e a pilotare i mezzi (ME) di memorizzazione temporanea e i mezzi (CF; AA, MC, TU) di generazione dei flussi di uscita in modo da consentire la creazione dei flussi singolo programma o multiprogramma destinati ai diversi utenti, caratterizzata dal fatto che: - detti mezzi (CF; AA, MC, TU) di generazione dei flussi di uscita sono atti a creare flussi ATM trasferendo pacchetti relativi a uno stesso programma o a uno stesso gruppo di programmi in celle ATM relative a uno o più canali virtuali e multiplando i canali virtuali in cammini virtuali ognuno comprendente i canali virtuali contenenti programmi di uno stesso flusso di ingresso, i mezzi (CF; AA, MC, TU) di generazione dei flussi di uscita essendo inoltri atti ad effettuare, durante la creazione dei flussi ATM, un controllo in due stadi della banda associata a ciascun flusso ATM, leggendo i pacchetti destinati ai diversi canali virtuali in modo tale da limitare la banda di picco di ciascun canale virtuale a un primo valore programmabile e tale da non eccedere la banda disponibile su linee di trasporto dei flussi ATM ed effettuando una multiplazione statistica dei canali virtuali entro i cammini virtuali limitando la banda di picco di questi ultimi a un valore anch'esso programmabile, e tale che la banda complessiva trasferita su ciascun cammino virtuale non ecceda la banda di picco disponibile per il cammino stesso; e - detti mezzi di memorizzazione temporanea (ME) sono atti a memorizzare i pacchetti dati in code logiche individuali per un programma o un gruppo di programmi, gestite tramite liste concatenate di puntatori, ciascuno dei quali individua un'area di memoria contenente un pacchetto ed è replicato tante volte quanti sono i canali virtuali in cui un pacchetto va inserito.
  2. 2. Apparecchiatura secondo la riv. 1, caratterizzata dal fatto che detti organi (AS; FL1...FLn, MS1...MSn) di ricezione e analisi comprendono un gruppo di prime unità di memoria (MR1...MRn), una per ciascun flusso d'ingresso, atte a memorizzare, per ciascun programma del rispettivo flusso, una prima parola di controllo comprendente: un primo campo contenente informazioni indicanti la validità o meno del pacchetto; un secondo campo, attivo per un pacchetto valido e indicante se il pacchetto è un pacchetto di servizio o un pacchetto dati, e un terzo campo che indica, per un pacchetto dati, in quali code logiche va inserito, dette prime parole di controllo essendo preparate e aggiornate dal'organo di controllo (MP) tramite l'analisi continua delle informazioni di servizio contenute nei pacchetti fomiti a tale organo (MP) ed essendo lette ad opera di interfacce di ingresso (FL1...FLn), appartenenti agli stessi mezzi di ricezione ed analisi (AS; FL1...FLn, MS1...MSn) ed associate ognuna a uno dei flussi di ingresso e quindi a una di dette prime unità di memoria (MR1...MRn).
  3. 3. Apparecchiatura secondo la riv. 1 o 2, caratterizzato dal fatto che detti mezzi di memorizzazione comprendono una memoria dati (MD1...MDn) per ciascun flusso d'ingresso e un controllore di memoria (CM1...CMn) per ciascuna memoria dati (MD1...MDn), il quale è atto a ripartire dinamicamente la capacità della memoria tra le varie code logiche mediante detta gestione di liste concatenate di puntatori, e comprende: - una seconda unità di memoria (FF) destinata a memorizzare i puntatori per la scrittura nelle aree libere della rispettiva memoria dati (MD1...MDn) e a emettere, sulla base di informazioni ricevute dai mezzi di generazione dei flussi di uscita (CF AA, MC, TU), un'indicazione del primo puntatore libero;. - un’unita di replica (UR), che riceve dall'interfaccia d'ingresso (FL1...FLn) il terzo campo della parola di controllo e dalla seconda memoria (FF) i puntatori e replica un puntatore e un relativo comando di scrittura tante volte quante sono le code in cui un pacchetto di dati va inserito, - un'unità (QM) di gestione delle code logiche, che riceve da detta unità di replica (UR) e memorizza i puntatori, emettendoli in uscita su richiesta dei mezzi di generazione dei flussi di uscita (CF), - un'unità (FP) di controllo della liberazione dei puntatori, che: riceve da detta unità di replica (UR) e memorizza l'identità dei puntatori associata a un'informazione sul numero dì code associato a un puntatore; riceve dai mezzi di generazione dei flussi di uscita (CF; AA, MC, TU) un segnalazione di avvenuta lettura di un'area della memoria dati (MD1...MDn) individuata da un particolare puntatore; ed è atta a contare dette segnalazioni di avvenuta lettura e a emettere una segnalazione di puntatore libero quando il numero di segnalazioni di avvenuta lettura dell'area della memoria dati (MD1...MDn) individuata da quel puntatore uguaglia il numero di code per cui il puntatore deve essere utilizzato.
  4. 4. Apparecchiatura secondo una qualsiasi delle rivendicazioni precedenti, caratterizzata dal fatto che detti mezzi di generazione dei flussi di uscita (CF; AA, MC, TU) comprendono: - una terza unità di memoria (TU) che memorizza temporaneamente pacchetti di servizio aggiornati forniti da detto organo di controllo (MP), è suddivisa in tante aree di memoria quanti sono i cammini virtuali di uscita e comprende, per ciascuna area, tante posizioni quante sono le code logiche realizzate in detti mezzi di memorizzazione temporanea (ME), - una quarta unità memoria (MC) che memorizza una lista di seconde parole di controllo associate ognuna a un canale virtuale attivo e contenenti l'identità di un flusso di ingresso e di una coda logica di pacchetti da servire ad ogni tempo di cella ATM, la parola relativa a un dato canale virtuale essendo inserita nella lista con una frequenza di ripetizione tale da dare origine, per una data velocità di scansione della lista, a una banda di picco non superiore a detto primo valore programmabile; - un’unità (AA) di segmentazione dei pacchetti che, in base alle informazioni contenute in detta quarta unità di memoria (MC), è atta a leggere pacchetti dati da dette memorie dati (MD1...MDn) o pacchetti di servizio contenenti le informazioni di servizio aggiornate da detta terza unità di memoria (TU), a inserire il carico pagante di coppie di pacchetti in un gruppo di celle ATM e ad associare a ciascuna cella ATM un'intestazione e a ciascun gruppo di celle un'etichetta di chiusura.
  5. 5. Apparecchiatura secondo la riv. 4, caratterizzata dal fatto che detti mezzi di segmentazione (AA) comprendono: - una prima rete logica (GD) per la gestione del dialogo tra i mezzi di generazione dei flussi di uscita (CF) e i controllori di memoria (CM1...CMn), che è atta a ricevere dette seconde parole di controllo dalla quarta unità di memoria (MC), a richiedere all'unità (QM) di gestione delle code logiche i puntatori corrispondenti alla coda da leggere, e a costruire per ciascun cammino virtuale di uscita una lista di terze parole di controllo che contengono ognuna: la corrispondente seconda parola di controllo; un'informazione indicante se la seconda parola di controllo è associata a un pacchetto di servizio o a un pacchetto dati; il puntatore, nel caso di pacchetto dati; e la posizione di una cella ATM in fase di preparazione all'interno del gruppo di celle in cui viene inserita una coppia di pacchetti; - un gruppo di quinte unità di memoria (PQ), atte ognuna a memorizzare una lista di dette terze parole di controllo; - una seconda rete logica (DR) per la gestione delle richieste di pacchetti, che è atta a ricevere le liste di terze parole di controllo, a generare ed emettere, sulla base delle informazioni contenute in ciascuna di dette terze parole di controllo, o gli indirizzi di lettura nella memoria dati (MD1...MDn) corrispondente alla lista di provenienza di detta terza parola di controllo oppure gli indirizzi di lettura nella terza unità di memoria (TU), e ad emettere detta segnalazione di avvenuta lettura di un'area di memoria dati al termine della lettura di una coppia di pacchetti.
  6. 6. Apparecchiatura secondo la riv. 5, caratterizzata dal fatto che dette quinte unità di memoria (PQ) sono pilotate da detto organo di controllo (MP) che è atto a stabilire la frequenza di lettura delle terze parole di controllo all'interno di ciascuna lista.
  7. 7. Apparecchiatura secondo una qualsiasi delle rivendicazioni precedenti, caratterizzata dal fatto. che comprende mezzi (CR1 , CR2) di aggiornamento dei valore di un'informazione di temporizzazione di ciascun programma, presente in pacchetti prestabiliti del programma stesso, in modo da tener conto del tempo variabile di attraversamento dell'apparecchiatura (RM) da parte dei pacchetti, detti mezzi di aggiornamento (CR1, CR2) essendo atti a calcolare un tempo di attraversamento dell'apparecchiatura da parte di un pacchetto contenente detta informazione, utilizzando un segnale di orologio avente la stessa frequenza del segnale di orologio di sistema e generato da un oscillatore (OL) interno all'apparecchiatura (RM), a sommare tale tempo al valore di detta informazione di temporizzazione contenuto in un pacchetto ricevuto, e a inserire il valore risultante dalla somma nel pacchetto prima dell'invio sull'uscita dell'apparecchiatura (RM).
  8. 8. Apparecchiatura secondo la riv. 7, caratterizzata dal fatto che detti mezzi di aggiornamento (CR1, CR2) comprendono una prima unità (CR1), appartenente all'interfaccia di ingresso (FL1...FLn), e atta a calcolare un valore preelaborato di detta informazione di temporizzazione, rappresentato dalla differenza tra il valore contenuto nel pacchetto ricevuto e il valore dell'istante di arrivo di detto pacchetto, e a sostituirlo al valore contenuto nel pacchetto ricevuto mentre questo pacchetto transita in detta interfaccia, e una seconda unità (CR2), appartenente ai mezzi di segmentazione dei pacchetti (AA), che è atta a sostituire al valore preelaborato contenuto in un pacchetto, mentre questo transita in detti mezzi di segmentazione, un valore aggiornato rappresentato dalla somma tra il valore preelaborato e un valore dell'istante di uscita del pacchetto, i valori degli istante di arrivo e di uscita essendo calcolati da contatori di detta prima e rispettivamente seconda unità (CR1, CR2) utilizzando i segnali di detto oscillatore locale.
  9. 9. Apparecchiatura secondo la riv. 8, in cui l'informazione di temporizzazione si compone di una prima parte, che evolve alla frequenza di detto segnale di orologio di sistema, e una seconda parte, che evolve a una frequenza sottomultipla delia frequenza del segnale di orologio di sistema, caratterizzata dal fatto che detta prima e seconda unità (CR1, CR2) sono atte a calcolare una prima e una seconda parte del valore dell’istante di arrivo e dell'istante di uscita di un pacchetto contenente tale informazione e a generare di conseguenza una prima e una seconda parte del valore preelaborato e rispettivamente del valore corretto.
  10. 10. Apparecchiatura secondo una qualsiasi delle rivendicazioni precedenti, caratterizzata dal fatto che dette interfacce di ingresso (FL1...FLn) comprendono mezzi (MX2) per ricevere, in alternativa a detti flussi di trasporto, flussi di prova generati da detto organo di controllo (MP) e sono atte a inoltrare i pacchetti dei flussi di prova all'organo di controllo (MP) attraverso detti mezzi di memorizzazione (ME) e detti organi di generazione dei flussi di uscita oppure attraverso una memoria tampone (MT) che memorizza temporaneamente ì pacchetti di servizio dei flussi di trasporto.
IT1999TO000394A 1999-05-13 1999-05-13 Apparecchiatura per la rimultiplazione di flussi audiovisivinumerizzati IT1308484B1 (it)

Priority Applications (5)

Application Number Priority Date Filing Date Title
IT1999TO000394A IT1308484B1 (it) 1999-05-13 1999-05-13 Apparecchiatura per la rimultiplazione di flussi audiovisivinumerizzati
EP00110083A EP1052855A3 (en) 1999-05-13 2000-05-12 Encoded audio-video streams remultiplexing equipment
CA002308355A CA2308355C (en) 1999-05-13 2000-05-12 Encoded audio-video stream remultiplexing equipment
US09/570,152 US6826185B1 (en) 1999-05-13 2000-05-12 Encoded audio-video streams remultiplexing equipment
JP2000141819A JP3401766B2 (ja) 1999-05-13 2000-05-15 符号化された音声映像ストリームの再多重化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT1999TO000394A IT1308484B1 (it) 1999-05-13 1999-05-13 Apparecchiatura per la rimultiplazione di flussi audiovisivinumerizzati

Publications (3)

Publication Number Publication Date
ITTO990394A0 ITTO990394A0 (it) 1999-05-13
ITTO990394A1 true ITTO990394A1 (it) 2000-11-13
IT1308484B1 IT1308484B1 (it) 2001-12-17

Family

ID=11417804

Family Applications (1)

Application Number Title Priority Date Filing Date
IT1999TO000394A IT1308484B1 (it) 1999-05-13 1999-05-13 Apparecchiatura per la rimultiplazione di flussi audiovisivinumerizzati

Country Status (5)

Country Link
US (1) US6826185B1 (it)
EP (1) EP1052855A3 (it)
JP (1) JP3401766B2 (it)
CA (1) CA2308355C (it)
IT (1) IT1308484B1 (it)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7730300B2 (en) 1999-03-30 2010-06-01 Sony Corporation Method and apparatus for protecting the transfer of data
US6697489B1 (en) 1999-03-30 2004-02-24 Sony Corporation Method and apparatus for securing control words
US7039614B1 (en) 1999-11-09 2006-05-02 Sony Corporation Method for simulcrypting scrambled data to a plurality of conditional access devices
JP4783987B2 (ja) * 2000-04-24 2011-09-28 ソニー株式会社 情報端末装置及び情報端末受信方法、ディジタル放送受信装置及び方法、並びに、出力時間演算装置及び方法
FR2823926B1 (fr) * 2001-04-19 2004-06-04 Scm Schneider Microsysteme Dev Procede et dispositif de traitement des donnees d'un flux multiplexe
US7237033B2 (en) 2001-04-30 2007-06-26 Aol Llc Duplicating switch for streaming data units to a terminal
US7124166B2 (en) 2001-04-30 2006-10-17 Aol Llc Duplicating digital streams for digital conferencing using switching technologies
US8572278B2 (en) 2001-04-30 2013-10-29 Facebook, Inc. Generating multiple data streams from a single data source
US7158517B2 (en) * 2001-05-21 2007-01-02 Intel Corporation Method and apparatus for frame-based protocol processing
US7747853B2 (en) 2001-06-06 2010-06-29 Sony Corporation IP delivery of secure digital content
US7895616B2 (en) 2001-06-06 2011-02-22 Sony Corporation Reconstitution of program streams split across multiple packet identifiers
US7127619B2 (en) 2001-06-06 2006-10-24 Sony Corporation Decoding and decryption of partially encrypted information
US7292690B2 (en) 2002-01-02 2007-11-06 Sony Corporation Video scene change detection
US7823174B2 (en) 2002-01-02 2010-10-26 Sony Corporation Macro-block based content replacement by PID mapping
US7765567B2 (en) 2002-01-02 2010-07-27 Sony Corporation Content replacement by PID mapping
US7292691B2 (en) * 2002-01-02 2007-11-06 Sony Corporation Progressive video refresh slice detection
KR20030080350A (ko) * 2002-04-08 2003-10-17 주식회사 에어코드 데이터 방송용 저작물의 검증 시스템
KR100490154B1 (ko) * 2002-04-13 2005-05-16 엘지전자 주식회사 디지털 텔레비젼 테스트 스트림 생성장치
US8028092B2 (en) 2002-06-28 2011-09-27 Aol Inc. Inserting advertising content
US7373414B2 (en) * 2002-08-29 2008-05-13 Amx Llc Multi-media system and method for simultaneously delivering multi-media data to multiple destinations
US8818896B2 (en) 2002-09-09 2014-08-26 Sony Corporation Selective encryption with coverage encryption
US7724907B2 (en) 2002-11-05 2010-05-25 Sony Corporation Mechanism for protecting the transfer of digital content
US8572408B2 (en) 2002-11-05 2013-10-29 Sony Corporation Digital rights management of a digital device
US8667525B2 (en) 2002-12-13 2014-03-04 Sony Corporation Targeted advertisement selection from a digital stream
US8645988B2 (en) 2002-12-13 2014-02-04 Sony Corporation Content personalization for digital content
US7065144B2 (en) 2003-08-27 2006-06-20 Qualcomm Incorporated Frequency-independent spatial processing for wideband MISO and MIMO systems
US8483105B2 (en) 2003-10-15 2013-07-09 Qualcomm Incorporated High speed media access control
US8233462B2 (en) 2003-10-15 2012-07-31 Qualcomm Incorporated High speed media access control and direct link protocol
US8842657B2 (en) 2003-10-15 2014-09-23 Qualcomm Incorporated High speed media access control with legacy system interoperability
US9226308B2 (en) 2003-10-15 2015-12-29 Qualcomm Incorporated Method, apparatus, and system for medium access control
US8462817B2 (en) 2003-10-15 2013-06-11 Qualcomm Incorporated Method, apparatus, and system for multiplexing protocol data units
US8472473B2 (en) 2003-10-15 2013-06-25 Qualcomm Incorporated Wireless LAN protocol stack
US7853980B2 (en) 2003-10-31 2010-12-14 Sony Corporation Bi-directional indices for trick mode video-on-demand
US7818018B2 (en) 2004-01-29 2010-10-19 Qualcomm Incorporated Distributed hierarchical scheduling in an AD hoc network
US8903440B2 (en) 2004-01-29 2014-12-02 Qualcomm Incorporated Distributed hierarchical scheduling in an ad hoc network
US8315271B2 (en) 2004-03-26 2012-11-20 Qualcomm Incorporated Method and apparatus for an ad-hoc wireless communications system
US7564814B2 (en) 2004-05-07 2009-07-21 Qualcomm, Incorporated Transmission mode and rate selection for a wireless communication system
US8401018B2 (en) 2004-06-02 2013-03-19 Qualcomm Incorporated Method and apparatus for scheduling in a wireless network
US7533176B2 (en) * 2004-07-14 2009-05-12 International Business Machines Corporation Method for supporting connection establishment in an offload of network protocol processing
US7930422B2 (en) * 2004-07-14 2011-04-19 International Business Machines Corporation Apparatus and method for supporting memory management in an offload of network protocol processing
US7882412B2 (en) 2004-10-05 2011-02-01 Sanjiv Nanda Enhanced block acknowledgement
US8041190B2 (en) 2004-12-15 2011-10-18 Sony Corporation System and method for the creation, synchronization and delivery of alternate content
US7895617B2 (en) 2004-12-15 2011-02-22 Sony Corporation Content substitution editor
KR100748686B1 (ko) * 2005-02-18 2007-08-13 삼성전자주식회사 디지털 방송 수신기의 소프트웨어 업그레이드 장치 및 방법
US8352979B2 (en) 2005-04-22 2013-01-08 At&T Intellectual Property I, L.P. Methods and apparatus to broadcast advanced television system committee video in switched digital video systems
US20060242683A1 (en) * 2005-04-22 2006-10-26 Medford Brad A Methods and apparatus to manage advanced television system committee video in broadcast switched digital video systems
WO2006115697A2 (en) * 2005-04-22 2006-11-02 Sbc Knowledge Ventures, L.P. Methods and apparatus to manage and broadcast advanced television system committee video in switched digital video systems
US8600336B2 (en) 2005-09-12 2013-12-03 Qualcomm Incorporated Scheduling with reverse direction grant in wireless communication systems
US20090265485A1 (en) * 2005-11-30 2009-10-22 Broadcom Corporation Ring-based cache coherent bus
US8185921B2 (en) 2006-02-28 2012-05-22 Sony Corporation Parental control of displayed content using closed captioning
US20090225768A1 (en) * 2008-03-06 2009-09-10 Himax Technologies Limited Centralized ts packet buffer management in multiple transport stream mpeg-2 demux
US8369413B2 (en) * 2009-04-23 2013-02-05 Mediatek Inc. Transport stream processing system and related method thereof
US8045582B1 (en) * 2009-05-27 2011-10-25 Lockheed Martin Corporation Variable bandwidth communication system
USD758372S1 (en) * 2013-03-13 2016-06-07 Nagrastar Llc Smart card interface
USD759022S1 (en) 2013-03-13 2016-06-14 Nagrastar Llc Smart card interface
USD729808S1 (en) 2013-03-13 2015-05-19 Nagrastar Llc Smart card interface
US9485533B2 (en) 2013-03-13 2016-11-01 Nagrastar Llc Systems and methods for assembling and extracting command and control data
US9888283B2 (en) 2013-03-13 2018-02-06 Nagrastar Llc Systems and methods for performing transport I/O
US9647997B2 (en) 2013-03-13 2017-05-09 Nagrastar, Llc USB interface for performing transport I/O
USD780763S1 (en) 2015-03-20 2017-03-07 Nagrastar Llc Smart card interface
USD864968S1 (en) 2015-04-30 2019-10-29 Echostar Technologies L.L.C. Smart card interface

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5666293A (en) 1994-05-27 1997-09-09 Bell Atlantic Network Services, Inc. Downloading operating system software through a broadcast channel
US5583863A (en) * 1995-01-31 1996-12-10 Bell Atlantic Network Services, Inc. Full service network using asynchronous transfer mode multiplexing
US5563884A (en) * 1995-03-27 1996-10-08 Zenith Electronics Corporation Reducing multiplex jitter in an ATM/MPEG system
US5666487A (en) * 1995-06-28 1997-09-09 Bell Atlantic Network Services, Inc. Network providing signals of different formats to a user by multplexing compressed broadband data with data of a different format into MPEG encoded data stream
US5742599A (en) * 1996-02-26 1998-04-21 Apple Computer, Inc. Method and system for supporting constant bit rate encoded MPEG-2 transport over local ATM networks
US6327275B1 (en) * 1998-05-19 2001-12-04 General Instrument Corporation Remultiplexing variable rate bitstreams using a delay buffer and rate estimation

Also Published As

Publication number Publication date
CA2308355A1 (en) 2000-11-13
JP2001016228A (ja) 2001-01-19
EP1052855A3 (en) 2004-01-02
ITTO990394A0 (it) 1999-05-13
JP3401766B2 (ja) 2003-04-28
US6826185B1 (en) 2004-11-30
EP1052855A2 (en) 2000-11-15
CA2308355C (en) 2002-10-08
IT1308484B1 (it) 2001-12-17

Similar Documents

Publication Publication Date Title
ITTO990394A1 (it) Apparecchiatura per la rimultiplazione di flussi audiovisivi numeriz-zati
US6421359B1 (en) Apparatus and method for multi-service transport multiplexing
US6779050B2 (en) System and method for hardware based reassembly of a fragmented packet
US7280566B2 (en) Multi-format transport stream decoder
US7376692B2 (en) Method and system for receiving and framing packetized data
US6275507B1 (en) Transport demultiplexor for an MPEG-2 compliant data stream
EP0932307B1 (en) Compressed video and audio transport stream multiplexer
ITTO941068A1 (it) Dispositivo per la ricetrasmissione e decodifica di sequenze audiovisi ve compresse.
US6434146B1 (en) Use of sequencing information in a local header that allows proper synchronization of packets to subsidiary interfaces within the post-processing environment of an mpeg-2 packet demultiplexing architecture
KR19990082181A (ko) 패킷-기반 통신 시스템에서 트랜스포트 층 서비스를 제공하기위한 방법 및 장치
US8284845B1 (en) Method and system for handling data
US7359441B2 (en) Packet data processing determination apparatus
US6778533B1 (en) Method and system for accessing packetized elementary stream data
JP2004343772A (ja) Vcc情報を利用したデジタル放送チャネルスイッチング装置及びその方法
US6885680B1 (en) Method for synchronizing to a data stream
US8121116B1 (en) Intra channel video stream scheduling
US6661813B2 (en) Multiplexing apparatus and method and storage medium
US6738347B1 (en) Rate control communication apparatus and method
JP2006129514A (ja) パケットデータ複製配信方法及び装置
KR100566681B1 (ko) Atm재조립회로및방법
JP2004112316A (ja) デジタル放送信号送出処理装置
US6697332B1 (en) Forward performance monitoring cell generation in ATM OAM processing
JPH09298748A (ja) Mpegビットストリームにおいてスタッフィングビットの代わりにプライベートデータを送る方法および装置
AU7244900A (en) Apparatus and method for multi-service transport multiplexing
AU7244800A (en) Apparatus and method for multi-service transport multiplexing