oidn-web 0.3.5 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/README.md +208 -8
  3. package/dist/oidn.js +4699 -22516
  4. package/dist/oidn.umd.cjs +989 -5796
  5. package/lib/UNet.d.ts +111 -26
  6. package/lib/UNet.js +310 -329
  7. package/lib/UNet.js.map +1 -1
  8. package/lib/WGPUComputePass.d.ts +1 -1
  9. package/lib/WGPUComputePass.js +6 -4
  10. package/lib/WGPUComputePass.js.map +1 -1
  11. package/lib/backend.d.ts +1 -4
  12. package/lib/backend.js +28 -44
  13. package/lib/backend.js.map +1 -1
  14. package/lib/finalRgbShader.d.ts +13 -0
  15. package/lib/finalRgbShader.js +160 -0
  16. package/lib/finalRgbShader.js.map +1 -0
  17. package/lib/graphOptimizer.d.ts +54 -0
  18. package/lib/graphOptimizer.js +215 -0
  19. package/lib/graphOptimizer.js.map +1 -0
  20. package/lib/hdrTransfer.d.ts +14 -0
  21. package/lib/hdrTransfer.js +61 -0
  22. package/lib/hdrTransfer.js.map +1 -0
  23. package/lib/main.d.ts +43 -11
  24. package/lib/main.js +9 -5
  25. package/lib/main.js.map +1 -1
  26. package/lib/modelSpec.d.ts +80 -0
  27. package/lib/modelSpec.js +270 -0
  28. package/lib/modelSpec.js.map +1 -0
  29. package/lib/nativeUNet.d.ts +103 -0
  30. package/lib/nativeUNet.js +2064 -0
  31. package/lib/nativeUNet.js.map +1 -0
  32. package/lib/process.d.ts +5 -11
  33. package/lib/process.js +38 -49
  34. package/lib/process.js.map +1 -1
  35. package/lib/resourceTracker.d.ts +26 -0
  36. package/lib/resourceTracker.js +65 -0
  37. package/lib/resourceTracker.js.map +1 -0
  38. package/lib/tileScheduler.d.ts +61 -0
  39. package/lib/tileScheduler.js +199 -0
  40. package/lib/tileScheduler.js.map +1 -0
  41. package/lib/webnnUNet.d.ts +52 -0
  42. package/lib/webnnUNet.js +535 -0
  43. package/lib/webnnUNet.js.map +1 -0
  44. package/package.json +16 -5
  45. package/src/UNet.ts +463 -437
  46. package/src/WGPUComputePass.ts +6 -4
  47. package/src/backend.ts +33 -59
  48. package/src/finalRgbShader.ts +186 -0
  49. package/src/graphOptimizer.ts +300 -0
  50. package/src/hdrTransfer.ts +88 -0
  51. package/src/main.ts +95 -20
  52. package/src/modelSpec.ts +414 -0
  53. package/src/nativeUNet.ts +2655 -0
  54. package/src/process.ts +46 -71
  55. package/src/resourceTracker.ts +94 -0
  56. package/src/tileScheduler.ts +330 -0
  57. package/src/webnnUNet.ts +812 -0
  58. package/lib/helper.d.ts +0 -4
  59. package/lib/helper.js +0 -33
  60. package/lib/helper.js.map +0 -1
  61. package/lib/kernels.d.ts +0 -1
  62. package/lib/kernels.js +0 -26
  63. package/lib/kernels.js.map +0 -1
  64. package/src/helper.ts +0 -43
  65. package/src/kernels.ts +0 -31
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeUNet.js","sourceRoot":"","sources":["../src/nativeUNet.ts"],"names":[],"mappings":"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"}
package/lib/process.d.ts CHANGED
@@ -1,3 +1,6 @@
1
+ import { type HDRTransfer } from './hdrTransfer';
2
+ export { hdrTransferFuncCPU, hdrTransferFuncInverseCPU } from './hdrTransfer';
3
+ export type { HDRTransfer } from './hdrTransfer';
1
4
  export declare class Tile {
2
5
  x: number;
3
6
  y: number;
@@ -9,25 +12,16 @@ export declare function avgLogLum({ data, channels }: {
9
12
  data: Float32Array;
10
13
  channels: number;
11
14
  }): number;
12
- export declare function hdrTransferFuncCPU({ data, channels, inputScale }: {
13
- data: Float32Array;
14
- channels: number;
15
- inputScale: number;
16
- }): Float32Array<ArrayBuffer>;
17
- export declare function hdrTransferFuncInverseCPU({ data, channels, inputScale }: {
18
- data: Float32Array;
19
- channels: number;
20
- inputScale: number;
21
- }): Float32Array<ArrayBuffer>;
22
15
  export declare class GPUDataProcess {
23
16
  private _device;
24
17
  private _isHDR;
18
+ private _hdrTransfer;
25
19
  private _inputPassAux;
26
20
  private _inputPassColor;
27
21
  private _outputPass;
28
22
  private _copyPass;
29
23
  private _isInputTexture?;
30
- constructor(_device: GPUDevice, _isHDR: boolean);
24
+ constructor(_device: GPUDevice, _isHDR: boolean, _hdrTransfer?: HDRTransfer);
31
25
  private _updatePasses;
32
26
  setImageSize(w: number, h: number): void;
33
27
  setInputTile(tile: Tile): void;
package/lib/process.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { WGPUComputePass } from './WGPUComputePass';
2
+ export { hdrTransferFuncCPU, hdrTransferFuncInverseCPU } from './hdrTransfer';
2
3
  const a = 1.41283765e3;
3
4
  const b = 1.64593172;
4
5
  const c = 4.31384981e-1;
@@ -38,6 +39,8 @@ const yMax = 65504;
38
39
  const xMax = PUForward(yMax);
39
40
  const normScale = 1 / xMax;
40
41
  const rcpNormScale = xMax;
42
+ const logXMax = Math.log(yMax + 1);
43
+ const logNormScale = 1 / logXMax;
41
44
  export class Tile {
42
45
  x;
43
46
  y;
@@ -68,32 +71,6 @@ export function avgLogLum({ data, channels }) {
68
71
  // https://github.com/RenderKit/oidn/blob/713ec7838ba650f99e0a896549c0dca5eeb3652d/training/color.py#L173
69
72
  return key / Math.pow(2, averageLuminance);
70
73
  }
71
- export function hdrTransferFuncCPU({ data, channels, inputScale }) {
72
- const newData = new Float32Array(data.length);
73
- newData.set(data);
74
- // https://github.com/RenderKit/oidn/blob/713ec7838ba650f99e0a896549c0dca5eeb3652d/core/color.h#L71
75
- for (let i = 0; i < newData.length; i += channels) {
76
- // First three are color
77
- for (let c = 0; c < 3; c++) {
78
- let y = newData[i + c] * inputScale;
79
- // https://github.com/RenderKit/oidn/blob/713ec7838ba650f99e0a896549c0dca5eeb3652d/devices/cpu/color.ispc#L135
80
- newData[i + c] = PUForward(y) * normScale;
81
- }
82
- }
83
- return newData;
84
- }
85
- export function hdrTransferFuncInverseCPU({ data, channels, inputScale }) {
86
- const newData = new Float32Array(data.length);
87
- newData.set(data);
88
- const outputScale = 1 / inputScale;
89
- for (let i = 0; i < newData.length; i += channels) {
90
- for (let c = 0; c < 3; c++) {
91
- let x = newData[i + c] * rcpNormScale;
92
- newData[i + c] = PUInverse(x) * outputScale;
93
- }
94
- }
95
- return newData;
96
- }
97
74
  const constsCode = `
98
75
  const a = ${a};
99
76
  const b = ${b};
@@ -113,14 +90,16 @@ const rcpNormScale = ${rcpNormScale};
113
90
  export class GPUDataProcess {
114
91
  _device;
115
92
  _isHDR;
93
+ _hdrTransfer;
116
94
  _inputPassAux;
117
95
  _inputPassColor;
118
96
  _outputPass;
119
97
  _copyPass;
120
98
  _isInputTexture;
121
- constructor(_device, _isHDR) {
99
+ constructor(_device, _isHDR, _hdrTransfer = 'pu') {
122
100
  this._device = _device;
123
101
  this._isHDR = _isHDR;
102
+ this._hdrTransfer = _hdrTransfer;
124
103
  const commonUniforms = [
125
104
  {
126
105
  label: 'inputScale',
@@ -230,26 +209,40 @@ out_color[outIdx] = textureLoad(in_color, globalId.xy, 0);
230
209
  }
231
210
  this._isInputTexture = isInputTexture;
232
211
  const isHDR = this._isHDR;
212
+ const hdrForwardCode = this._hdrTransfer === 'log'
213
+ ? `fn HDRForward(y: f32) -> f32 { return log(y + 1.0) * logNormScale; }`
214
+ : `fn HDRForward(y: f32) -> f32 {
215
+ if (y <= y0) { return a * y * normScale; }
216
+ else if (y <= y1) { return (b * pow(y, c) + d) * normScale; }
217
+ else { return (e * log(y + f) + g) * normScale; }
218
+ }`;
219
+ const hdrInverseCode = this._hdrTransfer === 'log'
220
+ ? `fn HDRInverse(x: f32) -> f32 { return exp(x * logXMax) - 1.0; }`
221
+ : `fn HDRInverse(x: f32) -> f32 {
222
+ let y = x * rcpNormScale;
223
+ if (y <= x0) { return y / a; }
224
+ else if (y <= x1) { return pow((y - d) / b, 1 / c); }
225
+ else { return exp((y - g) / e) - f; }
226
+ }`;
233
227
  const commonCSDefine = /* wgsl */ `
234
228
  ${constsCode}
235
- fn PUForward(y: f32) -> f32 {
236
- if (y <= y0) {
237
- return a * y;
238
- } else if (y <= y1) {
239
- return b * pow(y, c) + d;
240
- } else {
241
- return e * log(y + f) + g;
242
- }
243
- }`;
229
+ const logXMax = ${logXMax};
230
+ const logNormScale = ${logNormScale};
231
+ ${hdrForwardCode}`;
244
232
  function readInputCode(inputName) {
245
233
  return isInputTexture
246
- ? `textureLoad(in_${inputName}, globalId.xy + vec2u(inputOffset), 0)`
234
+ ? `textureLoad(in_${inputName}, vec2u(inputPosition), 0)`
247
235
  : `in_${inputName}[inIdx]`;
248
236
  }
249
237
  const commonCSMain = /* wgsl */ `
250
238
  let x = i32(globalId.x);
251
239
  let y = i32(globalId.y);
252
- let inIdx = (y + inputOffset.y) * inputSize.x + (x + inputOffset.x);
240
+ let inputPosition = clamp(
241
+ vec2i(x, y) + inputOffset,
242
+ vec2i(0),
243
+ inputSize - vec2i(1)
244
+ );
245
+ let inIdx = inputPosition.y * inputSize.x + inputPosition.x;
253
246
  let col = ${readInputCode('color')};
254
247
 
255
248
  let outIdx = y * outputSize.x + x;
@@ -259,7 +252,7 @@ if (${denoiseAlpha}) {
259
252
  out_color[outIdx] = vec3f(1.0 - col.a);
260
253
  }
261
254
  else if (${isHDR}) {
262
- out_color[outIdx] = vec3f(PUForward(col.r * inputScale), PUForward(col.g * inputScale), PUForward(col.b * inputScale)) * normScale;
255
+ out_color[outIdx] = vec3f(HDRForward(col.r * inputScale), HDRForward(col.g * inputScale), HDRForward(col.b * inputScale));
263
256
  }
264
257
  else {
265
258
  out_color[outIdx] = col.rgb;
@@ -284,15 +277,8 @@ ${commonCSMain}
284
277
  this._outputPass.setCSCode({
285
278
  csDefine: /* wgsl */ `
286
279
  ${constsCode}
287
- fn PUInverse(y: f32) -> f32 {
288
- if (y <= x0) {
289
- return y / a;
290
- } else if (y <= x1) {
291
- return pow((y - d) / b, 1 / c);
292
- } else {
293
- return exp((y - g) / e) - f;
294
- }
295
- }
280
+ const logXMax = ${logXMax};
281
+ ${hdrInverseCode}
296
282
  `,
297
283
  csMain: /* wgsl */ `
298
284
  let x = i32(globalId.x);
@@ -312,7 +298,7 @@ if (${denoiseAlpha}) {
312
298
  }
313
299
  else if (${isHDR}) {
314
300
  out_color[outIdx] = vec4f(
315
- vec3f(PUInverse(col.r * rcpNormScale), PUInverse(col.g * rcpNormScale), PUInverse(col.b * rcpNormScale)) / inputScale,
301
+ vec3f(HDRInverse(col.r), HDRInverse(col.g), HDRInverse(col.b)) / inputScale,
316
302
  // Pick the alpha
317
303
  raw.a
318
304
  );
@@ -426,6 +412,9 @@ else {
426
412
  dispose() {
427
413
  this._outputPass.dispose();
428
414
  this._inputPassAux.dispose();
415
+ this._inputPassColor.dispose();
416
+ // copyPass borrows outputPass's target and must not destroy it again.
417
+ this._copyPass.dispose(false);
429
418
  }
430
419
  }
431
420
  //# sourceMappingURL=process.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"process.js","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export type OIDNResourceKind = 'gpu-buffer' | 'gpu-query-set' | 'ml-context' | 'ml-graph' | 'ml-tensor';
2
+ export interface OIDNResourceStats {
3
+ created: number;
4
+ destroyed: number;
5
+ live: number;
6
+ peakLive: number;
7
+ }
8
+ export interface OIDNResourceSnapshot {
9
+ live: number;
10
+ created: number;
11
+ destroyed: number;
12
+ peakLive: number;
13
+ pending: number;
14
+ byKind: Partial<Record<OIDNResourceKind, OIDNResourceStats>>;
15
+ }
16
+ /**
17
+ * Counts explicitly owned browser resources. Keeping the ownership registry in
18
+ * production makes cache eviction and failure cleanup testable without relying
19
+ * on JS heap measurements, which do not include WebGPU allocations.
20
+ */
21
+ export declare class OIDNResourceTracker {
22
+ private _stats;
23
+ track<T extends object>(kind: OIDNResourceKind, resource: T): T;
24
+ release(kind: OIDNResourceKind, resource: object | undefined, destroy: () => void): boolean;
25
+ snapshot(pending?: number): OIDNResourceSnapshot;
26
+ }
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Counts explicitly owned browser resources. Keeping the ownership registry in
3
+ * production makes cache eviction and failure cleanup testable without relying
4
+ * on JS heap measurements, which do not include WebGPU allocations.
5
+ */
6
+ export class OIDNResourceTracker {
7
+ _stats = new Map();
8
+ track(kind, resource) {
9
+ let stats = this._stats.get(kind);
10
+ if (!stats) {
11
+ stats = {
12
+ created: 0,
13
+ destroyed: 0,
14
+ live: 0,
15
+ peakLive: 0,
16
+ resources: new Set()
17
+ };
18
+ this._stats.set(kind, stats);
19
+ }
20
+ if (stats.resources.has(resource))
21
+ return resource;
22
+ stats.resources.add(resource);
23
+ stats.created++;
24
+ stats.live++;
25
+ stats.peakLive = Math.max(stats.peakLive, stats.live);
26
+ return resource;
27
+ }
28
+ release(kind, resource, destroy) {
29
+ if (!resource)
30
+ return false;
31
+ const stats = this._stats.get(kind);
32
+ if (!stats?.resources.delete(resource))
33
+ return false;
34
+ try {
35
+ destroy();
36
+ }
37
+ finally {
38
+ stats.destroyed++;
39
+ stats.live--;
40
+ }
41
+ return true;
42
+ }
43
+ snapshot(pending = 0) {
44
+ let live = 0;
45
+ let created = 0;
46
+ let destroyed = 0;
47
+ let peakLive = 0;
48
+ const byKind = {};
49
+ for (const [kind, stats] of this._stats) {
50
+ const entry = {
51
+ created: stats.created,
52
+ destroyed: stats.destroyed,
53
+ live: stats.live,
54
+ peakLive: stats.peakLive
55
+ };
56
+ byKind[kind] = entry;
57
+ live += entry.live;
58
+ created += entry.created;
59
+ destroyed += entry.destroyed;
60
+ peakLive += entry.peakLive;
61
+ }
62
+ return { live, created, destroyed, peakLive, pending, byKind };
63
+ }
64
+ }
65
+ //# sourceMappingURL=resourceTracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resourceTracker.js","sourceRoot":"","sources":["../src/resourceTracker.ts"],"names":[],"mappings":"AA2BA;;;;GAIG;AACH,MAAM,OAAO,mBAAmB;IACtB,MAAM,GAAG,IAAI,GAAG,EAA0C,CAAC;IAEnE,KAAK,CAAmB,IAAsB,EAAE,QAAW;QACzD,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG;gBACN,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,CAAC;gBACZ,IAAI,EAAE,CAAC;gBACP,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,IAAI,GAAG,EAAE;aACrB,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;QACnD,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,EAAE,CAAC;QACb,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACtD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,CACL,IAAsB,EACtB,QAA4B,EAC5B,OAAmB;QAEnB,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QACrD,IAAI,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,KAAK,CAAC,SAAS,EAAE,CAAC;YAClB,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,OAAO,GAAG,CAAC;QAClB,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,MAAM,MAAM,GAAmC,EAAE,CAAC;QAClD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG;gBACZ,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YACrB,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC;YACnB,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;YACzB,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC;YAC7B,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACjE,CAAC;CACF"}
@@ -0,0 +1,61 @@
1
+ export interface DynamicTileOptions {
2
+ /** Smallest output tile edge. Defaults to 256. */
3
+ minTileSize?: number;
4
+ /** Initial maximum output tile edge. Defaults to 432. */
5
+ initialTileSize?: number;
6
+ /** Desired upper bound for one tile's GPU latency. Defaults to 16 ms. */
7
+ targetTileTimeMs?: number;
8
+ /** Amount added or removed after each completed execution. Defaults to 16. */
9
+ adjustmentStep?: number;
10
+ }
11
+ export type DynamicTileSetting = boolean | DynamicTileOptions;
12
+ export declare const OIDN_TILE_ALIGNMENT = 16;
13
+ export interface TileRect {
14
+ x: number;
15
+ y: number;
16
+ width: number;
17
+ height: number;
18
+ }
19
+ export interface PlannedTile {
20
+ column: number;
21
+ row: number;
22
+ input: TileRect;
23
+ output: TileRect;
24
+ }
25
+ export interface TilePlan {
26
+ columns: number;
27
+ rows: number;
28
+ overlap: number;
29
+ maxOutputWidth: number;
30
+ maxOutputHeight: number;
31
+ inputPixelCount: number;
32
+ inputShapeCount: number;
33
+ tiles: PlannedTile[];
34
+ }
35
+ /**
36
+ * Splits an image into balanced rectangular output regions. Only sides that
37
+ * touch another tile receive a halo; image edges rely on the model's normal
38
+ * boundary behavior instead of doing redundant off-edge work.
39
+ */
40
+ export declare function planTileGrid(width: number, height: number, maxTileSize: number, overlap: number): TilePlan;
41
+ /** Fits one output dimension without exceeding the configured tile cap. */
42
+ export declare function fitTileDimension(imageSize: number, maxTileSize: number): number;
43
+ /**
44
+ * Chooses an output tile size from completed GPU timings. A size change is
45
+ * applied to the next execution so one in-flight tiled pass keeps a stable
46
+ * overlap, allocation plan, and pipeline set.
47
+ */
48
+ export declare class DynamicTileController {
49
+ readonly enabled: boolean;
50
+ readonly maxTileSize: number;
51
+ readonly minTileSize: number;
52
+ readonly targetTileTimeMs: number;
53
+ private _tileSize;
54
+ private _adjustmentStep;
55
+ private _smoothedTileTimeMs?;
56
+ private _completeExecutionsSinceChange;
57
+ constructor(maxTileSize: number, setting?: DynamicTileSetting);
58
+ get tileSize(): number;
59
+ /** Returns true when the next execution should use a different tile size. */
60
+ observe(tileTimesMs: number[]): boolean;
61
+ }