Explain in the 12-bit report where the extra bits make a real difference and where they do not
This commit is contained in:
parent
4abfd7cbb2
commit
4e8413bda6
|
|
@ -18,11 +18,19 @@ colour on the tower costs 38–50 ms; the JPEG XL encode dominates, and the comp
|
||||||
slightly less time than today's RGB8 save (0.52 s on the IOTA, 0.82 s on the Delta, which is 1.6×
|
slightly less time than today's RGB8 save (0.52 s on the IOTA, 0.82 s on the Delta, which is 1.6×
|
||||||
slower). At a realistic scan pace both computers keep up and stay cool (53 °C and 66 °C); the Delta
|
slower). At a realistic scan pace both computers keep up and stay cool (53 °C and 66 °C); the Delta
|
||||||
needs two save workers to match the IOTA's single one. A 12-bit colour file at quality setting
|
needs two save workers to match the IOTA's single one. A 12-bit colour file at quality setting
|
||||||
(distance) 1.0 is 2.7 MB, smaller than today's 3.3–4.0 MB. In daylight, however, sensor noise
|
(distance) 1.0 is 2.7 MB, smaller than today's 3.3–4.0 MB. A rule for when to keep a frame
|
||||||
exceeds one 8-bit quantisation step, so the extra bits mainly carry information in deep shadow, at
|
(brightness in the camera's target band and steady for 3 frames) selected a good frame in 21 of 24
|
||||||
dusk and at night. A rule for when to keep a frame (brightness in the camera's target band and
|
tests; waiting for exposure and gain to stop changing never did.
|
||||||
steady for 3 frames) selected a good frame in 21 of 24 tests; waiting for exposure and gain to stop
|
|
||||||
changing never did.
|
The extra bits themselves add less than expected. In the daylight scene measured, the sensor's own
|
||||||
|
noise was 6–17 times larger than the error from rounding to 8 bits, which raised the total noise by
|
||||||
|
at most 1.5%; and JPEG XL compression at distance 1.0 adds about 13 times more error than that
|
||||||
|
rounding. 12 bits are expected to make a meaningful difference only where part of the image is dark
|
||||||
|
while the gain is low, as in high-contrast scenes (a bright sky over shaded forest or a backlit ridge
|
||||||
|
at dawn or dusk), where faint smoke over dark terrain is a small change in a dark value; and only if
|
||||||
|
those values are saved with little or no loss. These conditions were not measured. The 12-bit format
|
||||||
|
costs little against 8-bit raw (same file size, about 10% more processing time), but the camera
|
||||||
|
runs at 9.86 instead of 14.75 fps.
|
||||||
|
|
||||||
## Units and abbreviations
|
## Units and abbreviations
|
||||||
|
|
||||||
|
|
@ -592,7 +600,7 @@ pixel-to-pixel variation. Dashed: one 8-bit quantisation step, the smallest chan
|
||||||
can record (16 DN on the 12-bit scale). Dotted: the RMS error added by rounding to 8 bits (16/√12 =
|
can record (16 DN on the 12-bit scale). Dotted: the RMS error added by rounding to 8 bits (16/√12 =
|
||||||
4.6 DN). Noise above these lines means rounding to 8 bits loses nothing measurable.*
|
4.6 DN). Noise above these lines means rounding to 8 bits loses nothing measurable.*
|
||||||
|
|
||||||
***Table 17.** Sensor noise floor σ (DN, 12-bit scale, 0–4095) at three signal levels, green pixels,
|
***Table 17a.** Sensor noise floor σ (DN, 12-bit scale, 0–4095) at three signal levels, green pixels,
|
||||||
at 0 dB and ≈ 15 dB gain. Last column: the same noise in 8-bit steps (one step = 16 DN on the 12-bit
|
at 0 dB and ≈ 15 dB gain. Last column: the same noise in 8-bit steps (one step = 16 DN on the 12-bit
|
||||||
scale); above 1, the 8-bit values already resolve all the sensor delivers.*
|
scale); above 1, the 8-bit values already resolve all the sensor delivers.*
|
||||||
|
|
||||||
|
|
@ -602,10 +610,54 @@ scale); above 1, the 8-bit values already resolve all the sensor delivers.*
|
||||||
| ≈ 1500 | 35 | 58 | 2.2 / 3.6 |
|
| ≈ 1500 | 35 | 58 | 2.2 / 3.6 |
|
||||||
| ≈ 3000 | 37 | 80 | 2.3 / 5.0 |
|
| ≈ 3000 | 37 | 80 | 2.3 / 5.0 |
|
||||||
|
|
||||||
Rounding to 8 bits adds an RMS error of 4.6 DN (12-bit scale), small compared with this noise. In
|
**Rounding against noise.** Rounding to 8 bits adds an RMS error of 4.6 DN (12-bit scale).
|
||||||
this daylight scene, 8-bit data therefore already holds the information the sensor delivers. By
|
Independent errors add as the square root of the sum of their squares, so in the worst case measured
|
||||||
extrapolation, 12-bit data carries additional information below about 300 DN (0 dB) or 100 DN
|
(26 DN of noise at 0 dB) the total grows from 26 to 26.4 DN, i.e. by 1.5%; at ≈ 15 dB gain by 0.6%,
|
||||||
(15 dB), i.e. in deep shadow: at dusk, at night, or on the dark side of a ridge.
|
and in bright areas by less than 0.2%. Because the noise is larger than one 8-bit step, it also acts
|
||||||
|
as dither: averaging over an area recovers differences finer than one step even from 8-bit values.
|
||||||
|
For a single daylight frame, rounding to 8 bits therefore loses almost nothing measurable.
|
||||||
|
|
||||||
|
**Averaging over many pixels.** Averaging an area of N pixels reduces the noise by √N, which might
|
||||||
|
seem to favour the 12-bit image. But while the noise exceeds one 8-bit step, the rounding error is
|
||||||
|
also random and independent from pixel to pixel, so it averages down at the same rate: an average of
|
||||||
|
8-bit values resolves differences much finer than one step, as precisely as the 12-bit average. A
|
||||||
|
12-bit image always holds at least as much information as its 8-bit version, but at a noise of
|
||||||
|
26 DN (≈ 2^4.7) the four bits removed by rounding mostly record the noise itself; the information
|
||||||
|
they carry about the scene is about 0.02 bits per pixel. This changes when the noise falls below one
|
||||||
|
8-bit step: the rounding error is then the same for neighbouring pixels, averaging cannot remove it,
|
||||||
|
and the dropped bits hold real scene detail.
|
||||||
|
|
||||||
|
**Rounding against compression.** The saved file is lossy. At distance 1.0 the 12-bit colour file
|
||||||
|
has a PSNR of 36.6 dB (Table 16), an RMS error of about 61 DN, which is 13 times the rounding error;
|
||||||
|
even at distance 0.3 (40.3 dB) it is about 40 DN, and raw planes at distance 0.5 (47.2 dB) about
|
||||||
|
18 DN. Much of this error is noise the encoder discards, and JPEG XL spends relatively more
|
||||||
|
precision on dark tones, so the error in shadows is smaller than these averages; it was not measured
|
||||||
|
separately. Still, with lossy files the compression, not the bit depth, decides how much fine tonal
|
||||||
|
detail survives. Correspondingly, 12-bit and 8-bit raw give the same file size at distance 1.0
|
||||||
|
(2.65 and 2.66 MB, Table 14).
|
||||||
|
|
||||||
|
**Where 12 bits are expected to matter.** The noise falls with the signal, while the 8-bit step
|
||||||
|
stays at 16 DN. Extrapolating Figure 12, the noise drops below one 8-bit step at about 300 DN at
|
||||||
|
0 dB gain, or 100 DN at ≈ 15 dB. The 8-bit data is linear (no gamma curve), so this region, the
|
||||||
|
darkest 2–7% of the range, holds only 6–19 of the 256 8-bit levels. Gain multiplies the noise, so at
|
||||||
|
high gain the noise exceeds one 8-bit step again almost everywhere. Table 17b combines these
|
||||||
|
observations.
|
||||||
|
|
||||||
|
***Table 17b.** Situations in which 12-bit data is expected to differ from 8-bit data. Signal in DN
|
||||||
|
on the 12-bit scale (0–4095). "Measured" refers to this campaign.*
|
||||||
|
|
||||||
|
| Situation | Signal (DN), gain (dB) | Noise against one 8-bit step | Expected effect of 12 bits | Measured |
|
||||||
|
|---|---|---|---|---|
|
||||||
|
| Daylight, mid-tones and highlights (lit terrain, sky) | 700–4095, 0–15 | 1.6–5 steps | none measurable: total noise +0.2–1.5% | yes |
|
||||||
|
| Shadows in a high-contrast scene at low gain: shaded forest under a bright sky, backlit ridges, valleys at dawn and dusk | below ≈ 300 at 0 dB, ≈ 100 at 15 dB | below 1 step | 8 bits merge neighbouring levels; 12 bits keep small changes in dark areas, such as thin smoke over dark terrain | no (extrapolated) |
|
||||||
|
| Uniformly dark scene at high gain: night, gain up to 48 dB | any, high (up to 48) | above 1 step (gain amplifies noise) | little, except in the very darkest values | no |
|
||||||
|
| Strong processing of dark areas: brightening by 3 stops (×8) or more, contrast stretching | dark areas, any | – | 12 bits delay visible banding | 2 stops (×4) only: no difference (Figure 13) |
|
||||||
|
| Saving lossy at distance 1.0 | any | compression error ≈ 61 DN ≫ rounding 4.6 DN | largely lost to compression; kept in lossless files | yes, overall PSNR only |
|
||||||
|
|
||||||
|
The case most relevant to fire detection is the second: in a scene exposed for a bright sky, smoke
|
||||||
|
rising in front of shaded forest is a small brightness increase in an already dark area, at low gain.
|
||||||
|
Whether 12 bits help there, and whether that benefit survives distance 1.0, requires a test on such a
|
||||||
|
scene (a dawn or dusk frame with dark terrain under a bright sky, compared as in Figures 12 and 13).
|
||||||
|
|
||||||

