kaira.models.image.Yilmaz2024DeepJSCCWZConditionalDecoder

Inheritance diagram of Yilmaz2024DeepJSCCWZConditionalDecoder

Inheritance diagram for Yilmaz2024DeepJSCCWZConditionalDecoder

class kaira.models.image.Yilmaz2024DeepJSCCWZConditionalDecoder(N: int, M: int, *args: Any, **kwargs: Any)[source]

Bases: BaseModel

DeepJSCC-WZ Conditional Decoder Module [Yilmaz et al., 2024].

The decoder counterpart to the conditional encoder, designed to reconstruct images from representations created by the conditional encoder. This decoder leverages side information and received encoded representation to generate high-quality reconstructions.

DeepJSCC-WZ Conditional is designed for scenarios where side information is available at both the encoder and decoder, serving as a performance upper bound. The decoder’s architecture is optimized to work with the conditional encoder’s output, where side information correlations have already been exploited during encoding.

Key features: - Multi-scale feature fusion with side information at 5 different resolution levels - Progressive upsampling to restore spatial dimensions (H/16×W/16 → H×W) - Attention-based feature refinement - Channel-adaptive processing through AFModule layers - Optimized for conditionally encoded representations

Methods

__init__

Initialize the conditional DeepJSCC-WZ decoder.

forward

Decode the received representation into a reconstructed image.

__init__(N: int, M: int, *args: Any, **kwargs: Any) None[source]

Initialize the conditional DeepJSCC-WZ decoder.

Parameters:
  • N (int) – Number of intermediate channels in the residual blocks. Controls the network capacity and feature dimension.

  • M (int) – Number of input channels from the encoded representation. Matches the encoder’s output channel count.

  • *args – Variable positional arguments passed to the base class.

  • **kwargs – Variable keyword arguments passed to the base class.

forward(x: Tensor, x_side: Tensor, csi: Tensor, *args: Any, **kwargs: Any) Tensor[source]

Decode the received representation into a reconstructed image.

This method first processes the side information through the g_a2 encoder path, then progressively decodes the received signal while fusing with side information features at multiple scales.

Parameters:
  • x (torch.Tensor) – Received noisy encoded representation of shape [B, M, H/16, W/16].

  • x_side (torch.Tensor) – Side information tensor of shape [B, 3, H, W] to assist in decoding.

  • csi (torch.Tensor) – Channel state information tensor of shape [B, 1, 1, 1].

  • *args – Additional positional arguments (passed to internal layers).

  • **kwargs – Additional keyword arguments (passed to internal layers).

Returns:

Reconstructed image tensor of shape [B, 3, H, W].

Return type:

torch.Tensor