.dsy:it. Pages (2): « 1 [2]
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Tech (http://www.dsy.it/forum/forumdisplay.php?forumid=189)
-- [MPEG-4] Info struttura del file... (http://www.dsy.it/forum/showthread.php?threadid=19763)


Posted by ste.virus on 03-06-2005 19:26:

io so che se usi DrDivx, il software ufficiale per comprimere in divx, durante la compressione compare un grafico che ti visualizza i frame con colori diversi a seconda se sono i fotogrammi "chiave" oppure secondari... te lo dice al momento della compressione, ma per visualizzarli successivamente se ad esempio usi VirtualDub ci sono due bottoni con il simbolo di una chiave che servono apposta a muoversi tra fotogrammi "chiave" saltando queli secondari... ma come faccia a riconoscerli questo non lo so ti conviene provare a guardare su divx.com se c'è qualcosa... tieni presente che i fotogrammi chiave non hanno sempre la stessa frequenza perchè dipende dall'intervallo impostato in fase di settaggio del codec, e comunque è sempre un intervallo approssimativo perchè non appena cambia una scena viene creato automaticamente un nuovo fotogramma chiave, e se la scena cambia 2 o 3 volte rapidamente vengono creati nuovi fotogrammi chiave a breve intervallo tra uno e l'altro...

un ultima cosa: in genere io vedo che i vari siti che si occupano di streaming mettono 2 link diversi, uno che trasmette ad un bitrate per i modem a 56k e l'altro per le ADSL...

__________________
StE


Posted by Barone on 03-06-2005 21:03:

Allora su questo penso di essere abbastanza informato visto che ci sto lavorando x stage e tesi:
I fotogrammi "chiave" si chiamano Intra Frame e sono quelli grazie ai quali viene fatta la più importante predizione temporale x le successive immagini.Questi fotogrammi vengono codificati solo sfruttando la correlazione spaziale dei Macroblocchi dello stasso Frame...

Tornando alla tua domanda non ho capito se stai chiedendo come riconoscere un frame secondario o no a livello di qualche applicativo particolare o a livello di codice di riferimento.

Se l'opzione è la seconda allora ti dico che:
Ogni immagine ha una variabile con un valore che sta ad indicare quale tipo di immagine rappresenta...Se poi chiarisci meglio qual è il problema cerco di aiutarti un po' di più ;)


Posted by DarkGod on 04-06-2005 10:44:

Originally posted by Barone
Allora su questo penso di essere abbastanza informato visto che ci sto lavorando x stage e tesi:
I fotogrammi "chiave" si chiamano Intra Frame e sono quelli grazie ai quali viene fatta la più importante predizione temporale x le successive immagini.Questi fotogrammi vengono codificati solo sfruttando la correlazione spaziale dei Macroblocchi dello stasso Frame...

Tornando alla tua domanda non ho capito se stai chiedendo come riconoscere un frame secondario o no a livello di qualche applicativo particolare o a livello di codice di riferimento.

Se l'opzione è la seconda allora ti dico che:
Ogni immagine ha una variabile con un valore che sta ad indicare quale tipo di immagine rappresenta...Se poi chiarisci meglio qual è il problema cerco di aiutarti un po' di più ;)


Dunque, dunque....
Sì, so come funzionano gli Intra Frame e che gli altri frame vengono calcolati praticamente per "differenza".
La mia situazione è questa: ho già un apllicativo (in C) che prende un filmato, lo divide in pacchetti e lo invia in wireless ad un'altra applicazione che lo ricompone, lo buferizza e lo dà in pasto ad un video player.
Ovviamente, essendo tutto in real-time, se ci sono interferenze nel canale di trasmissione, appena finisce il buffer del ricevente il filmato si "inchioda".
Io dovrei essere in grado di accorgermi di questa situazione (per esempio testando la velocità con cui si svuota il buffer in relazione con la velocità di arrivo dei pacchetti), e diminuire "al volo" la mole di dati che sto inviando. Dato che il filmato è già codificato, ho pensato di diminuire l'invio dei frame secondari via via fino a quando il canale non abbia banda sufficiente a gestire la trasmissione.
Devo però sapere come riconoscere i vari frame secondari all'interno del file, perchè non posso "droppare" pacchetti a caso! :P
Ho trovato moltissima documentazione, ufficiale e non, su come avviene la codifica di MPEG-4, come vengono gestiti i fari frame, ecc.... ma niente di così basso livello da permettermi di "scrutare" realmente nel file del filmato e discriminarne le varie parti.

Qualsiasi aiuto è estremamente ben accetto :)
Grazie in anticipo....


PS: non è detto che ciò che intendo fare sia fattibile....

__________________
Chiamatemi Darky ^_^

_____ -+- ANTINOMY -+- __________ -+- Inside Human Cruelty -+- _____


Posted by foolish on 04-06-2005 11:05:

te quindi intendi diminuire la qualità del video?
perchè se togli una parte del filmato sei sicuro poi che il filmato sia "guardabile"?

__________________
The only way to discover the limits of the possible is to go beyond them into the impossible.
Arthur C. Clarke.


Posted by DarkGod on 04-06-2005 11:21:

Originally posted by foolish
te quindi intendi diminuire la qualità del video?
perchè se togli una parte del filmato sei sicuro poi che il filmato sia "guardabile"?


Esatto! Ridurre la qualità, anche di molto, fino a renderlo scattosissimo, non importa; l'importante è che venga mantenuta la sincronizzazione real time.
(Per esempio potrebbe esserci un'interferenza momentanea sul canale: in questo caso, il filmato andrebbe a scatti per qualche secondo, per poi riprendere normalmente.)
Però se elimino dei frame (o pezzi di file) fodamentali, il filmato si blocca totalmente e perde la sincronizzazione...

__________________
Chiamatemi Darky ^_^

_____ -+- ANTINOMY -+- __________ -+- Inside Human Cruelty -+- _____


Posted by Barone on 04-06-2005 15:16:

Quello che vuoi fare te è molto complesso e non del tutto ancora impelmentato in tutti gli encoder che ho visto...Se ho capito bene cerchi una routine che permetta di variare il bitstream in base alle condizioni di traferimento...Dove sono io in stage c'è una persona molto competente che sta facendo qualcosa di simile...ti dico subito che è un lavoro di mesi!!Il fatto è che devi gestire tutti i tool di compressione (DCT, QUANTIZZ, scelta del tipo di immagini) in semi real time al fine di ottimizzare banda e traferimento...

A livello molto supèerficiale direi che potresti quantizzare piu grossolanamente o utilizzare un formato immagine minore (tipo QCIF).però gli algortimi di scelta di tali opzioni credo siano troppo complessi x un semplice studente con poca esperienza nel campo....Io e il mio tutor stavamno parlando di qualcosa di simile a questo e mi diceva che è un lavoro complesso, sicuramente nn da tesi triennale ;)

hai altre domande o vuoi chiarimenti su altri punti?


Posted by DarkGod on 05-06-2005 09:34:

Originally posted by Barone
Quello che vuoi fare te è molto complesso e non del tutto ancora impelmentato in tutti gli encoder che ho visto...Se ho capito bene cerchi una routine che permetta di variare il bitstream in base alle condizioni di traferimento...Dove sono io in stage c'è una persona molto competente che sta facendo qualcosa di simile...ti dico subito che è un lavoro di mesi!!Il fatto è che devi gestire tutti i tool di compressione (DCT, QUANTIZZ, scelta del tipo di immagini) in semi real time al fine di ottimizzare banda e traferimento...

A livello molto supèerficiale direi che potresti quantizzare piu grossolanamente o utilizzare un formato immagine minore (tipo QCIF).però gli algortimi di scelta di tali opzioni credo siano troppo complessi x un semplice studente con poca esperienza nel campo....Io e il mio tutor stavamno parlando di qualcosa di simile a questo e mi diceva che è un lavoro complesso, sicuramente nn da tesi triennale ;)

