Questa pagina descrive le modalità e le macchine a stati 3A per un dispositivo Android. L'interfaccia HAL della fotocamera, che definisce le macchine a stati a un livello elevato, consente all'implementazione HAL e al framework Android di comunicare gli stati attuali di 3A e di attivare gli eventi 3A. L'implementazione HAL è responsabile degli algoritmi 3A che controllano le impostazioni e le transizioni di stato della modalità 3A.
Quando il dispositivo è aperto, tutti i singoli stati 3A devono essere
STATE_INACTIVE.
La configurazione dello stream non reimposta 3A. Ad esempio, lo stato attivo bloccato deve essere mantenuto durante la chiamata configure()
.
L'attivazione di un'azione 3A consiste semplicemente nell'impostare la voce di trigger pertinente nelle impostazioni della richiesta successiva per indicare l'inizio dell'attivazione. Ad esempio, l'attivatore per avviare una ricerca automatica dell'autofocus è impostare la voce ANDROID_CONTROL_AF_TRIGGER su ANDROID_CONTROL_AF_TRIGGER_START per una richiesta; e l'annullamento di una ricerca automatica dell'autofocus viene attivato impostando ANDROID_CONTROL_AF_TRIGGER su ANDROID_CONTRL_AF_TRIGGER_CANCEL. In caso contrario, la voce non esisterà o verrà impostata su ANDROID_CONTROL_AF_TRIGGER_IDLE. Ogni richiesta con una voce di attivazione impostata su un valore diverso da IDLE verrà trattata come un evento di attivazione indipendente.
A livello superiore, 3A è controllato dall'impostazione ANDROID_CONTROL_MODE. Consente di scegliere tra nessuna 3A (ANDROID_CONTROL_MODE_OFF), modalità AUTO normale (ANDROID_CONTROL_MODE_AUTO) e utilizzo dell'impostazione della modalità scena (ANDROID_CONTROL_USE_SCENE_MODE):
- In modalità OFF, ciascuna delle singole modalità di messa a fuoco automatica (AF), esposizione automatica (AE) e bilanciamento del bianco automatico (AWB) è effettivamente OFF e nessuno dei controlli di acquisizione può essere ignorato dalle routine 3A.
- In modalità AUTO, AF, AE e AWB vengono eseguiti algoritmi indipendenti e sono presenti voci di metadati per modalità, stato e attivazione, come elencato nella sezione successiva.
- In USE_SCENE_MODE, il valore della voce ANDROID_CONTROL_SCENE_MODE deve essere utilizzato per determinare il comportamento delle routine 3A. In SCENE_MODE diverse da FACE_PRIORITY, l'HAL deve sostituire i valori di ANDROID_CONTROL_AE/AWB/AF_MODE per impostare la modalità che preferisce per la selezionata SCENE_MODE. Ad esempio, l'HAL potrebbe preferire SCENE_MODE_NIGHT per utilizzare la modalità AF CONTINUOUS_FOCUS. Qualsiasi selezione da parte dell'utente di AE/AWB/AF_MODE quando la scena deve essere ignorata per queste modalità.
- Per SCENE_MODE_FACE_PRIORITY, i controlli AE/AWB/AFMODE funzionano come in ANDROID_CONTROL_MODE_AUTO, ma le routine 3A devono essere orientate alla misurazione e alla messa a fuoco su eventuali volti rilevati nella scena.
Impostazioni di messa a fuoco automatica e voci dei risultati
Voci di metadati principali | |
---|---|
ANDROID_CONTROL_AF_MODE | Controllo per selezionare la modalità di messa a fuoco automatica corrente. Impostato dal framework nelle impostazioni della richiesta. |
AF_MODE_OFF | L'AF è disattivato; il framework/l'app controlla direttamente la posizione dell'obiettivo. |
AF_MODE_AUTO | Messa a fuoco automatica con un solo passaggio. Nessun movimento dell'obiettivo a meno che non venga attivata l'AF. |
AF_MODE_MACRO | Messa a fuoco automatica con scansione singola da vicino. Nessun movimento dell'obiettivo a meno che non venga attivata l'AF |
AF_MODE_CONTINUOUS_VIDEO | Messa a fuoco continua fluida per la registrazione video. L'attivazione immediata blocca lo stato attivo nella posizione corrente. L'annullamento ripristina la messa a fuoco continua. |
AF_MODE_CONTINUOUS_PICTURE | Messa a fuoco continua rapida per acquisire foto senza tempo di esposizione. L'attivazione blocca lo stato attivo al termine della ricerca attualmente attiva. L'annullamento riprende la messa a fuoco continua. |
AF_MODE_EDOF | Messa a fuoco avanzata con profondità di campo estesa. Non è presente la funzionalità di scansione dell'autofocus, pertanto l'attivazione o l'annullamento non ha alcun effetto. Le immagini vengono messe automaticamente a fuoco dall'HAL. |
ANDROID_CONTROL_AF_STATE | Metadati dinamici che descrivono lo stato corrente dell'algoritmo AF, segnalato dall'HAL nei metadati del risultato. |
AF_STATE_INACTIVE | Non è stato eseguito alcuno scopo o l'algoritmo è stato reimpostato. L'obiettivo non si muove. Sempre lo stato per MODE_OFF o MODE_EDOF. Quando il dispositivo viene aperto, deve avviarsi in questo stato. |
AF_STATE_PASSIVE_SCAN | Al momento, un algoritmo di messa a fuoco continua è in fase di scansione per trovare una buona messa a fuoco. L'obiettivo si sta muovendo. |
AF_STATE_PASSIVE_FOCUSED | Un algoritmo di messa a fuoco continua ritiene di essere ben a fuoco. L'obiettivo non si muove. L'HAL potrebbe uscire spontaneamente da questo stato. |
AF_STATE_PASSIVE_UNFOCUSED | Un algoritmo di messa a fuoco continua ritiene che non sia ben a fuoco. L'obiettivo non si muove. L'HAL potrebbe uscire spontaneamente da questo stato. |
AF_STATE_ACTIVE_SCAN | È in corso una scansione attivata dall'utente. |
AF_STATE_FOCUSED_LOCKED | L'algoritmo AF ritiene di essere a fuoco. L'obiettivo non si muove. |
AF_STATE_NOT_FOCUSED_LOCKED | L'algoritmo AF non è riuscito a mettere a fuoco. L'obiettivo non si muove. |
ANDROID_CONTROL_AF_TRIGGER | Controllo per avviare una ricerca automatica dell'autofocus, il cui significato dipende dalla modalità e dallo stato. Impostato dal framework nelle impostazioni della richiesta. |
AF_TRIGGER_IDLE | Nessun attivatore corrente. |
AF_TRIGGER_START | Attiva l'avvio della scansione AF. L'effetto dipende dalla modalità e dallo stato. |
AF_TRIGGER_CANCEL | Annullare l'eventuale scansione AF corrente e reimpostare l'algoritmo predefinito. |
Voci di metadati aggiuntive | |
---|---|
ANDROID_CONTROL_AF_REGIONS | Controllo per selezionare le regioni del campo visivo (FOV) da usare per determinare una buona messa a fuoco. Questo vale per tutte le modalità AF che eseguono la ricerca della messa a fuoco. Impostato dal framework nelle impostazioni della richiesta. |
Impostazioni di esposizione automatica e voci dei risultati
Voci di metadati principali | |
---|---|
ANDROID_CONTROL_AE_MODE | Controllo per selezionare la modalità di esposizione automatica corrente. Impostato dal framework nelle impostazioni della richiesta. |
AE_MODE_OFF | L'esposizione automatica è disattivata; l'utente controlla l'esposizione, il guadagno, la durata del frame e il flash. |
AE_MODE_ON | Esposizione automatica standard, con il controllo del flash disattivato. L'utente può impostare il flash in modalità di attivazione o torcia. |
AE_MODE_ON_AUTO_FLASH | Esposizione automatica standard, con flash attivo a discrezione dell'HAL per la preacquisizione e la cattura di foto. Controllo utente del flash disattivato. |
AE_MODE_ON_ALWAYS_FLASH | Esposizione automatica standard, con il flash sempre attivato per l'acquisizione e a discrezione dell'HAL per la preacquisizione. Controllo utente del flash disattivato. |
AE_MODE_ON_AUTO_FLASH_REDEYE | Esposizione automatica standard, con flash attivo a discrezione dell'HAL per la preacquisizione e la cattura di foto. Utilizza una raffica di flash alla fine della sequenza di preacquisizione per ridurre l'effetto occhi rossi nella foto finale. Controllo utente del flash disattivato. |
AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY | Il potenziamento automatico regola automaticamente la luminosità dello stream di anteprima in condizioni di scarsa illuminazione. Ciò può comportare un aumento della sfocatura in movimento e del rumore in condizioni di scarsa illuminazione. I produttori di dispositivi devono assicurarsi che la frequenza fotogrammi non scenda al di sotto di 10 fps. |
ANDROID_CONTROL_AE_STATE | Metadati dinamici che descrivono lo stato attuale dell'algoritmo AE, registrato dall'HAL nei metadati del risultato. |
AE_STATE_INACTIVE | Stato AE iniziale dopo il cambio di modalità. Quando il dispositivo viene aperto, deve avviarsi in questo stato. |
AE_STATE_SEARCHING | L'AE non è convergente a un valore buono e sta regolando i parametri di esposizione. |
AE_STATE_CONVERGED | L'AE ha trovato valori di esposizione buoni per la scena corrente e i parametri di esposizione non cambiano. HAL può uscire spontaneamente da questo stato per cercare una soluzione migliore. |
AE_STATE_LOCKED | L'AE è stato bloccato con il controllo AE_LOCK. I valori di esposizione non cambiano. |
AE_STATE_FLASH_REQUIRED | L'HAL ha convergono l'esposizione, ma ritiene che il flash sia necessario per un'immagine sufficientemente luminosa. Utilizzato per determinare se è possibile utilizzare un frame con tempo di esposizione zero. |
AE_STATE_PRECAPTURE | L'HAL è nel mezzo di una sequenza di preacquisizione. A seconda della modalità AE, questa modalità può comportare l'accensione del flash per la misurazione o una serie di impulsi del flash per la riduzione dell'effetto occhi rossi. |
ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER | Controllo per avviare una sequenza di misurazione prima di acquisire un'immagine di alta qualità. Impostato dal framework nelle impostazioni della richiesta. |
PRECAPTURE_TRIGGER_IDLE | Nessun attivatore corrente. |
PRECAPTURE_TRIGGER_START | Avvia una sequenza di preacquisizione. L'HAL deve utilizzare le richieste successive per misurare un'esposizione/un bilanciamento del bianco ottimali per un'acquisizione futura ad alta risoluzione. |
Voci di metadati aggiuntive | |
---|---|
ANDROID_CONTROL_AE_LOCK | Controllo per bloccare i controlli AE ai valori correnti. |
ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION | Controllo per la regolazione del punto di luminosità target dell'algoritmo AE. |
ANDROID_CONTROL_AE_TARGET_FPS_RANGE | Controllo per selezionare l'intervallo di frame rate target per l'algoritmo AE. La routine AE non può modificare la frequenza fotogrammi in modo che superi questi limiti. |
ANDROID_CONTROL_AE_REGIONS | Controllo per selezionare le regioni del FOV da utilizzare per determinare livelli di esposizione ottimali. Questo vale per tutte le modalità AE tranne OFF. |
Impostazioni del bilanciamento del bianco automatico e voci dei risultati
Voci di metadati principali | |
---|---|
ANDROID_CONTROL_AWB_MODE | Controllo per selezionare la modalità di bilanciamento del bianco corrente. |
AWB_MODE_OFF | Il bilanciamento del bianco automatico è disattivato. L'utente controlla la matrice dei colori. |
AWB_MODE_AUTO | Il bilanciamento del bianco automatico è attivo; 3A controlla la trasformazione del colore, eventualmente utilizzando trasformazioni più complesse di una semplice matrice. |
AWB_MODE_INCANDESCENT | Impostazioni di bilanciamento del bianco fisse adatte per illuminazione interna a incandescenza (tungsteno), circa 2700 K. |
AWB_MODE_FLUORESCENT | Impostazioni di bilanciamento del bianco fisse ideali per l'illuminazione fluorescente, circa 5000 K. |
AWB_MODE_WARM_FLUORESCENT | Impostazioni di bilanciamento del bianco fisse adatte per l'illuminazione fluorescente, circa 3000 K. |
AWB_MODE_DAYLIGHT | Impostazioni del bilanciamento del bianco fisse, ideali per la luce del giorno, circa 5500 K. |
AWB_MODE_CLOUDY_DAYLIGHT | Impostazioni di bilanciamento del bianco fisse ideali per la luce diurna con cielo nuvoloso, circa 6500 K. |
AWB_MODE_TWILIGHT | Impostazioni del bilanciamento del bianco corrette, ideali per l'alba/il tramonto, circa 15000 K. |
AWB_MODE_SHADE | Impostazioni di bilanciamento del bianco fisse, ideali per le aree illuminate indirettamente dal sole, circa 7500 K. |
ANDROID_CONTROL_AWB_STATE | Metadati dinamici che descrivono lo stato corrente dell'algoritmo AWB, segnalato dall'HAL nei metadati del risultato. |
AWB_STATE_INACTIVE | Stato iniziale AWB dopo il passaggio di modalità. Quando il dispositivo viene aperto, deve avviarsi in questo stato. |
AWB_STATE_SEARCHING | La bilanciatura automatica del bianco non è convergente a un valore buono e sta modificando i parametri di aggiustamento del colore. |
AWB_STATE_CONVERGED | Il bilanciamento del bianco automatico ha trovato buoni valori di regolazione del colore per la scena corrente e i parametri non cambiano. HAL può uscire spontaneamente da questo stato per cercare una soluzione migliore. |
AWB_STATE_LOCKED | L'AWB è stato bloccato con il controllo AWB_LOCK. I valori di aggiustamento del colore non cambiano. |
Voci di metadati aggiuntive | |
---|---|
ANDROID_CONTROL_AWB_LOCK | Controllo per bloccare le regolazioni del colore AWB sui valori attuali. |
ANDROID_CONTROL_AWB_REGIONS | Controllo per selezionare le regioni del campo visivo da utilizzare per determinare un buon bilanciamento del colore. Questo vale solo per la modalità bilanciamento del bianco automatico. |
Note generali sulle transizioni della macchina a stati
Il passaggio da una modalità AF, AE o AWB all'altra reimposta sempre lo stato dell'algoritmo su NON ATTIVO. Analogamente, il passaggio da CONTROL_MODE a CONTROL_SCENE_MODE se CONTROL_MODE == USE_SCENE_MODE reimposta tutti gli stati dell'algoritmo su INACTIVE.
Le tabelle riportate di seguito sono per modalità.
Macchine a stati AF
mode = AF_MODE_OFF o AF_MODE_EDOF | |||
---|---|---|---|
Stato | Causa della trasformazione | Nuovo stato | Note |
NON ATTIVO | AF è disattivato |
mode = AF_MODE_AUTO o AF_MODE_MACRO | |||
---|---|---|---|
Stato | Causa della trasformazione | Nuovo stato | Note |
NON ATTIVO | AF_TRIGGER | ACTIVE_SCAN | Avvia la ricerca automatica dell'AF Obiettivo in movimento |
ACTIVE_SCAN | Scansione AF completata | FOCUSED_LOCKED | Se AF è andato a buon fine L'obiettivo è ora bloccato |
ACTIVE_SCAN | Scansione AF completata | NOT_FOCUSED_LOCKED | Se AF è andato a buon fine L'obiettivo è ora bloccato |
ACTIVE_SCAN | AF_CANCEL | NON ATTIVO | Annullare/reimpostare l'AF L'obiettivo è ora bloccato |
FOCUSED_LOCKED | AF_CANCEL | NON ATTIVO | Annullare/reimpostare l'AF |
FOCUSED_LOCKED | AF_TRIGGER | ACTIVE_SCAN | Avvia nuovo rilevamento Obiettivo in movimento |
NOT_FOCUSED_LOCKED | AF_CANCEL | NON ATTIVO | Annullare/reimpostare l'AF |
NOT_FOCUSED_LOCKED | AF_TRIGGER | ACTIVE_SCAN | Avvia nuovo rilevamento Obiettivo in movimento |
Tutti gli stati | Cambio modalità | NON ATTIVO |
mode = AF_MODE_CONTINUOUS_VIDEO | |||
---|---|---|---|
Stato | Causa della trasformazione | Nuovo stato | Note |
NON ATTIVO | HAL avvia una nuova scansione | SCANSIONE_PASSIVA | Avvia la ricerca automatica dell'AF Obiettivo in movimento |
NON ATTIVO | AF_TRIGGER | NOT_FOCUSED_LOCKED | Query sullo stato AF L'obiettivo è ora bloccato |
SCANSIONE_PASSIVA | HAL completa la scansione corrente | PASSIVE_FOCUSED | Termina la ricerca AF L'obiettivo è ora bloccato |
SCANSIONE_PASSIVA | AF_TRIGGER | FOCUSED_LOCKED | Trasformazione immediata se la messa a fuoco è buona L'obiettivo è ora bloccato |
SCANSIONE_PASSIVA | AF_TRIGGER | NOT_FOCUSED_LOCKED | Trasformazione immediata se il fuoco non è buono L'obiettivo è ora bloccato |
SCANSIONE_PASSIVA | AF_CANCEL | NON ATTIVO | Reimposta la posizione dell'obiettivo L'obiettivo è ora bloccato |
PASSIVE_FOCUSED | HAL avvia una nuova scansione | SCANSIONE_PASSIVA | Avvia scansione AF Obiettivo in movimento |
PASSIVE_FOCUSED | AF_TRIGGER | FOCUSED_LOCKED | Trasformazione immediata se la messa a fuoco è buona L'obiettivo è ora bloccato |
PASSIVE_FOCUSED | AF_TRIGGER | NOT_FOCUSED_LOCKED | Trasformazione immediata
se il fuoco non è buono
L'obiettivo è ora bloccato |
FOCUSED_LOCKED | AF_TRIGGER | FOCUSED_LOCKED | Nessun effetto |
FOCUSED_LOCKED | AF_CANCEL | NON ATTIVO | Riavvia la ricerca AF |
NOT_FOCUSED_LOCKED | AF_TRIGGER | NOT_FOCUSED_LOCKED | Nessun effetto |
NOT_FOCUSED_LOCKED | AF_CANCEL | NON ATTIVO | Riavvia la ricerca AF |
mode = AF_MODE_CONTINUOUS_PICTURE | |||
---|---|---|---|
Stato | Causa della trasformazione | Nuovo stato | Note |
NON ATTIVO | HAL avvia una nuova scansione | SCANSIONE_PASSIVA | Avvia scansione AF Obiettivo in movimento |
NON ATTIVO | AF_TRIGGER | NOT_FOCUSED_LOCKED | Query sullo stato AF L'obiettivo è ora bloccato |
SCANSIONE_PASSIVA | HAL completa la scansione corrente | PASSIVE_FOCUSED | Termina la ricerca AF
L'obiettivo è ora bloccato |
SCANSIONE_PASSIVA | AF_TRIGGER | FOCUSED_LOCKED | Trasformazione eventuale una volta che il focus è buono L'obiettivo è ora bloccato |
SCANSIONE_PASSIVA | AF_TRIGGER | NOT_FOCUSED_LOCKED | Trasformazione eventuale se non è possibile mettere a fuoco L'obiettivo è ora bloccato |
SCANSIONE_PASSIVA | AF_CANCEL | NON ATTIVO | Reimposta la posizione dell'obiettivo L'obiettivo è ora bloccato |
PASSIVE_FOCUSED | HAL avvia una nuova scansione | SCANSIONE_PASSIVA | Avvia scansione AF Obiettivo in movimento |
PASSIVE_FOCUSED | AF_TRIGGER | FOCUSED_LOCKED | Trasformazione immediata se la messa a fuoco è buona L'obiettivo è ora bloccato |
PASSIVE_FOCUSED | AF_TRIGGER | NOT_FOCUSED_LOCKED | Trasformazione immediata se il fuoco non è corretto L'obiettivo è ora bloccato |
FOCUSED_LOCKED | AF_TRIGGER | FOCUSED_LOCKED | Nessun effetto |
FOCUSED_LOCKED | AF_CANCEL | NON ATTIVO | Riavvia la ricerca AF |
NOT_FOCUSED_LOCKED | AF_TRIGGER | NOT_FOCUSED_LOCKED | Nessun effetto |
NOT_FOCUSED_LOCKED | AF_CANCEL | NON ATTIVO | Riavvia la ricerca AF |
Macchine a stati AE e AWB
Le macchine a stati AE e AWB sono per lo più identiche. AE ha stati aggiuntivi FLASH_REQUIRED e PRECAPTURE. Pertanto, le righe di seguito che fanno riferimento a questi due stati devono essere ignorate per la macchina a stati AWB.
mode = AE_MODE_OFF / AWB mode not AUTO | |||
---|---|---|---|
Stato | Causa della trasformazione | Nuovo stato | Note |
NON ATTIVO | AE/AWB disattivata |
mode = AE_MODE_ON_* / AWB_MODE_AUTO | |||
---|---|---|---|
Stato | Causa della trasformazione | Nuovo stato | Note |
NON ATTIVO | HAL avvia la ricerca AE/AWB | RICERCA IN CORSO | |
NON ATTIVO | AE/AWB_LOCK on | BLOCCATO | Valori bloccati |
RICERCA IN CORSO | HAL completa la scansione AE/AWB | CONVERGED | Valori buoni, non cambiano |
RICERCA IN CORSO | L'HAL completa la scansione AE | FLASH_REQUIRED | Foto convergente, ma troppo scura senza flash |
RICERCA IN CORSO | AE/AWB_LOCK on | BLOCCATO | Valori bloccati |
CONVERGED | HAL avvia la ricerca AE/AWB | RICERCA IN CORSO | Valori bloccati |
CONVERGED | AE/AWB_LOCK on | BLOCCATO | Valori bloccati |
FLASH_REQUIRED | HAL avvia la ricerca AE/AWB | RICERCA IN CORSO | Valori bloccati |
FLASH_REQUIRED | AE/AWB_LOCK on | BLOCCATO | Valori bloccati |
BLOCCATO | AE/AWB_LOCK off | RICERCA IN CORSO | Valori non validi dopo lo sblocco |
BLOCCATO | AE/AWB_LOCK off | CONVERGED | Valori validi dopo lo sblocco |
BLOCCATO | AE_LOCK off | FLASH_REQUIRED | Esposizione buona, ma troppo scura |
Tutti gli stati AE | PRECAPTURE_START | PRECAPTURE | Avvia la sequenza di preacquisizione |
PRECAPTURE | Sequenza completata, AE_LOCK disattivato | CONVERGED | Pronto per l'acquisizione di immagini di alta qualità |
PRECAPTURE | Sequenza completata, AE_LOCK attivo | BLOCCATO | Pronto per l'acquisizione di immagini di alta qualità |
Attiva il controllo manuale
Nella configurazione dei blocchi 3A del dispositivo sono coinvolti anche diversi controlli per consentire il controllo diretto delle app.
Il modello HAL per il controllo 3A prevede che, per ogni richiesta, l'HAL esamini lo stato dei campi di controllo 3A. Se è attiva una routine 3A, questa override le variabili di controllo correlate e questi valori di override sono disponibili nei metadati del risultato per quella cattura. Ad esempio, se l'esposizione automatica è attivata in una richiesta, l'HAL deve sovrascrivere i campi esposizione, guadagno e durata fotogramma (e potenzialmente i campi flash, a seconda della modalità AE) della richiesta. L'elenco dei controlli pertinenti è:
Nome controllo | Unità | Note |
---|---|---|
android.control.mode | enum: OFF, AUTO, USE_SCENE_MODE | Controllo 3A di alto livello. Se impostato su OFF, tutto il controllo 3A da parte dell'HAL viene disattivato. L'app deve impostare i campi per i parametri di acquisizione. Se impostato su AUTO, vengono applicati i singoli controlli dell'algoritmo in android.control.*, ad esempio android.control.afMode. Se impostato su USE_SCENE_MODE, i singoli controlli in android.control.* sono per lo più disattivate e l'HAL implementa una delle impostazioni della modalità Scena (ad esempio Azione, Tramonto o Festa) come preferisce. |
android.control.afMode | enum | OFF indica il controllo manuale della messa a fuoco dell'obiettivo tramite android.lens.focusDistance. |
android.control.aeMode | enum | OFF indica il controllo manuale dell'esposizione/del guadagno/della durata del fotogramma tramite android.sensor.exposureTime / .sensitivity / .frameDuration |
android.control.awbMode | enum | OFF indica il controllo manuale del bilanciamento del bianco. |