Funzionalità aggiuntive

Sei un Senior Software Architect e Lead Engineer. Il tuo obiettivo è estendere l'applicazione desktop standalone "Titano" integrando un set di moduli e funzionalità avanzate per la gestione di scenari time-lapse complessi e la produzione cinematografica.

REQUISITO FONDAMENTALE E VINCOLO STRUTTURALE:
Tutte le funzionalità aggiuntive DEVONO ESSERE SVILUPPATE COMPLETAMENTE "IN-HOUSE", SENZA UTILIZZARE LIBRERIE TERZE, PACCHETTI ESTERNI O UTILITY CLI DI TERZE PARTI. Tutta la matematica dei vettori, l'analisi di segmentazione, le interpolazioni di bilanciamento del colore, le trasformazioni geometriche sub-pixel e la composizione dei buffer devono essere implementate nativamente sfruttando unicamente le API del sistema operativo e del linguaggio.


Requisiti Funzionali dei Moduli Avanzati

  1. Gestione Transizioni "Holy Grail" (Day-to-Night) e Color Smoothing

    • Implementare un sistema di analisi nativa del bilanciamento del bianco e della temperatura colore basato sui metadati e sull'analisi spettrale dei fotogrammi.
    • Sviluppare un algoritmo di interpolazione non lineare per ammorbidire i salti improvvisi di ISO, tempi di scatto e bilanciamento dei bianchi tipici dei passaggi giorno-notte.
    • Applicare una correzione graduale della tinta senza introdurre banding o artefatti di compressione nel dominio del colore.
  2. Motore di Virtual Camera Motion 2D (Motion Control Digitale)

    • Sfruttare la risoluzione nativa delle immagini per consentire ritagli operativi (cropping) e movimenti di macchina virtuali in output (es. 4K/8K).
    • Realizzare un sistema di keyframing per gestire movimenti di Pan, Tilt e Zoom.
    • Implementare curve di accelerazione e decelerazione (easing Bézier custom) per garantire che i movimenti virtuali risultino fluidi e naturali.
  3. Deflicker Selettivo per Regioni (Region-Based Deflicker)

    • Implementare un algoritmo di segmentazione automatica del fotogramma basato sull'analisi dell'istogramma e del gradiente (es. separazione tra regione cielo e regione terra).
    • Calcolare curve di luminanza indipendenti per le diverse aree dell'immagine.
    • Consentire un deflicker dinamico selettivo per evitare che il transito di elementi scuri isolati (es. nuvole dense) alteri l'esposizione delle zone statiche del paesaggio.
  4. Sistema di Accumulo e Filtraggio Temporale (Dynamic Stacking)

    • Implementare una modalità di filtraggio basata sulla mediana temporale su una finestra di N fotogrammi per identificare e rimuovere automaticamente elementi di disturbo occasionali (es. persone, veicoli o uccelli).
    • Implementare una modalità di sovrapposizione a massima luminanza (Star Trails) per fondere in streaming i picchi di luce degli scatti notturni, generando scie stellari continue.
  5. Stabilizzazione Sub-Pixel per Micro-Urti

    • Sviluppare un algoritmo di autocorrelazione di fase e matching di pattern a bassa latenza per identificare micro-spostamenti accidentali tra fotogrammi adiacenti (es. vibrazioni da vento sul treppiede).
    • Calcolare la matrice di trasformazione ed eseguire il riallineamento geometrico con precisione sub-pixel sui buffer d'immagine prima del rendering.
  6. Gestione della Velocità e Time-Ramping Non Lineare

    • Creare un sistema di rimappatura temporale basato su spline grafiche.
    • Permettere l'accelerazione o il rallentamento di specifiche porzioni della sequenza (es. velocizzare la fase statica e rallentare la fase centrale del tramonto) mantenendo un frame rate di output fisso e sintetizzando i fotogrammi necessari tramite il motore di optical flow nativo.

Esecuzione e Integrazione Architetturale

Procedi nell'integrazione di questi moduli rispettando la seguente sequenza:

  1. Sviluppa l'algoritmo di autocorrelazione di fase per la stabilizzazione sub-pixel.
  2. Implementa la segmentazione dell'immagine e il deflicker selettivo regionale.
  3. Costruisci il modulo di interpolazione per le transizioni "Holy Grail" e la gestione della temperatura colore.
  4. Sviluppa le trasformazioni geometriche per il Virtual Camera Motion (Pan/Tilt/Zoom) e il Time-Ramping.
  5. Integra le modalità di stacking temporale (Mediana/Anti-Fantasmi e Maximum/Star Trails) nella pipeline di streaming.
  6. Aggiorna l'interfaccia utente con i controlli grafici dedicati (curve spline, keyframe e impostazioni di regione).