Aiuto - Cerca - Utenti - Calendario - Salta a fondo pagina - Versione completa  
NikonClub.it Community > COMMUNITY ACTIVITIES > NIKON SUSHI BAR
Lutz!
Ciao, volevo chiedere se qualcuno conosce nel dettaglio che cosa faccia il processore Expeed sulle macchine di alta fascia....

Avrebbe senso cercare di riprodurre l'elaborazione di questo processore via software!
Già conoscere a grandi linee l'algoritmo potrebbe esser utile, mi rendo conto che il processore probabilmente utilizza informazioni che non vengon magari salvate nel dataraw però sicuramente la parte di signal processing può esser riprodotta via software.

Chi mi illumina? Potremmo arrivare a ottenere risultati strepitosi anche da macchine non di fascia altissima.
Lutz!
Possibile che non interessi proprio a nessuno?
Massimo.Novi
QUOTE(lutzmail @ Feb 19 2009, 04:01 PM) *
Possibile che non interessi proprio a nessuno?


Ciao

Il processore Expeed fa sostanzialmente le cose (su un file RAW) che fa NX2 (o meglio la libreria Nikon che usa). Anzi probabilmente NX2 le fa meglio avendo meno limitazioni. D-lighting e correzione aberrazioni ad es.

L'Expeed probabilmente gestisce anche una parte di operazioni dirante lo scarico dei dati dal sensore ma usando un RAW quel passo si salta ovviamente.

"Potremmo arrivare a ottenere risultati strepitosi anche da macchine non di fascia altissima"

Per Thor , questa mi fa proprio ridere!!! biggrin.gif

Suvvia, torniamo con i piedi per terra e facciamo foto con le macchine disponibili, che sono di gran lunga già SUPER-adatte ad ottenere foto pubblicabili su NG!

Saluti

PS se disassemblate il firmware dell'Expeed, non scrivetelo sul Forum o Nikon vi fa una causa...all'EXPEED DELLA LUCE!

Lutz!
Quand'anche riuscissimo a tirar fuori tutto l'algoritmo non vedo dove sia il problema a pubblicarlo, un algoritmo è una formula matematica, non è mica vietato fare calcoli ne fare reverse engennering.

Da una prima analisi sembra in effetti che Expeed esegua non so ancora in che ordine, delle operazioni sulle curve in modo da avere del guadagno sul contrasto ma soprattutto sui colori... Ipotizzo lavori sui singoli canali e poi ribilanci il bianco alla fine.

Sarebbe utilissimo se qno pubblicasse la stessa foto fatta con una macchina senza Expeed e una con Expeed.

Qno può provvedere?


Massimo.Novi
QUOTE(lutzmail @ Feb 20 2009, 01:39 PM) *
Quand'anche riuscissimo a tirar fuori tutto l'algoritmo non vedo dove sia il problema a pubblicarlo....non è mica vietato ... fare reverse engennering.


Ciao

E come no? I sorgenti di Windows del resto si trovano su Google e quelli dei microchip di avionica dell'F15 su E-bay! Open Source!!!

Immagino poi già i titoli sul forum:

"Expeed cracckato! La vostra D60 avrà la qualità di una D3!"

Pensate la Canon come sarebbe contenta!

Ma poi si potrebbe avere una Canon con Expeed e una Nikon con Digic III?

Del resto Adobe mi pare sia nata in un garage di Cernusco sul Naviglio e Phase One in un retrobottega di una salumeria di Brescello...

Enjoy! biggrin.gif

Saluti

PS "decodificare" l'algoritmo Expeed partendo da due immagini è praticamente analogo a voler conoscere il codice fiscale di mia zia guardandone la foto. Se ci riuscite (e ve lo auguro) penso che Bill Gates rientra in Microsoft e vi allestisce un ufficio personale!
Lutz!
Ma ragazzi ma dove le leggete ste cose? Ma da quando in qua è vietato capire come funziona una cosa e riprodurla? Non potrete certo chiamarla Expeed o sottrarre illegalmente il progetto a nikon e rivenderlo o diffonderlo, ma se con il vostro cervello ci arrivate potete farlo.

Ma diamine l'esempio di windows: chiunque può riscrivere un programma che fa esattamente le cose che fa windows, non può chiamarlo Windows, ma ci mancherebbe che non si può fare una cosa perchè una ditta lo fa senza dire come ha fatto a farlo.

Qui ci stiamo chiedendo: cosa diavolo fa Expeed di preciso? Una volta capito lo riproduciamo via software punto e basta. Analizzando una foto fatta con expeed e una senza non sapremo cosa fa l'algoritmo di sicuro, ma possiamo arrivare a fare una manipolazione software che preso in input una foto arriva a un risultato molto simile a quello fatto con expeed.

