kaira.models.image.Yilmaz2024DeepJSCCWZConditionalDecoder

Inheritance diagram for Yilmaz2024DeepJSCCWZConditionalDecoder
- class kaira.models.image.Yilmaz2024DeepJSCCWZConditionalDecoder(N: int, M: int, *args: Any, **kwargs: Any)[source]
Bases:
BaseModelDeepJSCC-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
Initialize the conditional DeepJSCC-WZ decoder.
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: