Suite di elaborazione video e immagini
La suite per l'elaborazione di video e immagini è una raccolta di funzioni di proprietà intellettuale (IP) Intel FPGA che è possibile utilizzare per facilitare lo sviluppo di progetti di elaborazione di immagini e video personalizzati. Queste funzioni IP Intel FPGA sono adatte per l'uso in un'ampia varietà di applicazioni di visualizzazione e elaborazione delle immagini, come trasmissioni in studio, videoconferenze, reti AV, imaging medico, smart city/retail e consumer.
Guida utente della suite di elaborazione video e di immagini ›
Suite di elaborazione video e immagini
La Suite per l'elaborazione di video e immagini è la suite di nuova generazione di IP per l'elaborazione di video, immagini e visione. Gli IP veicolano i video utilizzando il protocollo di streaming video di Intel FPGA che si avvale del protocollo AXI4-Stream, standard del settore. Un convertitore di protocollo IP consente l'interoperabilità con lo standard video Avalon Streaming e la Suite IP per l'elaborazione di video e immagini esistente o di altri IP conformi al protocollo Avalon Streaming.
La suite di elaborazione video e immagini presenta core che vanno da semplici funzioni di blocchi predefiniti, come la conversione dello spazio colore a sofisticate funzioni di ridimensionamento video che possono implementare il ridimensionamento polifase programmabile.
- Tutti i core VIP utilizzano uno standard di interfaccia Avalon® Streaming (Avalon-ST) aperto e a overhead ridotto, in modo da poter essere facilmente collegati.
- È possibile utilizzare i core VIP per creare rapidamente una catena del segnale di elaborazione video personalizzata utilizzando il software Intel® Quartus® Prime Lite o Standard Edition e il Platform Designer associato.
- È possibile combinare core di elaborazione video e immagini con IP proprietari.
- È possibile utilizzare Platform Designer per integrare automaticamente processori e periferiche embedded e generare logica di arbitraggio.
- In grado di supportare video 8K a 60 fps e oltre.
Caratteristiche
Funzioni della Suite di elaborazione video e immagini Intel FPGA IP
Funzione IP Intel FPGA |
Descrizione |
---|---|
Implementa un filtro di risposta finita all'impulso (FIR) 3x3, 5x5 o 7x7 su un flusso di dati di immagine per uniformare o rendere più nitide le immagini. |
|
Mescola e fonde più flussi di immagini, utile per implementare la sovrapposizione di testo e la combinazione di immagini nell'immagine. |
|
Cattura i pacchetti di dati video senza aggiungere ulteriori ritardi e si connette all'IP del sistema di tracciamento per la raccolta dei dati di traccia video. |
|
Rimuove e ripara le sequenze e i casi di errore non ideali |
|
Modifica la frequenza di campionamento dei dati di cromatici per i fotogrammi dell'immagine, ad esempio da 4:2:2 a 4:4:4 o da 4:2:2 a 4:2:0. |
|
Fornisce un modo per ritagliare i flussi video e può essere configurato in fase di compilazione o in fase di esecuzione. |
|
I core IP dell'interfaccia video con clock convertono i formati video con clock (come BT656, BT1120 e DVI) in video Avalon-ST; e viceversa. |
|
Modifica il modo in cui i campioni del piano colore vengono trasmessi attraverso l'interfaccia Avalon-ST. Questa funzione può essere utilizzata per dividere e unire i flussi video, fornendo il controllo sull'instradamento dei campioni del piano colore. |
|
Converte i dati dell'immagine tra una varietà di spazi colore diversi come RGB in YCrCb. |
|
Bande di protezione configurabili |
Il core IP delle bande di guardia configurabili confronta ogni piano di colore nel flusso video in ingresso con i valori delle bande di guardia superiore e inferiore. |
Sincronizza le modifiche apportate al flusso video in tempo reale tra due funzioni. |
|
Converte i formati video interlacciati in formati video progressivi utilizzando un algoritmo di deinterlacciamento adattivo al movimento. Supporta anche algoritmi "bob" e "weave", rilevamento dei bordi a basso angolo, rilevamento della cadenza 3:2 e bassa latenza. |
|
Esegue il buffer dei fotogrammi video nella RAM esterna. Questo core supporta il buffering doppio o triplo con una gamma di opzioni per l'eliminazione e la ripetizione dei fotogrammi. |
|
Legge il video dalla memoria esterna e lo emette come flusso. |
|
Consente di correggere i flussi video per le proprietà fisiche dei dispositivi di visualizzazione. |
|
Converte il video progressivo in video interlacciato eliminando metà delle righe dei fotogrammi progressivi in ingresso. |
|
La funzione IP FPGA Intel Scaler II basata su codice HDL utilizza meno area rispetto allo Scaler di prima generazione nella suite di elaborazione video e immagini, offrendo prestazioni più elevate. La funzione Scaler II riduce ulteriormente le risorse richieste con il nuovo supporto della frequenza di campionamento dei dati di crominanza 4:2:2. Sono disponibili algoritmi sia lineari che polifase con la nuova funzionalità dell'algoritmo adattivo per i bordi per ridurre la sfocatura mantenendo il realismo. |
|
Consente la commutazione dei flussi video in tempo reale. |
|
Genera un flusso video che contenga barre di colore fisse da utilizzare come modello di prova. |
|
Monitora i dati acquisiti dal monitor video e si collega alla console di sistema host tramite JTAG o USB per la visualizzazione |
Per iniziare
Esempi di progettazione e kit di sviluppo
I seguenti esempi di progettazione sono disponibili affinché tu possa eseguire i kit di sviluppo.
Nome del prodotto |
Dispositivi supportati/Kit di sviluppo |
Scheda figlia |
Compatibile con Platform Designer |
Provider |
---|---|---|---|---|
✓ |
Intel |
|||
Esempio di progettazione di elaborazione di immagini e video AVDB |
Nessuno |
✓ |
ALSE |
|
Demo della suite di elaborazione di immagini e video su VEEK |
Nessuno |
✓ |
Terasic |
|
Esempio di progettazione di elaborazione di immagini e video Intel FPGA |
✓ |
Intel |
Tutorial video
Cordi di formazione online
Implementazione di sistemi video (ODSP1118)
Questo corso di formazione introduce la piattaforma video Intel FPGA e il flusso di progettazione. Il corso mette in evidenza varie considerazioni di progettazione e tecniche di debug, oltre a discutere i vincoli algoritmici dell'IP di elaborazione di video e immagini.
Workshop sul framework di progettazione video (IDSP230)
In questo workshop pratico sull'elaborazione di video e immagini, esplorerai la struttura VIP, imparerai come padroneggiare la metodologia di progettazione VIP e otterrai un'esperienza diretta tramite gli esercizi di laboratorio di elaborazione di video e immagini.
Metriche di qualità IP
Livello base |
|
---|---|
L'IP dell'anno è stato lanciato per primo |
2009 |
La versione più recente del software Intel® Quartus® supportata |
18.1 |
Stato |
Produzione |
Consegnabili |
|
I materiali consegnabili ai clienti includono: Il file di progettazione (codice fonte crittografato o netlist post-sintesi) Modello di simulazione per ModelSim*- edizione FPGA Intel® Limiti di tempo e/o layout Esempio di prova o progettazione Documentazione con controllo della revisione File Leggimi |
Sì Sì Sì Sì Sì No |
Qualsiasi materiale aggiuntivo consegnabile al cliente fornito con IP |
Nessuno |
GUI di parametrizzazione che consente all'utente finale di configurare l'IP |
Sì |
Il core IP è abilitato per il supporto della modalità di valutazione IP FPGA Intel |
Sì |
Linguaggio fonte |
Verilog |
Linguaggio di prova |
Verilog |
Driver di software forniti |
file sw.tcl |
Supporto del sistema operativo del driver (SO) |
N/D |
Implementazione |
|
Interfaccia utente |
Video con clock (in ingresso video con clock e uscita video con clock), Avalon®-ST (tutti gli altri percorsi dati) |
Metadati IP-XACT |
No |
Verifica |
|
Supportato dai simulatori |
ModelSim, VCS, Riviera-PRO, NCSim |
Hardware approvato |
Arria® II GX/GZ, Arria® V, Intel® Arria® 10, Cyclone® IV ES/GX, Cyclone® V, Intel® Cyclone® 10, Intel® MAX® 10, Stratix® IV, Stratix® V |
Test di conformità standard del settore eseguito |
No |
Se sì, quali test? |
N/D |
Se sì, su quali dispositivi FPGA Intel? |
N/D |
Se sì, data di esecuzione |
N/D |
Se no, è in programma? |
N/D |
Interoperabilità |
|
L'IP ha eseguito un test di interoperabilità |
Sì |
Se sì, su quali dispositivi FPGA Intel |
Intel Arria 10, Intel Cyclone 10 |
Report di interoperabilità disponibili |
N/D |
Gamma Corrector
Il Correttore gamma viene utilizzato quando è necessario vincolare i valori dei pixel a intervalli specifici in base alle informazioni sul display a cui verrà inviato. Alcuni display hanno una risposta non lineare alla tensione di un segnale video e, di conseguenza, diventa necessaria una rimappatura dei valori dei pixel per correggere il display. Il Correttore gamma utilizza una tabella di ricerca dell'interfaccia Avalon®-MM per fornire la mappatura dei valori dei pixel ai loro valori alterati.
Viene mostrato un esempio del Correttore Gamma in cui un input Y'CbCr con valori di colore a 8 bit che vanno da 0 a 255 viene passato attraverso il Correttore Gamma che quindi rimappa i valori per rientrare nell'intervallo da 16 a 240, e viene inviato a un'uscita video con clock.
Filtro FIR 2D
Il nucleo di proprietà intellettuale (IP) del filtro 2D a risposta d'impulso finita (FIR) viene utilizzato per elaborare i piani di colore in serie e passare i valori dei pixel attraverso un filtro FIR. I coefficienti vengono immessi tramite un'interfaccia Avalon Memory Mapped (Avalon-MM) che può essere interfacciata da un processore Nios® II o tramite altre periferiche che accedono al progetto Qsys contenente il datapath video.
Un diagramma a blocchi di esempio che utilizza il filtro FIR 2D è mostrato con un ingresso video con clock con piani di colore RGB formattati in serie per passare attraverso il filtro FIR. Una volta effettuato il filtraggio, il Color Plane Sequencer viene utilizzato per riformattare i piani di colore da tre piani in serie a tre piani in parallelo. Con tre piani di colore in parallelo, il fotogramma video è pronto per essere trasmesso esternamente attraverso il core Clocked Video Output.
Mixer e Mixer II di fusione Alpha
I core Alpha Blending Mixer e Mixer II offrono la possibilità di mescolare rispettivamente fino a 12 o 4 livelli di immagini e sono controllabili in runtime tramite un'interfaccia Avalon-MM. Accedendo da un processore Nios II tramite l'interfaccia Avalon-MM, è possibile controllare dinamicamente la posizione di ogni livello visualizzato e l'ordine in cui i livelli sono sovrapposti (solo Mixer I). La funzione di fusione alfa del Mixer I supporta la visualizzazione di pixel trasparenti o semitrasparenti (solo Mixer I).
Il core Mixer II include un generatore di pattern di test integrato da utilizzare come livello di sfondo. Questo è un ulteriore vantaggio in quanto uno dei quattro ingressi non deve necessariamente provenire da un nucleo del generatore di modelli di test. Un altro vantaggio del Mixer II è la sua capacità di supportare video 4K.
Viene mostrato un diagramma a blocchi di esempio di come vengono utilizzati i core Mixer con un ingresso video con clock che fornisce il feed video attivo sull'ingresso 0, un livello di sfondo fornito dal generatore di pattern di test integrato e un core Frame Reader che legge la grafica statica come un logo aziendale sull'ingresso 1. Questi feed vengono mescolati insieme per fornire una visualizzazione di un'immagine video con grafica e uno sfondo fornito dal generatore di modelli di prova.
Si raccomanda che gli input del Mixer siano alimentati direttamente da un frame buffer a meno che non sia certo che i rispettivi frame rate degli input e dell'output e l'offset dei livelli di input non comportino la mancanza di dati e il conseguente blocco del video.
Resampler Chroma
Il Chroma Resampler viene utilizzato per modificare i formati chroma dei dati video. Il video trasmesso nello spazio colore Y'CbCr può sottocampionare i componenti colore Cb e Cr per risparmiare sulla larghezza di banda dei dati. Il Chroma Resampler offre la possibilità di passare tra i formati 4:4:4, 4:2:2 e 4:2:0.
Un esempio mostra un ingresso video con clock con Y'CbCr in formato chroma 4:2:2 in fase di upscaling dal Chroma Resampler al formato 4:4:4. Questo formato video upscalato viene quindi passato a un Color Space Converter che converte il formato video da Y'CbCr a RGB per essere inviato al core Clocked Video Output.
Clipper II
Il core Clipper viene utilizzato quando si desidera che le aree fisse di un feed video vengano passate in avanti. Il core Clipper può essere configurato durante la compilazione o aggiornato tramite un'interfaccia Avalon-MM da un processore Nios II o da un'altra periferica. Il Clipper ha la capacità di impostare il metodo di ritaglio mediante offset dai bordi o da un'area rettangolare fissa.
Un esempio mostra due istanze del Clipper che prendono aree di 400 x 400 pixel dai rispettivi ingressi video. Questi due feed video ritagliati vengono quindi miscelati insieme in un core Mixer insieme ad altri elementi grafici e al generatore di pattern di test integrato come sfondo. Il Mixer ha la capacità di regolare la posizione degli ingressi video, in modo da poter posizionare fianco a fianco i due feed video tagliati con l'aggiunta di frame buffer, se necessario.
Core di ingresso e uscita video con clock (I e II)
I core di ingresso e uscita video con clock vengono utilizzati per acquisire e trasmettere video in vari formati come BT656 e BT1120.
I core di ingresso video con clock convertono i dati video in ingresso in dati a pacchetto video formattati Avalon Streaming (Avalon-ST), rimuovendo il blanking orizzontale e verticale in ingresso e conservando solo i dati immagine attivi. Il core consente di acquisire video a una frequenza e trasmettere i dati al resto del sistema Qsys che può essere eseguito alla stessa o a un'altra frequenza.
Viene mostrato un esempio di ingresso video con clock che alimenta il video in un blocco scaler per l'upscaling da 1280 x 720 a 1920 x 1080, dopodiché viene inviato a un core di uscita video con clock. Se sia l'ingresso che l'uscita hanno la stessa frequenza fotogrammi, è possibile creare FIFO nell'ingresso video con clock e nell'uscita video con clock per consentire la conversione senza un frame buffer.
Sequencer piano colore
Il Sequencer piano colore viene utilizzato per riorganizzare gli elementi del piano colore in un sistema video. Può essere utilizzato per convertire i piani di colore dalla trasmissione in serie a quella parallela (o viceversa), per "duplicare" i canali video (come potrebbe essere necessario per pilotare un sottosistema di monitor video secondario) o per "suddividere" i canali video (come potrebbe essere necessario per separare un piano alfa da tre piani RGB emessi come 4 piani da un lettore di frame).
Viene mostrato un esempio di Color Plane Sequencer con il core video IP del filtro FIR 2D che richiede l'ingresso e l'uscita del video con i piani di colore in serie. Per trasmettere il video all'uscita video con clock nel formato desiderato, i piani di colore devono essere convertiti in parallelo dal Sequencer piano di colore.
Convertitore spazio colore (I e II)
I core Color Space Converter (CSC e Color Space Converter II) vengono utilizzati quando è necessario convertire tra i formati di spazio colore RGB e Y'CrCb. A seconda dei requisiti del formato di input e output video, potrebbe essere necessario convertire tra diversi formati di colore.
Un esempio di Color Space Converter è mostrato con un video Y'CrCb di upscaling di Chroma Resampler e quindi viene passato al Color Space Converter e convertito in formato colore RGB per essere inviato a un'uscita video con clock.
Sincronizzatore di controllo
Il sincronizzatore di controllo viene utilizzato insieme a un controller master Avalon-MM, come un processore Nios II o un'altra periferica. Il sincronizzatore di controllo viene utilizzato per sincronizzare le modifiche alla configurazione di runtime in uno o più blocchi IP video in allineamento con i dati video mentre cambiano. Alcune modifiche alla configurazione possono avvenire a monte di un core IP video mentre i frame video lo attraversano ancora nel formato precedente. Al fine di rendere la transizione senza interruzioni ed evitare problemi sullo schermo, il sincronizzatore di controllo viene utilizzato per allineare il cambio di configurazione esattamente mentre i nuovi dati del frame video in arrivo arrivano al core.
Viene mostrato un esempio di sincronizzatore di controllo con un processore Nios II che configura un Test Pattern Generator per modificare la dimensione del fotogramma da 720p a 1080p. Il Sincronizzatore di controllo riceve la notifica dal processore Nios II che i dati del frame video cambieranno presto, ma si astiene dalla riconfigurazione dell'uscita video sincronizzata fino a quando i nuovi frame non passano attraverso il Frame Buffer al Control Synchronizer. Il sincronizzatore di controllo legge i pacchetti di dati di controllo del frame per determinare se corrisponde alla nuova configurazione, quindi aggiorna il core dell'uscita video sincronizzata alle nuove impostazioni, rendendo la modifica della risoluzione sull'uscita video senza soluzione di continuità.
Deinterlacciatore (I e II) e Deinterlacciatore Broadcast
I core Deinterlacer (Deinterlacer, Deinterlacer II e Broadcast Deinterlacer) convertono i fotogrammi video interlacciati in fotogrammi video a scansione progressiva. Ci sono più algoritmi tra cui scegliere per come deinterlacciare il video, a seconda della qualità desiderata, dell'area logica utilizzata e della larghezza di banda della memoria esterna disponibile.
Un esempio di come viene utilizzato il core Deinterlacer è mostrato con un ingresso video con clock che riceve frame interlacciati e passa attraverso il Deinterlacer, che effettua transazioni con una memoria esterna e un core Frame Buffer. Dopo averlo deinterlacciato in formato a scansione progressiva, il video viene inviato tramite un core di uscita video con clock.
Frame Buffer (I e II)
I core Frame Buffer e Frame Buffer II vengono utilizzati per il buffering di campi video progressivi e interlacciati e possono supportare il buffering doppio o triplo con una gamma di opzioni per l'eliminazione e la ripetizione dei fotogrammi. In casi come il deinterlacciamento del video, la modifica della frequenza dei fotogrammi del video o talvolta il missaggio del video, è necessario un Frame Buffer.
Viene mostrato un esempio di come viene utilizzato il Frame Buffer con un caso in cui un core di ingresso video con clock riceve video a 30 fotogrammi al secondo (fps) e deve convertirlo a 60 fps. Il core Frame Buffer viene utilizzato per bufferizzare più frame e supporta frame ripetuti, quindi il frame rate può essere convertito a 60 fps e viene quindi trasmesso attraverso un core Clocked Video Output.
Frame reader
Il core Frame Reader viene utilizzato per leggere i frame video archiviati nella memoria esterna e li emette come flusso video Avalon-ST. I dati vengono archiviati solo come valori di pixel video non elaborati.
Viene mostrato un esempio che utilizza il Frame Reader per sovrapporre la grafica del logo aziendale a un altro flusso video e unire i livelli insieme tramite un Mixer core. Da lì il video unito viene inviato a un core di uscita video con clock. Il mixer può essere configurato opzionalmente per includere un canale alfa. In questo caso il lettore di frame potrebbe essere configurato per leggere tre piani colore e un piano alfa, che potrebbero essere "divisi" utilizzando un convertitore di spazio colore (non mostrato) prima di essere immesso nel Mixer.
Scaler II
Il core Scaler II viene utilizzato per aumentare o ridurre le dimensioni di un fotogramma video. Supporta più algoritmi tra cui il più vicino, bilineare, bicubico e lo scaling polifase/Lanczos. La memoria su chip viene utilizzata per il buffering delle linee video utilizzate per il ridimensionamento, con rapporti di ridimensionamento più elevati che richiedono più spazio di archiviazione.
Viene mostrato un esempio del core Scaler II che prende una dimensione di frame video 720p da un ingresso video con clock e lo ridimensiona a 1080p e invia a un'uscita video con clock.
Switch (I e II)
I core Switch consentono agli utenti di collegare fino a dodici flussi video in ingresso a un massimo di dodici flussi video in uscita. Lo Switch non unisce o duplica i flussi video, ma consente di modificare il routing dalla porta di ingresso alla porta di uscita. Non è necessario collegare tutte le porte di uscita, a meno che non si voglia monitorare ancora quei flussi video. Il controllo dello Switch avviene tramite un'interfaccia Avalon-MM accessibile da un processore Nios II o da un'altra periferica mappata Avalon-MM.
Viene mostrato un esempio dello Switch con un ingresso video con clock e un generatore di pattern di prova che alimenta due porte su uno Switch. La seconda porta di uscita Switch viene lasciata scollegata e il processore Nios II controlla quale dei due feed viene inviato alla porta collegata all'uscita video con clock per la visualizzazione.
Test Pattern Generator II
Il core Test Pattern Generator consente di generare una serie di immagini per testare rapidamente un'interfaccia video. Il core è configurabile per molte diverse dimensioni di immagine, nonché per i formati di colore RGB e YCbCr.
È possibile utilizzare un core Test Pattern Generator insieme a un core Clocked Video Output per verificare rapidamente l'interfaccia video del sistema. Con le specifiche video desiderate in mano, il completamento di un progetto richiede solo pochi minuti per assicurarsi rapidamente che l'interfaccia sia in grado di generare un'immagine su un display esterno.
Monitor video Avalon-ST
Il monitor video Avalon-ST è un core che può essere inserito in serie con il percorso dati video che legge le informazioni sui pacchetti video Avalon-ST e fornisce dati diagnostici al sistema Trace. Il monitor video viene inserito nel punto in cui si desidera sondare il percorso dati video per l'analisi e le informazioni statistiche. Se combinato con il core del sistema Trace e connesso esternamente tramite una porta di debug come JTAG o tramite un cavo di download Intel FPGA, è possibile ottenere una maggiore visibilità sul comportamento del sistema video. È possibile utilizzare la console di sistema come piattaforma virtuale per visualizzare queste informazioni.
Un esempio mostra il monitor video Avalon-ST inserito prima e dopo un Color Plane Sequencer. These are used to monitor video packet information coming from the Clocked Video Output and from the Color Plane Sequencer. Il monitor video non altera i dati video mentre passano attraverso il core. I monitor video sono collegati al sistema Trace, a cui si accede in questo caso tramite JTAG.
Sistema Trace
Il sistema Trace viene utilizzato per accedere ai core del monitor video Avalon-ST inseriti in un progetto per le informazioni di diagnostica video. È possibile utilizzare più core Video Monitor per connettersi a un controller di Sistema Trace. Il sistema Trace si connette a un host utilizzando un'interfaccia di debug tipicamente come un connettore JTAG o un'interfaccia Intel FPGA Download Cable, se disponibile.
Un esempio mostra il sistema Trace utilizzato con una coppia di core Avalon-ST Video Monitor inseriti prima e dopo un Color Plane Sequencer. I monitor video sono collegati al sistema Trace, a cui si accede in questo caso tramite JTAG.
Link correlati
Risorse aggiuntive
Trova IP
Trovate il core IP Intel® FPGA adatto alle vostre esigenze.
Supporto tecnico
Per supporto tecnico con il core IP, occorre consultare le Risorse di supporto o rivolgersi all'Intel® Premier Support. È inoltre possibile cercare argomenti correlati sul Centro Conoscenze e nelle Community.
Valutazione e acquisto dell'IP
Modalità di valutazione e informazioni per l'acquisto per i core di proprietà intellettuale Intel® FPGA
Progettare con Intel® FPGA IP
Scoprite di più sulla progettazione con Intel® FPGA IP, una vasta selezione di core off-the-shelf ottimizzati per gli Intel® FPGA.
Suite di base IP
Licenze gratuite per core Intel® FPGA IP con licenza software Intel® Quartus® Prime Standard o Pro Edition.
I-Tested
Intel testa l'interoperabilità e assegna la certificazione I-Tested agli Intel® FPGA IP o ai core IP per membri Design Solutions Network.
IP per i partner Intel® FPGA
Sfogliate il catalogo dei core di proprietà intellettuale per i partner Intel® FPGA nell'Intel® Solutions Marketplace.
Esempi di progettazione
Scaricate esempi di progettazione e progetti di riferimento per i dispositivi Intel® FPGA.
Certificazioni IP
Intel s'impegna a fornire core di proprietà Intellettuale che funzionino agevolmente con i tool Intel® FPGA o le relative specifiche d'interfaccia.
Contattate l'ufficio vendite
Per design di prodotto Intel® FPGA ed eventuali esigenze di accelerazione, contattate i nostri rappresentanti di vendita.