

arXiv preprint · arXiv:2604.02787
8-bit SDR to 10-bit HDR with a physically-guided diffusion transformer
Shreshth Saini, Hakan Gedik, Neil Birkbeck, Yilin Wang, Balu Adsumilli, Alan C. Bovik
The University of Texas at Austin · Google, Inc.
Can we teach a generative model
the physics of light?
SDR→HDR reconstruction is ill-posed. We need physical priors and perceptual guidance: not just more data.
What starts here changes the worldThe forward pipeline from HDRTVNet (ICCV '21): every step is lossy, and inverting it is ill-posed
HDRTVNet pipeline: Raw Data → Tone Mapping → Gamut Mapping → Transfer Function → Quantization. Top (blue) = SDR. Bottom (orange) = HDR.
Luminance Compression
PQ maps 0–10,000 cd/m². Gamma tops at 100 cd/m². SDR clips 99% of the luminance range. Highlights → flat white. Shadows → crushed black. 8-bit quantization → banding.
Color Gamut Compression
BT.2020 (UHDTV, dashed outer) covers 75.8% of CIE. BT.709 (HDTV, dotted inner) covers only 35.9%. Over half the color volume is discarded: saturated greens, deep reds, vivid cyans lost irreversibly.
What starts here changes the worldSplit-view from our Beyond8Bits dataset: HDR (upper-left) vs SDR (lower-right) of the same frame
Refrigerator scene (top-left): SDR crushes shadow detail inside the fridge: metallic shelving and contents disappear to black. HDR reveals all internal structure.
Autumn lake (top-right): SDR desaturates the vivid fall foliage and loses the cloud detail in the sky. HDR preserves the full color volume and highlight gradations in the water reflection.
Crystal close-up (bottom): SDR clips the specular highlights on the gemstone to flat white. HDR preserves the translucent internal structure and surface reflections.
What starts here changes the worldComputed from real 10-bit PQ BT.2020 videos (Beyond8Bits). Red prism = Rec.709 SDR volume (≤100 nits). Orange dots = pixels outside SDR: lost in tone mapping.
Sunset scene: 15% pixels above SDR ceiling. Sun flare + specular highlights on grass reach ~1,300 nits.
Indoor/night scene: 27% pixels above SDR ceiling. Bright artificial lights reach ~2,600 nits: massive clipping.
Key insight: 15–27% of HDR pixel information is permanently destroyed by SDR conversion, and the loss is concentrated in the most perceptually important regions: highlights, specular reflections, light sources, and wide-gamut colors. This is what ITM must reconstruct.
What starts here changes the worldThree irreversible losses make exact inversion impossible: any method must hallucinate missing information
1. Many-to-One Mapping
Forward tone mapping is surjective: multiple distinct HDR luminance values (e.g., 500, 2000, 8000 cd/m²) all map to the same clipped SDR code value (255). The inverse has infinite solutions: the mapping is non-invertible.
2. Color Gamut Loss
BT.2020 → BT.709 gamut mapping discards 53% of the color volume. Saturated greens, deep reds, and vivid cyans in the wide gamut are compressed into the sRGB triangle. The original chroma information cannot be recovered from the compressed representation.
3. Quantization Loss
10-bit PQ (1024 levels) → 8-bit gamma (256 levels) destroys fine gradations. In shadows, adjacent PQ code values are 4× further apart in 8-bit, causing visible banding/contouring. In highlights, the entire upper luminance range collapses to a few code values.
Any ITM method must hallucinate plausible HDR detail where SDR has none.
This requires content-aware generative priors: not fixed curves or local CNN features.
What starts here changes the worldFrom hand-crafted curves to CNNs to diffusion: each generation has fundamental limits
Gen 1: Classical Tone Curves
BT.2446, Reinhard, Huo et al.: Fixed parametric mapping from SDR→HDR using inverse tone curves. Content-blind: the same curve is applied to sunsets, interiors, and neon signs. Cannot recover scene-specific highlights or local contrast.
Gen 2: CNN-Based Learning
HDRTVNet++ (ICCV'21): 3-branch modulation net (global, local, condition). HDCFM (MM'22): Hierarchical feature modulation with dynamic context. HDRTVDM (CVPR'23): Dynamic context transformation. Deep SR-ITM (ICCV'19): Joint super-resolution + ITM.
Limitation: Local receptive fields → cannot model global illumination. Overfit to specific TMOs used in training data.
Gen 3: Diffusion-Based
LEDiff: Latent diffusion conditioned on SDR. PromptIR: Text-guided restoration. FlashVSR: Video super-resolution with diffusion prior.
Limitation: Hue shifts, over-saturated tones, hallucinated details. No physical grounding: the model has no concept of luminance or color space.
LumaFlux (Ours)
A frozen FLUX.1-dev MM-DiT adapted with PGA, PCM, the HDR Residual Coupler, and the RQS tone-field decoder.
HDRTVNet++ (Chen et al., TMM'23): 3-step CNN pipeline: adaptive global color mapping → local enhancement → highlight refinement. All operations are local (conv + FC layers). No global scene understanding.
LEDiff (Wang et al., CVPR'25): Latent exposure fusion: encoder produces multi-exposure latents, learnable fusion in latent space, separate shadow/highlight denoisers. No physical priors, prone to hue shifts.
What LumaFlux does differently
PGA uses luminance, gradient, saturation, and spectral-band cues. PCM supplies FiLM conditioning from frozen SigLIP.
What starts here changes the worldQuality
LumaFlux reaches 23.56 PU21-PSNR and 47.59 dE-ITP on the 117-pair native track.
Solver steps
LumaFlux uses 8 steps, compared with 50 for LEDiff and 30 for X2HDR.
Runtime
LumaFlux costs 2.5 seconds per megapixel, versus 17.0 for LEDiff and 16.2 for X2HDR.
Trainable parameters
LumaFlux uses 71 M trainable parameters, versus 860 M for LEDiff and 149 M for X2HDR.
| Method | Steps | PU21-P | dE-ITP | s/MP | Params |
|---|---|---|---|---|---|
| LEDiff | 50 | 10.99 | 198.58 | 17.0 | 860 M |
| X2HDR | 30 | 18.65 | 92.20 | 16.2 | 149 M |
| LumaFlux | 8 | 23.56 | 47.59 | 2.5 | 71 M |
What starts here changes the worldVisual comparison on real HDR dataset: from FastHDRNet (arXiv 2404.04483)
Desert sunset (top) + evening cityscape (bottom). Ground Truth vs 7 methods: Ada-3DLUT, HDRTVNet, JSI-GAN, CSRNet, HDRNet, HuoPhyEO, FastHDRNet.
Color shift & washout
Ada-3DLUT & HDRTVNet wash out the sun and lose sand gradients. HDRNet introduces severe blue color shift on the cityscape. HuoPhyEO produces unnatural yellow-green cast.
Halo & detail loss
JSI-GAN adds halo artifacts around the sun disc. CSRNet and JSI-GAN lose building detail and city lights in shadow regions. No method recovers both highlights and shadows.
The common pattern
LumaFlux combines physical cues in PGA with perceptual conditioning from frozen SigLIP in PCM.
What starts here changes the worldThe generation framework behind FLUX.1-dev and LumaFlux
1. Interpolation Path
data → noise, straight line
2. Target Velocity
Constant: network learns to predict this
3. Training Loss
Simple MSE: predicted vs true velocity
4. Inference: Solve ODE
t=1→0 via Euler. Deterministic, no noise.
Color: data x₀ · noise x₁ · interpolant xₜ · time t · network vθ
What starts here changes the worldThe published rectified-flow bridge for FLUX.1-dev
From Liu et al. (ICLR '23): (a) Linear interpolation has crossing paths. (b) Rectified flow straightens them via reflow. (c-d) After rectification, paths are straight ≈ optimal transport. Figure from official Rectified Flow repo.
Generative baseline: LEDiff
Uses 50 steps, costs 17.0 seconds per megapixel, and has 860 M trainable parameters on the published native-track comparison.
LumaFlux rectified-flow bridge
Starts from z1 = VAEenc(SDR) + 0.05·ε and integrates from t=1 to t=0 in 8 steps.
Published operating point: 8 steps, prompt-free, 5.28 seconds per 1080p frame, and 27.06 GB peak memory on a single GH200.
What starts here changes the worldFrozen backbone
FLUX.1-dev MM-DiT and its VAE remain frozen. The SigLIP encoder used for perceptual conditioning also remains frozen.
Standard LoRA
LumaFlux adds gated low-rank attention residuals while keeping the backbone fixed.
What the adaptation must capture
Physical cues: luminance, gradient, saturation, and spectral bands.
Perceptual conditioning from frozen SigLIP.
Timestep-and-layer modulation.
Display-referred HDR luminance calibration.
LumaFlux: Adapting the Frozen MM-DiT
Four published components adapt the frozen model:
PGA: Physically-Guided Adaptation
PCM: Perceptual Cross-Modulation
RQS tone-field decoder
HDR Residual Coupler
71,315,893 trainable parameters, 0.57% of the FLUX.1-dev backbone
What starts here changes the world
The LumaFlux path adds PGA, PCM, the HDR Residual Coupler, and the RQS tone-field decoder while keeping FLUX.1-dev frozen.
CNN: Local, no physical priors, no global context
MM-DiT: Frozen FLUX.1-dev backbone and VAE
Adapted MM-DiT: SigLIP, physical cues, HDR Residual Coupler, and RQS
What starts here changes the world
PGA
Luminance + gradient + saturation + FFT → gated LoRA on WV
PCM
Frozen SigLIP → cross-attn → FiLM: γ⊙LN(h)+ζ
HDR Residual Coupler
Fuses physical and perceptual paths under timestep-and-layer modulation
RQS tone-field decoder
Monotone rational-quadratic spline for display-referred HDR luminance
What starts here changes the worldThe colored adaptation paths contain 71,315,893 trainable parameters, 0.57% of the frozen backbone
The adapted block adds PGA, PCM, and the HDR Residual Coupler.
// Frozen MM-DiT block
z → LN(z)
Q = zWQ, K = zWK
V = zWV
h = Attn(Q,K,V)
z = z + h + MLP(LN(z))
// + LumaFlux adaptation:
V = z(WV0 + Rvt,ℓ) ← PGA
h = γt,ℓ⊙LN(h) + ζt,ℓ ← PCM
z += λ(WpTphys + WcC(Tperc)) ← Coupler
HDR Residual Coupler
Fuses the physical and perceptual paths under timestep-and-layer modulation.
What starts here changes the worldStep 1: Extract physical features
Step 2: Physical & spectral gating
Step 3: Modulated LoRA
Three multiplicative modulations:
Timestep-and-layer modulation: adapts the residuals across the solver trajectory and model depth.
Gphys: Per-head luminance-aware gating. Sigmoid: 0=suppress, 1=pass.
gFFT: Frequency-aware gating. Prevents over-expansion in smooth (low-freq) regions.
Key property: Unlike standard LoRA (static), PGA is input-dependent, timestep-adaptive, and frequency-aware. The same image region gets different adaptation at different diffusion timesteps.
What starts here changes the worldPerceptual Cross-Modulation
FiLM: scale & shift per dimension after layer norm. Enforces color constancy: e.g., brighten sky highlights without shifting skin tones.
RQS Tone-Field Decoder
Monotone rational-quadratic spline calibration.
Monotonic: preserves luminance ordering.
Differentiable & invertible.
Operates in YUV BT.2020: separates luminance from chroma.
Rectified-flow bridge
z1 = VAEenc(SDR) + 0.05·εInference
Integrate t=1 to t=0 in K=8 stepsNo text prompt and no sampling-strength knob.
What starts here changes the world314,396 SDR-HDR pairs from 2,092 source videos
| Source | Published scope | Role |
|---|---|---|
| CHUG | 856 reference contents | User-generated HDR |
| LIVE-TMHDR | 40 references + 120 SDR clips | Expert-graded SDR |
| HDRTV1K | 1,235 training pairs | Native pairs |
| Sol Levante | HDR10 master | Open content |
Frozen degradation chain
8 tone-mapping operators, BT.2020-to-BT.709 gamut conversion, and 3 CRF settings. Inputs also include genuine expert grades.
Training Configuration
Backbone: Frozen FLUX.1-dev and VAE
Trainable: 71,315,893 parameters, 0.57%
Main model: 100,000 optimizer steps, global batch 16, lr 2e-4, 512px crops, bf16
Training: Four GH200 GPUs, about 36 hours, approximately 144 GPU-hours
Inference: 8 steps, prompt-free, 5.28 s per 1080p frame
Evaluation Benchmarks
HDRTV1K
117 published test pairs
Generative class
117 native-track pairs
Luma-Eval
Three tracks
Seven metrics
PU21-PSNR, PU21-PSNR-Y, PU21-SSIM, dE-ITP, HDR-LPIPS, HDR-VDP-3, and FR-HIDROVQA
What starts here changes the world| Method | PU21-P↑ | PU21-S↑ | dE-ITP↓ | LPIPS↓ | VDP-3↑ | HIDRO↓ |
|---|---|---|---|---|---|---|
| BT.2446c inverse | 23.74 | 0.8291 | 61.60 | 0.307 | 5.611 | 0.753 |
| Reinhard inverse | 23.62 | 0.8286 | 61.76 | 0.295 | 5.726 | 0.753 |
| HDRTVNet++ | 23.03 | 0.8192 | 66.67 | 0.328 | 5.417 | 0.703 |
| FMNet | 22.86 | 0.8176 | 67.92 | 0.330 | 5.412 | 0.724 |
| KUNet | 22.27 | 0.8111 | 70.40 | 0.325 | 5.445 | 0.693 |
| ITM-LUT | 22.92 | 0.8142 | 67.41 | 0.315 | 5.496 | 0.761 |
| VAE+RQS | 18.54 | 0.7647 | 111.67 | 0.381 | 3.673 | 0.924 |
| LumaFlux | 24.23 | 0.8294 | 56.54 | 0.269 | 5.812 | 0.631 |
LumaFlux is best in every column. The Luma-Eval synthetic track uses 100 held-out frames and identical inputs, output encoding, and metric implementations for every method.
What starts here changes the world
SDR Input (left half)
The source is an 8-bit SDR BT.709 image.
LumaFlux HDR Output (right half)
The output is 10-bit HDR in PQ BT.2020, produced prompt-free in 8 solver steps.
Published limitation
The frozen VAE is not an HDR codec. The tone head cannot invent detail absent from heavily clipped SDR.
What starts here changes the worldSDR input (left) vs LumaFlux HDR output (right): split view with zoomed crop below
SDR input (left half)
The source is an 8-bit SDR BT.709 image.
LumaFlux output (right half)
The output is 10-bit HDR in PQ BT.2020, produced prompt-free in 8 solver steps.
Published limitation
Mean ITP chroma is 60.65 for LumaFlux versus 49.80 for the references, indicating slight oversaturation.
What starts here changes the worldPublished measurements on a single GH200
| Measure | Published value | Context |
|---|---|---|
| Solver steps | 8 | Prompt-free |
| 1080p runtime | 5.28 s | Single GH200 |
| Peak memory | 27.06 GB | Single GH200 |
| 40-step cost | 4.7x | No quality gain |
| Trainable parameters | 71,315,893 | 0.57% of backbone |
| Adapter file | 285 MB | Backbone separate |
Eight steps is the published operating point.
Published efficiency summary
Comparison with 40 steps
Forty steps cost 4.7 times more with no quality gain. LumaFlux therefore operates at 8 steps.
What starts here changes the worldThe same image model is used for video, with no temporal layers, optical flow, video fine-tuning, or temporal loss
Shared bridge noise
The same bridge-noise realization is shared across frames.
RQS-parameter EMA
An EMA is applied to the RQS parameters used across frames.
No temporal model
No temporal layers, optical flow, video fine-tuning, or temporal loss are used.
What starts here changes the worldKey insights
Remaining challenges
What starts here changes the world8-bit SDR to 10-bit HDR. Prompt-free BT.709 to PQ BT.2020 conversion in 8 solver steps.
71.3M trainable parameters. Only 0.57% of the frozen FLUX.1-dev backbone.
Best on every Luma-Eval metric. The margin over the strongest baseline is +0.49 dB and -5.06 dE-ITP.
Training-free video stabilization. Shared noise and an RQS-parameter EMA cut signed excess PU21 flicker by 53.3%.
Code and adapter weights are released. The weights require FLUX.1-dev and use its Non-Commercial License.