E' come risolvere una equazione: output = funzioneExpeed(input)

Noi facilmente possiamo avere l'input e l'output con le dovute approssimazioni. Non che sia facile, però essendo matematica, e dubitando fortemente di esser in presenza di funzioni non invertibili, deve esser possibile farlo.



Massimo.Novi
Ciao

Ma scherzate o dite sul serio?

QUOTE(lutzmail @ Feb 20 2009, 05:21 PM) *
....Ma da quando in qua è vietato capire come funziona una cosa e riprodurla?


Per uso proprio si può far ciò che si vuole. Ma se si adotta una qualsiasi parte di un algoritmo brevettato (e di solito i chip SONO tali) allora sono dolori se finisce in rete.

Per uso casalingo ripeto ci si può disassemblare anche il software del ferro da stiro.

QUOTE(lutzmail @ Feb 20 2009, 05:21 PM) *
....chiunque può riscrivere un programma che fa esattamente le cose che fa windows, non può chiamarlo Windows, ma ci mancherebbe che non si può fare una cosa perchè una ditta lo fa senza dire come ha fatto a farlo.


E come no! Gates ci passò brutti momenti nel "riprodurre" alcune "caratteristiche" del Finder della Apple protette da brevetto o semplicemente per troppe "analogie". Altrimenti avremmo Windows=Mac!

Fare "esattamente" una cosa è parecchio "pericoloso". Di solito si finisce in un'aula di tribunale con un guppo di avvocati tipo "studio legale americano" (che sono molto meno simpatici di Perry Mason).

Diversi programmatori sono finiti nei guai perchè si "portavano" dietro alcune parti di algoritmi passando da un'azienda all'altra.

Comunque basta leggersi i brevetti legati all'Expeed per saperne di più.

QUOTE(lutzmail @ Feb 20 2009, 05:21 PM) *
Qui ci stiamo chiedendo: cosa diavolo fa Expeed di preciso? Una volta capito lo riproduciamo via software punto e basta.


Il chip Expeed E' GIA' UN SOFTWARE. Solo che è un Firmware. Quindi a parte la matrice di istruzioni che esegue ha un suo flusso algoritmico implementato. Se trovate lo stesso algoritmo su IEEE Computing (seeee!) e lo implementate allora va bene.

QUOTE(lutzmail @ Feb 20 2009, 05:21 PM) *
Analizzando una foto fatta con expeed e una senza ....possiamo arrivare a fare una manipolazione software che preso in input una foto arriva a un risultato molto simile a quello fatto con expeed.


Proprio come nel caso in cui si capisce "esattamente" quali effetti di Photoshop sono stati applicati per l'immagine finale di un'elaborazione....

Ma siete davvero sicuri che NX2 non faccia già le stesse cose che Expeed fa internamente alla fotocamera? A me pare che le immagini di NX2 non abbiano NULLA di MENO di quelle "off-camera".

Per cui o Expeed agisce PRIMA della creazione del RAW (e allora non ci fate nulla a riprodurlo perchè NON avete i dati pre-RAW) oppure agisce DOPO creando il JPEG (e allora direi che assomiglia MOLTO alle librerie Nikon).

Comunque grazie per la chiacchierata e buon divertimento e mi raccomando fateci sapere poi come va l'"Expeed de noantri"!

Saluti
Lutz!
A quanto ho capito Expeed agisce dal raw alla creazione Jpeg.
I brevetti software non esistono, le cause a cui fai riferimento sono legate a problemi di copyright e alle licenze, ovvero windows avrebbe usato codice mac senza rispettare la licenza di copyright. Io il codice non lo voglio ne prendere ne copiare, ma voglio scriverlo da me. Voglio scrivere un codice che presa una immagine restituisce una altra immagine con caratteristiche simili a quelle elaborate da Expeed. Per citare un esempio che vi dovrebbe tranquillizzare, pensate a OpenOffice.

Secondo aspetto: il reverse engeneering è legale, chiunque può descrivere come è fatto un oggetto a qualsiasi livello di dettaglio. Tra l'altro è nella natura intrinseca dell'esser umano capire le cose e descriverle.

Mi focalizzerei cmq sul problema che ho tirato fuori. Spero al prossimo post di riuscire a dare i passi dell'algoritmo in linea di massima, poi proverò a implementarlo e farvi vedere un po di risultati.

maxiclimb
Scusa, ma se davvero hai queste capacità di programmazione, perchè non le impieghi migliorando un prodotto che certamente è Open Source? huh.gif
Potresti per esempio cercare di far funzionare Gimp a 16bit, secondo me sarebbe assai più utile.

PS: ma da cosa ti arriva la convinzione che l'expeed faccia tutta questa differenza? hmmm.gif

