Nodes/DJZ-Nodes/Image Interleaved Upscaler (720p to 1080i)
ComfyUI Node

Image Interleaved Upscaler (720p to 1080i)

Upscaling with an interlaced-field trick

By MushroomFleet·Created 2 years ago·Updated 5 months ago· 80
Image Interleaved Upscaler (720p to 1080i)
  • image
  • IMAGE
input_width1280
input_height720
scale_factor1.5
field_ordertop_first
blend_factor0.25
interpolation_modebilinear
field_strength1.0
edge_enhancement0.0

Here's the thing about upscaling: the boring interpolators (Lanczos, bilinear) add no detail, and the exciting ones (real-ESRGAN, SeedVR2) add a lot but cost a model. ImageInterleavedUpscaler is a third path - it's not a model at all. It fakes some of the "crispness" of a real upscale by treating the image like interlaced video: split it into even and odd horizontal fields, upscale, then recombine with controllable blending and edge sharpening. Display name in ComfyUI says it all: "Image Interleaved Upscaler (720p to 1080i)." It's aimed at that specific job - bumping SD-quality frames toward broadcast-size with a bit of perceived detail.

How it works

The pipeline is short: upscale the whole image to the target size (interpolation mode is your choice - bilinear, bicubic, or nearest), then separate the result into alternating scanline fields, process each field independently, blend them back together, and optionally add Sobel edge enhancement. The field separation and recombination is the whole gimmick - adjacent scanlines come from "different" data, which reads as slightly richer texture than a plain resize, especially on synthetic or low-detail frames.

The inputs that matter

  • input_width / input_height (defaults 1280×720) and scale_factor (default 1.5) - target size. The defaults produce 1920×1080 from a 1280×720 source: that's the 720p→1080i use case the node is built for.
  • field_order (top_first/bottom_first) - which field processes first. Flipping it changes which scanlines carry which data; it's a fine detail, but you can see the difference on fine horizontal textures.
  • blend_factor (0–1, default 0.25) - how hard the two fields blend back together. Low = sharper, more visible field separation (more of the "crisp" artifact); high = smoother, closer to a plain upscale.
  • field_strength (0–2, default 1) - how prominent the interlace effect is. Push to 1.5–2 and it turns into an obvious retro-interlace look; keep it near 1 for the subtle version.
  • edge_enhancement (0–1, default 0) - Sobel-based sharpening on top. Small values (0.2–0.3) perk up edges; too much and you get halos.

Output: one IMAGE, batch-safe.

The honest take

Be clear-eyed about what this is: it's an enhancement trick, not a detail generator. The upscaling knowledge base in this space makes the same distinction - "more pixels" vs "more detail" are different jobs. This node is firmly in the "more pixels" camp, and a good real-ESRGAN model (4x-UltraSharp, Remacri) will beat it at the pure-detail game. Where it earns its keep is speed and character: it's instant, needs no model files, and the interlace treatment gives frames a particular broadcast-video texture that a plain Lanczos won't. If you're restoring SD anime or old game footage and want that subtle interlace feel baked in rather than added later, this is a legitimately nice fit. If you want actual detail recovery, skip to ImageInterleavedUpscalerV2 in the same pack, which runs a real upscale model through the same field trick.

Categoryimage/upscaling

Inputs (9)

NameTypeDefaultDescription
imageIMAGE
input_widthINT1280640–7680
input_heightINT720480–4320
scale_factorFLOAT1.51–4
field_orderCOMBOtop_first2 options: top_first, bottom_first
blend_factorFLOAT0.250–1
interpolation_modeCOMBObilinear3 options: bilinear, bicubic, nearest
field_strengthFLOAT1.00–2
edge_enhancementFLOAT0.00–1

Outputs (1)

NameTypeDescription
IMAGEIMAGE