ITMI20131710A1 - "sistema di cloud encoding" - Google Patents

"sistema di cloud encoding"

Info

Publication number
ITMI20131710A1
ITMI20131710A1 IT001710A ITMI20131710A ITMI20131710A1 IT MI20131710 A1 ITMI20131710 A1 IT MI20131710A1 IT 001710 A IT001710 A IT 001710A IT MI20131710 A ITMI20131710 A IT MI20131710A IT MI20131710 A1 ITMI20131710 A1 IT MI20131710A1
Authority
IT
Italy
Prior art keywords
coding
signal
information
grouped
coded signal
Prior art date
Application number
IT001710A
Other languages
English (en)
Inventor
Massimo Bertolotti
Fabio Sonnati
Original Assignee
Sky Italia S R L
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 Sky Italia S R L filed Critical Sky Italia S R L
Priority to IT001710A priority Critical patent/ITMI20131710A1/it
Priority to EP14798933.9A priority patent/EP3058658B1/en
Priority to US15/029,794 priority patent/US10271075B2/en
Priority to CA2927653A priority patent/CA2927653C/en
Priority to PCT/IB2014/002095 priority patent/WO2015056075A1/en
Publication of ITMI20131710A1 publication Critical patent/ITMI20131710A1/it

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6011Encoder aspects
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6017Methods or arrangements to increase the throughput
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6064Selection of Compressor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Description