Personalmente preferisco un file della D2x (no expeed) a quello della d60 (con expeed)

Massimo.Novi
Ciao

QUOTE(lutzmail @ Feb 22 2009, 12:38 PM) *
A quanto ho capito Expeed agisce dal raw alla creazione Jpeg.


E questo già la dice lunga sul suo scopo rispetto al motore Nikon usato da NX2/ViewNX.

Ma mi pare che Expeed agisca anche sullo scarico dei dati del sensore...

QUOTE(lutzmail @ Feb 22 2009, 12:38 PM) *
I brevetti software non esistono...


Davvero? Domani mi metto a disassemblare Excel e dopo aver cambiato qualche icona e corretto qualche bug me lo rivendo....

QUOTE(lutzmail @ Feb 22 2009, 12:38 PM) *
...windows avrebbe usato codice mac senza rispettare la licenza di copyright.
....il reverse engeneering è legale...


No, si erano scopiazzati certe "caratteristiche" di funzionamento e UI del Finder.

Il Reverse Engineering è legale SOLO in alcune situazioni e per certi scopi (es. collegare un proprio software ad un software commerciale) ma NON in tutte. Le leggi sono inoltre differenti nelle varie nazioni.

QUOTE(lutzmail @ Feb 22 2009, 12:38 PM) *
...Voglio scrivere un codice che presa una immagine restituisce una altra immagine con caratteristiche simili a quelle elaborate da Expeed. ...


Continuo a non capire COSA dovrebbe fare questo "Expeed II, La vendetta". Le operazioni di conversione NEF-JPEG le fa via software la libreria Nikon. Non vedo proprio COSA la Nikon farebbe fare all'Expeed che NON fa fare a NX2.