|

|
||||||

|

|
||||||
|
|
@ -720,7 +772,7 @@ The towers have 11–22 GB of free storage, so images must leave the tower conti
|
||||||
| Processing | Unpack + colour conversion 38 ms (IOTA) / 50 ms (Delta); a 12-bit save 518 / 820 ms, slightly faster than today's RGB8 save (567 / 872 ms). | 3.5 |
|
| Processing | Unpack + colour conversion 38 ms (IOTA) / 50 ms (Delta); a 12-bit save 518 / 820 ms, slightly faster than today's RGB8 save (567 / 872 ms). | 3.5 |
|
||||||
| Computers | The Delta takes 1.6 times as long on the identical frame. | 3.5 |
|
| Computers | The Delta takes 1.6 times as long on the identical frame. | 3.5 |
|
||||||
| Quality | d1.0: 2.65 MB, SSIM 0.973. Raw planes keep sensor values much closer (47 vs 39 dB at 6 MB). | 3.7 |
|
| Quality | d1.0: 2.65 MB, SSIM 0.973. Raw planes keep sensor values much closer (47 vs 39 dB at 6 MB). | 3.7 |
|
||||||
| 12 bits | In daylight, noise exceeds one 8-bit step even at 0 dB; extra information only below ≈ 300 DN (deep shadow). | 3.9 |
|
| 12 bits | In daylight, rounding to 8 bits adds at most 1.5% to the noise, and compression at d1.0 adds 13 times more error than rounding. 12 bits are expected to matter only in dark areas at low gain (high-contrast scenes), and only in lightly compressed files; not measured. | 3.9 |
|
||||||
| Throughput | IOTA keeps up with a frame every 0.7 s with one worker; the Delta needs two. | 3.10 |
|
| Throughput | IOTA keeps up with a frame every 0.7 s with one worker; the Delta needs two. | 3.10 |
|
||||||
| Heat | One frame every 2 s: IOTA 53 °C / 5.1 W, Delta 66 °C / 5.7 W. | 3.11 |
|
| Heat | One frame every 2 s: IOTA 53 °C / 5.1 W, Delta 66 °C / 5.7 W. | 3.11 |
|
||||||
| Storage | 12-bit colour d1.0: 2.7 MB per frame, below today's 3.3–4.0 MB. | 3.12 |
|
| Storage | 12-bit colour d1.0: 2.7 MB per frame, below today's 3.3–4.0 MB. | 3.12 |
|
||||||
|
|
@ -777,8 +829,9 @@ between neighbouring waypoints, which decides the real pace, remains to be measu
|
||||||
4. **Keep a waypoint's frame when brightness is in the camera's target band and steady for 3
|
4. **Keep a waypoint's frame when brightness is in the camera's target band and steady for 3
|
||||||
frames**, with a time limit.
|
frames**, with a time limit.
|
||||||
5. **12-bit versus raw 8-bit is a choice, not a cost.** `BayerRG8` (14.75 fps) settles about 1 s
|
5. **12-bit versus raw 8-bit is a choice, not a cost.** `BayerRG8` (14.75 fps) settles about 1 s
|
||||||
faster in daylight and loses nothing measurable there; `BayerRG12p` preserves deep shadows at dusk
|
faster in daylight and loses nothing measurable there; `BayerRG12p` is expected to help in dark areas
|
||||||
and night. The pixel format is part of the camera profile, so the program should accept both.
|
of high-contrast scenes at low gain, such as shaded terrain under a bright sky at dawn or dusk
|
||||||
|
(Section 3.9), which remains to be tested. The pixel format is part of the camera profile, so the program should accept both.
|
||||||
6. **Store raw 12-bit planes losslessly (17–18 MB per frame) only if the detection pipeline needs
|
6. **Store raw 12-bit planes losslessly (17–18 MB per frame) only if the detection pipeline needs
|
||||||
exact sensor values**; it requires about 6 times the storage.
|
exact sensor values**; it requires about 6 times the storage.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue