IT202000005143A1 - Procedimento per gestire librerie mediali, sistema e prodotto informatico corrispondenti - Google Patents

Procedimento per gestire librerie mediali, sistema e prodotto informatico corrispondenti Download PDF

Info

Publication number
IT202000005143A1
IT202000005143A1 IT102020000005143A IT202000005143A IT202000005143A1 IT 202000005143 A1 IT202000005143 A1 IT 202000005143A1 IT 102020000005143 A IT102020000005143 A IT 102020000005143A IT 202000005143 A IT202000005143 A IT 202000005143A IT 202000005143 A1 IT202000005143 A1 IT 202000005143A1
Authority
IT
Italy
Prior art keywords
media
itx
media content
content files
parsing
Prior art date
Application number
IT102020000005143A
Other languages
English (en)
Inventor
Davide Silvio Fiorese
Riccardo Parisi
Original Assignee
St Microelectronics Srl
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 St Microelectronics Srl filed Critical St Microelectronics Srl
Priority to IT102020000005143A priority Critical patent/IT202000005143A1/it
Priority to US17/158,636 priority patent/US11704354B2/en
Priority to CN202110262227.3A priority patent/CN113392258A/zh
Publication of IT202000005143A1 publication Critical patent/IT202000005143A1/it

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/61Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/41Indexing; Data structures therefor; Storage structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41422Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance located in transportation means, e.g. personal vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/44Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/638Presentation of query results
    • G06F16/639Presentation of query results using playlists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/74Browsing; Visualisation therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4825End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages
    • H04N21/8113Monomedia components thereof involving special audio data, e.g. different tracks for different languages comprising music, e.g. song in MP3 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