A proposito, perchè non studiarsi la libreria Nikon (fanne richiesta alla Nikon e fatti mandare l'SDK) e vedere le funzioni che implementa? Quantomeno si vedrebbe cosa fa NX2 e quali sono le interfacce REALI che i NEF forniscono verso l'esterno.

Comunque ti auguro davvero buon lavoro e mi raccomando, fallo brevettare: Nik Software è sicuramente interessata a tale algoritmo, visto che pur con l'aiuto di Nikon non riescono a riprodurlo! wink.gif

Saluti
Lutz!
Se rivendi excel modificato disassemblato o ricompilato senza autorizzzione violi il copyright della licenza. Se riscrivi excel da cima a fondo come han fatto a OpenOffice, lo puoi vendere o regalare purchè non lo chiami excel. Linux per fare il solito esempio è la riscrittura manuale di tutto Unix, sistema proprietario e registrato in licenza.

I brevetti software non esistono e non c'entra niente con il copyright. Per brevetti software si intendono brevetti sugli algoritimi, c'è stato chi pensava di proporli, ma non è mai andata in porto la cosa perchè è un controsenso, sarebbe come brevettare una formula matematica.

Vi ringrazio per l'accesa discussione, però vorrei chiuderla qui e concentrarmi su Expeed e gli algoritmi di conversione se interessano, perchè altrimenti andiamo fuori dal contesto del forum e giustamente i moderatori avrebbero da ridire.

Tivoli
biggrin.gif il mondo è bello perchè è vario!
Massimo.Novi
QUOTE(lutzmail @ Feb 23 2009, 06:06 PM) *
....I brevetti software non esistono e non c'entra niente con il copyright. Per brevetti software si intendono brevetti sugli algoritimi, c'è stato chi pensava di proporli, ma non è mai andata in porto la cosa perchè è un controsenso, sarebbe come brevettare una formula matematica.
....


Ciao

Eh si hai ragione, non esistono proprio laugh.gif :

Microsoft reaches 10,000 patents

Tra l'altro la maggior parte di brevetti software (in generale) sono appannaggio di aziende che producono firmware (guarda caso). Nel campo "automotive" sono abbastanza diffusi i brevetti per la sicurezza.

La legislazione dell'UE è ancora incerta sui termini di brevettabilità ma è probabile che per non perdere passi verso U.S.A. e Giappone (le legislazioni sui brevetti in giappone come sai meglio di me sono differenti da quelle americane) venga accettata una legislazione abbastanza conforme.

Tornando al discorso Expeed continua a sfuggirmi la differenza tra l'Expeed e NX2 a livello di trattamento immagine anche perchè il concetto di Expeed è più ampio della banale conversione RAW-NEF.

Comunque abbiamo letto abbastanza e attendiamo con trepidazione sviluppi sull'algoritmo che come dicevo potremmo battezzare "Expeed de noantri".

Saluti e naturalmente buon lavoro!


PAS
Ciao lutzmail.
La funzionalità di Expeed non può essere ricondotta solo ad un semplice algoritmo sw che elabora immagini.
La parte forse più importante (e proprietaria di Nikon) del firmware è l’acquisizione del segnale del sensore ed il suo primo condizionamento.
Expeed, è stato sviluppato in SW ed HW per ottimizzare tale funzione in strettissima simbiosi con l’HW del sensore come tutti i processori custom per DSLR.
Ed è proprio l’HW ed il layout complessivo della parte di acquisizione uno dei punti qualificanti delle prestazioni, dalla quale dipendono poi le successive elaborazioni.
Una semplice operazione di reverse engineering (ancorchè possibile e lecita) temo non riuscirebbe mai a fornirti i complessi dati di progetto che sono alla base dello sviluppo dell’elettronica di una DSLR.
Forse otterresti informazioni di base per un funzionamento di massima, ma sarà quasi impossibile che un’operazione come quella da te ipotizzata ti consenta di ottenere prestazioni comparabili con quelle del progetto originale.

Scusami, ma mi sembra che il tuo approccio sia abbastanza ingenuo. Il know how dell’R/D Nikon che consente la realizzazione di una fotocamera digitale temo sia ben più complesso di ciò che può scaturire da un’analisi di reverse engineering.

Non essendo argomento specifico di fotoritocco, sposto in sezione più pertinente.
nicola.sam
QUOTE(PAS @ Feb 25 2009, 09:16 PM) *
Ciao lutzmail.
La funzionalità di Expeed non può essere ricondotta solo ad un semplice algoritmo sw che elabora immagini.
La parte forse più importante (e proprietaria di Nikon) del firmware è l’acquisizione del segnale del sensore ed il suo primo condizionamento.
Expeed, è stato sviluppato in SW ed HW per ottimizzare tale funzione in strettissima simbiosi con l’HW del sensore come tutti i processori custom per DSLR.
Ed è proprio l’HW ed il layout complessivo della parte di acquisizione uno dei punti qualificanti delle prestazioni, dalla quale dipendono poi le successive elaborazioni.
Una semplice operazione di reverse engineering (ancorchè possibile e lecita) temo non riuscirebbe mai a fornirti i complessi dati di progetto che sono alla base dello sviluppo dell’elettronica di una DSLR.
Forse otterresti informazioni di base per un funzionamento di massima, ma sarà quasi impossibile che un’operazione come quella da te ipotizzata ti consenta di ottenere prestazioni comparabili con quelle del progetto originale.

Scusami, ma mi sembra che il tuo approccio sia abbastanza ingenuo. Il know how dell’R/D Nikon che consente la realizzazione di una fotocamera digitale temo sia ben più complesso di ciò che può scaturire da un’analisi di reverse engineering.

Non essendo argomento specifico di fotoritocco, sposto in sezione più pertinente.


ohmy.gif ---> blink.gif ---> hmmm.gif ---> huh.gif ---> laugh.gif

ho capito tutto!!!! l'importante è che vi siate capiti voi!
Lutz!
In università abbiamo realizzato una sequenza di algoritmi che ci porta a un risultato molto simile a quello ottenuto da Expeed, appena abbiamo tempo pubblicheremo l'articolo in cui specificheremo la sequenza dei passaggi e gli algoritmi usati per farlo.
Paolo66
Ehi!
mi si è scaricato l'one time password del conto on line, se ti dò l'ultimo codice, me lo ricavi l'algoritmo di calcolo? biggrin.gif


...non è che mi forniresti anche la formuletta per ricavare i numeri per la prossima estrazione del superenalotto?

Scherzi a parte non credo che con il solo "algoritmo expeed" delle macchine di ultima generazione (cosa con la quale si può simulare con l'NX2), si possano ottenere i medesimi risultati, trascurando la differenza di sensori, circuiteria, ecc...
Franco_
QUOTE(lutzmail @ Apr 13 2009, 08:15 PM) *
In università abbiamo realizzato una sequenza di algoritmi che ci porta a un risultato molto simile a quello ottenuto da Expeed, appena abbiamo tempo pubblicheremo l'articolo in cui specificheremo la sequenza dei passaggi e gli algoritmi usati per farlo.


Ciao, visto che ti piace "smanettare" perchè non pensi anche ad un visualizzatore (e, perchè no, editore) dei file di configurazione delle DSLR (NCSETUP1.BIN) ? Secondo me sarebbe comodo leggere su una schermata tutte le impostazioni della propria fotocamera senza doverle scorrere sul menù. Per abitudine salvo il file di configurazione corrente sul PC e mi sono accorto che sarebbe utile averlo sottomano quando si tratta di dare qualche risposta a chi chiede chiarimenti sui settaggi da noi utilizzati...
Salta a inizio pagina | Per vedere la versione completa del forum Clicca qui.