ITTO960123A1 - Dispositivo di manipolazione di sequenze video compresse. - Google Patents

Dispositivo di manipolazione di sequenze video compresse. Download PDF

Info

Publication number
ITTO960123A1
ITTO960123A1 IT96TO000123A ITTO960123A ITTO960123A1 IT TO960123 A1 ITTO960123 A1 IT TO960123A1 IT 96TO000123 A IT96TO000123 A IT 96TO000123A IT TO960123 A ITTO960123 A IT TO960123A IT TO960123 A1 ITTO960123 A1 IT TO960123A1
Authority
IT
Italy
Prior art keywords
macroblock
external memory
sequences
data
reading
Prior art date
Application number
IT96TO000123A
Other languages
English (en)
Inventor
Andrea Finotello
Marco Gandini
Pierangelo Garino
Mauro Marchisio
Original Assignee
Cselt Centro Studi Lab Telecom
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 filed Critical Cselt Centro Studi Lab Telecom
Publication of ITTO960123A0 publication Critical patent/ITTO960123A0/it
Priority to IT96TO000123A priority Critical patent/IT1285258B1/it
Priority to US08/780,169 priority patent/US5903310A/en
Priority to AU12686/97A priority patent/AU711030B2/en
Priority to JP05253397A priority patent/JP3305976B2/ja
Priority to DE0792070T priority patent/DE792070T1/de
Priority to ES97103018T priority patent/ES2116953T3/es
Priority to DE69705139T priority patent/DE69705139T2/de
Priority to EP97103018A priority patent/EP0792070B1/en
Priority to AT97103018T priority patent/ATE202254T1/de
Priority to CA002198555A priority patent/CA2198555C/en
Publication of ITTO960123A1 publication Critical patent/ITTO960123A1/it
Application granted granted Critical
Publication of IT1285258B1 publication Critical patent/IT1285258B1/it
Priority to GR980300041T priority patent/GR980300041T1/el

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Auxiliary Devices For And Details Of Packaging Control (AREA)
  • Studio Circuits (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Television Signal Processing For Recording (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Footwear And Its Accessory, Manufacturing Method And Apparatuses (AREA)
  • Color Television Systems (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

La presente domanda ha per oggetto un dispositivo di protezione, particolarmente per calzature comprendenti un primo ed un secondo lembo da riunire mediante dei lacci.Il dispositivo è costituito da un corpo, associabile al primo e/o al secondo lembo, presentante almeno una sede per la connessione, eventualmente di un gancio.Tale corpo presenta inoltre una o più protuberanze avvolgenti parzialmente il gancio a protezione del medesimo da urti accidentali.

Description

" Dispositivo di manipolazione di sequenze video compresse"
La presente invenzione si riferisce ai sistemi di trattamento di segnali video numerizzati e pi? spec?ficamente riguarda un dispositivo multifunzione di manipolazione di sequenze video compresse, da utilizzare come ausilio alla codifica e decodifica delle sequenze stesse. Nel seguito si far? riferimento a titolo di esempio non limitativo a sequenze organizzate secondo la normativa internazionale ISO/IEC 13818-2 (nota anche come ISO/MPEG2), ma l'invenzione pu? applicarsi a sequenze codificate e decodificate secondo principi analoghi a quelli oggetto della normativa. Per semplicit?, tali sequenze saranno chiamate nel seguito sequenze o dati MPEG2 video.
Come noto, la normativa specifica la rappresentazione codificata (o compressa) delle sequenze video per la memorizzazione numerica e le comunicazioni video numeriche e definisce il procedimento di decodifica. La codifica in s? non ? definita dalla normativa, ed ? sostanzialmente una codifica di tipo ibrido, che utilizza tecniche di predizione temporale con stima del movimento (a livello di blocco di elementi d'immagine) per la riduzione della ridondanza temporale, e tecniche di trasformazione bidimensionale applicate a un'immagine corrente o alle differenze significative tra questa e un'immagine predetta, per la riduzione della ridondanza spaziale. Le informazioni sulle modalit? di codifica (p. es. con o senza predizione e/o compensazione del movimento), le informazioni sul movimento e le informazioni spaziali sono poi trasmesse dopo codifica con un codice a lunghezza variabile. La decodifica prevede una elaborazione della sequenza compressa attraverso processi successivi, fino aH?ottenimento della sequenza originaria di immagini, per la successiva visualizzazione: in particolare, dopo la decodifica del codice a lunghezza variabile e un riordinamento dei coefficienti trasmessi, si effettua la quantizzazione inversa degli stessi, e si riintroducono le ridondanze spaziali e temporali. Maggiori dettagli possono essere trovati, oltre che nella normativa citata, nella normativa ISO/IEC 11172-2 (ISO/MPEG1) e nell'articolo "The MPEG video compression algorithm", di D. J. Le Gali, Signal Processing: Image Communication, Voi.
4, No. 2, pagg. 129 e segg.
Es?stono in commercio numerosi dispositivi per la codifica e/o decodifica di sequenze MPEG2 video. Questi dispositivi svolgono l?insieme di tutte le funzioni di un codificatore o decodificatore secondo la normativa: generalmente per? essi non sono destinati all'uso professionale (cio? da parte di un'emittente televisiva o di produttori di videodischi o dischi compatti ) bens? all'utenza "domestica": pertanto essi consentono solo variazioni prefissate e limitate dei parametri di codifica, e la qualit? del segnale (codificato o decodificato) che essi forniscono ? sufficiente solo se il segnale stesso non ha subito particolari manipolazioni (p. es. una successione di codifiche e decodifiche, come pu? succedere in una trasmissione televisiva). Non ? in generale possibile la manipolazione di tali parametri tramite una unit? elaborativa di controllo. Per ottenere la qualit? elevata di codifica richiesta per uso professionale deve essere possibile intervenire su diversi parametri di codifica e decodifica in diverse fasi dei rispettivi processi, e ci? implica l'introduzione, nelle diverse parti dell'apparecchiatura, di schiere di componenti discreti ci? che implica dimensioni accresciute dell?apparecchiatura e maggiori costi.
L?invenzione fornisce un dispositivo che pu? essere utilizzato per realizzare diverse delle operazioni richieste da un trasmettitore o ricevitore MPEG2 video d? qualit? professionale, contribuendo alla riduzione delle sue dimensioni ed offrendo prestazioni funzionali e di velocit? considerevoli.
Le caratteristiche dell'Invenzione risultano dalle rivendicazioni che seguono.
A maggior chiarimento si fa riferimento ai disegni allegati, in cui:
- la fig. 1 ? uno schema funzionale semplificato di un trasmettitore di sequenze MPEG-2 video;
- la fig. 2 ? uno schema funzionale semplificato del ricevitore;
- la fig. 3 ? uno schema che illustra gli ingressi e le uscite e i collegamenti alla memoria esterna del dispositivo oggetto dell?invenzione;
- le figure 4A- 4D sono schemi relativi alla disposizione del pixel nella memoria esterna; - la fig. 5 ? uno schema a blocchi del dispositivo oggetto dell'invenzione; e
- le figure 6 - 9 sono schemi pi? dettagliati di alcuni blocchi della fig. 5.
Prima di descrivere in dettaglio le figure, si ricordano alcune definizioni relative alla organizzazione gerarchica all?interno di un'immagine numerizzata, e ai tipi di codifica a livello d?immagine. I campioni (pixel) sia di luminanza che di crominanza sono raggruppati In blocchi composti da una matrice 8x8 (8 righe di 8 pixel ognuna), e un certo numero di blocchi di luminanza e di crominanza (p. es. 4 blocchi di dati di luminanza e 2 blocchi di crominanza corrispondenti) forma un macroblocco. L'immagine numerizzata ? poi formata da una matrice di 36x45 o 30x45 macroblocchi (a seconda che l?alimentazione elettrica sia a 50 o 60 Hz). Le immagini (e quindi i macroblocchi) possono a loro volta avere una struttura a quadro (In cui i pixel di righe successive sono relativi a semiquadri diversi) o a semiquadro (in cui tutti i pixel sono relativi a uno stesso semiquadro). Di conseguenza anche per i macroblocchi sar? possibile una struttura a quadro o semiquadro.
Per quanto riguarda i tipi di codifica, si distinguono:
- immagini sottoposte a codifica intra-immagine (immagini I), cio? immagini codificate utilizzando solo informazioni contenute ai loro interno;
- immagini codificate con predizione (immagini P), cio? immagini per cui viene codificata la differenza tra l'immagine corrente e un'immagine ottenuta mediante una predizione con compensazione del movimento a partire da un?immagine o da immagini di riferimento passate;
- immagini codificate con predizione bidirezionale (immagini B), cio? immagini codificate utilizzando una predizione con compensazione del movimento a partire da immagini di riferimento passate e/o future.
Un'immagine di riferimento ? un'immagine ricostruita (decodificata) che era stata codificata come I o P.
Ci? premesso, il trasmettitore riceve da una sorgente, non rappresentata, campioni numerici organizzati secondo la struttura gerarchica detta sopra, presenti su una linea 1. La successione di campioni viene fornita a un organo di stima del movimento SM che stabilisce il tipo di codifica per l'immagine corrente e calcola ed emette, se necessario, uno o pi? vettori di movimento che rappresentano lo scostamento tra la posizione di un macroblocco nella immagine corrente e la sua posizione nell'immagine o nelle immagini di riferimento. Successivamente un organo RS di riordinamento delle sequenze trasforma l'ordine delle immagini da quello con cui le immagini stesse sono emesse dalla sorgente (ordine di acquisizione e visualizzazione) in un ordine (ordine di codifica) adatto al tipo di codifica (in particolare, un ordine che consenta la decodifica delle immagini di riferimento prima delle immagini predette). La sequenza riordinata ? fornita agii organi di codifica (o compressione) veri e propri, indicatLnel-lor&insieme^corv CO^ AlVingresso di COD, un sottrattore ST sottrae, nel caso di immagini di tipo P e B, l?immagine o le immagini di riferimento (predette e memorizzate in un circuito P1) dalPimmagine attuale e fornisce la differenza a un circuito CS di conversione di scansione dal formato macroblocco al formato blocco, come richiesto per il calcolo della trasformata bidimensionale. Con T, Q sono indicati i circuiti per il calcolo della trasformata (in particolare una trasformata cosenodiscreta) e per la quantizzazione dei coefficienti. I coefficienti da utilizzare vengono forniti da un lato al decodificatore locale per la ricostruzione dell'immagine o delle immagini di riferimento, e dall'altro a un codificatore CV che li codifica secondo un codice a lunghezza variabile e invia i coefficienti codificati, tramite una linea 2, a un ricevitore o a un dispositivo di memoria unitamente al vettore o ai vettori di movimento e all'informazione sul tipo di codifica. Il decodificatore locale comprende un quantizzatore inverso IQ1 , un circuito IT1 per il calcolo dell'antitrasformata e un circuito ICS1 per la riconversione di scansione dal formato blocco al formato macroblocco. Il segnale di uscita di ICS1 ? sommato in un sommatore SM1 con l'immagine di riferimento predetta, memorizzata in P1 e opportunamente ritardata in un elemento di ritardo RITI. Il risultato ? fornito a P1 per la nuova predizione.
Per semplicit? di disegno non si sono indicati i mezzi che combinano i coefficienti quantizzati e codificati della trasformata con le informazioni emesse da SM e che strutturano il flusso di bit relativo al segnale codificato secondo la sintassi stabilita dalla normativa. La descrizione dettagliata di tale sintassi non ha interesse ai fini della presente invenzione.
Nella fig. 2 il ricevitore comprende, a valle degli organi (non rappresentati) che estraggono dal flusso di bit presente su una linea 3 i diversi tipi di informazione, il decodificatore DEC composto dal circuito ICV di decodifica dei coefficienti codificati secondo il codice a lunghezza variabile, e dai circuiti IQ2, 1T2, ICS2, SM2, P2, RIT2 analoghi ai circuiti IQ1 , IT1 , ICS1 , SM1 , P1 , RITI di fig. 1. In uscita da SM2 si hanno le immagini ricostruite, in ordine di codifica, che poi sono fornite al circuito IRS che compie l'operazione Inversa a RS (Fig. 1) ristabilendo l'ordine di visualizzazione prima dell'inoltro a dispositivi di utilizzazione tramite una linea 4.
Nei blocchi RS, IRS e P1, P2 sono incorporate anche le memorie esterne necessarie per il funzionamento dei blocchi stessi. Si noti anche che le figure 1 e 2 illustrano unicamente il flusso dei dati.
Il dispositivo secondo l'invenzione pu? essere Impiegato per la realizzazione di ognuno dei blocchi RS, CS, ICS1, P1 di fig. 1 e dei blocchi ICS2, P2, IRS di fig. 2. Pertanto esso pu? compiere le seguenti funzioni principali:
1) Riordino delle sequenze di Immagini dall'ordine di acquisizione all'ordine di codifica e viceversa. Questa operazione implica una conversione del formato dell'Immagine da "scansione per linee" ("raster") ad un formato noto come "scansione progressiva di macroblocco" (PMBS=Progressive MacroBlock Scan): scansione progressiva di macroblocco significa che per la luminanza vengono letti i 16 pixel d? una riga del macroblocco prima di passare alla successiva, mentre per la crominanza si leggono in sequenza le coppie di pixel Cb, Cr. Per semplicit?, nel seguito, si user? il termine "macroblocco progressivo" o anche solo "macroblocco" per indicare questo formato. Il riordino pu? essere effettuato simultaneamente alla conversione, oppure avvenire a monte (in RS) o a valle (in IRS). Le operazioni connesse a questo riordino saranno chiamate nel seguito "lettura (scrittura) raster" e "scrittura (lettura) a macroblocco"; 2) Conversione dal formato macroblocco al formato blocco, con scansione interallacciata o progressiva di blocco (IBS, PBS = Interlaced Block Scan, Progressive Block Scan) e viceversa. In quanto segue per semplicit? si useranno i termini "blocco interallacciato" o "blocco progressivo". I due tipi di blocchi sono previsti solo per la luminanza e per un macroblocco di tipo "quadro"; nel caso di un macroblocco di tipo semiquadro ? invece possibile solo la conversione in blocco progressivo. La conversione a blocco progressivo richiede la lettura in sequenza dei primi 8 pixel di tutte le righe dei macroblocchi, mentre nel caso di blocco interallacciato si leggeranno 8 pixel di righe alternate, in quanto come noto nel macroblocco righe successive sono relative a semiquadri diversi. Nel caso della crominanza, la lettura riguarda prima il blocco di pixel Cb e poi il blocco di pixel Cr;
3) Estrazione di un macroblocco predizione da un'immagine di riferimento (o due, nel caso di compensazione bidirezionale), cio? applicazione dei vettori di movimento ai pixel di un macroblocco memorizzato nella memoria esterna per ottenere un macroblocco predetto. Questa funzione pu? essere effettuata con interpolazione con risoluzione di 1/2 pixel. Per brevit?, questa funzione sar? chiamata "estrazione di macroblocco": si noti che la lettura di macroblocco pu? essere vista come una estrazione in cui si applicano vettori nulli ma il termine "estrazione" sar? usato in seguito solo per il caso di vettori di moto non nulli.
Un?ulteriore funzione, analoga alia precedente, ? rappresentata dall'estrazione, da un'immagine di riferimento depositata nella memoria esterna, di una cosiddetta "zona", cio? un insieme di dati di dimensioni predefinite maggiori di quelle dei macroblocchi. Tale funzione pu? essere utilizzata per effettuare elaborazioni e raffinamenti del macroblocco predizione, prima che questo venga utilizzato. Le dimensioni della zona dipendono dal tipo di segnale video (progressivo o interallacciato) e possono essere p. es. 22x18 (cio? 18 righe di 22 pixel l'una) o 28x14 per la luminanza, e 22x9 o 28x7 per la crominanza. Nel caso di estrazione di zona in realt? si estrarranno pixel di due zone diverse.
Nella fig. 3 sono illustrati gli ingressi e le uscite del circuito oggetto dell'invenzione, indicato con MSM. Il circuito, come detto, pu? essere associato a una memoria esterna SD che, vantaggiosamente, ? costituita da elementi del tipo SDRAM (Synchronous Dynamic RAM = memoria RAM dinamica sincrona). Nella realizzazione preferita dell'invenzione MSM pu? cooperare con un massimo di 4 elementi, Indicati in figura con SD1...SD4. A titolo di esempio, si suppone che gli elementi siano in grado di memorizzare ognuno tre immagini. Nel caso SD comprenda pi? elementi, questi sono scritti e letti da MSM uno alla volta. La linea 5 schematizza l'insieme dei collegamenti tra MS e SD per lo scambio dei dati e l'invio di comandi.
Le modalit? di organizzazione della memoria SD non hanno particolare interesse ai fini della presente invenzione. Per chiarezza di descrizione, ove necessario si far? riferimento a un esempio in cui i dati in SD sono organizzati a macroblocco e si assegna una riga ad ogni macroblocco. A seconda della funzione che il circuito MSM deve svolgere saranno possibili due modalit? di scrittura (raster e macroblocco) e quattro modalit? di lettura (raster, lettura ed estrazione di macroblocco, estrazione di zona). Le figure 4A...4D illustrano una porzione d'immagine interessata rispettivamente dalla scrittura/lettura raster, dalla scrittura/fettura a macroblocco, dall'estrazione di macroblocco, dall'estrazione di zona: si sottolinea che l'area interessata (racchiusa dalle linee pi? spesse nelle figure 4B - 4D) viene comunque letta sequenzialmente riga per riga. Nel caso di estrazione di macroblocco e di zona (figure 4C, 4D) dove l'area da leggere si estende su macroblocchi memorizzati diversi, si utilizzer? il termine "quadrante" per l'insieme dei pixel da estrarre da ognuno di questi macroblocchi.
Ritornando alia fig. 3, gli ingressi di MSM sono costituiti da:
- una connessione o bus 6 (bus delle immagini) che porta i dati veri e propri da scrivere nella memorie esterna o da trasferire all'uscita dopo la conversione di formato macroblocco/ blocco o viceversa; il bus 6 ? vantaggiosamente un bus a 10 bit, in quanto come detto il dispositivo pu? essere utilizzato immediatamente a monte o a valle dei circuiti di calcolo della trasformata (antitrasf ormata) che richiedono 10 bit significativi;
- una connessione o bus 7 che porta i segnali di sincronismo relativi ai dati;
- una connessione o bus 8 (bus d'informazione) che porta i parametri necessari per il trattamento dei campioni in ingresso e in uscita quando il dispositivo MSM opera a macroblocco; i parametri d'interesse saranno esaminati nella descrizione dettagliata della struttura del dispositivo MSM;
- una connessione o bus 9 per segnali di sincronismo relativi al prelievo dei parametri dal bus 8.
L'organizzazione delle informazioni sul bus 8 e dei relativi segnali di sincronismo sul bus 9 ? descritta nella domanda di brevetto PCT/GB 9501433.
Le uscite di MSM sono: due connessioni 10, 11 per i dati (a 8 bit) e una connessione 12 per i segnali di sincronismo. Le due connessioni per i dati in uscita sono necessarie nel caso dell'estrazione di zona, per consentire l'emissione di tutti i dati nel tempo disponibile, e nel caso di uscita a 10 bit: in questo caso una delle connessioni porta gli otto bit meno significativi e l'altra i due bit pi? significativi.
Per quanto riguarda i sincronismi, a titolo di esempio non limitativo si far? riferimento a una frequenza di orologio di 18 MHz sui bus delle immagini e sul bus di informazione, e a una frequenza di 36 MHz per la lettura/scrittura in SD. I principali segnali di sincronismo d'interesse per la comprensione dell'invenzione sono: il segnale di sincronismo d'immagine (con periodo pari alla durata dei 36x45 o 30x45 macroblocchi) e il segnale di sincronismo di macroblocco (con periodo pari a 420 impulsi del segnale di orologio a 18 MHz) quando il circuito lavora con modalit? macroblocco; il segnale di sincronismo di quadro e di linea per il caso in cui i segnali d'ingresso o di uscitasono-ia formato raster. A questi si aggiungono i segnali di dato valido.
Va sottolineato che nel tempo di macroblocco si dovranno scrivere in SD I dati di un macroblocco mentre in certe modalit? di operazione ? necessario leggere quelli di due macroblocchi. Per consentire ci? il periodo di macroblocco ? suddiviso In tre parti: la prima, della durata di circa 100 impulsi del segnale di orologio a 18 MHz, ? destinata alla scrittura, mentre le altre due parti, identiche fra loro, sono destinate ognuna alla lettura di un macroblocco. La maggior durata del tempo assegnato alla lettura di un macroblocco dipende dalla maggior complessit? delle operazioni connesse alla lettura stessa.
Nella fig. 5, si vede che nel circuito MSM le connessioni 6, 7 sono attestate a una prima memoria tampone interna, schematizzata con i suoi organi di controllo dal blocco MT1. Le uscite di MT1 sono costituite da una connessione 5a (appartenente alla linea 5 di fig. 3), che porta alla memoria esterna SD i dati e alcuni segnali di controllo che saranno visti in seguito, e da una coppia di connessioni 50, 51 che, quando il dispositivo opera senza utilizzare la memoria esterna, portano a un'interfaccia di uscita SU i dati e i segnali di sincronismo da trasferire sulle connessioni 10 - 12.
Le connessioni 8 e 9 sono invece attestate a un decodificatore DIB che, negli istanti opportuni, estrae dal flusso presente sul bus d'informazione i parametri d'interesse per l'applicazione specifica e li fornisce a MT1 e/o ad unit? ISS, CM che, in determinate applicazioni del dispositivo e in cooperazione con un controllore CME della memoria esterna, provvedono aH'indirizzamento in scrittura (ISS) o in lettura (CM) della memoria esterna e alla compensazione del movimento (CM).
I dati letti nella memoria esterna sono ricevuti dal dispositivo MSM tramite un bus 5b (anch'esso appartenente alla linea 5 di fig. 3) che ? attestato a un'unit? d'interpolazione IHV. Da questa i dati sono forniti a una seconda memoria tampone interna, schematizzata con i suoi organi di controllo dal blocco MT2, e poi all'interfaccia di uscita SU.
li circuito MSM comprende anche un'interfaccia microprocessore IU, di tipo convenzionale, che consente ii collegamento a controllore esterno, non rappresentato, che provvede al comando, alla supervisione ed alla impostazione delle funzioni da svolgere. Il controllo della comunicazione tra il circuito MSM ed il controllore esterno avviene attraverso segnali presenti su una connessione 14. L'interfaccia IU ? associata anche a un registro di configurazione RC, che viene scritto dal controllore esterno tramite una connessione 13 e fornisce a tutte le restanti unit? del dispositivo le informazioni relative alla funzione da svolgere, tramite il bus 15.
Invece che dal bus d'informazione 11 , il dispositivo MSM potrebbe ricevere i parametri d'interesse dal controllore esterno, tramite la connessione 13 che, per consentire questo tipo di operazione, ? anche attestata all'unit? DIB. Spetta comunque al controllore esterno fornire i parametri necessari per la ricezione/emissione di informazioni in formato raster. Il caricamento in DIB dei parametri forniti dal controllore esterno ? controllato da IU, tramite la connessione 30.
Il dispositivo oggetto dell'invenzione potrebbe anche essere utilizzato in modo autonomo, senza ricorrere a un controllore esterno. In questo caso la connessione 14 ? cablata in modo che i segnali presenti su di essa assumano una configurazione prestabilita, non utilizzata per i segnali generati dal controllore e anche la connessione 13 ? cablata in modo che i segnali su di essa rappresentino gli opportuni parametri di configurazione. L'interfaccia IU, riconoscendo la speciale configurazione sulla connessione 14, comander? tramite la connessione 31, I il caricamento in RC delle informazioni cablate sulla connessione 13.
Per semplicit? di disegno, nella fig. 5 e nelle figure pi? dettagliate che seguono non si sono indicati i segnali di orologio, i segnali di ripristino delle condizioni iniziali e in generale tutti quei segnali che non sono necessari alla comprensione dell'invenzione. Si noti che la gestione della sincronizzazione delle operazioni delle diverse unit? del dispositivo avviene in maniera distribuita, ad opera di appositi contatori di tempi presenti nelle unit? stesse.
Si esaminano ora pi? in dettaglio le funzioni delle diverse unit? di MSM.
La memoria tampone MT1 comprende due elementi operanti a ping-pong, che si alternano nelle operazioni di scrittura e lettura a cadenza di macroblocco e sono strutturati in modo da memorizzare coppie di pixel. In fase di lettura si trasferiranno alla memoria esterna o in uscita blocchi di 8 coppie di pixel. La struttura di MT1 verr? descritta con maggiori dettagli con riferimento alla fig. 6.
L'unit? DIB riceve i parametri secondo cui vanno trattati I dati rispettivamente in ingresso (scrittura) e uscita (lettura) dal dispositivo MSM e li estrae in base ai segnali di sincronismo presenti sulla connessione 9. I parametri sono organizzati in semiparole (nibble) disposte in un ordine prefissato nel flusso, cosicch? il loro significato pu? essere immediatamente dedotto dall'ordine in cui arrivano a DIB. L'unit? DIB comprende quindi essenzialmente un contatore di semiparole e due gruppi di registri, per memorizzare i parametri per il trattamento dei dati in ingresso e rispettivamente In uscita. A loro volta ogni gruppo comprende due insiemi di registri che rendono disponibili agli organi successivi le informazioni globali relative all'immagine corrente e rispettivamente le informazioni relative al macroblocco corrente.
In particolare, in scrittura il circuito DIB deve estrarre, a cadenza d'immagine, informazioni relative a: tipo di codifica (I, P, B); struttura dell?immagine (di tipo "quadro" o "semiquadro" e, in questo secondo caso, semiquadro inferiore o superiore); elemento di memoria esterna e posizione all'interno deli?elemento In cui l'immagine va scritta.
Le informazioni a cadenza di macroblocco d?interesse per la scrittura sono relative al tipo di trasformata e, per il caso di conversione macroblocco/blocco e viceversa al formato del blocco (progressivo/?nteraliacciato).
Per la lettura, le informazioni richieste a cadenza d'immagine sono le stesse che per la scrittura. A cadenza di macroblocco DIB preleva invece i parametri relativi alla compensazione del movimento, in particolare:
- il tipo d? compensazione (in avanti, ail'indietro, entrambe o nessuna);
- il tipo di predizione: pi? in particolare, per un'immagine di tipo "quadro", la predizione pu? essere di tipo: "quadro", che riguarda il macroblocco completo e richiede un unico vettore di movimento; "semiquadro", che riguarda separatamente i due semiquadri e richiede due vettori di movimento; "duai prime", che consiste in una doppia predizione di tipo semiquadro e in una combinazione Incrociata (semiquadri inferiore-superiore) delle due predizioni per dare il macroblocco predetto, e richiede quattro vettori di movimento. Per l'immagine di tipo semiquadro, la predizione pu? essere di tipo: "semiquadro" (del tutto analoga alla predizione "quadro" precedentemente menzionato); 16x8, che riguarda la met? superiore o inferiore di un macroblocco e richiede due vettori di movimento; "dual prime", che consiste in una doppia predizione di tipo semiquadro e in una combinazione dei risultati e richiede anch'essa due vettori di movimento;
- la selezione verticale del semiquadro, che indica a quale semiquadro va applicato il vettore di movimento;
- i vettori di movimento;
L'unit? ISS ? una macchina a stati finiti che, quando i dati devono essere scritti a macroblocco in SD, genera gii indirizzi di scrittura per SD in base ai parametri forniti dal decodificatore DIB (fili 8a) e a segnali MBC, MBS che sono forniti da MT1 tramite la connessione 16 e rappresentano le coordinate di una colonna e di una striscia di macroblocchi nell?immagine. Gli indirizzi sono inviati a CME tramite la connessione 18. La legge di generazione degii indirizzi dipende ovviamente dall'organizzazione dei dati in SD: conoscendo tale organizzazione il tecnico non ha nessun problema a realizzare la logica ISS.
L'unit? CM genera e invia al controllore della memoria esterna CME segnali d'indirizzamento e comandi per la lettura in SD (fig. 3) in uno dei tre modi di lettura a macroblocco (lettura ed estrazione di macroblocco, estrazione di zona). Per questo scopo CM riceve da DIB, tramite i fili 8b, i parametri relativi alla lettura; inoltre, tramite una connessione 20, scambier? un certo numero di segnali con CME e, tramite una connessione 21, riceve segnali di temporizzazione da MT2. Si noti che quando i dati arrivano a MSM o devono esserne emessi in formato raster il circuito CM non interviene e l?indirizzamento ? devoluto interamente a CME. La struttura di CM risulter? con maggiori dettagli dalla fig. 7
Il controllore CME ha il compito di pilotare i segnali di indirizzamento e controllo della memoria esterna, presentati rispettivamente su connessioni 5c, 5d, nelle diverse modalit? di scrittura e lettura dette sopra. Nel caso di scrittura/lettura a raster CME genera autonomamente gli indirizzi, mentre negli altri casi riceve gli indirizzi da ISS, CM. La struttura di CME verr? descritta con maggiori dettagli con riferimento alla fig. 8.
La memoria tampone MT2 comprende due coppie di elementi organizzate a ping pong, le quali si alternano nelle operazioni di scrittura e lettura con cadenza di macroblocco. E' necessaria una coppia di elementi per memorizzare i dati letti in SD (fig.
3), e non un elemento singolo come in MT1, in quanto in certe modalit? di predizione e compensazione del movimento ? necessario effettuare una combinazione di pixel di coppie di immagini e, nell'estrazione di zona, si presentano in uscita pixel di due zone. I dati da scrivere arrivano a coppie dall'interpolatore IHV e sono scritti sequenzialmente (a quadro o semiquadro). La scrittura e lettura sono progressive, a quadro o semiquadro. La lettura ? asservita, come temporizzazione, alla lettura in SD (fig. 3). Se ? necessario utilizzare 1 due elementi di una coppia, questi sono scritti uno dopo l'altro e sono letti in parallelo.
Date queste indicazioni, la realizzazione di MT2 non comporta problemi per il tecnico.
Dall'unit? MT2 i pixel vengono trasferiti all'interfaccia di uscita SU, che provvede ad effettuare le eventuali combinazioni di pixel richieste o a emettere i dati cos? come sono letti, se non sono necessarie combinazioni. SU associa ai dati i sincronismi che servono a determinare la validit? da parte dei dispositivi di utilizzazione. SU ? descritto con maggiori dettagli con riferimento alla fig. 9.
L'unit? IHV ? destinata a creare un nuovo macroblocco i cui pixel sono la media tra pixel adiacenti nel macroblocco letto in SD (interpolazione). Le informazioni necessarie all'esecuzione di queste funzioni sono rappresentate da segnali H_INT, V_INT che, quando sono attivi, richiedono rispettivamente l'interpolazione lungo la coordinata orizzontale e quella verticale del macroblocco. Tali segnali sono forniti tramite la connessione 20 dall'unit? di compensazione del movimento CM, in funzione del contenuto del vettore di movimento, la cui risoluzione ? di 1/2 pixel. I dati elaborati vengono trasferiti all'unit? MT2 tramite una connessione 23. L'unit? IHV ? costituita da una macchina a stati di controllo e da un'unit? operativa. La prima opera in base ai segnali H_INT, VJNT e a un ulteriore segnale FS_BYTE, anch'esso generato da CM, che indica se, per ogni coppia di pixel, il primo di questi va elaborato o scartato. L'unit? operativa ha invece il compito di calcolare le medie volute (quindi compiere somme e divisioni). L?unit? IHV ? trasparente ai dati nei caso in cui il dispositivo MSM serva per la conversione in formato raster e opera unicamente lo scarto del primo pixel, se necessario, nel caso in cui il circuito MSM serva per l'estrazione di zona.
Nella Fig. 6A si sono indicati con RAMI , RAM2 ? due elementi della prima memoria tampone MT1 , che ricevono i segnali di indirizzamento e controllo per la scrittura e la lettura rispettivamente da due macchine a stati finiti WM1, RM1, tramite un multiplexer MX1. Attraverso MX1 , l'elemento di memoria in fase di scrittura riceve da WM1 anche i dati in arrivo a MSM (fig. 3) tramite il bus 6, e quello in fase di lettura trasferisce i dati letti a RM1, per l'inoltro sul bus 5a o 50. WM1 invia al multiplexer MX1 gli indirizzi e i dati (tramite connessioni 60, 61), segnali WE1, WE2 di abilitazione alla scrittura/lettura dell'uno o dell'altro dei due elementi e segnali ME1, ME2 di temporizzazione del caricamento in memoria di un indirizzo o di un dato. Le uscite di WM1 su cui sono presenti questi segnali di controllo sono schematizzate nel loro insieme dalla connessione 62. La sequenza di emissione dei comandi di scrittura, degli indirizzi e dei dati ? quella tipica di qualsiasi memoria e quindi non ? necessaria una descrizione pi? dettagliata. RM1 genera invece gli indirizzi di lettura, inviati a MX1 tramite una connessione 63.
In uscita da MX1, con 61-i, 62-i, 64-i (i = 1, 2) sono indicate le connessioni per trasferire a RAMI e RAM2 i dati da scrivere, i segnali di controllo e gli indirizzi presenti sulle connessioni 60, 63: chiaramente a ogni ciclo di macroblocco I collegamenti tra gli ingressi 60, 63 e le uscite 64-1 , 64-2 si invertiranno.
Le uscite 67, 68 di RAMI , RAM2 (che sono dei bus a 20 bit, in quanto il trasferimento dei dati verso la memoria esterna concerne ogni volta una coppia di pixel) sono riportate agli ingressi del multiplexer MX1 che, in base a quale delle due memorie ? in fase di lettura, collega l'uscita 67 o 68 alla connessione di uscita dei dati 69 (sempre a 20 bit). Questa ? riportata a un ingresso di RM1 che, per le applicazioni che prevedono l'uso della memoria esterna, provvede alla conversione del formato di uscita da 20 a 16 bit e ad emettere i dati su un primo gruppo di fili della connessione 5a di fig. 5. Nel caso in cui l'applicazione del circuito non richieda l'accesso alla memoria esterna, RM1 presenta ? dati sul bus 50 a 10 bit per il trasferimento a SU (che quindi avviene di nuovo a pixel singoli, e non a coppie) e genera sulla connessione 51 i segnali di sincronismo per I dati in uscita.
La rete logica WM1 comanda la scrittura in RAMI , RAM2 dei pixel nell'ordine in cui essi arrivano e, come detto, fornisce a RAMI o RAM2 due pixel per volta. Quando I dati in arrivo sulla connessione 6 sono in formato blocco o macroblocco, nel tempo di macroblocco WM1 deve comandare la scrittura in RAMI o RAM2 di 384 pixel (256 di luminanza e 128 di crominanza), mentre nel caso di dati in formato raster i pixel da scrivere sono in quantit? variabile, da un valore minimo a 420, a seconda della posizione relativa dei segnali di sincronismo di linea e dei periodi di cancellazione (durante il quale non sono presenti dati validi) rispetto al periodo di macroblocco, come si vede in fig. 6B, dove con MB, LN sono indicati rispettivamente il segnale di sincronismo di macroblocco e di linea, con BE, RE i segnali di dato valido (per formato macroblocco e raster , rispettivamente) e con 6(MB) e 6(R) i dati presenti sul bus 6 nei due casi. Come si vede, nel caso di funzionamento raster, nel primo periodo di macroblocco illustrato si scriveranno in memoria x+y pixel di due linee diverse, data la presenza di un periodo di cancellazione, mentre nel secondo periodo si potranno scrivere 420 pixel di una stessa linea; nel terzo periodo di macroblocco si ha di nuovo un intervallo di cancellazione, e quindi si scriveranno z pixel di una linea e un certo numero di pixel di un'altra. Di ci? si dovr? tener conto nella lettura, come si vedr? meglio in seguito.
Per il suo funzionamento WM1 deve riceve i seguenti segnali:
- un segnale di sincronismo principale (master clock) che ? rappresentato dal segnale di sincronismo di macroblocco presente sulla connessione 9;
- i segnali di sincronismo d'immagine WP e di macroblocco WMB e un segnale di dato valido WBE (in caso di ingresso in formato macroblocco o blocco), o in alternativa, in caso di funzionamento a scansione per linee, i segnali di sincronismo di semiquadro F e di linea LN e un rispettivo segnale di dato valido RE; questi segnali sono presenti sulla connessione 7; quando il funzionamento ? a raster, a WM1 viene fornito anche un segnale FST_FIELD (ricavato per esempio dai parametri letti da DIB, fig. 5) che indica che il semiquadro in arrivo ? il primo o il secondo e che ? utilizzato da un contatore del numero di linee (interno a WM1) per stabilire il valore iniziale di conteggio;
- il parametro indicante semiquadro superiore o inferiore, fornito dal decodificatore DIB tramite i fili 8a;
- un segnale indicativo di una lettura in corso (STILL_READING), fornito da RM1 tramite un filo 65 per impedire commutazioni intempestive delie funzioni di RAMI , RAM2.
Oltre ai segnali gi? visti, WM1 emette:
- su fili 17a della connessione 17 il valore CNTJ.N del conteggio del numero di linee, destinato al controllore della memoria esterna CME che l'utilizza per l'indirizzamento nel caso di scrittura raster;
- su un gruppo di fili 66 collegati a RM1 : un segnale RD che indica l'inizio dell'operazione di scrittura (qualunque sia il tipo di funzionamento) e permette alla logica RM1 di predisporsi alla successiva lettura; nel caso di funzionamento a raster, i valori di conteggio del numero di pixel (NWRITE) e del numero di pixel per linea (NWRITE_LN) e il segnale di cambiamento di linea (LN). Queste informazioni sono necessarie per tener conto di alcune situazioni particolari, che saranno viste in connessione con RM1.
In corrispondenza dell'impulso di sincronismo di macroblocco, WM1 estrae inoltre dal flusso di dati informazioni che precedono i pixel dell'immagine, in particolare:
- un'indicazione di struttura dell'immagine, che pu? assumere una particolare configurazione che indica se i dati che seguono si riferiscono a un sem?quadro ripetuto ("dormant field'1). La ripetizione di semiquadri ? necessaria per il corretto trasferimento di dati da un sistema operante a 50 Hz a uno operante a 60 Hz o viceversa. In corrispondenza di questa informazione viene disabilitata la scrittura in memoria;
- la coppia di parole MBC e MBS, che viene trasferita a CM tramite fili 16a della connessione 16 e che ? presente solo nel caso di funzionamento a macroblocco. La logica RM1 deve comandare una lettura sequenziale di RAMI o RAM2 se i dati vanno fomiti alla memoria esterna, in quanto in queste applicazioni spetta a ISS e/o CME, fig. 5, fornire l'opportuno indirizzamento; se invece i dati vanno trasferiti al bus o ai bus di uscita 10, 11 , la lettura avviene con modalit? legate al formato voluto.
RM1 deve ricevere, oltre al segnale di sincronismo principale e ai segnali che provengono da WM1 , il segnale di sincronismo d'immagine relativo alla lettura e, per il caso di conversione di formato da macroblocco a blocco o viceversa, il parametro che segnala il tipo di blocco. Questa informazione ? fornita da DIB (fili 8a). RM1 fornisce a CME, tramite fili 17b della connessione 17, un segnale di abilitazione alla scrittura nella memoria esterna EN_WR e, nel caso di funzionamento a raster, un segnale di inizio linea (START_LINE). Inoltre, quando funziona a macroblocco, RM1 fornisce a ISS, tramite fili 16b della connessione 16, un segnale NRAS di richiesta di generazione di un nuovo indirizzo di riga di memoria esterna.
Nel caso in cui i segnali sul bus 6 siano in formato raster il trasferimento dei dati da RAMI o RAM2 alla memoria esterna richiede qualche accorgimento . Alla memoria esterna si forniscono gruppi di 8 coppie di pixel (cio? l'equivalente di una riga di un macroblocco), indipendentemente dalle modalit? di scrittura nella memoria stessa. Tuttavia, come si ? visto In fig. 6B, nel corso della scrittura dei dati di una stessa linea pu? giungere il segnale di sincronismo di macroblocco, con conseguente cambiamento dell?elemento di memoria interessato alla scrittura; inoltre il numero di coppie di pixel complessivamente caricate pu? non essere multiplo di 8. Pertanto ? possibile che dati da scrivere a uno stesso indirizzo della memoria esterna o comunque interessati a uno stesso trasferimento a tale memoria debbano essere letti in parte da RAMI e in parte da RAM2. Le 8 coppie di pixel lette in RAMI o RAM2 in una certa fase possono quindi contenere alcuni dati non significativi: pertanto, la logica RM1 in queste condizioni genera un segnale DMQ, inviato direttamente a SD tramite ulteriori fili della connessione 5a per mascherare questi dati non significativi. Inoltre, in uno stesso elemento possono essere stati scritti dati di due linee diverse, e anche questo va segnalato alla memoria esterna. Il segnale STARTJJNE serve appunto a questo scopo.
Come si vede in Fig. 7A, l'organo CM ? costituito da: una rete logica combinatoria CSP di calcolo dell'indirizzo iniziale del macroblocco o della zona da leggere o estrarre; un banco di registri REG per la memorizzazione temporanea e l'elaborazione dell'indirizzo iniziale; una logica di comando ARB.
La rete combinatoria CSP calcola e fornisce ai registri REG, tramite connessioni 70, 71, gli indirizzi di riga e colonna del primo pixel di un macroblocco dell'immagine di riferimento memorizzata in SD, applicando se necessario uno o pi? vettori d? moto, sulla base della funzione richiesta al dispositivo MSM (segnali di configurazione). A questo scopo ricever? gli opportuni parametri da DIB (fig. 4) tramite la connessione 8b e ricever? dalla logica ARB, tramite una connessione 72, informazioni sul vettore interessato e sul fatto che i pixel da estrarre siano di crominanza o luminanza. A questo riguardo si ricorda che nei caso di estrazione di macroblocco, in base alle modalit? di compensazione e di predizione, pu? essere necessario estrarre dati di due macroblocchi e a ognuno potr? essere necessario applicare due vettori di moto, sia per la luminanza che per la crominanza. Quindi, per un'unica lettura in SDRAM, CSP potr? dover calcolare otto Indirizzi iniziali. Questa situazione ? illustrata in fig. 7B, che riporta la organizzazione temporale delle operazioni di lettura in SD (Fig. 3) nel caso di compensazione bidirezionale: MB ? il segnale di sincronismo di macroblocco, TB_TF ? un segnate che individua gli istanti di inizio delie due operazioni di lettura di ogni ciclo di macroblocco, BW e FW indicano rispettivamente il periodo destinato alla lettura dell'immagine di riferimento futura e di quella passata, BWi e TWi (i=1 ,2) indicano l'applicazione dei due vettori di moto e V, C indicano la lettura di pixel di luminanza e rispettivamente crominanza . L'indirizzo iniziale va quindi calcolato per ogni Y e ogni C.
Ili banco di registri REG comprende un numero di registri legato al massimo numero di quadranti che compongono l'area da leggere (quindi fino a un massimo di12, come pu? esser richiesto per l?estrazione di zona). Il registro interessato, selezionato da ARB mediante un segale LOAD, carica l'indirizzo di riga e colonna fornito da CSP e provvede all'incremento dell'indirizzo di colonna durante ia lettura dei pixel di un quadrante, su comando della logica ARB (segnale INCR_COL). Su comando di ARB (segnale COL_ROW, che seleziona il registro da cui l'indirizzo va prelevato) l'indirizzo aggiornato ? presentato su una connessione 19 per il trasferimento a CME .
REG genera anche i segnali necessari per il funzionamento dell'unit? di interpolazione IHV (segnali HJNT, V_INT, FS_BYTE gi? esaminati) e segnali necessari per il funzionamento di CME. Questi ultimi sono essenzialmente:
- un segnale RDCOUNT che, nel caso di estrazione di macroblocco o di zona, indica quante coppie di pixel si devono leggere dal I quadrante da estrarre: da questa informazione il controllore CME ovviamente ? in grado di ricavare le informazioni relative al numero di pixel degli altri quadranti;
- un segnale N LINES che, sempre nel caso di estrazione di macroblocco o di zona, comunica a CME il numero di righe da leggere all'interno di un quadrante; il valore NLINES viene aggiornato progressivamente da ARB (segnale DECR_NLINES) man mano che una riga viene letta;
- il segnale FS_BYTE.
La logica ARB genera i segnali sopra descritti sfruttando, oltre alle informazioni di configurazione, il segnale TB_TF che ? fornito da MT2 tramite una connessione 21 e le richieste di nuovi indirizzi RAS_REQ e CAS_REQ provenienti da CME (fili 20c). ARB genera inoltre il segnale di abilitazione alla lettura EN_RD e un ulteriore segnale LAST_ADD che ? attivo nel caso di estrazione di macroblocco e comunica l'avvenuta lettura dei primi due quadranti. Questi due segnali sono inviati a CME.
Come si vede in fig. 8, il controllore CME comprende
- una prima macchina a stati finiti WRS, destinata a fornire a SD (fig. 3) indirizzi e comandi per le operazioni di lettura e scrittura;
- una seconda macchina a stati finiti GDV, destinata a generare un segnale DQ_VALID di dato significativo in lettura (analogo quindi al segnale DMQ generato da RM1 , fig.
6);
- una rete combinatoria CIR di calcolo degli indirizzi per SD nel caso di scrittura/lettura raster.
Un sistema di multip!essaggio MX2, a seconda delle funzioni che il dispositivo deve compiere, trasferisce su connessioni 80, 81 collegate a WRS gli indirizzi di scrittura e lettura emessi da CIR su uscite 82, 83 o quelii generati da ISS o CM (fig. 5) e presenti sulle connessioni 18, 19
Per il funzionamento, !a logica WRS riceve da MT1 o CM (fig. 5) i segnali di abilitazione alla scrittura o alla lettura EN_WR, EN_RD e da RC una coppia di segnali di configurazione (MB RASTER, ZONE), la cui combinazione permette di programmare le diverse modalit? di accesso a SD in scrittura o in lettura. Nel caso di estrazione di zona, WRS riceve anche un ulteriore segnale di configurazione che reca l'informazione sulle dimensioni della zona (SIZE). Questa informazione viene anche fornita a GDV. I segnali che comandano l?evolversi del funzionamento di CME per le diverse modalit? di funzionamento saranno visti in quanto segue.
La logica combinatoria CIR svolge sostanzialmente le stesse funzioni dei blocchi CSP e REG di fig. 7. CIR calcola, separatamente per la crominanza e la luminanza, l'indirizzo della riga e colonna di SD (fig.3) dove deve essere scritto o letto il primo pixel di una data linea: questo calcolo ? effettuato in base al conteggio del numero di linea CNT_LN, fornito dal blocco WM1 (fig. 6) tramite i fili 17a, e a un'indicazione di linea pari o dispari ricavata da tale conteggio. Per le sue operazioni CIR riceve anche un segnale di sincronismo FOUT fornito dagli organi di controllo in MT2 (filo 25), che precisa se il pixel appartiene al primo o al secondo semiquadro, e il segnale START_LINE, che segnala il cambiamento di linea. La determinazione dell'indirizzo iniziale e il successivo aggiornamento avvengono ovviamente secondo un algoritmo che tiene conto dell'organizzazione dei dati nella memoria esterna e che non ha interesse per l'invenzione. In ogni caso, per una data organizzazione, il tecnico non ha problemi a determinare la legge di generazione degli indirizzi.
Per la scrittura/lettura di un macroblocco va tenuto conto che nella memoria esterna SD i pixel di un macroblocco sono tutti su una linea: quindi il blocco WRS, ogni 8 coppie di pixel, avr? bisogno unicamente di un nuovo indirizzo di colonna, che viene richiesto a CM tramite un segnale CAS_REQ (presente su uno dei fili 19b).
Per l'estrazione di macroblocco o di zona (v. anche figure 4C, 4D) la formazione di ogni riga del macroblocco o della zona estratti richiede ['indirizzamento di un macroblocco diverso a ogni passaggio da un quadrante a un altro; inoltre, terminata la formazione di una riga, si pu? ritornare a un macroblocco indirizzato precedentemente o passare a un nuovo macroblocco. In queste condizioni WRS dovr? generare anche periodicamente delle richieste di indirizzi di riga verso CM (RAS_REQ). Memorie di tipo SDRAM sono programmabili per poter operare in modo rapido quando ? richiesto questo tipo di accesso. Vantaggiosamente, nel caso di estrazione di macroblocco si prevede l'invio della sola richiesta di indirizzo di colonna quando la nuova riga del macroblocco estratto ? formata con dati di un quadrante gi? letto in precedenza, e la richiesta di indirizzo di riga e colonna quando si passa a un quadrante nuovo; nel caso di estrazione di zona si richiederanno invece entrambi gii indirizzi a ogni cambio di quadrante, sia esso nuovo o no. Per poter predisporre rapidamente le richieste di nuovi indirizzi, la logica WRS riceve da CM i segnali RDCOUNT e N LINES, gi? esaminati.
In questo tipo di operazione WRS invia inoltre a GDV, tramite una connessione 85, segnali (CNT_LEFT, CNT_CENTER, CNT_RIGHT per l'estrazione di zona, e CASI, CAS2 per l'estrazione di macroblocco) che informano sul quadrante in corso di lettura. Sulla base di queste informazioni o di un segnale di dato significativo in lettura raster (DQ_RAST_VALID) fornito da CIR tramite una connessione 84, GDV invia verso la memoria esterna il segnale di mascheramento DQ_VALID. Questo segnale, nel caso di estrazione di zona, potr? essere attivato e disattivato all'inizio e alla fine della lettura di dati di una riga dei singoli quadranti.
Nella fig. 9 si ? rappresentato lo stadio di uscita SU con i suoi collegamenti ai quattro elementi di memoria RAM3 - RAM6 di MT2. Si suppone che: se le modalit? di funzionamento prevedono la scrittura in due elementi di memoria nel tempo di macroblocco, tali elementi siano RAM3, RAM5 e rispettivamente RAM4, RAM6; se ? sufficiente un solo elemento di memoria, questo sia RAM3 o RAM4; se i dati vanno trasferiti su un solo bus di uscita questo sia il bus 10.
Lo stadio di uscita deve fornire:
- una combinazione dei pixel memorizzati nei due elementi di memoria quando viene effettuata una compensazione bidirezionale del movimento;
- i pixel letti in un elemento di memoria, se il circuito deve emettere dati in formato raster o se si ? fatta una lettura di macroblocco;
- sui due bus 10 e 11, i dati letti in parallelo nei due elementi di memoria nel caso di estrazione di zona o rispettivamente il byte pi? significativo e i due bit meno significativi di pixel che richiedono 10 bit.
Per questo scopo, le uscite 24a, 24b e rispettivamente 24c, 24d di RAM3 - RAM6 sono collegate agli ingressi di una coppia di multiplexer MX3, MX4 che selezionano l?uscita dell'elemento in fase di lettura e serializzano i due byte letti in memoria. Le uscite 90, 91 dei due multiplexer sono collegate a una logica combinatoria COM che, secondo l'applicazione, calcola una media aritmetica, arrotondata per eccesso, tra pixel omologhi letti nei due elementi di memoria oppure lascia passare inalterati i dati forniti da MX3. L'uscita 92 di COM ? collegata a un ulteriore multiplexer MX6 che collega il bus 10 o a tale uscita o ai fili de! bus 50 su cui sono presenti gli 8 bit meno significativi dei dati che provengono da MT1. MX5 presenta un ulteriore ingresso che, indipendentemente dall'applicazione, permette di trasmettere, in corrispondenza del segnale di sincronismo di macroblocco, I 3 byte dell'etichetta del macroblocco, cio? il riferimento temporale e le indicazioni di riga e colonna MSB, MSC viste in connessione con MT1. Questa etichetta ? ricavata dalle informazioni fornite da DIB tramite i fili 8b ed ? presentata all'uscita di un registro RiB. L'uscita 91 di MX4 ? invece collegata a un multiplexer MX6 che, a seconda dell'applicazione, collega il bus 11 o all'uscita 91 di MX4 o ai fili del bus 50 su cui sono presenti i 2 bit pi? significativi dei dati che provengono da MT1 .
Per la gestione del sincronismo, sar? prevista una macchina a stati (non rappresentata) che riceve informazioni o dagli organi di controllo di MT2 o dal bus 51 e fornisce in uscita, a seconda dell'applicazione, i segnali di sincronismo d'immagine e di macroblocco o i segnali di sincronismo di semiquadro e di linea e i segnali di dato valido.

Claims (8)

  1. Rivendicazioni 1. Dispositivo multifunzione per la manipolazione di sequenze video in sistemi di trasmissione e ricezione di sequenze video compresse, caratterizzato dal fatto di comprendere, in un unico circuito integrato: - un primo sistema di memoria (MT1), per la memorizzazione temporanea deile sequenze da manipolare e una loro formattazione, prima dell'inoltro a una memoria esterna (SD) o all'uscita del dispositivo (MSM); - un secondo sistema di memoria (MT2), per la memorizzazione temporanea di sequenze prelevate dalla memoria esterna (SD) e una loro formattazione, prima dell'inoltro all'uscita del dispositivo (MSM); - mezzi di indirizzamento (ISS, CM, CME) per il trasferimento delle sequenze verso la memoria esterna (SD) o il prelievo di sequenze dalla memoria esterna (SD); - mezzi (IHV. SU) di elaborazione dei dati prelevati dalla memoria esterna (SD); - mezzi (DIB) per ricevere, decodificare e fornire alle altre unit? del dispositivo parametri contenenti informazioni relative alle manipolazioni da effettuare sulle sequenze ricevute o sulle sequenze da fornire; - mezzi (SU) per l'organizzazione dei dati da emettere in uscita in un formato richiesto da una particolare funzione da svolgere; e - mezzi (IU, RC) per la configurazione del dispositivo (MSM) in modo da farlo operare secondo una fra una pluralit? di modalit?, corrispondenti ognuna a una diversa funzione.
  2. 2. Dispositivo secondo la riv. 1 , caratterizzato dal fatto che i mezzi d? configurazione sono atti a far operare il dispositivo (MSM) in modo da consentirne l?utilizzazione, in un sistema di trasmissione e ricezione, come: - organo (RS, IRS) per il riordinamento di sequenze da un ordine di acquisizione a un ordine di codifica dal lato trasmissione o, viceversa, da un ordine di codifica a un ordine di visualizzazione dal lato ricezione, con utilizzo della memoria esterna (SD), il riordinamento richiedendo una conversione da un ordine di scansione per linee a un ordine di scansione per macroblocco o viceversa, eventualmente in aggiunta a una conversione tra due diversi ordini di scansione per linee; - organo di conversione di formato di scansione (CS, ICS1 , ICS2) da un formato di scansione per macroblocco a un formato di scansione per blocco o viceversa, a monte di circuiti (T) di calcolo di una trasformata bidimensionale o a valle di circuiti (IT1 , IT2) di calcolo di una trasformata inversa, tale conversione utilizzando il solo primo sistema di memoria (MT1); - organo di predizione (P1, P2) per la generazione di immagini predette, eventualmente con compensazione del movimento, a partire da una o pi? immagini di riferimento memorizzate nella memoria esterna, tale generazione richiedendo l'estrazione dalla memoria esterna di macroblocchi a cui vengono eventualmente applicati vettori di movimento, sia per quanto riguarda i pixel di luminanza che quelli di crominanza, o l?estrazione di insiemi di pixel di luminanza o di crominanza di dimensioni predefinite, maggiori di quelle di un macroblocco.
  3. 3. Dispositivo secondo la riv. 1, caratterizzato dal fatto che i mezzi di ricezione e decodifica dei parametri (DIB) sono collegati a un bus d'informazione (8, 9) che fornisce a detti organi del sistema di trasmissione e ricezione tali parametri e segnali di sincronismo per la loro acquisizione quando il dispositivo deve manipolare sequenze organizzate a macroblocchi.
  4. 4. Dispositivo secondo una qualsiasi delle rivendicazioni da 1 a 3, caratterizzato dal fatto che, per la manipolazione di sequenze in formato di scansione per l?nee, detti parametri sono forniti ai mezzi di ricezione e decodifica dei parametri (DIB) da un controllore esterno, che provvede al comando, alla supervisione ed alla impostazione delle funzioni da svolgere attraverso i mezzi di configurazione (IU, RC).
  5. 5. Dispositivo secondo la riv. 4 se riferita alle rivendicazioni 1 e 2, caratterizzato dal fatto che detti parametri sono forniti ai mezzi di ricezione e decodifica dei parametri (DIB) dal controllore esterno, qualunque siano le modalit?' di funzionamento.
  6. 6. Dispositivo secondo la riv. 1 o 2, caratterizzato dal fatto che i mezzi di configurazione (IU, RC) sono atti a provvedere autonomamente, senza intervento di un controllore esterno, alla impostazione delle funzioni da svolgere sulla base di una particolare combinazione di segnali di configurazione cablata al loro ingresso.
  7. 7. Dispositivo secondo una qualsiasi delle rivendicazioni precedenti, caratterizzato dal fatto che detta memoria esterna ? una memoria dinamica sincrona a lettura e scrittura.
  8. 8. Dispositivo secondo la riv. 1 , caratterizzato dal fatto che detti mezzi di indirizzamento (ISS, CM, CME) per il trasferimento di dati tra il dispositivo (MSM) e la memoria esterna (SD) e viceversa comprendono una prima e una seconda unit? (ISS, CM) per la generazione di indirizzi di scrittura e lettura di macroblocchi in detta memoria esterna quando il dispositivo opera a macroblocchi, e una terza unit? (CME) che trasferisce alla memoria esterna o gli indirizzi generati da detta prima e seconda unit? (ISS, CM) o gir indirizzi fomiti da un generatore (CIR), interno all'unit? stessa, nel caso la scrittura o lettura richieda un formato a scansione per linee.
IT96TO000123A 1996-02-26 1996-02-26 Dispositivo di manipolazione di sequenze video compresse. IT1285258B1 (it)

Priority Applications (11)

Application Number Priority Date Filing Date Title
IT96TO000123A IT1285258B1 (it) 1996-02-26 1996-02-26 Dispositivo di manipolazione di sequenze video compresse.
US08/780,169 US5903310A (en) 1996-02-26 1996-12-26 Device for manipulating compressed video sequences
AU12686/97A AU711030B2 (en) 1996-02-26 1997-02-13 Device for manipulating compressed video sequences
JP05253397A JP3305976B2 (ja) 1996-02-26 1997-02-21 圧縮ビデオシーケンス操作用デバイス
DE69705139T DE69705139T2 (de) 1996-02-26 1997-02-25 Vorrichtung zum Manipulieren von komprimierten Videosequenzen
ES97103018T ES2116953T3 (es) 1996-02-26 1997-02-25 Dispositivo para manipular secuencias de video comprimidas.
DE0792070T DE792070T1 (de) 1996-02-26 1997-02-25 Vorrichtung zum Manipulieren von komprimierten Videosequenzen
EP97103018A EP0792070B1 (en) 1996-02-26 1997-02-25 Device for manipulating compressed video sequences
AT97103018T ATE202254T1 (de) 1996-02-26 1997-02-25 Vorrichtung zum manipulieren von komprimierten videosequenzen
CA002198555A CA2198555C (en) 1996-02-26 1997-02-26 Device for manipulating compressed video sequences
GR980300041T GR980300041T1 (en) 1996-02-26 1998-07-31 Device for manipulating compressed video sequences

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT96TO000123A IT1285258B1 (it) 1996-02-26 1996-02-26 Dispositivo di manipolazione di sequenze video compresse.

Publications (3)

Publication Number Publication Date
ITTO960123A0 ITTO960123A0 (it) 1996-02-26
ITTO960123A1 true ITTO960123A1 (it) 1997-08-26
IT1285258B1 IT1285258B1 (it) 1998-06-03

Family

ID=11414292

Family Applications (1)

Application Number Title Priority Date Filing Date
IT96TO000123A IT1285258B1 (it) 1996-02-26 1996-02-26 Dispositivo di manipolazione di sequenze video compresse.

Country Status (10)

Country Link
US (1) US5903310A (it)
EP (1) EP0792070B1 (it)
JP (1) JP3305976B2 (it)
AT (1) ATE202254T1 (it)
AU (1) AU711030B2 (it)
CA (1) CA2198555C (it)
DE (2) DE792070T1 (it)
ES (1) ES2116953T3 (it)
GR (1) GR980300041T1 (it)
IT (1) IT1285258B1 (it)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980068686A (ko) * 1997-02-22 1998-10-26 구자홍 엠펙 디코더(MPEG Decoder)의 레터 박스(Letter Box) 처리방법
US6442672B1 (en) * 1998-09-30 2002-08-27 Conexant Systems, Inc. Method for dynamic allocation and efficient sharing of functional unit datapaths
US20020122491A1 (en) 2001-01-03 2002-09-05 Marta Karczewicz Video decoder architecture and method for using same
US6765963B2 (en) * 2001-01-03 2004-07-20 Nokia Corporation Video decoder architecture and method for using same
US6744428B1 (en) * 2001-06-11 2004-06-01 Lsi Logic Corporation Block move engine with macroblock addressing modes
US7693220B2 (en) * 2002-01-03 2010-04-06 Nokia Corporation Transmission of video information
KR100606812B1 (ko) * 2004-03-08 2006-08-01 엘지전자 주식회사 비디오 디코딩 시스템
US7415161B2 (en) * 2004-03-25 2008-08-19 Faraday Technology Corp. Method and related processing circuits for reducing memory accessing while performing de/compressing of multimedia files
US8514944B2 (en) * 2004-06-18 2013-08-20 Broadcom Corporation Reducing motion compensation memory bandwidth through memory utilization
US20110261885A1 (en) * 2010-04-27 2011-10-27 De Rivaz Peter Francis Chevalley Method and system for bandwidth reduction through integration of motion estimation and macroblock encoding
US9020044B2 (en) * 2011-06-13 2015-04-28 Ati Technologies Ulc Method and apparatus for writing video data in raster order and reading video data in macroblock order
US8639894B2 (en) * 2012-01-27 2014-01-28 Comcast Cable Communications, Llc Efficient read and write operations
FR3081251B1 (fr) * 2018-05-16 2020-06-05 Microoled Dispositif d'affichage permettant de traiter un double signal d'entree

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5182642A (en) * 1991-04-19 1993-01-26 General Dynamics Lands Systems Inc. Apparatus and method for the compression and transmission of multiformat data
US5359694A (en) * 1992-07-27 1994-10-25 Teknekron Communications Systems, Inc. Method and apparatus for converting image data
JP2795119B2 (ja) * 1993-02-03 1998-09-10 日本ビクター株式会社 多次元画像圧縮伸張方式
US5588794A (en) * 1994-07-18 1996-12-31 Ford Motor Company Robotic gripper
US5506624A (en) * 1994-07-28 1996-04-09 Silicon Graphics, Inc. Rotating sample of video images
US5623311A (en) * 1994-10-28 1997-04-22 Matsushita Electric Corporation Of America MPEG video decoder having a high bandwidth memory
US5638128A (en) * 1994-11-08 1997-06-10 General Instrument Corporation Of Delaware Pixel interpolation filters for video decompression processor
KR100202538B1 (ko) * 1994-12-23 1999-06-15 구자홍 엠펙 비디오 코덱 장치
US5739868A (en) * 1995-08-31 1998-04-14 General Instrument Corporation Of Delaware Apparatus for processing mixed YUV and color palettized video signals
US5778100A (en) * 1996-03-08 1998-07-07 Lucent Technologies Inc. Method and apparatus for reducing the bit rate in a video object planes sequence coder
US5768445A (en) * 1996-09-13 1998-06-16 Silicon Graphics, Inc. Compression and decompression scheme performed on shared workstation memory by media coprocessor

Also Published As

Publication number Publication date
IT1285258B1 (it) 1998-06-03
JP3305976B2 (ja) 2002-07-24
AU1268697A (en) 1997-09-04
ES2116953T1 (es) 1998-08-01
DE69705139T2 (de) 2001-11-15
EP0792070A3 (en) 1998-04-01
DE69705139D1 (de) 2001-07-19
ATE202254T1 (de) 2001-06-15
EP0792070B1 (en) 2001-06-13
GR980300041T1 (en) 1998-07-31
EP0792070A2 (en) 1997-08-27
ES2116953T3 (es) 2001-10-16
AU711030B2 (en) 1999-10-07
ITTO960123A0 (it) 1996-02-26
CA2198555C (en) 2000-05-16
CA2198555A1 (en) 1997-08-27
DE792070T1 (de) 1998-11-12
JPH09247678A (ja) 1997-09-19
US5903310A (en) 1999-05-11

Similar Documents

Publication Publication Date Title
US11039159B2 (en) Encoding method and decoding method for efficient coding
CN100466744C (zh) 帧间预测编码、译码装置
US9307248B2 (en) Image encoding method and apparatus for performing bit-plane scanning coding upon pixel data and related image decoding method and apparatus
US5675331A (en) Decoding device for decoding a variety of code signals
KR102860198B1 (ko) 히스토리 기반 모션 벡터 예측을 사용하는 인코더, 디코더 및 대응 방법
BR112021004442A2 (pt) método de decodificação de vídeo e decodificador de vídeo
CN109196866A (zh) 用于显示流压缩的子流多路复用
JP2016500204A (ja) サブピクチャバッファ・パラメータをシグナリングするための電子デバイス
CN105359525A (zh) 瓦片对齐信令和一致性约束
CN109155850A (zh) 并行视频编码
JP2009010954A (ja) 高速な画像処理方法およびシステム
EP0792070B1 (en) Device for manipulating compressed video sequences
US11677932B2 (en) Image processing device
US11445160B2 (en) Image processing device and method for operating image processing device
CN1246250A (zh) 在一个mpeg兼容译码器中的选择性压缩网络
TWI559748B (zh) 用於視訊編解碼器的延伸預測模式及效能之方法及系統
KR101476532B1 (ko) Hevc nal 유닛 구문 구조의 확장
US5666115A (en) Shifter stage for variable-length digital code decoder
US6205250B1 (en) System and method for minimizing clock cycles lost to overhead data in a video decoder
KR102523959B1 (ko) 이미지 처리 장치 및 이미지 처리 장치의 동작 방법
US12413753B2 (en) Systems and methods for multi-pipe scheduling during image decoding
TWI795480B (zh) 用於執行資料解壓縮的影像處理裝置及用於執行資料壓縮的影像處理裝置
IT202300016971A1 (it) Metodo e sistema per la generazione efficiente di dati video monocromatici, in particolare per applicazioni di scansione a fascio laser
JP2000188749A (ja) 画像符号化装置

Legal Events

Date Code Title Description
0001 Granted
TA Fee payment date (situation as of event date), data collected since 19931001

Effective date: 19990125