DESCRIZIONE dell?invenzione industriale intitolata:
?Procedimento per gestire librerie mediali, sistema e prodotto informatico corrispondenti?
TESTO DELLA DESCRIZIONE
Campo tecnico
La descrizione si riferisce alla gestione di librerie mediali.
Una o pi? forme di attuazione si possono utilizzare in applicazioni per riproduttore mediale o media player di un sistema operativo in tempo reale (RTOS) per l?utilizzo nel settore dell'infotainment automobilistico.
Sfondo tecnologico
Negli ultimi anni, i sistemi di infotainment per l?utilizzo nel settore automobilistico hanno conosciuto miglioramenti e sviluppi ben oltre i sistemi audio per auto o autoradio.
I dispositivi della famiglia Accordo<TM >di dispositivi disponibili presso le societ? del gruppo STMicroelectronics e della scheda eT-Kernel RTOS di supporto pacchetto (eT-Kernel essendo una standardizzazione di Uitron RTOS della eSOL Corporation) sono esemplificativi di tali sviluppi di sistemi di infotainment per il settore automobilistico.
Una cosiddetta applicazione di libreria mediale (ML) fa parte del livello middleware in una soluzione chiavi-inmano software accoppiata ad un?applicazione di media player (MPA) in sistemi di infotainment per il settore automobilistico. Il funzionamento di un media player in un tale sistema (a titolo di esempio non limitativo si pu? far riferimento ad un riproduttore audio per riprodurre canzoni) si basa su un percorso del file system verso una certa canzone, che pu? essere riprodotta (riprodotta) tramite vari possibili punti di montaggio di file system.
Vari tipi di dispositivi, quali dispositivi USB, carte multimediali digitali sicure (SDMMC), memorie NAND, dispositivi di acquisto in-app (iAP), dispositivi di protocollo di trasferimento mediale (MTP) o dischi RAM sono esempi (non-limitativi) di tali dispositivi che possono fornire certi contenuti mediali ad un utente una volta che tramite file system sia fornito un percorso verso tali contenuti.
Quale che sia la sorgente coinvolta, ? previsto che il media player sia in grado di rendere disponibili i contenuti mediali (ad esempio, riprodurre una canzone):
in modo personalizzato, ad esempio, selezionato secondo certi criteri, con un certo scopo, e cos? via,
in modo scalabile, vale a dire con un maggior numero di caratteristiche fornite in funzione della quantit? di memoria disponibile nel sistema.
Il media player pu? essere controllato tramite un livello di applicazione di cliente ad alto livello. La capacit? della libreria mediale di fornire un insieme di interfacce per programmi applicativi (API) di tipo avanzate per manipolare file in conformit? a specifiche del cliente rappresenta una caratteristica desiderata in tali sistemi di infotainment.
Si nota che nel contesto qui considerato la designazione ?cliente? indica principalmente il produttore/installatore di un sistema di infotainment, mentre la designazione ?utente? si applica all?utente (finale) del sistema quale, ad esempio, un guidatore/passeggero di un automobile.
Specialmente in sistemi a livello di base, ottimizzare (e ridurre) la Distinta Base (BOM) ? un obiettivo auspicabile da perseguire per i clienti.
Ridurre le specifiche BOM implica spesso una riduzione (ed anche una totale eliminazione) del supporto di memoria esterna, il che pu? influire inevitabilmente sullo spazio disponibile per le applicazioni software (principalmente per il middleware).
Ad esempio, certe soluzioni convenzionali possono comprendere solo 1.2 Mbyte di spazio RAM (interno), mentre altre soluzioni convenzionali si affidano a vari Mbytes solo per la gestione dei media e le basi di dati associate (DB).
Di fatto, essere in grado di fornire una vista personalizzata di contenuti mediali (con il ?gusto? proprio di un cliente) rappresenta una caratteristica auspicabile.
Inoltre, i clienti (ed anche gli utenti) si aspettano in modo ragionevole che le prestazioni del sistema non scendano al di sotto di certi livelli: ad esempio, una certa canzone (che sia una ?prima? canzone o una canzone successiva/precedente che si desidera venga riprodotta) dovrebbe essere riprodotta senza che l'utente percepisca indebiti ritardi.
Certi motori di libreria mediale mantengono una base di dati completa di percorsi di canzoni in una memoria volatile, ad esempio. Un tale approccio implica anche di mantenere un gestore di base di dati nella memoria volatile (come, ad esempio, un linguaggio di interrogazione strutturato o SQL).
Il corrispondente incremento nello spazio di memoria volatile dedicata all?archivio di libreria mediale si traduce inevitabilmente in un incremento di BOM che per molte applicazioni pu? essere inaccettabile.
Scopo e sintesi
Uno scopo di una o pi? forme di attuazione ? di contribuire a fornire soluzioni migliorate di gestione della libreria mediale che possono rispondere in modo adeguato alle aspettative del cliente mantenendo al contempo le specifiche BOM entro limiti compatibili con applicazioni di infotainment nel settore automobilistico.
Secondo una o pi? forme di attuazione, quello scopo si pu? conseguire per mezzo di un procedimento avente le caratteristiche esposte nelle rivendicazioni che seguono.
Una o pi? forme di attuazione si possono riferire ad un corrispondente sistema.
Una o pi? forme di attuazione si possono riferire ad un corrispondente prodotto informatico caricabile nella memoria di almeno un circuito di elaborazione (ad es., un computer) e comprendente porzioni di codice software per eseguire le fasi del procedimento quando il prodotto ? eseguito su almeno un circuito di elaborazione. Come qui utilizzato, si comprende che il riferimento ad un tale prodotto informatico sia equivalente al riferimento ad un mezzo leggibile da computer contenente istruzioni per controllare il sistema di elaborazione al fine di coordinare l?implementazione del procedimento secondo una o pi? forme di attuazione. Il riferimento ad ?almeno un computer? ? previsto per evidenziare la possibilit? che una o pi? forme di attuazione siano implementate in una forma modulare e/o distribuita.
Le rivendicazioni sono parte integrante dell?insegnamento tecnico qui fornito riguardo alle forme di attuazione.
Una o pi? forme di attuazione possono fornire un motore di libreria mediale suscettibile di essere implementato in maniera scalabile, con requisiti di memoria ridotti: a titolo di esempio non limitativo, un insieme di appena due byte di tabelle indicizzate pu? presentare una possibile vista di un sistema di infotainment da parte dell?utente con la capacit? di gestire, ad esempio, 65.536 canzoni per media.
In una o pi? forme di attuazione, si mantengono indici al posto di parti complete, nomi di cartelle e nomi di file. Ad esempio, in una o pi? forme di attuazione, i percorsi verso i contenuti da riprodurre si possono, ad esempio, costruire ?al volo?, tramite un sistema di caching opzionale, ed eventualmente interrogando il file system, quando lo si desideri.
In una o pi? forme di attuazione, le tabelle si possono trasferire (scambiare) in una memoria non volatile, rendendo di conseguenza non necessario crearle ad ogni avvio di piattaforma.
Una o pi? forme di attuazione possono comprendere meccanismi di richiamo veloce e ritardato per facilitare il conseguimento di un buon livello di prestazioni.
Una o pi? forme di attuazione possono fornire un supporto multi-lingua, anche per lingue che utilizzano caratteri non latini come descritto, ad esempio, nella domanda di brevetto italiano 102018000002537.
Breve descrizione delle figure
Verranno ora descritte, solo a titolo di esempio, una o pi? forme di attuazione, facendo riferimento alle figure annesse in cui:
la Figura 1 ? generalmente esemplificativa di un possibile contesto di utilizzo di forme di attuazione,
la Figura 2 ? uno schema a blocchi esemplificativo di un possibile ambiente di utilizzo di forme di attuazione; la Figura 3 ? uno schema a blocchi funzionale esemplificativo di possibili forme di attuazione;
la Figura 4 ? uno schema a blocchi funzionale esemplificativo del funzionamento di un analizzatore o parser compreso in forme di attuazione secondo la presente descrizione,
la Figura 5 ? uno schema a blocchi funzionale esemplificativo del funzionamento di un browser compreso in forme di attuazione secondo la presente descrizione,
la Figura 6 ? un esempio di un albero di file system in forme di attuazione secondo la presente descrizione, le Figure 7 e 8 sono sequenze esemplificative di analisi o parsing in forme di attuazione secondo la presente descrizione, e
la Figura 9 ? esemplificativa di una tabella che si pu? generare in forme di attuazione secondo la presente descrizione.
Descrizione dettagliata di forme di attuazione illustrative
Nella seguente descrizione, sono illustrati uno o pi? dettagli specifici, mirati a fornire una comprensione approfondita di esempi di forme di attuazione di questa descrizione. Le forme di attuazione si possono ottenere senza uno o pi? dei dettagli specifici, o con altri procedimenti, componenti, materiali, ecc. In altri casi, strutture, materiali, o operazioni noti non sono illustrati o descritti nel dettaglio in modo che certi aspetti di forme di attuazione non verranno resi poco chiari.
Il riferimento ad ?una forma di attuazione? nella struttura della presente descrizione ? previsto per indicare che una particolare configurazione, struttura, o caratteristica descritta in relazione alla forma di attuazione sia compresa in almeno una forma di attuazione. Pertanto, la frase quale ?in una forma di attuazione? che pu? essere presente in uno o pi? punti della presente descrizione non fa necessariamente riferimento ad una e alla stessa forma di attuazione.
Inoltre, particolari conformazioni, strutture, o caratteristiche si possono combinare in qualsiasi modo adeguato in una o pi? forme di attuazione.
Le intestazioni/riferimenti qui utilizzati sono solo forniti per comodit? e pertanto non definiscono la portata di protezione o l?ambito delle forme di attuazione.
La Figura 1 ? esemplificativa di un veicolo (ad esempio, un veicolo a motore quale un?automobile) V equipaggiato con un sistema di infotainment 100.
Il sistema 100 pu? comprendere un insieme di dispositivi D1, D2..., Dn suscettibili di fungere da sorgenti di contenuti mediali (ad esempio, audio/video).
Questi contenuti sono suscettibili di essere resi disponibili ad un utente (il guidatore o uno o pi? passeggeri nel veicolo V) in funzione di comandi (compresi eventualmente comandi vocali), applicati da un tale utente in un?unit? di controllo 102.
I dispositivi D1, D2, ..., Dn possono comprendere un?ampia variet? di dispositivi diversi: l?elenco non limitativo di dispositivi gi? discussi in precedenza (USB, SDMMC, NAND, iAP, MTP, RAM dispositivi a disco) ? esemplificativo di tali dispositivi.
Per scopi di semplicit? e per facilitare la comprensione, la seguente descrizione si riferir? principalmente a contenuti audio/sonori (ad esempio, canzoni) che si desidera riprodurre tramite un sistema audio come schematicamente esemplificato da un altoparlante al 104 in Figura 1.
Possono essere anche visualizzati, ad esempio, su un?unit? di visualizzazione 102A nell?unit? di controllo 102 contenuti video associati (il titolo della canzone che viene riprodotta, gli artisti che la eseguono, il relativo album, il genere, solo per fare possibili esempi).
Si apprezzer? nuovamente che il riferimento a contenuti audio (e a contenuti video elementari eventualmente associati ad essi) non deve essere interpretato, anche indirettamente, in senso limitativo delle forme di attuazione.
Di fatto, le forme di attuazione si possono applicare a qualsiasi tipo di contenuti mediali e sono principalmente relative alla struttura e funzionamento di un motore di gestione di libreria mediale (sostanzialmente basato su SW) 10.
Uno scopo di base di un motore 10 come qui esemplificato ? coordinare il funzionamento delle varie parti del sistema di infotainment 100 in modo tale che certi contenuti mediali (ad esempio, canzoni) come reperiti da qualsiasi dei dispositivi D1, D2, ..., Dn si possano distribuire (ad esempio, riprodurre in 104) in conformit? con i comandi applicati da un utente al 102.
La Figura 2 ? uno schema a blocchi esemplificativo dell'?ecosistema? che circonda un sistema di gestione di libreria mediale (qui di seguito, per semplicit?, ?motore?) come qui considerato.
Al fondo di Figura 2, i dispositivi D1, D2, ..., Dn-1, Dn sono rappresentati insieme con un file system FS ed un file system virtuale VFS associati (quest?ultimo pu? essere eventualmente coinvolto nel funzionamento di dispositivi sorgente quali i dispositivi iAP e i dispositivi MTP).
Come noto agli esperti del settore, un file system controlla come sono immagazzinati i dati in una libreria (base di dati) affinch? questi possano essere richiamati (reperiti), con insiemi individuali di dati, indicati con ?file?, eventualmente raggruppati in ?cartelle?. Il file system detta le regole di struttura e logiche utilizzate per gestire i file. Come qui esemplificato, il file system FS (ed eventualmente il file system virtuale VFS) pu? fornire accesso ai media (ad esempio, audio e video) in modo formattato.
Si apprezzer? che i dispositivi D1, D2, ..., Dn-1, Dn ed, eventualmente, i file system FS, VFS, possano essere elementi distinti rispetto al motore 10 secondo le forme di attuazione.
Iniziando dalla porzione superiore sinistra di Figura 2, il riferimento 12 ? esemplificativo di un?applicazione di media player ?base? (MPA). Questo pu? essere qualsiasi tipo noto di MPA in grado di esprimere il ?gusto? del cliente, vale a dire le caratteristiche destinate ad essere specifiche per un certo cliente.
Si nota nuovamente che, come qui utilizzato, il termine ?cliente? indica un produttore/installatore del motore 10/sistema 100 che pu? desiderare il motore/sistema comprenda certe caratteristiche previste essere univoche per quel cliente.
In tal senso, il MPA 12 di base pu? far conto su un insieme aggiuntivo di servizi forniti da uno specifico livello aggiuntivo. Questo pu? essere, ad esempio, il caso per la manipolazione di file e cartelle.
Come qui utilizzato, file indica un certo file di contenuti mediali (ad esempio, una certa canzone) che pu? essere considerato come compreso in cartelle (quali elenchi di riproduzione o playlist come immaginato da/per un certo utente) con la conseguente possibilit? che il motore 10 gestisca, ad esempio, cartelle diverse, comprendenti playlist diverse per utenti diversi.
Nelle forme di attuazione come qui esemplificato, il motore 10 pu? comprendere (come caratteristica non obbligatoria) un MPA autonomo, indicato con 12A, suscettibile, ad esempio, di essere configurato per richiedere un percorso verso un certo contenuto (ad esempio, una certa canzone) successivo/precedente dal blocco gestore della libreria mediale 14 - discusso nel seguito - oltre che per registrare i media nella struttura del gestore di libreria mediale ed impostare modalit? di ordinamento ? nuovamente come discusso nel seguito.
Un MPA avanzato, indicato con 12B (che pu? nuovamente comprendere il ?gusto? del cliente) pu? far conto su livelli di basso livello della libreria mediale per la manipolazione di ID di media e file. Come notato, il MPA avanzato pu? essere una caratteristica non imperativa delle forme di attuazione; se presente, esso pu? integrare alcuni servizi qui considerati come attribuiti al blocco gestore della libreria mediale indicato con 14.
Come qui esemplificato, il blocco gestore della libreria mediale 14 ? configurato per combinare un insieme di servizi di basso livello come esemplificato dal blocco 16 essendo al contempo anche responsabile dell'avviamento di un parser mediale 18 come discusso nel seguito.
Nel fare ci?, il blocco gestore della libreria mediale 14 pu? cooperare con un blocco di interfaccia della libreria mediale 20. Questo ? previsto possa far conto sul gestore della libreria mediale 14 e sui servizi della libreria mediale 16 al fine di fornire servizi di manipolazione aggiuntivi per applicazioni MPA (specialmente del tipo di base 12) che non integrino gi? una logica completa per quello scopo.
Il riferimento 22 indica una cache della libreria mediale (cui si pu? far riferimento come cache ?L1?) che pu? essere eventualmente prevista al fine di cooperare con il blocco gestore della libreria mediale 14 nel ridurre la latenza quando si reperisce un certo percorso di contenuti mediali (canzone) facendo affidamento su un insieme di x percorsi immagazzinati nella memoria cache 22.
Infine, il riferimento 24 indica un?ulteriore memoria cache eventualmente fornita a supporto del blocco di servizi della libreria mediale 16 e del parser 18) ad esempio per agire come una memoria cache ?L2? che agisce come una cache di file e cartelle.
Come qui esemplificato il parser della libreria mediale 18 si pu? configurare, come discusso nel seguito, per eseguire il parsing dei media (in maniera trasparente a qualsiasi ?gusto? nelle applicazioni di media player).
Il blocco del parser 18 ? previsto per costruire tabelle indicizzate (IT0, IT1, IT2, IT3, ad esempio, come discusso nel seguito) e fornire una retroazione ai vari MPA quando sono sottoposti a parsing certi contenuti mediali.
Come discusso nel seguito, possibili notifiche dal parser 18 agli MPA possono comprendere:
un primo messaggio di richiamo (richiamo ?veloce?): questo indica che (solo) un certo numero (un sottoinsieme) di file di contenuti mediali ? stato sottoposto a parsing ed ordinato in modo specifico;
un secondo messaggio di richiamo (richiamo ?standard?): questo indica che i file di contenuti mediali nella libreria sono stati sottoposti a parsing in tutti i modi specificati;
un terzo messaggio di richiamo (richiamo ?ritardato?): questo indica che i file di contenuti mediali sono stati sottoposti a parsing anche rispetto a possibili etichette (ad esempio, quando applicate a certi contenuti mediali dall?utente).
Il lato destro di Figura 2 mostra una possibile configurazione di tabelle indicizzate, ciascuna comprendente un certo elenco di contenuti mediali (ad esempio, canzoni, con rispettivi identificatori ID0, ID1, ID2,...,IDn).
Queste tabelle indicizzate (ITX, in generale, con X = 0, 1, 2, e 3 nel caso qui considerato) possono comprendere, ad esempio:
IT0: una tabella indicizzata 0 per i media x (come forniti da qualsiasi dei dispositivi D1, ..., Dn) con un tipo di ordinamento A;
IT1: una tabella indicizzata 1 per i media x (come forniti da qualsiasi dei dispositivi D1, ..., Dn) con un tipo di ordinamento B;
IT2: una tabella indicizzata 2 per i media y (come forniti da qualsiasi dei dispositivi D1, ..., Dn) con un tipo di ordinamento A;
IT3: una tabella indicizzata 3 per i media y (come forniti da qualsiasi dei dispositivi D1, ..., Dn) con un tipo di ordinamento C.
Come discusso nel seguito in relazione alle Figure 6 a 8, tabelle indicizzate quali IT0,...,IT3, possono corrispondere ad un elenco collegato di descrizioni di cartella di tipo dinamico (come esemplificato in Figura 2, in fondo a destra) in cui una cartella ?radice? 0 RF0 con caratteristiche associate F0? pu? puntare ad ulteriori cartelle F1, F2 attraverso rispettive caratteristiche F1? (da RF0 a F1) e F2? (da F1 a F2).
La Figura 3 ? una rappresentazione di uno schema a blocchi funzionale del motore 10 che riproduce, sul lato sinistro della figura, una pila di applicazioni comprendenti:
un?applicazione di infotainment (car audio) 120 che si interfaccia con un media player 122 (si veda anche 104 in Figura 1) tramite interfacce di riproduzione di applicazione (API) di media player 122A;
il media player 122 che si interfaccia con una libreria mediale 124 tramite API della libreria mediale 124A; la libreria mediale 124 che si interfaccia con un file system 126 (si vedano FS e VFS in Figura 2) tramite API del file system 126A;
il(i) file system 126 configurato per controllare qualsiasi dei dispositivi D1, ..., Dn (qui indicato con 128 ed esemplificato come uno stick o chiave USB) tramite un dispositivo di pilotaggio o driver di dispositivo e controllore 128A.
Come esemplificato in Figura 3, il parser 18 ? configurato per reperire attributi di file e cartelle basandosi sul(i) file system 126 e creare da esso le tabelle indicizzate IT0, ..., IT3.
Come esemplificato in Figura 3, il parser 18 ? istanziato dalla libreria mediale 124 che in modo simile pu? istanziare un browser 26 configurato per leggere le tabelle indicizzate IT0, ..., IT3 e restituire al media player 122 i percorsi di distribuzione di contenuti mediali (percorsi verso file mediali individuali quali, ad esempio, canzoni). Come esemplificato in Figura 3, il parser 18 pu? essere configurato per informare il media player 122 della misura in cui si ? completato ad un certo momento il parsing, ad esempio inviando al media player messaggi di richiamo veloci, standard e ritardati come discusso in precedenza.
La Figura 4 ? esemplificativa di un possibile flusso della libreria mediale con un?enfasi posta sulle attivit? o task eseguite dal parser 18.
In Figura 4, il blocco 181 ? esemplificativo di una nuova sorgente mediale (ad esempio un nuovo dispositivo D1, ..., Dn) che viene accoppiato alla struttura della libreria mediale essendo registrato ad esempio tramite un MPA (si pu? ad esempio considerare 12 in Figura 2).
Una volta che i nuovi media sono accodati, appena disponibili per tale scopo, il parser 18 pu? iniziare il parsing di questi nuovi contenuti mediali come esemplificato in 182.
Il blocco 183 in Figura 4 ? esemplificativo delle tabelle indicizzate ordinate che vengono create dal parser e riempite nella memoria cache come esemplificato tramite 24 in Figura 2.
Ad esempio, come esemplificato nella parte inferiore di Figura 4, questo pu? implicare la formazione di una (prima) tabella indicizzata ITX per i media y adottando un certo tipo di ordinamento (ad esempio, generalmente indicato con il tipo A) con la creazione di un elenco di contenuti (ad esempio, canzoni) identificati da rispettivi identificatori ID0, ID1, ..., IDn.
Si pu? anche creare un corrispondente descrittore di cartella FX avente certe caratteristiche FX? con questi dati immagazzinati nello spazio di memoria cache come esemplificato tramite 24.
Come discusso in precedenza, appena un primo (sotto)insieme di canzoni (contenuti mediali) ? elaborato, si pu? inviare una richiamo veloce al media player 122 (si veda la Figura 3) in modo che, come esemplificato al 184, il MPA che controlla la libreria mediale sia avvisato della possibilit? di navigare e riprodurre tale insieme di canzoni - vale a dire, pi? generalmente, di riprodurre un primo insieme di file mediali in qualsiasi modo ordinato possibile (non comprendente etichette, come discusso nel seguito), come esemplificato dal blocco 185.
Il blocco 186 ? esemplificativo del completamento dell?attivit? di parsing dal parser 18 tale da far s? che i contenuti mediali appena aggiunti siano stati completamente sottoposti a parsing, con un corrispondente messaggio di richiamo inviato verso il media player 122 come discusso in precedenza. In tal modo, il MPA responsabile ? avvisato della possibilit? di navigare e riprodurre tutti i contenuti mediali (ad esempio, riprodurre tutte le canzoni) in qualsiasi modo possibile esse possano essere ordinate (nuovamente con l?eccezione della presenza di etichette).
Il blocco 187 ? esemplificativo della possibilit? (non imperativa) per il parser 18 di avviare nuovamente il parsing dei media appena aggiunti per l?ordinamento tramite etichette. Al fine di evitare di influire in modo negativo sulle prestazioni del sistema, un tale processo pu? essere eseguito in uno stadio successivo e con una priorit? inferiore rispetto alle altre attivit?.
Il blocco 188 ? esemplificativo del fatto che tale eventuale parsing aggiuntivo (per etichette) ? stato completato con un messaggio di richiamo ritardato inviato verso il livello MPA. In tal modo, come esemplificato al 189, il MPA responsabile ? avvisato della possibilit? di navigare e riprodurre tutti i file di contenuti mediali (ad esempio, riproducendo canzoni) tenendo anche istanze di etichette.
La Figura 5 ? un altro schema a blocchi funzionale esemplificativo del flusso della libreria mediale che pone un?enfasi sul ruolo del browser 26 di Figura 3.
Il blocco 261 ? esemplificativo dell?attivit? del browser 26 in attesa di un richiamo dalla struttura della libreria mediale (ad esempio dopo l?istanziazione del browser 26 dalla libreria mediale 124 in Figura 3).
Il blocco 261 ? esemplificativo della possibilit? che il browser 26 avvii in 262 (appena ottenuto un richiamo dalla struttura della libreria mediale) una modalit? di ordinamento dei media correnti tale da implicare (come esemplificato dal blocco 263)) l?applicazione tramite il gestore della libreria mediale (si veda anche il blocco 14 in Figura 2) di una vista dell?utente come indicato dal browser 26.
Ad esempio, come esemplificato in 264, il browser 26 pu? chiedere file di contenuti mediali precedenti/successivi (ad esempio, canzoni) da riprodurre, che possono portare, come esemplificato in 265, il gestore della libreria mediale a reperire un percorso verso i file di contenuti mediali (ad esempio, canzoni) da riprodurre.
Come qui esemplificato questo pu? avvenire tramite tabelle indicizzate quali IT0, ..., IT3 create dal parser 18 cos? come discusso in precedenza, e tramite cache associate quali 24 e file system quali FS e VFS in Figura 2.
In tal modo, come esemplificato in 266, l?applicazione di media player - ora a conoscenza del percorso fornito dal browser 26 - pu? accedere a contenuti mediali (canzoni) tramite il percorso indicato dal browser e prevedere la distribuzione dei contenuti mediali (ad esempio, riprodurre una canzone quando selezionata).
La Figura 6 ? esemplificativa di un possibile utilizzo di indici da parte del parser 18 facendo riferimento ad un caso (puramente esemplificativo) di albero del file system relativo ad un caso (puramente esemplificativo) di file di contenuti mediali:
disposti in quattro cartelle, cio? una cartella radice identificata come 0 pi? tre (sotto)cartelle cio? cartella_a, cartella_b e cartella_c, identificate come 2, 3 e 1 in Figura 6
comprendenti sette diversi file (ad esempio, canzoni) indicati con file_a, file_b, file_c, file_d, file_e, file_f e file_g.
La Figura 6 pu? essere esemplificativa dell?ordinamento di file mediali quali canzoni per nome di file, considerando, ad esempio, sei caratteri nel nome. Naturalmente, il numero di caratteri considerati ? configurabile. Inoltre, l?ordinamento sia delle cartelle (radice, cartella_a, cartella_b, cartella_c) sia dei file (file_a a file_f) pu? essere completamente indipendente dalla numerazione esemplificata.
In una o pi? forme di attuazione, il parser 18 pu? di fatto eseguire l?ordinamento attraverso una tabella intermedia allo scopo di creare una tabella indicizzata.
Ogni volta che si considera una cartella, si possono (opzionalmente) raccogliere certe informazioni ausiliarie per navigare rapidamente le tre senza accedere ogni volta al file system.
La Figura 7 ? esemplificativa di una sequenza di fasi, numerate I a VIII, che implica (a titolo di esempio) il fatto di generare una tabella indicizzata intermedia che ordina i nomi di file per media (vale a dire per un certo dispositivo D1,..., Dn nell?esempio considerato).
Le fasi I a VIII in Figura 7 sono esemplificative delle seguenti azioni:
I: si trova un primo file (vale a dire una prima canzone, qui indicata con file_f) nella libreria mediale ed ad esso ? assegnato un identificatore ID1; un corrispondente record ? inserito in una tabella temporanea;
II: si trova un secondo file (ad esempio, file_c) ed ad esso ? assegnato un identificatore ID2; un corrispondente record ? aggiunto alla tabella ordinata per nome di file;
III: le stesse azioni precedentemente discusse sono eseguite per un terzo file, cio? file_d, con un record aggiunto alla tabella (nell?esempio considerato, ordinata per nome di file) in modo che il file_d con ID3 sia aggiunto alla tabella tra il file_f (ID1) e il file_c (ID2), vale a dire senza seguire l?ordine dell?indice;
IV: le azioni discusse sopra sono ripetute per il file_e che ha l?identificatore ID4 assegnato ad esso con un record aggiunto alla tabella, nuovamente ipotizzata essere ordinata per nome di file, indipendentemente dalla sequenza dei numeri di ID;
V: le azioni discusse sopra sono ripetute per il file_b che ha l?identificatore ID6 assegnato ad esso con un record aggiunto alla tabella, nuovamente ipotizzato essere ordinata per nome di file, indipendentemente dalla sequenza dei numeri di ID;
VI: le azioni discusse sopra sono ripetute per il file_g che ha l?identificatore ID5 assegnato ad esso con un record aggiunto alla tabella, nuovamente ipotizzata essere ordinata per nome di file, indipendentemente dalla sequenza dei numeri di I)D;
VII: le azioni discusse sopra sono ripetute per il file_a che ha l?identificatore ID7 assegnato ad esso con un record aggiunto alla tabella, nuovamente ipotizzata essere ordinata per nome di file, indipendentemente dalla sequenza dei numeri di ID);
VIII: si ottiene una tabella indicizzata finale ITX (ordinata per file e nome) (si vedano le tabelle IT0 a IT4 in figura 3 per riferimento immediato).
La tabella indicizzata (finale) ITX (fase VIII) pu? essere creata copiando la prima colonna della tabella temporanea una volta completata (fase VII) in modo che la tabella temporanea ? e il relativo spazio di memoria - possa essere resa disponibile per un ulteriore utilizzo con la tabella indicizzata finale della fase VIII mantenuta nella memoria volatile o trasferita ad una memoria non volatile quale la memoria cache 24.
La Figura 8 ? esemplificativa della possibilit? (per cui viene nuovamente fatto riferimento all?albero del file system esemplificato in Figura 6) di fornire una tabella indicizzata ITX? che, al contrario della tabella indicizzata ITX della fase VIII in Figura 7 (che si ipotizza essere ottenuta ordinando il nome di file per media) si ottiene ordinando i nomi di file per cartella.
Opzionalmente, si pu? mantenere un descrittore di cartella (ad esempio, un descrittore di cartella ID2) in un elenco collegato che pu? essere utile per facilitare la navigazione rapida dell?albero di sistema e per fornire informazioni riguardanti l?albero all?applicazione(i) superiore senza accedere ogni volta al file system.
Ad esempio, le Tabelle A, B e C riprodotte nel seguito sono esemplificative della possibilit? di associare ad un certo descrittore (descrizione) di una cartella un certo valore con tali valori mantenuti in una memoria (o volatile o non volatile) sotto forma di una tabella come esemplificato in Figura 9.
Tabella A
In tal modo il descrittore/descrizione non ? elencato nella tabella ma - ? possibile trovarlo - facendo riferimento al valore elencato nella tabella. Quando si mantiene il registro in cartella si pu? raggiungere un?alta efficienza.
Qualunque siano i criteri utilizzati per l?ordinamento, le tabelle indicizzate quali ITX, ITX? (quali le tabelle indicizzate come esemplificato al IT0, IT1, IT2, IT3 in Figura 3) possono permettere al gestore della libreria mediale (si veda 14 in Figura 2) di accedere ai servizi della libreria mediale 16 in Figura 2 come discusso. L?inserimento nella cache di dati relativi pu? agevolare nell'evitare di accedere al(ai) file system troppo spesso per reperire il percorso verso specifici contenuti mediali (ad esempio una canzone da riprodurre, con possibili informazioni grafiche associate quale il titolo della canzone) comunicando quel percorso all?applicazione di media player in modo che si possa accedere al file associato (?aperto?) e ai relativi contenuti mediali resi disponibili (ad esempio con una corrispondente canzone che viene riprodotta dal media player).
Una o pi? forme di attuazione facilitano il conseguimento di un compromesso adeguato tra area di memoria coinvolta e livello di prestazioni.
Una o pi? forme di attuazione si possono configurare (personalizzare) in funzione di parametri quali:
media supportati (compresi iAP, MTP, TESTO-CD per CD audio)
numero di file/cartelle/play-list per media (ad esempio, il parser 18 pu? essere interrotto una volta che si raggiunge un numero massimo)
attivazione di estrazione di etichetta, ad esempio, per formati di file MP3, WMA, FLAC, WAW, M4A, OGG, MP2, AIGG,
attivazione di estrazione grafica (figure) in formati quali JPG, BMP, P,
attivazione di interfaccia della libreria mediale per applicazioni di media player di base,
attivazione di supporto di playlist per formati quali XSFP, PLS, M3U, WPL, ASX,
maggior lunghezza di percorso di file/cartella, numero pi? elevato di caratteri per istanza di etichetta (ad esempio, autore, artista, album, titolo, genere, commento, anno),
numero massimo di caratteri per testo-CD, attivazione di cache per nomi di file, cartella e play-list,
nomi massimi di file, cartella, play-list, ordinamento di file per media,
ordinamento di file per cartella,
ordinamento di play-list per cartella,
ordinamento di cartella per media,
ordinamento di cartella per cartella,
ordinamento di file per play-list,
file e ordinamento per play-list,
ordinamento per dispositivi MTP, iAP,
numero di caratteri considerati per l?ordinamento, ordinamento per istanza di etichetta (autore, artista, e cos? via,
ordinamento multi-lingua,
regole di ambito casuali,
modalit? di lavoro attraverso un identificatore di modalit? di file system relativo o assoluto.
Una o pi? forme di attuazione facilitano l?implementazione di opzioni di gestione di contenuti mediali (ad es. canzone) e basi di dati associate consumando un numero ridotto di byte di memoria (volatile).
Una o pi? forme di attuazione esibiscono un elevato grado di scalabilit? con la capacit? di essere applicata ad entrambi gli insiemi di caratteristiche di base ed avanzati.
Una o pi? forme di attuazione facilitano il mantenimento di buone prestazioni nel parsing e navigazione di contenuti mediali.
Facendo ricorso a caratteristiche quali l?introduzione di tabelle indicizzate e meccanismi quali meccanismi di richiamo veloce e meccanismi di richiamo ritardato come discusso in precedenza, una o pi? forme di attuazione facilitano il conseguimento di uno o pi? dei seguenti scopi:
fornire un motore di libreria mediale ?intelligente? con basso consumo di memoria,
navigazione personalizzata ammessa anche per piattaforme esposte a perdite di memoria,
capacit? di considerare specifiche caratteristiche di piattaforma e/o specifiche caratteristiche del dispositivo di immagazzinamento in domini definiti.
La presente descrizione ? di conseguenza esemplificativa di un procedimento di gestione di una libreria mediale di infotainment automobilistico (ad esempio, 124 in Figura 3) comprendente file di contenuti mediali reperiti da un insieme di dispositivi sorgente (ad esempio, D1, ..., Dn in Figura 2 o 128 in Figura 3), in cui detti file di contenuti mediali sono accessibili tramite rispettivi percorsi di riproduzione (si veda, ad esempio, FS, VFS in Figura 2 o 126 in Figura 3) tramite almeno un?applicazione di media player (ad esempio, 12, 12A, 12B in Figura 2 o 122 in Figura 3) avente una pluralit? di configurazioni (ad esempio, diversi ?gusti? del cliente, vale a dire certe caratteristiche del motore/sistema univoche per un cliente).
Un procedimento come qui esemplificato pu? comprendere:
parsing (si veda, ad esempio, 18 in Figure 2 e 3 e 181 a 189 in Figura 4) di detti file di contenuti mediali nella libreria mediale per creare (produrre) almeno una tabella indicizzata (ad esempio, IT0, IT1, IT2, IT3 o ITX, ITX?), detta tabella comprendendo un rispettivo elenco di identificatori (ad esempio, ID0, ID1, .., IDn) associato (vale a dire, assegnato o allocato) a file di contenuti mediali sottoposti a parsing in funzione di almeno uno fra un dispositivo sorgente in detto insieme di dispositivi sorgente e/o una configurazione in detta pluralit? di configurazioni di detta almeno un?applicazione di media player e/o cartelle che raggruppano detti file di contenuti mediali in detta libreria mediale,
attivare detta almeno un?applicazione di media player per accedere, tramite rispettivi percorsi di riproduzione, a file di contenuti mediali aventi associati ad essi identificatori elencati in detta almeno una tabella indicizzata (brevemente: file di contenuti mediali elencati in detta almeno una tabella indicizzata).
Il riferimento qui fatto ad ?almeno una? tabella indicizzata mira ad evidenziare il fatto che, mentre in precedenza ? stata discussa la creazione (produzione) di una pluralit? di tali tabelle, una o pi? forme di attuazione possono prevedere la creazione anche solo di una detta tabella indicizzata comprendente un (rispettivo) elenco di identificatori quali ID0, ID1, ? associato (che ? assegnato o allocato) ai file di contenuti mediali.
Si apprezzer? altres? che, pi? che all'adozione di specifici criteri per selezionare i dispositivi sorgente, le configurazioni di media player o le cartelle su cui si basa il parsing di una o pi? forme di attuazione sono principalmente dirette - alla fornitura di - una caratteristica di parsing per generare una o pi? tabelle indicizzate come discusso. Di fatto, un vantaggio di base di una o pi? forme di attuazione risiede nel fatto di essere ?trasparente? a tali criteri.
Quali che siano i criteri di parsing adottati, l?utilizzo di tabelle indicizzate ? vantaggioso in quanto queste tabelle rappresentano solo meta-informazioni rispetto ai percorsi completi utilizzati da un media player per distribuire certi contenuti (ad esempio, riprodurre una certa canzone/playlist).
Ad esempio, gli identificatori possono essere immagazzinati sotto forma di numeri (ad esempio si possono utilizzare numeri a 16 bit per identificare in modo univoco pi? di 65,000 file) al posto di rispettivi percorsi, che fanno consumare (molta) pi? memoria.
Un sistema convenzionale occuperebbe (molto) spazio di memoria per immagazzinare (nuovamente) tali informazioni (percorsi/titoli di canzoni, ad esempio, eventualmente completi) pi? le relative meta-informazioni (come navigare gli oggetti immagazzinati nella base di dati). Al contrario, un sistema basato su identificatore pu? considerare solo un attributo univoco (meta-informazioni) senza immagazzinare nuovamente le stesse informazioni, gi? presenti nel file system.
Una o pi? forme di attuazione possono di conseguenza generare percorsi come desiderati ?al volo? basandosi su (meta) informazioni disponibili in un certo momento senza doverle mantenere in archivio con un corrispondente requisito di memoria.
A titolo di (semplice) esempio, generare un percorso pu? implicare:
valutare un identificatore (ID) per una canzone successiva da riprodurre,
cercare, tramite il file system, il file corrispondente a quell?ID, e
impostare il percorso ad esso.
Questa attivit? pu? essere ridotta con il supporto di una o pi? memorie cache, dove si pu? immagazzinare almeno parte delle informazioni relative, evitando o riducendo di conseguenza gli accessi al file system rendendo di conseguenza la costruzione del percorso meno dispendiosa.
In un procedimento come qui esemplificato, detto parsing pu? comprendere una prima fase di parsing (ad esempio, 182, 183) in cui ? sottoposto a parsing un primo sottoinsieme di detti file di contenuti mediali nella libreria mediale, il procedimento comprendendo emettere un messaggio di richiamo (?veloce?) parziale (ad esempio, 183) all?applicazione di media player indicando all?applicazione di media player la disponibilit? per l?accesso tramite rispettivi percorsi di riproduzione di detto primo sottoinsieme di file di contenuti mediali sottoposto a parsing aventi associati ad essi identificatori elencati in detta almeno una tabella indicizzata.
In una o pi? forme di attuazione, tale meccanismo di richiamo veloce pu? condurre alla notifica al media player che un certo numero di file (ad esempio, canzoni), eventualmente configurabile ? stato analizzato. Selezionare un valore basso per tale numero facilita la realizzazione di un meccanismo di richiamo veloce. L?insieme di file (ad esempio, canzoni) notificato pu? essere presentato in maniera disordinata, o in maniera ordinata in funzione dell?insieme di file analizzato in quel momento (non l?intero insieme disponibile nella libreria mediale, che verr? individuato in uno stadio successivo).
Un procedimento come qui esemplificato pu? comprendere, come risultato del completamento di detto parsing di detti file di contenuti mediali in detta libreria mediale (ad esempio, 184), emettere un messaggio di richiamo completo (ad esempio, 185) all?applicazione di media player che indica all?applicazione di media player la disponibilit? per l?accesso tramite rispettivi percorsi di riproduzione (ad esempio, 186) di file di contenuti mediali sottoposti a parsing aventi associati ad essi identificatori elencati in detta almeno una tabella indicizzata.
In un procedimento come qui esemplificato:
detta libreria mediale pu? comprendere file di contenuti mediali etichettati tramite rispettive etichette, detto parsing pu? comprendere un parsing basato su etichetta (ad esempio, 187) di detti file di contenuti mediali elencati in detta pluralit? di tabelle indicizzate, il procedimento pu? comprendere, come un risultato del completamento di detto parsing basato su etichetta, emettere un ulteriore messaggio di richiamo (? ritardato?) (ad esempio, 188) indicante all?applicazione di media player la disponibilit? per l?accesso tramite rispettivi percorsi di riproduzione di file di contenuti mediali aventi associati ad essi identificatori elencati in detta almeno una tabella indicizzata detti file di contenuti mediali sottoposti a parsing anche in funzione di dette etichette.
Nuovamente, una o pi? forme di attuazione sono principalmente interessate - alla possibile fornitura di -detta caratteristica di parsing basato su etichetta piuttosto che alla specifica natura di tali etichette, che convogliano informazioni aggiuntive disponibili nei file di contenuti mediali. Tali informazioni possono comprendere (facendo ancora una volta riferimento a canzoni come esempio non limitativo di file di contenuti mediali) l?autore(i), l?album, il genere, una locandina e cos? via.
Si possono utilizzare estrattori basati su software (noti agli esperti del settore) per estrarre tali informazioni ?aprendo? ed elaborando il file. Ci? pu? portare ad un indesiderabile rallentamento nel parsing. Per tale ragione, pu? essere vantaggioso ricorrere ad un richiamo ?ritardato? a bassa priorit?.
In un procedimento come qui esemplificato, l?accesso a detti file di contenuti mediali nella libreria mediale pu? comprendere navigare (ad esempio, 26) detti file di contenuti mediali aventi associati ad essi identificatori elencati in detta almeno una tabella indicizzata in cui detta navigazione pu? comprendere, con un file di contenuti mediali corrente con associati ad esso identificatori elencati in detta almeno una tabella indicizzata che subisce l?accesso, reperire (tramite gli identificatori associati ad essi: si veda, ad esempio, 265) in detta almeno una tabella indicizzata o l?uno o l?altro fra un file di contenuti mediali a cui si ? precedentemente avuto accesso o un successivo file di contenuti mediali pianificato per l?accesso e rendere disponibile (ad esempio, 266) a detta applicazione di media player un percorso di riproduzione a detto o l?uno o l?altro fra detto file di contenuti mediali precedente o successivo nella libreria mediale.
In un procedimento come qui esemplificato, detto parsing pu? comprendere creare in detta almeno una tabella indicizzata un elenco collegato (ad esempio, ITX?) di descrittori di cartella per facilitare l?accesso a detti file di contenuti sottoposti a parsing nella libreria mediale senza accedere ad un file system per la libreria mediale.
Un procedimento come qui esemplificato pu? comprendere immagazzinare detta almeno una tabella indicizzata in una memoria volatile e trasferire detta almeno una tabella indicizzata ad una memoria non volatile in vista della prevista interruzione dell'utilizzo di detta libreria mediale, in cui detta almeno una tabella indicizzata ? conservata per il successivo riavvio del funzionamento della libreria mediale.
Come qui esemplificato, un sistema di gestione (ad esempio, 10) per una libreria mediale di infotainment automobilistico comprendente file di contenuti mediali reperiti da un insieme di dispositivi sorgente in cui detti file di contenuti mediali sono accessibili tramite rispettivi percorsi di riproduzione tramite almeno un?applicazione di media player avente una pluralit? di configurazioni, pu? essere configurato per implementare il procedimento come qui esemplificato, e comprende:
circuiteria del parser (ad esempio, supportata da SW) configurata per il parsing di detti file di contenuti mediali nella libreria mediale per creare detta almeno una tabella indicizzata comprendente un rispettivo elenco di identificatori associati a file di contenuti mediali sottoposti a parsing in funzione di almeno uno fra un dispositivo sorgente in detto insieme di dispositivi sorgente e/o una configurazione in detta pluralit? di configurazioni di detta almeno un?applicazione di media player e/o cartelle in cui detti file di contenuti mediali sono disposti in detta libreria mediale,
circuiteria di memoria (ad esempio, 24) per immagazzinare almeno temporaneamente detta almeno una tabella indicizzata,
circuiteria di browser (ad esempio, supportata da SW) per reperire e rendere disponibile a detta almeno un?applicazione di media player rispettivi percorsi di riproduzione a file di contenuti mediali nella libreria mediale aventi associati ad essi identificatori elencati in detta almeno una tabella indicizzata.
Come qui esemplificato, un prodotto informatico caricabile in un sistema di gestione per gestire una libreria mediale di infotainment automobilistico pu? comprendere porzioni di codice software per implementare le fasi di un procedimento come qui esemplificato.
Senza pregiudizio ai principi sottostanti, i dettagli e le forme di attuazione possono variare, anche significativamente, rispetto a ci? che ? stato descritto in precedenza solo a titolo di esempio senza discostarsi dalla portata di protezione.
La portata di protezione ? determinata dalle rivendicazioni annesse.

Claims (9)

  1. RIVENDICAZIONI 1. Procedimento di gestione di una libreria mediale di infotainment automobilistico (124) comprendente file di contenuti mediali reperiti da un insieme di dispositivi sorgente (D1, ..., Dn; 128), in cui detti file di contenuti mediali sono accessibili tramite rispettivi percorsi di riproduzione (FS, VFS; 126) tramite almeno un?applicazione di media player (12, 12A, 12B; 122) avente una pluralit? di configurazioni, il procedimento comprendendo: sottoporre a parsing (18; 181 a 189) detti file di contenuti mediali nella libreria mediale (124) per creare almeno una tabella indicizzata (IT0, IT1, IT2, IT3; ITX, ITX?) comprendente un rispettivo elenco di identificatori (ID0, ID1, ?, IDn) associati a file di contenuti mediali sottoposti a parsing in funzione di almeno uno fra un dispositivo sorgente in detto insieme di dispositivi sorgente (D1, ..., Dn; 128) e/o una configurazione in detta pluralit? di configurazioni di detta almeno un?applicazione di media player (12, 12A, 12B; 122) e/o cartelle che raggruppano detti file di contenuti mediali in detta libreria mediale (124), attivare detta almeno un?applicazione di media player (12, 12A, 12B; 122) per accedere tramite rispettivi percorsi di riproduzione (FS, VFS; 126) a file di contenuti mediali aventi associati ad essi identificatori (ID0, ID1, ?, IDn) elencati in detta almeno una tabella indicizzata (IT0, IT1, IT2, IT3; ITX, ITX?).
  2. 2. Procedimento secondo la rivendicazione 1, in cui detto parsing (18) comprende una prima fase di parsing (182, 183) in cui si sottopone a parsing un primo sottoinsieme di detti file di contenuti mediali nella libreria mediale (124), il procedimento comprendendo emettere un messaggio di richiamo parziale (183) all?applicazione di media player (12, 12A, 12B; 122) indicante all?applicazione di media player (12, 12A, 12B; 122) la disponibilit? per l?accesso tramite rispettivi percorsi di riproduzione di detto primo sottoinsieme di file di contenuti mediali sottoposti a parsing aventi associati ad essi identificatori (ID0, ID1, ?, IDn) elencati in detta almeno una tabella indicizzata (IT0, IT1, IT2, IT3).
  3. 3. Procedimento secondo la rivendicazione 1 o rivendicazione 2, comprendente, come risultato del completamento (184) di detto parsing di detti file di contenuti mediali in detta libreria mediale (124), emettere un messaggio di richiamo completo (185) all?applicazione di media player (12, 12A, 12B; 122) indicante all?applicazione di media player (12, 12A, 12B; 122) la disponibilit? per l?accesso tramite rispettivi percorsi di riproduzione (186) di file di contenuti mediali sottoposti a parsing aventi associati ad essi identificatori (ID0, ID1, ?, IDn) elencati in detta almeno una tabella indicizzata (IT0, IT1, IT2, IT3; ITX, ITX?).
  4. 4. Procedimento secondo la rivendicazione 3, in cui: detta libreria mediale (124) comprende file di contenuti mediali etichettati tramite rispettive etichette, detto parsing comprende il parsing basato su etichetta (187) di detti file di contenuti mediali elencati in detta almeno una tabella indicizzata (IT0, IT1, IT2, IT3; ITX, ITX?), il procedimento comprende, come un risultato del completamento di detto parsing basato su etichetta (187) completata, emettere un ulteriore messaggio di richiamo (188) indicante all?applicazione di media player (12, 12A, 12B; 122) la disponibilit? per l?accesso tramite rispettivi percorsi di riproduzione di file di contenuti mediali aventi associati ad essi identificatori (ID0, ID1, ?, IDn) elencati in detta almeno una tabella indicizzata (IT0, IT1, IT2, IT3; ITX, ITX?) detti file di contenuti mediali sottoposti a parsing anche in funzione di dette etichette.
  5. 5. Procedimento secondo qualsiasi delle rivendicazioni precedenti, in cui l?accesso a detti file di contenuti mediali nella libreria mediale (124) comprende navigare (26) detti file di contenuti mediali aventi associati ad essi identificatori (ID0, ID1, ?, IDn) elencati in detta almeno una tabella indicizzata (IT0, IT1, IT2, IT3; ITX, ITX?) in cui detta navigazione (26) comprende, con un file di contenuti mediali corrente avente associato ad esso un identificatore (ID0, ID1, ?, IDn) elencato in detta almeno una tabella indicizzata (IT0, IT1, IT2, IT3; ITX, ITX?) che subisce l?accesso, reperire (265) in detta almeno una tabella indicizzata (IT0, IT1, IT2, IT3; ITX, ITX?) o l?uno o l?altro fra un file di contenuti mediali a cui si ? precedentemente avuto accesso o un successivo file di contenuti mediali previsto per l?accesso e rendere disponibile (266) a detta applicazione di media player (12, 12A, 12B; 122) un percorso di riproduzione a detto o l?uno o l?altro fra detto file di contenuti mediali precedente o successivo file nella libreria mediale (124).
  6. 6. Procedimento secondo qualsiasi delle rivendicazioni precedenti, in cui detto parsing (18) comprende creare in detta almeno una tabella indicizzata (IT0, IT1, IT2, IT3; ITX, ITX?) un elenco collegato (ITX?) di descrittori di cartella per facilitare l?accesso a detti file di contenuti sottoposti a parsing nella libreria mediale (124) senza accedere ad un file system (FS, VFS; 126) per la libreria mediale (124).
  7. 7. Procedimento secondo qualsiasi delle rivendicazioni precedenti, comprendente immagazzinare detta almeno una tabella indicizzata (IT0, IT1, IT2, IT3; ITX, ITX?) in una memoria volatile (24) e trasferire detta almeno una tabella indicizzata (IT0, IT1, IT2, IT3; ITX, ITX?) ad una memoria non volatile in vista della prevista interruzione dell'utilizzo di detta libreria mediale (124), in cui detta almeno una tabella indicizzata (IT0, IT1, IT2, IT3; ITX, ITX?) ? conservata per il successivo riavvio del funzionamento della libreria mediale.
  8. 8. Sistema di gestione (10) per una libreria mediale di infotainment automobilistico (124) comprendente file di contenuti mediali reperiti da un insieme di dispositivi sorgente (D1, ..., Dn; 128) in cui detti file di contenuti mediali sono accessibili tramite rispettivi percorsi di riproduzione (FS, VFS; 126) tramite almeno un?applicazione di media player (12, 12A, 12B; 122) avente una pluralit? di configurazioni, il sistema essendo configurato per implementare il procedimento secondo qualsiasi delle rivendicazioni 1 a 7 e comprendendo: circuiteria del parser (18) configurata per il parsing di detti file di contenuti mediali nella libreria mediale (124) per creare detta almeno una tabella indicizzata (IT0, IT1, IT2, IT3) comprendente un rispettivo elenco di identificatori (ID0, ID1, ?, IDn) associati a file di contenuti mediali sottoposti a parsing in funzione di almeno uno fra un dispositivo sorgente in detto insieme di dispositivi sorgente (D1, ..., Dn; 128) e/o una configurazione in detta pluralit? di configurazioni di detta almeno un?applicazione di media player (12, 12A, 12B; 122) e/o cartelle in cui detti file di contenuti mediali sono disposti in detta libreria mediale (124), circuiteria di memoria (24) per immagazzinare almeno temporaneamente detta almeno una tabella indicizzata (IT0, IT1, IT2, IT3; ITX, ITX?), circuiteria di browser (26) per reperire e rendere disponibile a detta almeno un?applicazione di media player (12, 12A, 12B; 122) rispettivi percorsi di riproduzione (FS, VFS; 126) a file di contenuti mediali nella libreria mediale aventi associati ad essi identificatori (ID0, ID1, ?, IDn) elencati in detta almeno una tabella indicizzata (IT0, IT1, IT2, IT3; ITX, ITX?).
  9. 9. Prodotto informatico caricabile in un sistema di gestione (10) per gestire una libreria mediale di infotainment automobilistico (124) e comprendente porzioni di codice software per implementare le fasi di un procedimento secondo qualsiasi delle rivendicazioni 1 a 7.
IT102020000005143A 2020-03-11 2020-03-11 Procedimento per gestire librerie mediali, sistema e prodotto informatico corrispondenti IT202000005143A1 (it)

Priority Applications (3)

Application Number Priority Date Filing Date Title
IT102020000005143A IT202000005143A1 (it) 2020-03-11 2020-03-11 Procedimento per gestire librerie mediali, sistema e prodotto informatico corrispondenti
US17/158,636 US11704354B2 (en) 2020-03-11 2021-01-26 Method of managing media libraries, corresponding system and computer program product
CN202110262227.3A CN113392258A (zh) 2020-03-11 2021-03-10 管理媒体库的方法、对应的系统以及计算机程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT102020000005143A IT202000005143A1 (it) 2020-03-11 2020-03-11 Procedimento per gestire librerie mediali, sistema e prodotto informatico corrispondenti

Publications (1)

Publication Number Publication Date
IT202000005143A1 true IT202000005143A1 (it) 2021-09-11

Family

ID=70614473

Family Applications (1)

Application Number Title Priority Date Filing Date
IT102020000005143A IT202000005143A1 (it) 2020-03-11 2020-03-11 Procedimento per gestire librerie mediali, sistema e prodotto informatico corrispondenti

Country Status (3)

Country Link
US (1) US11704354B2 (it)
CN (1) CN113392258A (it)
IT (1) IT202000005143A1 (it)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1548741A1 (en) * 2003-12-24 2005-06-29 Bose Corporation Intelligent music track selection
US20080147747A1 (en) * 2006-12-14 2008-06-19 Dan Cardamore Media system having synchronization with preemptive prioritization of synchronization order
US20090326949A1 (en) * 2006-04-04 2009-12-31 Johnson Controls Technology Company System and method for extraction of meta data from a digital media storage device for media selection in a vehicle
IT201800002537A1 (it) 2018-02-09 2019-08-09 St Microelectronics Srl Procedimento per la compressione di dati, sistema, apparecchiatura, veicolo e prodotto informatico corrispondenti

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102387422A (zh) * 2010-08-31 2012-03-21 青岛海信电器股份有限公司 数字媒体播放器及其文件搜索方法、电视机
CN104751867B (zh) * 2013-12-30 2018-04-13 大陆汽车投资(上海)有限公司 车载信息娱乐系统
US11016934B2 (en) * 2019-02-14 2021-05-25 International Business Machines Corporation Automated content-based and context-based file organizational structuring

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1548741A1 (en) * 2003-12-24 2005-06-29 Bose Corporation Intelligent music track selection
US20090326949A1 (en) * 2006-04-04 2009-12-31 Johnson Controls Technology Company System and method for extraction of meta data from a digital media storage device for media selection in a vehicle
US20080147747A1 (en) * 2006-12-14 2008-06-19 Dan Cardamore Media system having synchronization with preemptive prioritization of synchronization order
IT201800002537A1 (it) 2018-02-09 2019-08-09 St Microelectronics Srl Procedimento per la compressione di dati, sistema, apparecchiatura, veicolo e prodotto informatico corrispondenti

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KOVACEVIC B ET AL: "A java application programming interface for in-vehicle infotainment devices", IEEE TRANSACTIONS ON CONSUMER ELECTRONICS, IEEE SERVICE CENTER, NEW YORK, NY, US, vol. 63, no. 1, 1 February 2017 (2017-02-01), pages 68 - 76, XP011649761, ISSN: 0098-3063, [retrieved on 20170518], DOI: 10.1109/TCE.2017.014655 *

Also Published As

Publication number Publication date
US20210286836A1 (en) 2021-09-16
CN113392258A (zh) 2021-09-14
US11704354B2 (en) 2023-07-18

Similar Documents

Publication Publication Date Title
CN100576166C (zh) 用于较大播放列表的导航的计算机化方法和系统
CN101057294B (zh) 再现存储在存储介质中的视听数据的再现设备
AU695765B2 (en) Method and apparatus for data storage and retrieval
CN101727950B (zh) 播放列表搜索装置和方法
US20020147728A1 (en) Automatic hierarchical categorization of music by metadata
JP2008052731A (ja) 多様なマルチメディアデバイス上のコンテンツの統一された表現を有するマルチメディアファイルシステム
JP2004187272A (ja) メディアプレーヤーの適応型メニューシステム
JP2008152259A (ja) 実質的に同様のメディアコンテンツを有する複数のファイルから再生用のメディアファイルを選択するシステム
JP2002514331A (ja) 物理的情報ファイルの情報を共有するための仮想ファイルを生成するコンピュータ実行法
KR20010069124A (ko) 멀티미디어 파일 결합방법
JPH09146918A (ja) マルチメディア情報の管理方法及び装置
CN1467638A (zh) 多文件系统的灵活管理
US8195677B2 (en) Recording medium, recording device, recording method, data search device, data search method, and data generating device
WO2001080219A2 (en) A system and method of providing music items to music renderers
JP2005056041A (ja) 情報処理装置および方法、プログラム、並びに記録媒体
IT202000005143A1 (it) Procedimento per gestire librerie mediali, sistema e prodotto informatico corrispondenti
KR20080018805A (ko) 다중 미디어 장치로 계층 통합 액세스되는 멀티미디어시스템 프레임워크
CN101055752B (zh) 一种影音碟片数据的存储方法
US7676504B2 (en) Device and method for processing content and an information file related to the content
Guerrini GMD: Its function and its history
JP3488020B2 (ja) マルチメディア情報提示装置
WO2009130837A1 (ja) コンテンツ再生装置及びプログラム
JP2006501539A (ja) 階層データフォーマットに対するデータベースモデル
WO2009130836A1 (ja) コンテンツ再生装置及びプログラム
JPH03268037A (ja) データ編集方式