hai altre domande o vuoi chiarimenti su altri punti?


mmmhh...
Sì, ho capito perfettamente quello che vuoi dire, e purtroppo è ciò che immaginavo anche io, dato che è da un po' che cerco di trovare qualcosa che mi possa aiutare, ma senza risultato.
Se è così non mi resta che parlarne con la prof..... :sad:

Quindi credi che non si trovino dei programmini (per Linux) che facciamo qualcosa di simile?
Perchè io ho notato che cancellando a caso pezzi del file di origine (prima di inviarlo), molte volte il filmato si vede lo stesso, anche se con evidenti perdite di qualità, mentre altre volte si blocca del tutto, perchè evidentemente ho cancellato pezzi fondamentali del filmato (magari un header o un I-Frame) . In un certo senso mi basterebbe poter discriminare (ma non ho idea di come poterlo fare!) le parti fondamentali del file da quelle che posso cancellare "senza problemi", in modo da inviare soltanto le prime... il tutto senza entrare nei dettagli della compressione o della struttura del file...
Credi sia fattibile?

__________________
Chiamatemi Darky ^_^

_____ -+- ANTINOMY -+- __________ -+- Inside Human Cruelty -+- _____


Posted by DarkGod on 09-06-2005 11:01:

Sposto un attimo il problema.

Sapete se ci sono in giro programmini (per Win o Linux) che comprimono i filmati in formato MPEG-4?
Se ne conoscete qualcuno mi evitate le mille ricerche con google... ;);)

EDIT: altra domandina: MPEG-4 è formato da più layer, utilizzabili per ottenere diverse qualità dello stesso filmato.
Sapete come poter visualizzare solo il layer di qualità più bassa?

Grazie x la pazienza :P


__________________
Chiamatemi Darky ^_^

_____ -+- ANTINOMY -+- __________ -+- Inside Human Cruelty -+- _____


Posted by DarkGod on 10-06-2005 14:40:

Originally posted by Barone
Quello che vuoi fare te è molto complesso e non del tutto ancora impelmentato in tutti gli encoder che ho visto...Se ho capito bene cerchi una routine che permetta di variare il bitstream in base alle condizioni di traferimento...Dove sono io in stage c'è una persona molto competente che sta facendo qualcosa di simile...ti dico subito che è un lavoro di mesi!!Il fatto è che devi gestire tutti i tool di compressione (DCT, QUANTIZZ, scelta del tipo di immagini) in semi real time al fine di ottimizzare banda e traferimento...
A livello molto supèerficiale direi che potresti quantizzare piu grossolanamente o utilizzare un formato immagine minore (tipo QCIF).però gli algortimi di scelta di tali opzioni credo siano troppo complessi x un semplice studente con poca esperienza nel campo....Io e il mio tutor stavamno parlando di qualcosa di simile a questo e mi diceva che è un lavoro complesso, sicuramente nn da tesi triennale ;)
hai altre domande o vuoi chiarimenti su altri punti?




Ho parlato con la prof: quello che avrei dovuto fare io è stato già realizzato, quindi il problema si sposta in un'altra direzione (codifica video "scalabile").

Per non andate OT, ho aperto un nuovo 3d... eccolo qui:
http://www.dsy.it/forum/showthread.php?threadid=20052

Ciao e grazie ancora :)

__________________
Chiamatemi Darky ^_^

_____ -+- ANTINOMY -+- __________ -+- Inside Human Cruelty -+- _____


All times are GMT. The time now is 19:28. Pages (2): « 1 [2]
Show all 24 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.