DESCRIZIONE
"Sistema di cloud encoding"
CAMPO DELL'INVENZIONE
La presente invenzione si riferisce ad un sistema di codifica in due fasi di segnali non raggruppati in segnali raggruppati.
ANTEFATTO DELL'INVENZIONE
Con l'avvento di internet la trasmissione di contenuti Audio e Video, in modalità lineare o non lineare (ad es. VOD, catch-up, etc...) ha avuto enorme espansione, così come è aumentata la diffusione di terminali che possono ricevere i segnali audiovisivi (smartphone, tablet, PC, device connessi, etc...).
Sfortunatamente, per poter servire tutti i device connessi alla rete (ognuno dei quali con uno schermo e con una risoluzione diversi) non esiste uno standard comune. Per questo motivo è necessario preparare i contenuti con diversi formati (ad esempio Smoothstreaming, http Live Streaming, Mpeg DASH, ... ) e per ogni formato, al fine di garantire la massima user experience al cliente finale, bisogna preparare diversi profili di compressione (bit rate) per poter erogare il contenuto da internet verso il cliente finale in conformità alla banda di connettività del cliente stesso .
Quindi per un contenuto, o canale audiovisivo, devono essere generati ad esempio 8 livelli di compressione: da quello definito "solo audio" (ad es. 32 o 64 Kbps) o "livello 8", al formato ad alta risoluzione "HD" (ad es. 3 o 4 Mbps) o ''livello 1"; ciascuno dei livelli deve spesso essere reso in almeno 2 o 3 formati, il che può portare ad un totale di 24 copie dello stesso contenuto e/o canale con caratteristiche diverse.
Per garantire la massima qualità ed efficienza, la compressione viene eseguita a partire dal segnale o contenuto originale cui corrisponde la qualità di produzione (ad esempio HD con qualità video richiedente una banda anche superiore a 50-100 Mbps, fino a 10 Gbps per contenuti live).
Per massima efficienza si intende avere la migliore qualità al minor bit rate possibile. Infatti, ogni bit risparmiato implica per il fornitore di contenuti, ma anche per la rete globale un risparmio di risorse di trasmissione e quindi un migliore utilizzo complessivo delle risorse.
Quindi poter comprimere un contenuto audiovisivo nel miglior modo possibile contenendo il bit rate per ogni livello garantendo la qualità più elevata possibile rappresenta una sfida tecnica per la distribuzione su internet .
Una volta create queste numerose copie dello stesso contenuto/canale, bisogna trasmettere su internet 24 volte il contenuto/canale (poiché ogni cliente può avere una connettività diversa in un determinato istante). Quindi le risorse di trasmissione necessarie (e conseguentemente i costi) sono n volte superiori rispetto ad inviare su internet un solo contenuto/canale. Per il VOD ne consegue che anche lo Storage è n volte superiore.
Se per la distribuzione ai clienti finali si usa una Content Delivery Network (CDN), il discorso non cambia, anche in questo caso devono essere gestite 24 copie del contenuto/canale.
Ovviamente, questo sistema risulta poco efficiente per la distribuzione, ma è il migliore per quanto riguarda la qualità del video poiché la compressione "lossy", sia essa MPEG 2, AVC, HEVC o qualsivoglia altro formato, è migliore quanto maggiore è la qualità della sorgente .
Ultimamente si sono rese disponibili numerose soluzioni (ad esempio da Amazon, Verizon) che prevedono la compressione dei contenuti direttamente su internet (sul cloud) evitando al fornitore del servizio (Media company) di gestire una complessa catena di compressione; tali soluzioni richiedono tuttavia di inviare i contenuti sulla rete in modo poco efficiente e prevedono solitamente una completa esternalizzazione presso il cloud provider dei servizi di transcodifica, sottraendone del tutto la gestione alla Media company.
In dettaglio, tali soluzioni prevedono che il fornitore dei contenuti (o la Media Company) invii un solo contenuto/canale e poi sulla rete (o sulla CDN, prima della distribuzione al cliente finale o prima dello "Storage" dei contenuti non lineari come il VOD) avvenga la compressione nei diversi formati e livelli di bit rate. Queste soluzioni sono pensate per mettere a fattor comune i sistemi di compressione abbassando i costi del fornitore dei contenuti, utilizzando encoder in comune con diversi fornitori di contenuti, quindi riducendone il numero, riducendo i backup, le manutenzioni operative e migliorando le velocità/performance di lavoro potendo sfruttare le risorse di compressione sempre al 100%. Queste soluzioni presentano tuttavia ancora alcuni svantaggi dal punto di vista tecnico. Il più evidente di questi svantaggi è che il trasferimento verso internet del contenuto/canale avviene ad alto bit rate, ad es. i 50-100 Mbps o più (fino a 3 Gbps o 10 Gbps per trasmissioni live) di cui si accennava sopra.
La soluzione non è quindi efficiente poiché richiede elevate risorse di trasmissione (e quindi elevati costi) e non consente alla Media company alcun controllo sulla filiera della distribuzione. Una soluzione a tale inconveniente consiste nell' inviare alla rete contenuti "precompressi" (mezzanine, in inglese) insieme ad informazioni generate dalla Media company sulla gestione delle successive fasi di compressione sul cloud, in questo modo ottimizzando l'integrazione tra i sistemi di compressione della Media company e quelli messi a disposizione dal cloud provider. Anche se precompressi a 10 Mbps (ossia ad un livello non troppo basso) , tali contenuti perdono generalmente molte informazioni (rispetto ai 50-100 Mbps di un video sorgente con qualità HD) ; pertanto, la successiva operazione di compressione multiformato/bit rate sarà meno efficiente e di qualità più bassa (anche a parità di bit rate) di quella fatta partendo da un contenuto o canale con qualità di produzione HD.
Quindi, la minore efficienza significa che in questo secondo caso per avere la stessa qualità per ogni livello di un video può servire il 10-20% in più di bit rate per avere lo stesso risultato di un transcoding che parte da una sorgente ad alta qualità (ad esempio il livello più alto nell'opzione di compressione e transcodifica che parte da una sorgente a 10 Mbps sarà di 5 Mbps, mentre partendo da una sorgente ad alta qualità a 50 Mbps si arriverà a 4 Mbps senza compromettere la qualità, e così per i livelli inferiori). Inoltre un sistema di transcodifica non del tutto esternalizzata sul cloud e comprensiva di una fase di pre-compressione presso il centro di produzione della Media company, oltre a ridurre i costi di trasmissione dei contenuti pre-compressi, beneficia della generazione presso la Media company di informazioni sulla codifica in modalità così accurate come solo l'elaborazione presso il centro di produzione della Media company può garantire .
Nessuno dei sistemi noti, inoltre, anticipa i vantaggi derivanti dalla gestione del sistema di transcodifca che includa una fase di pre-compressione gestita presso il centro di produzione della Media company abbinato alla generazione degli ulteriori livelli di codifica presso un centro di distribuzione virtualizzato, come una Content Delivery Network, consentendo allo stesso tempo di raggiungere elevati livelli di qualità di codifica ai vari livelli da generare .
SOMMARIO DELL'INVENZIONE
La presente invenzione è stata concepita con l'obiettivo di porre rimedio anche solo parziale ad almeno uno dei problemi riconosciuti dagli inventori come ad esempio su esposti.
Secondo un primo aspetto, l'invenzione prevede un sistema per codificare un segnale non raggruppato in una pluralità di segnali raggruppati detto segnale non raggruppato comprendente almeno un servizio video, il sistema comprendente:
primi mezzi di codifica forniti in un sistema di produzione configurati per eseguire una prima codifica di detto segnale video non raggruppato in un primo segnale codificato raggruppato (140) e per associare a detto primo segnale codificato informazioni di codifica (140);
secondi mezzi di codifica (160) forniti in un sistema di distribuzione, detti secondi mezzi di codifica essendo separati da detti primi mezzi di codifica, configurati per eseguire una pluralità di seconde codifiche per ottenere corrispondentemente detta pluralità di segnali raggruppati (180), ciascuno di detta pluralità di segnali raggruppati (180) caratterizzato da una corrispondente predeterminata proprietà, dette seconde codifiche eseguite sulla base di detto primo segnale codificato utilizzando dette informazioni di codifica;
mezzi di connessione configurati per trasmettere da detti primi mezzi di codifica (150) a detti secondi mezzi di codifica (160) dette informazioni di codifica (140), in cui dette informazioni di codifica (140) comprendono informazioni sulla prima codifica.
Secondo un secondo aspetto, l'invenzione prevede un metodo per codificare un segnale non raggruppato in una pluralità di segnale raggruppati, detto segnale non raggruppato comprendente almeno un servizio video, il metodo comprendente le fasi di:
eseguire (S100) , attraverso primi mezzi di codifica forniti in un sistema di produzione, una prima codifica di detto segnale video non raggruppato in un primo segnale codificato raggruppato ed associare (SU O) a detto primo segnale codificato informazioni di codifica (140);
eseguire (120), attraverso secondi mezzi di codifica (160) forniti in un sistema di distribuzione e distinti da detti primi mezzi di codifica, una pluralità di seconde codifiche per ottenere corrispondentemente detta pluralità di segnali raggruppati (180), ciascuno di detta pluralità di segnali raggruppati (180) caratterizzato da una corrispondente predeterminata proprietà, dette seconde codifiche ottenute a partire da detto primo segnale codificato utilizzando dette informazioni di codifica;
trasmettere (S130) da detti primi mezzi dì codifica a detti secondi mezzi di codifica dette informazioni di codifica, in cui dette informazioni di codifica comprendono informazioni sulla prima codifica.
Secondo un terzo aspetto, l'invenzione prevede un programma per computer predisposto per eseguire, quando detto programma è eseguito su un computer, tutte le fasi secondo il metodo su esposto secondo il secondo aspetto.
Secondo un quarto aspetto, l'invenzione prevede un dispositivo (350) per codificare un segnale non raggruppato (310) in un segnale raggruppato (390), detto segnale non raggruppato (310) comprendente almeno un servizio video, detto dispositivo comprendente:
mezzi di codifica (355) configurati per eseguire una prima codifica di detto segnale video non raggruppato in un primo segnale codificato raggruppato e per associare a detto primo segnale codificato informazioni di codifica;
mezzi di trasmissione (370) per trasmettere detto primo segnale codificato e informazioni di codifica ad un ulteriore dispositivo di codifica configurato per eseguire una pluralità di seconde codifiche per ottenere corrispondentemente una pluralità di segnali raggruppati (180), ciascuno di detta pluralità di segnali raggruppati (180) caratterizzato da una corrispondente predeterminata proprietà, dette seconde codifiche ottenute a partire da detto primo segnale codificato utilizzando dette informazioni di codifica, in cui dette informazioni di codifica comprendono informazioni sulla prima codifica.
Secondo un quinto aspetto, l'invenzione prevede un dispositivo (460) per codificare un primo segnale codificato raggruppato (410) in una pluralità di segnali raggruppati (390), detto primo segnale codificato raggruppato (410) comprendente almeno un servizio video, detto dispositivo comprendente:
mezzi di ricezione (445) per ricevere da un ulteriore dispositivo di codifica detto primo segnale codificato raggruppato ed informazioni di codifica comprendenti informazioni sulla prima codifica;
mezzi di codifica (465) configurati per eseguire una pluralità di seconde codifiche per ottenere corrispondentemente detta pluralità di segnali raggruppati (180), ciascuno di detta pluralità di segnali raggruppati (180) caratterizzato da una corrispondente predeterminata proprietà, dette seconde codifiche ottenute a partire da detto primo segnale codificato utilizzando dette informazioni di codifica.
Nel seguito verranno illustrati aspetti ausiliari con riferimento alle varie forme di realizzazione nonché forniti esempi a scopo illustrativo dell'invenzione.
LISTA DELLE FIGURE
La figura 1 illustra un diagramma a blocchi di un metodo per codificare i segnali secondo una prima forma di realizzazione.
La figura 2 illustra un diagramma a blocchi per codificare il segnale secondo una seconda forma di realizzazione .
La figura 3 illustra un diagramma di flusso rappresentante un metodo secondo una seconda forma di realizzazione della presente invenzione.
La figura 4 rappresenta un diagramma a blocchi di un dispositivo di prima codifica secondo una terza forma di realizzazione.
La figura 5 rappresenta un diagramma a blocchi di un dispositivo di seconda codifica secondo una quarta forma di realizzazione.
La figura 6 mostra un esempio del funzionamento secondo la presente invenzione a scopi illustrativi.
DESCRIZIONE DETTAGLIATA
Gli inventori hanno studiato un sistema per gestire in modo accoppiato la codifica (per esempio la precompressione) all'interno di un tradizionale sistema di broadcasting che consenta la creazione di contenuti a massima risoluzione e bit rate e la transcodifica (per esempio una compressione) sul cloud o CDN.
Con il termine cloud si indica una serie di tecnologie che permettono, solitamente sotto forma di un servizio offerto da un provider al cliente, di memorizzare, archiviare e/o elaborare dati grazie all 'utilizzo di risorse hardware/software distribuite e virtualizzate in rete.
I calcolatori che compongono il cloud possono trovarsi, o essere selezionati per trovarsi (anche automaticamente) , in una posizione più vantaggiosa di vicinanza all'utente finale del contenuto video o audiovideo rispetto alla posizione della Media Company o del centro di produzione. Oppure, la rete cloud può disporre di connessioni informatiche più veloci verso l'utente finale del contenuto video o audiovideo rispetto alla connessione informatica della Media Company o del centro di produzione.
Il sistema oggetto della presente invenzione è adatto alla distribuzione via internet di contenuti a dispositivi (device, in inglese) di diversa forma e natura (smartphone, tablet, PC, device connessi, etc ...).
La soluzione della presente invenzione prevede di inviare sul cloud una prima codifica del contenuto desiderato. Questa prima codifica può consistere in una compressione al livello di compressione di più alta qualità (cioè maggiore bit rate o maggiore risoluzione o comunque maggiore qualità visiva) che si desidera ottenere tra tutti i livelli di compressione che si vogliono ottenere in uscita dal processo.
A questo contenuto si associano le informazioni di codifica (come infra definite) per generare sul cloud le altre codifiche desiderate. Queste altre codifiche possono consistere in ulteriori compressioni per ottenere le quali il programma informatico eseguito sul cloud può sfruttare le informazioni di codifica precedentemente ottenute in modo da consentire migliori risultati qualitativi oppure migliore sfruttamento della banda oppure delle risorse di calcolo. Si rendono così disponibili sul cloud tutte le versioni del contenuto che possono essere richieste dai diversi utenti tramite diversi dispositivi quali smartphone, tablet, personal computer, etc...
Con riferimento alla figura 1, verrà ora descritto un sistema per codificare un segnale non raggruppato 100 in un segnale raggruppato 180. Per segnale si intende un contenuto comprendente almeno un servizio video; il segnale può tuttavia comprendere anche almeno uno tra un servizio audio e servizio dati (ad esempio dati per l'utente, applicazione e/o dati per l'applicazione) e/o ulteriori servizi video/audio/dati. Per segnale raggruppato si intende un segnale video i cui fotogrammi (pictures o frames in inglese) sono organizzati in gruppi all'interno dei quali l'informazione contenuta in ogni fotogramma successivo al primo può dipendere dal fotogramma precedente e/o successivo, in modo da ridurre la banda necessaria per la trasmissione del gruppo di fotogrammi. Il primo fotogramma non può normalmente essere ricavato dagli altri fotogrammi del gruppo. Esempi di segnali raggruppati sono: MPEG, AVI, XVID, DIVX, http Live Streaming (HLS), MPEG, DASH, SmoothStreaming, AVC etc.
Si intende invece per segnale non raggruppato un segnale video privo della struttura a gruppi di cui sopra. Esempi di formati non raggruppati sono SDÌ, SD HD, etc.
Nella presente invenzione, il segnale non raggruppato 100 può essere generato da un sistema o centro di produzione. Esempi di centri (o sistemi) di produzione sono uno studio televisivo o un centro comprendente dispositivi quali una telecamera (ad esempio dello studio televisivo), una connessione verso un distributore di contenuti per ricevere segnali da questo (ad esempio film direttamente dalla casa detentrice dei diritti e degli originali), una memoria locale (sulla quale sono ad esempio registrati film o programmi) , etc... Il segnale non raggruppato può occupare una banda piuttosto larga, come ad esempio 50 Mbps o maggiore (come si diceva, anche 3 o 10 Gbps nel caso di un evento live).
Il segnale non raggruppato di cui sopra comprende almeno un servizio video (ma può comprendere anche servizi audio e/o dati). Un servizio vìdeo può essere un flusso di immagini, un'animazione, un documentario, un film, un incontro sportivo, o un qualsiasi altro contenuto costituito da fotogrammi.
Il bit rate di un segnale raggruppato può essere considerevolmente più basso del bit rate del segnale non raggruppato dal quale esso deriva. Per questo motivo è preferibile trasferire tramite reti telematiche o wireless segnali video o audio-video che sono stati codificati in segnali raggruppati.
Il sistema per codificare il segnale 100 comprende i primi mezzi di codifica 150. I primi mezzi di codifica 150 trasformano il segnale non raggruppato 100 in un segnale raggruppato 130 eseguendo così una codifica del contenuto detta prima codifica (si fa notare che l'invenzione funziona ugualmente nel caso in cui il primo segnale sia già raggruppato, ossia il caso in cui il segnale 100 sia un segnale raggruppato, nel qual caso la prima codifica può comportare un'ulteriore compressione o solamente un cambio di formato). Il primo segnale codificato 130 può occupare una banda considerevolmente minore del segnale non raggruppato 100, per esempio 5-10 Mbps (rispetto ad una sorgente avente invece bit rate, ad esempio, di 50-100 Mbps, ed il suo formato può ad esempio essere MPEG4 con risoluzione di 1920x1080 punti.
Il sistema per la generazione del primo segnale raggruppato, detto mezzanino, può convenientemente non sfruttare tecniche standard per la generazione dei mezzanini, come ad esempio una codifica CBR (Constant Bit Rate), ma codifiche volte ad introdurre un degrado di qualità controllato e quindi una sostanziale trasparenza del mezzanino nei confronti della sorgente per il processo di encoding specifico (ossia il degrado di qualità introdotto nel mezzanino rispetto alla sorgente è entro una tolleranza richiesta dal processo per non degradare in maniera avvertibile la qualità delle rendition finali). Questo approccio alla generazione del mezzanino ottimizza qualità e bit rate. Le finalità nella generazione del mezzanino sono mantenere un livello di qualità comparabile all'originale e ridurre il più possibile il bitrate per agevolare il trasferimento del primo pre-encoding (o mezzanino) sul cloud per le successive fasi di processing. Una tecnica che può essere utilizzata per generare mezzanini è quella della codifica CBR. Questo approccio tende ad uniformare lo spazio occupato dal file per unità di tempo, ma può non essere ottimale nè per conservare la qualità dell'originale, nè per ridurre il bit rate. La natura delle tecniche di compressione video moderne (per esempio AVC o HEVC), in cui il fattore di compressione raggiungibile cambia profondamente al variare della complessità della sorgente (per esempio le scene mosse sono più complesse dei piani fissi) mal si adatta alla codifica CBR. Quando si opera una codifica in CBR, per restituire un livello di qualità accettabile in ogni parte del video è necessario impostare un bit rate molto elevato, il che si trova in contrasto con l'esigenza di ridurre il più possibile il bit rate.
Per creare quindi un mezzanino ottimizzato è preferibile utilizzare codifiche VBR (Variable Bit Rate) che permettono di allocare più dati nelle scene complesse e meno dati nelle scene semplici in modo da ottenere un rapporto qualità / bit rate più favorevole e garantire una qualità più costante sull'intero video.
In particolare, si traggono ancora più benefici utilizzando tecniche che mirano a produrre in uscita degradi "controllati" di qualità rispetto alla sorgente. Ad esempio, è possibile utilizzare un fattore di quantizzazione costante o, ancor meglio, un fattore di quantizzazione variabile per tipo di frame, ma a media mobile, costante e controllata. Questo permette di controllare il degrado di qualità entro dei margini definiti dal processo di encoding in base alla qualità / risoluzione e bit rate richieste per l'output, ed al tempo stesso minimizza il bit rate necessario per ottenere detto livello di qualità. Pertanto, a partire dalle informazioni sulla prima codifica (ossia sulla codifica del mezzanino), quali ad esempio il fattore di quantizzazione utilizzato per un determinato frame o insieme di frame, nonché delle proprietà del segnale desiderato dopo la seconda codifica, è possìbile poter ottimizzare la seconda codifica. Ad esempio, si può rendere la seconda codifica più semplice e/o veloce, ad esempio sfruttando le informazioni di codifica al fine di evitare passaggi superflui in vista di quanto era stato già codificato (ad esempio: se le informazioni di codifica indicano che un determinato frame o GOP era già stato compresso al massimo, la seconda codifica potrà evitare di processarlo ulteriormente e passare ad altri frame o GOP su cui c'è ancora margine di compressione). Si può inoltre controllare la seconda codifica di modo che mantenga un'ottima qualità anche quando venga eseguita un'ulteriore compressione: ad esempio, sulla base delle informazioni di codifica quali il rapporto di quantizzazione utilizzato, la seconda codifica può essere in grado di valutare quali altri parametri possono essere variati nel processare un determinato frame o GOP al fine di aumentarne la compressione nel rispetto delle proprietà o qualità desiderate per il segnale che deve essere prodotto dalla seconda codifica.
I primi mezzi di codifica 150 si trovano presso il sistema {o centro) di produzione. I primi mezzi di codifica, inoltre, associano al primo segnale codificato 130 delle informazioni di codifica 140. Queste informazioni di codifica sono informazioni che consentono di generare un secondo segnale codificato avente predeterminate proprietà a partire dalle caratteristiche del primo segnale codificato (o una pluralità di secondi segnali codificati come più avanti illustrato; per semplicità la presente descrizione fa riferimento ad un secondo segnale codificato, tuttavia quanto detto per questo segnale vale anche per gli altri segnali della pluralità dei secondi segnali codificati a meno che diversamente indicato o sottinteso) . In particolare, le informazioni di codifica possono comprendere parametri di configurazione e/o parametri caratteristici .
I parametri di configurazione rappresentano vincoli per la generazione del secondo segnale codificato avente le predeterminate proprietà (ossia proprietà desiderate in vista dell'uso o in vista del dispositivo finale che usufruirà dei contenuti) ; ad esempio, vincoli che il secondo encoder deve rispettare nella codifica del primo segnale codificato per generare il secondo segnale codificato .
I parametri caratteristici rappresentano proprietà del primo segnale codificato, e possono includere parametri descrittivi di come la prima codifica è stata effettuata (ad esempio, il primo encoder durante il suo funzionamento è impostato per non comprimere certi frame al di sotto di un certo livello di compressione). Si fa notare che i parametri di configurazione ed i parametri caratteristici possono essere contenuti in uno stesso pacchetto (ossia un'unità di informazioni) o in due o più pacchetti distinti. Inoltre, le informazioni di codifica 140, sia nella forma di uno che di più pacchetti separati, possono essere incluse nel flusso video del primo segnale codificato, oppure separate da questo e trasmesse allo stesso tempo o in momenti diversi .
Le informazioni di codifica 140 possono inoltre essere trasmesse ai secondi mezzi di codifica 160 prima del primo segnale codificato 130, oppure dopo, oppure possono essere trasmesse contestualmente (ad esempio in parallelo, oppure multiplexate) , purché i secondi mezzi di codifica siano in grado di iniziare l'elaborazione del primo segnale codificato disponendo di tutte le informazioni necessarie.
I parametri caratteristici possono includere ad esempio uno o più tra la composizione del GOP (Group of Pictures) , la curva di bit rate, metriche di qualità, l'eventuale rapporto di compressione introdotto, informazioni sulla matrice di quantizzazione , informazioni sui motion vector relativi alla prima codifica. Usando altre parole, si può dire che i parametri caratteristici rappresentano la storia del primo segnale codificato, ossia come questo è stato ottenuto e/o quali caratteristiche lo contraddistinguono .
I parametri di configurazione possono ad esempio comprendere almeno uno tra bit rate, risoluzione e formato (ad esempio MPEG, AVI, XVID, DIVX, http Live Streaming (HLS), MPEG, DASH, SmoothStreaming, AVC) del secondo segnale codificato. Le informazioni di codifica 140 possono inoltre includere ogni altra informazione ricavata dai primi mezzi di codifica durante la produzione del primo segnale codificato 130 ed utile alla produzione, da parte dei secondi mezzi di codifica 160, del secondo segnale codificato.
I secondi mezzi di codifica 160 sono un dispositivo separato (nel senso di distinto, o fisicamente distinto e separato) dai primi mezzi di codifica e possono trovarsi in un centro (o sistema) di distribuzione (sebbene questo non sia necessario, possono trovarsi in qualsiasi altro centro o luogo purché connesso ai primi mezzi di codifica, la connessione potendo essere effettuata tramite o senza fili). Esempi del centro di distribuzione sono rappresentati dal cloud o da un CDN. I secondi mezzi di codifica 160 sono configurati per eseguire una seconda codifica a partire dal primo segnale codificato 130 restituendo una pluralità di secondi segnali codificati 180. In tal senso, la seconda codifica comprende una pluralità di seconde codifiche, ciascuna di dette seconde codifiche predisposta per ottenere uno dei secondi segnali codificati. Le varie seconde codifiche possono essere eseguite in parallelo, attraverso opportuni mezzi hardware-software, o temporalmente in serie, ad esempio nel caso in cui vengano utilizzati gli stesi mezzi hardware-software. La seconda codifica, inoltre, utilizza le informazioni di codifica 140 per restituire i secondi segnali codificati 180.
Le informazioni di codifica, ed in particolare i parametri caratteristici, consentono alla seconda codifica di procedere sulla base di alcune informazioni (come ad esempio la GOP structure, o la Complexity) che non devono essere ricalcolate o nuovamente ottenute dal contenuto non raggruppato. Questo ha il vantaggio di limitare le risorse di calcolo e/o la banda e/o il tempo necessario per completare la seconda codifica.
Il secondo segnale codificato è anch'esso un segnale raggruppato comprendente almeno un singolo frame o fotogramma. Esso viene ottenuto a partire dal primo segnale codificato analizzando la sua struttura raggruppata, applicando i vincoli e sfruttando le caratteristiche relative alla prima codifica contenuti nelle informazioni di codifica 140.
Si cerca di illustrare quanto esposto con un esempio: i secondi mezzi di codifica 160 ricevono un frame del primo segnale codificato; le informazioni di codifica indicano che questo frame non è stato compresso (o solo minimamente e/o parzialmente) e che in uscita è desiderato un segnale avente una risoluzione e/o bit rate pari alla metà di quello del segnale di ingresso. I secondi mezzi di codifica 160 provvedono pertanto ad effettuare una seconda codifica con un fattore di compressione più elevato. Quando la seconda codifica è effettuata su un numero maggiore di frame codificati del primo segnale codificato, è possibile trarre ulteriori vantaggi, come nel seguente esempio: le informazioni di codifica indicano che il primo segnale codificato ha GOP aventi una lunghezza media di 2 s e lunghezza massima di 2.5 s, e che il segnale di uscita dovrà avere due terzi della risoluzione e del bit rate del primo segnale di codifica. Sulla base di queste informazioni di codifica e di una pluralità di frame (eventualmente tutti i frame) del primo segnale codificato, la seconda codifica cercherà di aumentare la lunghezza media e massima del GOP del segnale di uscita e/o aumentare il livello di compressione di ciascun frame. In tal modo, sarà possibile ottenere un segnale in uscita avente le proprietà desiderate ed avente la massima qualità ottenibile, poiché la seconda codifica può scegliere la strategia di codifica/compressione migliore in vista delle informazioni caratteristiche del primo segnale codificato (quanto detto si applica anche ad altri segnali da produrre in uscita, se necessario).
Il sistema di cui sopra comprende inoltre mezzi di connessione 110 che permettono la trasmissione del primo segnale codificato 130 e delle informazioni di codifica 140 dai primi mezzi di codifica 150 ai secondi mezzi di codifica 160. Questi mezzi di connessione sono dispositivi o tecniche di trasporto dell'informazione. Esempio di tali dispositivi sono: conduttori elettrici per il trasporto di segnali, reti telematiche, reti senza fili (wireless), cavi ottici, dispositivi ottici, bus di trasporto di segnali, connessioni elettroniche in una scheda madre (motherboard).
In una variante opzionale del sistema secondo questa forma di realizzazione, alle informazioni di codifica si aggiungono i parametri descrittivi, ovvero informazioni sul formato finale o sui formati finali che si desidera/desiderano ottenere tramite i secondi mezzi di codifica 160. Se ad esempio si desiderano ottenere come secondi segnali codificati 8 livelli di compressione in 3 diversi formati, i parametri relativi agli 8 bit rate desiderati, le risoluzioni ed i 3 formati desiderati potranno essere inclusi nelle informazioni di codifica 140 che sono fornite in input ai mezzi di seconda codifica 160 (l'esempio di 8 livelli e 3 formati è esemplificativo; lo stesso vale per i livelli e j formati, con i e j a piacere uguali o più grandi di 1). In questo modo, i mezzi di seconda codifica saranno in grado di ottimizzare la codifica, ed in particolare la compressione di alcuni dei o tutti i formati finali. Le informazioni sui formati finali, le risoluzioni ed i bit rate desiderati possono essere incluse nelle informazioni di codifica, possono essere trasmesse prima, o dopo di esse, o multiplexate ad esse. Inoltre, il sistema può opzionalmente essere predisposto di modo che il primo segnale codificato sia già pronto per essere automaticamente fornito come secondo segnale codificato di livello 1 avente risoluzione e/o bit rate più elevato. In tal modo, i secondi mezzi di codifica non dovranno far altro che rendere in uscita il primo segnale di ingresso come (ad esempio) segnale di livello 1 senza dover consumare risorse di calcolo, che possono essere spese interamente per i rimanenti livelli.
Come si vede nella Figura 2, secondo una variante opzionale della prima forma di realizzazione, il sistema può essere configurato in modo che il secondo mezzo di codifica 260 produca una moltitudine (pluralità) di seconde codifiche 280, 290, ... 295. Le caratteristiche (come ad esempio una o più tra bit rate, risoluzione, formato o altre caratteristiche) di ognuna delle seconde codifiche ottenute dai secondi mezzi di codifica 260 sono determinate dai parametri di configurazione eventualmente contenuti nelle informazioni di codifica. Si fa notare che ciascuno dei segnali prodotti codificati è caratterizzato da una corrispondente predeterminata proprietà, in cui la proprietà indica le caratteristiche o attributi del secondo segnale codificato di uscita quali ad esempio una o più tra la risoluzione desiderata, il livello di compressione, il bit rate, il formato, etc...
In una variante opzionale della presente invenzione, i secondi mezzi di codifica 160 operano una delle seconde codifiche a partire dal primo segnale codificato 130 senza che il segnale incrementi di banda durante l'esecuzione di quella seconda codifica. In altre parole, i secondi mezzi di codifica 160 durante l'operazione che porta alla produzione di uno dei secondi segnali codificati 180 non impegnano una banda superiore a quella necessaria per riprodurre il primo segnale codificato 130, o, al più, impegnano una banda corrispondente a quella necessaria per riprodurre il primo segnale codificato 130 e le informazioni sulla prima codifica 140 al tempo stesso. Ciò, in ragione del fatto che i secondi mezzi di codifica 160 non necessitano di decodificare il primo segnale codificato per ricodificarlo nel particolare secondo segnale codificato .
Nel caso la seconda codifica (o una delle seconde codifiche) consista in almeno una compressione, alcune informazioni come ad esempio il contenuto o parte del contenuto di alcuni fotogrammi vengono abbandonate (o ulteriormente compressi) per ridurre la banda necessaria a quel particolare secondo segnale codificato. Altri secondi segnali codificati possono consistere in maggiori o minori riduzioni della banda. I primi mezzi di codifica 250, i mezzi di trasmissione 210, il primo segnale codificato possono essere gli stessi descritti con riferimento alla figura 1. I mezzi di codifica in questa variante differiscono da quelli della figura 1 in quanto comprendono informazioni sulla proprietà desiderata di più secondi segnali compressi.
In una variante opzionale della presente invenzione, il sistema trasmette, tramite i primi mezzi di trasmissione 110, le informazioni di codifica 140 ed ogni altra informazione utile alla produzione, da parte dei secondi mezzi di codifica 160, del secondo segnale codificato. Nonostante la rappresentazione grafica delle Figure 1 e 2, che sono da considerarsi solamente a titolo di esempio, queste informazioni di codifica 140 possono essere incluse/incapsulate nel primo segnale codificato 130. In questa variante opzionale, quindi, il formato del primo segnale codificato 130 è adatto a contenere le informazioni di codifica 140 ed i secondi mezzi di codifica 160 sono configurati per leggere ed interpretare il suddetto formato.
Si fa notare che le informazioni di codifica (140) possono inoltre comprendere informazioni sulla proprietà predeterminata di uno o più dei secondi segnali da codificare. Pertanto, in tale circostanza, i mezzi di seconda codifica effettuano la seconda codifica (o diverse seconde codifiche) tenendo conto anche della proprietà desiderata per il segnale di uscita. Ad esempio: le informazioni di codifica indicano che un secondo segnale codificato debba avere una risoluzione R2 (inferiore a quella RI del primo segnale codifica fornito dai primi mezzi di codifica) e/o un certo formato FI. I secondi mezzi di codifica elaborano pertanto il primo segnale codificato tenendo conto della storia della prima codifica (si veda quanto prima detto) e della proprietà o attributi che il secondo segnale deve rispettare, come indicati nelle informazioni di codifica. Si può anche dire che la proprietà predeterminata del secondo segnale codificato rappresenti un vincolo da rispettare per i mezzi di seconda codifica nel generare il secondo segnale codificato. Nel caso in cui queste informazioni sulla proprietà non siano comprese nelle informazioni di codifica, i secondi mezzi di codifica possono operare secondo dei parametri localmente disponibili (da impostare localmente o in remoto e che vengono utilizzati finché non vengano variati).
La figura 3 illustra un metodo per codificare un segnale non raggruppato 100 in un segnale raggruppato conformemente ad una seconda forma di realizzazione. Valgono le stesse considerazioni su esposte con riferimento alla prima forma di realizzazione, a meno che non sia diversamente specificato. Il segnale non raggruppato comprende almeno un servizio video, e il metodo esegue in una prima fase (S100) una prima codifica del segnale video non raggruppato 100, ad esempio tramite i primi mezzi di codifica 150. Il metodo associa (SU O) al primo segnale codificato 130 le informazioni di codifica 140. Il metodo di codifica comprende inoltre l'esecuzione (S120) da parte dei secondi mezzi di codifica 160 di una seconda codifica 180 (o di più seconde modifiche, vale quanto prima e successivamente esposto) del primo segnale codificato 130. I secondi mezzi di codifica 160 utilizzano le informazioni di codifica 140 e generano un secondo segnale codificato. Detto metodo si avvale dei mezzi di trasmissione 110 precedentemente descritti per trasferire (S130) il primo segnale codificato 130 e le informazioni di codifica 140 dal primo mezzo di codifica 150 al secondo mezzo di codifica 160. Il metodo può opzionalmente comprendere fasi per ottenere più seconde codifiche come illustrato con riferimento alla figura 2. Si fa notare che le fasi della figura 3 non sono necessariamente illustrate in una sequenza temporale fissa e predeterminata. Ad esempio, non è necessario che la trasmissione inizi quando la prima codifica è stata completata. Infatti, il primo segnale codificato può cominciare ad essere trasmesso quando almeno una certa parte di questo è stato codificato. In maniera simile, la seconda codifica può cominciare quando almeno una parte del primo segnale codificato e una parte delle informazioni di codifica (ad esempio contenenti informazioni sufficienti sulle caratteristiche della porzione ricevuta del primo segnale codificato) sono state ricevute.
Secondo una forma di realizzazione della presente invenzione (non illustrata), un programma per computer comprende istruzioni predisposte per eseguire le fasi previste dal metodo sopra descritto volte ad ottenere il primo segnale codificato 130, le informazioni di codifica 140 ed il secondo segnale codificato 180 oppure, qualora le istruzioni prevedano la produzione di molteplici secondi segnali codificati, i secondi segnali codificati 280, 290, ... 295 descritti con riferimento alla figura 2. Detto programma può essere eseguito da un singolo computer su uno o più microprocessori funzionanti anche in parallelo, oppure da un sistema informatico consistente in più computer tra loro collegati. In particolare, il programma informatico che attua le istruzioni di seconda codifica può essere eseguito su reti di computer delocalizzati chiamate cloud come definito in precedenza. Detto programma può risiedere, cioè essere memorizzato, su un disco fisso o sistema di dischi fissi, su un computer differente da quello o quelli che eseguono le istruzioni, su CD-ROM, DVD, Blue-Ray, memoria flash o qualsiasi altro supporto di memorizzazione di dati. Il supporto sul quale il programma informatico è memorizzato può essere remoto rispetto ai mezzi informatici che ne eseguono le istruzioni, per esempio può risiedere sul cloud, oppure le sue istruzioni possono essere ricevute tramite una rete senza fili (wireless).
La figura 4 mostra un diagramma a blocchi secondo una terza forma di realizzazione della presente invenzione, dove un dispositivo 350 codifica un segnale non raggruppato 310 in un segnale raggruppato 390, detto segnale non raggruppato 310 comprendente almeno un servizio video. Il dispositivo 350 comprende dei mezzi di codifica 355 configurati per eseguire una prima codifica di detto segnale video non raggruppato 310 in un primo segnale codificato raggruppato e per associare a detto primo segnale codificato informazioni di codifica. Le informazioni di codifica contengono informazioni ottenute durante il processo di prima codifica e ad esso relative e possono contenere informazioni di configurazione per l'esecuzione di una seconda codifica da parte di un ulteriore dispositivo. Le informazioni di codifica possono opzionalmente contenere informazioni relative alla proprietà del secondo segnale di codifica in uscita (o della proprietà ciascuna corrispondente ad una pluralità di secondi segnali codificati di uscita). Il dispositivo 350 comprende inoltre mezzi di trasmissione 370 per trasmettere detto primo segnale codificato e le informazioni di codifica ad un ulteriore dispositivo di codifica configurato per eseguire una seconda codifica (o più seconde codifiche come in altre parti discusso) utilizzando le informazioni di codifica. Le informazioni di codifica comprendono informazioni sulla prima codifica e possono comprendere informazioni di configurazione del dispositivo di seconda codifica.
La figura 5 mostra uno schema a blocchi di una quarta forma di realizzazione della presente invenzione, dove un dispositivo 460 codifica un primo segnale codificato raggruppato 410 comprendente almeno un servizio video in un secondo segnale raggruppato 490. Il dispositivo comprende mezzi di ricezione 445 per ricevere da un ulteriore dispositivo di codifica il primo segnale codificato raggruppato 410 e delle informazioni di codifica ad esso associate comprendenti anche informazioni sulla prima codifica. Il dispositivo 460 comprende inoltre mezzi di codifica 465 (collegati ai mezzi di ricezione 445 tramite mezzi di connessione 475) configurati per eseguire una seconda codifica (o più seconde modifiche come già illustrato) di detto primo segnale codificato 410 in un secondo segnale codificato utilizzando le informazioni di codifica ed eventualmente informazioni di configurazione che specificano il o i bit rate ed il o i formati del secondo segnale raggruppato 390. Si fa notare che per la terza e quarta forma di realizzazione valgono le stesse considerazioni fatte in merito alla prima forma di realizzazione e sue varianti come anche esemplificate nelle figure 2 e 3.
La figura 6 illustra un esempio di una configurazione di un sistema di codifica secondo la presente invenzione. L'elemento 1100 rappresenta un file in formato non raggruppato che impegna un bit rate di, ad esempio, 50 Mbps (può tuttavia essere maggiore) . Questo file viene transcodificato da un server che restituisce un nuovo file (elemento 1200), detto mezzanino, che impegna un bit rate di, ad esempio, 5 Mbps ed ha il formato MPEG4. Il server è un esempio di primi mezzi di codifica, e può essere situato nel centro di produzione o prossimo a questo. I metadati sono un esempio di dati contenuti nelle informazioni di codifica. Sebbene nell'esempio si faccia riferimento all'MPEG4, altri standard diversi da questo sono altrettanto possibili. Una risoluzione video di 1920x1080 punti è riportata solo a titolo di esempio. L'elemento 1300 (ad esempio un server sul cloud o una server farm rappresentati un esempio dei secondi mezzi di codifica) esegue la seconda codifica, che consiste nel completamento della transcodifica e nella produzione di diversi formati. L'elemento 1400 rappresenta un esempio delle risorse di calcolo utilizzate per il completamento della transcodifica, ad esempio il cloud. L'elemento 1500 rappresenta un esempio di secondi segnali codificati in più livelli (da 1 a 6) e delle relative risoluzioni e bit rate, così come resi dai server del cloud. Si fa notare che i parametri indicati nella tabella 1500 possono essere anche un esempio delle informazioni di codifica, in particolare un esempio dei parametri di proprietà della pluralità di secondi segnali codificati. In altre parole, i metadati 1200 possono comprendere una lista o una tabella di valori in cui a ciascun livello sono associati una risoluzione ed un bit rate come indicato in 1500. Avvenuta la seconda codifica, saranno resi in uscita i corrispondenti 8 livelli come indicato in 1500.
Quanto segue è un ulteriore esempio illustrante il funzionamento della presente invenzione e fornito a scopi illustrativi:
- un pre-compressore genera il contenuto di più alta qualità necessaria per la distribuzione ad un utente in un formato comune (AVC o altro formato), detto livello 1, ed estrae durante il processo di compressione {incluso un pre-filtraggio iniziale) una serie di informazioni relative agli elementi utilizzati per la prima compressione che potranno essere utilizzati successivamente per la ricostruzione di informazioni mancanti. Quindi il pre- compressore genera un contenuto/canale a un bit rate inferiore rispetto a quello richiesto dalle comuni tecniche di compressione usate per la generazione di mezzanini (mezzanine in inglese). - il livello 1 {con associate le informazioni relative alla compressione) è inviato via internet sul cloud;
- una seconda compressione (transcodifica) è ottenuta sul cloud senza decodificare il livello 1. Essa prevede, a partire dal livello 1 e dalle informazioni sulla pre-compressione, di:
i) mantenere il livello 1 come si trova, oppure rigenerarlo in base alle informazioni associate al livello 1;
li) a partire dal livello 1, generare gli altri livelli desiderati, ad esempio altri 7 livelli con risoluzione e bit rate inferiori rispetto al livello 1;
iii) ottenere il formato desiderato per i contenuti finali.
Il livello 1 sarà disponibile, in quanto ricavato da una sorgente di massima qualità, ad una qualità comunque superiore a quella ottenibile partendo da un comune mezzanino da, ad esempio, 10 Mbps. In questo modo i livelli inferiori potranno essere creati/generati partendo da una qualità maggiore e quindi con un'efficienza maggiore, con relativo risparmio di banda per ogni livello a parità di qualità rispetto al caso in cui la transcodifica sul cloud venga fatta in modo non correlato con la prima codifica del livello 1.
Un vantaggio tecnico della presente invenzione consiste in una notevole riduzione della banda necessaria a inviare il contenuto/canale agli utenti via internet da parte del broadcaster, perché le operazioni di codifica/compressione di tutti i livelli distribuiti in qualità inferiore rispetto al livello 1 vengono eseguite sul cloud in modo distribuito, ottimizzando così le risorse computazionali e di trasmissione dei dati .
Ulteriori vantaggi tecnici sono l'upload di contenuti verso il broadcaster utilizzando una banda molto ridotta e l'utilizzo di risorse di calcolo per il transcoding in misura dipendente dal reale bisogno generato dalle richieste degli utenti.
Il sistema si rivela inoltre funzionale ad un'efficiente distribuzione di contenuti via internet a device di diversa forma e natura, con in più il vantaggio di consentire un risparmio di banda di trasmissione dovuto all'allocazione sul cloud delle risorse necessarie a generare i formati per la distribuzione via internet.
Si ottiene inoltre un risultato paragonabile alla gestione della compressione partendo dal contenuto/canale ad alto bit rate (il più alto disponibile in produzione) , ma semplificando la catena/processo di compressione presso il content provider o Media Company), riducendone i costi operativi ed infrastrutturali.
Qualora la seconda codifica implichi una compressione, un ulteriore vantaggio tecnico della presente invenzione consiste in un minore dispiegamento di risorse di calcolo e di banda utilizzate nel corso di questa fase, dal momento che il contenuto precedentemente pre-compresso può non essere decompresso, ma può direttamente essere elaborato.
Nella presente descrizione si è fatto riferimento a mezzi, quali ad esempio mezzi di codifica, per indicare qualsiasi dispositivo concentrato (ossia distinto o unità a sé stante) o distribuito (ossia realizzato per mezzo di più componenti tra loro collegate, fisicamente prossime o remote); i mezzi, siano essi concentrati o distribuiti, possono essere inoltre realizzati per mezzo di hardware, software o combinazione di questi. Inoltre, i termini quali mezzi di codifica, mezzi di trasmissione, etc. possono essere sostituiti anche da encoder, trasmettitore, etc.
Molte delle forme di realizzazione ed esempi sono stati esposti con riferimento a fasi di metodi o processi. Tuttavia, quanto descritto può essere anche implementato in un programma da eseguire su un entità di elaborazione (anche distribuita) o su un'entità i cui mezzi sono opportunamente configurati. Come su illustrato, l'entità può essere implementata in un solo dispositivo, per via HW/SW o combinazione di questi, o su molteplici unità o dispositivi interconnessi (anch'essi HW, SW o combinazione degli stessi). Naturalmente, la descrizione sopra esposta di forme di realizzazione e di esempi applicanti i principi riconosciuti dagli inventori è riportata solo a titolo esemplificativo di tali principi e non deve perciò essere intesa come limitazione dell'ambito di privativa qui rivendicato.

Claims (10)

  1. RIVENDICAZIONI 1. Un sistema per codificare un segnale non raggruppato (100) in una pluralità di segnali raggruppati (180), detto segnale non raggruppato comprendente almeno un servizio video, il sistema comprendente : primi mezzi di codifica (150) forniti in un sistema di produzione configurati per eseguire una prima codifica di detto segnale video non raggruppato in un primo segnale codificato raggruppato (140) e per associare a detto primo segnale codificato informazioni di codifica (140); secondi mezzi di codifica (160) forniti in un sistema di distribuzione, detti secondi mezzi di codifica essendo separati da detti primi mezzi di codifica, configurati per eseguire una pluralità di seconde codifiche per ottenere corrispondentemente detta pluralità di segnali raggruppati (ISO), ciascuno di detta pluralità di segnali raggruppati (180) caratterizzato da una corrispondente predeterminata proprietà, dette seconde codifiche eseguite sulla base di detto primo segnale codificato utilizzando dette informazioni di codifica; mezzi di connessione configurati per trasmettere da detti primi mezzi di codifica (150) a detti secondi mezzi di codifica (160) dette informazioni di codifica (140), in cui dette informazioni di codifica (140) comprendono informazioni sulla prima codifica.
  2. 2. Il sistema secondo la rivendicazione 1, in cui almeno una di detta pluralità di seconde codifiche non comprende una compressione ed almeno un'altra di dette pluralità di seconde codifiche comprende una compressione.
  3. 3. Il sistema secondo la rivendicazione 1, in cui dette informazioni di codifica (140) comprendono inoltre informazioni su almeno una detta corrispondente predeterminata proprietà di uno di detta pluralità di segnali raggruppati (180).
  4. 4. Il sistema di cui alla rivendicazioni 1 o 3, dove i secondi mezzi di codifica sono configurati per eseguire una di detta pluralità di seconde codifiche senza decodificare detto primo segnale codificato .
  5. 5. Il sistema secondo una delle rivendicazioni precedenti, in cui detti secondi mezzi di codifica sono configurati per eseguire una di detta pluralità di seconde codifiche a partire dal primo segnale codificato senza che il segnale incrementi di banda durante l'esecuzione della seconda codifica .
  6. 6. Metodo per codificare un segnale non raggruppato in una pluralità di segnali raggruppati, detto segnale non raggruppato comprendente almeno un servizio video, il metodo comprendente le fasi di: eseguire (S100) , attraverso primi mezzi di codifica forniti in un sistema di produzione, una prima codifica di detto segnale video non raggruppato in un primo segnale codificato raggruppato ed associare (SU O) a detto primo segnale codificato informazioni di codifica (140); eseguire (S120), attraverso secondi mezzi di codifica (160) forniti in un sistema di distribuzione e distinti da detti primi mezzi di codifica, una pluralità di seconde codifiche per ottenere corrispondentemente detta pluralità di segnali raggruppati (180), ciascuno di detta pluralità di segnali raggruppati (180) caratterizzato da una corrispondente predeterminate proprietà, dette seconde codifiche ottenute a partire da detto primo segnale codificato utilizzando dette informazioni di codifica; trasmettere (S130) da detti primi mezzi di codifica a detti secondi mezzi di codifica dette informazioni di codifica, in cui dette informazioni di codifica comprendono informazioni sulla prima codifica .
  7. 7. Il metodo secondo la rivendicazione 6, in cui almeno una di detta pluralità di seconde codifiche non comprende una compressione ed almeno un'altra di detta pluralità di seconde codifiche comprende una compressione.
  8. 8. Programma per computer predisposto per eseguire, quando detto programma è eseguito su un computer, tutte le fasi secondo il metodo della rivendicazione 6 e/o 7 .
  9. 9. Dispositivo (350) per codificare un segnale non raggruppato (310) in un segnale raggruppato (390) , detto segnale non raggruppato (310) comprendente almeno un servizio video, detto dispositivo comprendente : mezzi di codifica (355) configurati per eseguire una prima codifica di detto segnale video non raggruppato in un primo segnale codificato raggruppato e per associare a detto primo segnale codificato informazioni di codifica; mezzi di trasmissione (370) per trasmettere detto primo segnale codificato e informazioni di codifica ad un ulteriore dispositivo di codifica configurato per eseguire una pluralità di seconde codifiche per ottenere corrispondentemente una pluralità di segnali raggruppati (180), ciascuno di detta pluralità di segnali raggruppati (180) caratterizzato da una corrispondente predeterminata proprietà, dette seconde codifiche ottenute a partire da detto primo segnale codificato utilizzando dette informazioni di codifica, in cui dette informazioni di codifica comprendono informazioni sulla prima codifica.
  10. 10. Dispositivo (460) per codificare un primo segnale codificato raggruppato (410) in una pluralità di segnali raggruppati (390) , detto primo segnale codificato raggruppato (410) comprendente almeno un servizio video, detto dispositivo comprendente: mezzi di ricezione (445) configurati per ricevere da un ulteriore dispositivo di codifica detto primo segnale codificato raggruppato ed informazioni di codifica comprendenti informazioni sulla prima codifica; mezzi di codifica (465) configurati per eseguire una pluralità di seconde codifìche per ottenere corrispondentemente detta pluralità di segnali raggruppati (180), ciascuno di detta pluralità di segnali raggruppati (180) caratterizzato da una corrispondente predeterminata proprietà, dette seconde codifiche ottenute a partire da detto primo segnale codificato utilizzando dette informazioni di codifica.
IT001710A 2013-10-15 2013-10-15 "sistema di cloud encoding" ITMI20131710A1 (it)

Priority Applications (5)

Application Number Priority Date Filing Date Title
IT001710A ITMI20131710A1 (it) 2013-10-15 2013-10-15 "sistema di cloud encoding"
EP14798933.9A EP3058658B1 (en) 2013-10-15 2014-10-14 Cloud encoding system
US15/029,794 US10271075B2 (en) 2013-10-15 2014-10-14 Cloud encoding system
CA2927653A CA2927653C (en) 2013-10-15 2014-10-14 Cloud encoding system
PCT/IB2014/002095 WO2015056075A1 (en) 2013-10-15 2014-10-14 Cloud encoding system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT001710A ITMI20131710A1 (it) 2013-10-15 2013-10-15 "sistema di cloud encoding"

Publications (1)

Publication Number Publication Date
ITMI20131710A1 true ITMI20131710A1 (it) 2015-04-16

Family

ID=49780174

Family Applications (1)

Application Number Title Priority Date Filing Date
IT001710A ITMI20131710A1 (it) 2013-10-15 2013-10-15 "sistema di cloud encoding"

Country Status (5)

Country Link
US (1) US10271075B2 (it)
EP (1) EP3058658B1 (it)
CA (1) CA2927653C (it)
IT (1) ITMI20131710A1 (it)
WO (1) WO2015056075A1 (it)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901635A (zh) * 2020-06-17 2020-11-06 北京视博云信息技术有限公司 一种视频处理方法、装置、存储介质及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001055855A1 (en) * 2000-01-28 2001-08-02 Williams Communications, Llc A system and method for mirroring and caching compressed data in a content distribution system
US6407680B1 (en) * 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
US20130114744A1 (en) * 2011-11-06 2013-05-09 Akamai Technologies Inc. Segmented parallel encoding with frame-aware, variable-size chunking

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3736808B2 (ja) * 1997-07-25 2006-01-18 ソニー株式会社 編集装置、編集方法、再符号化装置及び再符号化方法
CA2265089C (en) 1998-03-10 2007-07-10 Sony Corporation Transcoding system using encoding history information
US6917945B2 (en) * 2002-02-04 2005-07-12 Microsoft Corporation Encoding and decoding methods and systems
US8879856B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Content driven transcoder that orchestrates multimedia transcoding using content information
US8654849B2 (en) * 2008-12-22 2014-02-18 Arris Enterprises, Inc. Integrated transcoding
US20100158098A1 (en) * 2008-12-22 2010-06-24 Echostar Technologies L.L.C. System and method for audio/video content transcoding
US8355433B2 (en) * 2009-08-18 2013-01-15 Netflix, Inc. Encoding video streams for adaptive video streaming
CA2774480C (en) * 2009-09-15 2023-02-28 Comcast Cable Communications, Llc Control plane architecture for multicast cache-fill
DE112011102212T5 (de) 2010-06-29 2014-01-02 Zte Usa Inc. Verfahren und System für Cloud-basierten Medienanpassungs- und Transcoding-Service
US9049459B2 (en) * 2011-10-17 2015-06-02 Exaimage Corporation Video multi-codec encoders
US9363522B2 (en) * 2011-04-28 2016-06-07 Warner Bros. Entertainment, Inc. Region-of-interest encoding enhancements for variable-bitrate mezzanine compression
US9609340B2 (en) * 2011-12-28 2017-03-28 Verizon Patent And Licensing Inc. Just-in-time (JIT) encoding for streaming media content
WO2013173721A1 (en) * 2012-05-18 2013-11-21 Home Box Office, Inc. Audio-visual content delivery
US9686597B2 (en) * 2012-10-12 2017-06-20 Theplatform, Llc Adaptive publishing for content distribution
US9276978B2 (en) * 2012-12-31 2016-03-01 Microsoft Technology Licensing, Llc Program based caching in live media distribution
EP2765781A1 (en) * 2013-02-07 2014-08-13 Thomson Licensing Method for providing targetable content in images of a video sequence and corresponding device
US20140351871A1 (en) * 2013-05-22 2014-11-27 Microsoft Corporation Live media processing and streaming service

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001055855A1 (en) * 2000-01-28 2001-08-02 Williams Communications, Llc A system and method for mirroring and caching compressed data in a content distribution system
US6407680B1 (en) * 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
US20130114744A1 (en) * 2011-11-06 2013-05-09 Akamai Technologies Inc. Segmented parallel encoding with frame-aware, variable-size chunking

Also Published As

Publication number Publication date
WO2015056075A1 (en) 2015-04-23
EP3058658B1 (en) 2022-03-02
CA2927653C (en) 2022-07-05
US10271075B2 (en) 2019-04-23
US20160249078A1 (en) 2016-08-25
CA2927653A1 (en) 2015-04-23
EP3058658A1 (en) 2016-08-24

Similar Documents

Publication Publication Date Title
JP6841877B2 (ja) ピクチャ復号化方法およびピクチャ符号化方法
CN112073737B (zh) 在直播视频流应用中重新编码预测的图像帧
TWI586177B (zh) 基於場景之適應性位元率控制
KR20160110472A (ko) 상이한 인코딩 파라미터를 이용해 인코딩되는 복수의 인코딩 스트리밍
US12219204B2 (en) Carriage and signaling of neural network representations
US11089283B2 (en) Generating time slice video
US10003626B2 (en) Adaptive real-time transcoding method and streaming server therefor
EP4022929A1 (en) An encoder, a decoder with support of sub-layer picture rates
Zakerinasab et al. Dependency-aware distributed video transcoding in the cloud
CN108632679B (zh) 一种多媒体数据传输的方法和一种视联网终端
US20140298392A1 (en) Image processing device, image processing method, and computer program
EP4327206A1 (en) A method and apparatus for enhanced task grouping
CN112702605B (zh) 视频转码系统、视频转码方法、电子设备和存储介质
US9888051B1 (en) Heterogeneous video processing using private or public cloud computing resources
US11409415B1 (en) Frame interpolation for media streaming
ITMI20131710A1 (it) "sistema di cloud encoding"
WO2023130896A1 (zh) 媒体数据的数据处理方法、装置、计算机设备及存储介质
US11025969B1 (en) Video packaging system using source encoding
Kammachi‐Sreedhar et al. Omnidirectional video delivery with decoder instance reduction
US20250150610A1 (en) Just in time transcoder system, method and architecture for audio and video applications
WO2025190695A1 (en) Multi-layer bitstream conformance checking based on sequence parameter set and corresponding apparatus
WO2025152050A1 (zh) 数据封装方法及电子设备
EP4602807A1 (en) Apparatus and method for integrating neural-network post-filter supplemental enhancement information with iso base media file format
US20180262790A1 (en) Systems and methods for adaptive streaming using jpeg 2000
Meyer et al. Scaling UHD Live Production Workflow with Mezzanine Compression