Mapping a high dynamic range image to a lower dynamic range image
The neural network-based tone mapping operator efficiently converts HDR to LDR images by using a feature extractor network with multiple modules, addressing the limitations of traditional methods and achieving high-quality image preservation.
Patent Information
- Application Number
- PCT/EP2024/073374
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-20
- Publication Date
- 2026-02-26
AI Technical Summary
Traditional tone-mapping operators struggle to effectively convert high dynamic range (HDR) images to lower dynamic range (LDR) images, often resulting in loss of detail, color distortion, and unnatural images due to inadequate handling of dynamic range and human visual system responses, and require costly and labor-intensive dataset collection for deep learning models.
A display-adaptive and user-preference-adaptive neural network-based tone mapping operator using a feature extractor network with multiple neural network modules to generate tone mapping curves, allowing for efficient computation and adaptation to different viewing and display conditions.
The proposed method preserves image details and contrast while reducing computational complexity and power requirements, delivering high-quality images across various viewing conditions and display capabilities.
Smart Images

Figure EP2024073374_26022026_PF_FP_ABST
Abstract
Description
[0001]MAPPING A HIGH DYNAMIC RANGE IMAGE TO A LOWER DYNAMIC RANGE IMAGE TECHNICAL FIELDThe present disclosure relates, in general, to mapping a high dynamic range image (HDR) to a lower dynamic range image(LDR), such as a standard dynamic range (SDR) image. Aspects of the disclosure relate to a display-adaptive and user-preference-adaptive neural network-based tone mapping operator.BACKGROUND Standard dynamic range (SDR) represents the conventional imaging technology that provides a limited range of brightness and colour. It has been the industry standard for many years, offering acceptable image quality but lacking the capability to display the extreme contrasts and vibrant colours encountered in real-world scenarios. High dynamic range (HDR) imaging technology signifies a substantial advancement in visual media, capturing a broader range of luminosity compared to standard digital imaging. The primary objective of HDR technology is to more accurately represent the full spectrum of light intensities presentin real-world scenes, from deep shadows to bright highlights. This capability is essential for enhancing the viewer's experienceby preserving details and depth that are often lost with traditional imaging methods. However, not all screens are capable of displaying images in HDR, necessitating the use of tone-mapping techniques. HDR tone mapping involves converting HDR images into formats that can be displayed on standard screens while maintaining the original scene’s contrast and detail. This conversion is critical because most display devices cannot directly reproduce the full dynamic range captured by HDR imaging sensors. Tone mapping compresses the colour tones of an image, enabling HDRcontent to be accurately displayed on screens with lower dynamic range than the dynamic range of the source content byadjusting the image’s brightness values to preserve details in both dark and bright regions. Traditional tone-mapping operators (TMOs) are employed to display HDR content on SDR screens, yet these operators face significant challenges. Issues such as loss of detail in shadows and highlights, colour distortion, and reduced contrast can detract from the visual appeal of images. These operators often struggle to maintain the dynamic range and may introduce undesirable outcomes such as halo artefacts. Furthermore, they may not fully account for the human visual system’s response to luminance and contrast, resulting in unnatural images. The output of the same TMO can also vary according to different viewing conditions, including the display’s capability, the illuminance of the viewing environment, and the reflected light from displays. These limitations highlight the need for more advanced tone-mapping techniques to handle HDR content effectively and toconsistently deliver high-quality images across various viewing conditions.Deep learning models offer numerous advantages over traditional methods in HDR tone mapping. While classical techniques rely on predefined algorithms and heuristics to compress the dynamic range of HDR images for display, they often struggle to preserve all the details and contrast, leading to artefacts such as halo effects, loss of detail, and unnatural colour transitions. Incontrast, deep learning models can learn complex mappings from input to output images, accurately capturing subtle detailsand variations in luminosity. By leveraging large datasets, these models can recognise and preserve essential features such as textures, edges, and gradients, resulting in more visually appealing and realistic images. Moreover, deep learning models can be fine-tuned and optimised for specific tasks and conditions, offering greater flexibility and adaptability compared totraditional methods. Another significant advantage of deep learning models is their ability to generalise across different contentand scenes, eliminating the need for manual parameter adjustments required by classical methods. However, the deployment of deep learning-based models for HDR tone mapping is highly cost-intensive in terms of computational complexity and power requirements. These models require large amounts of labelled paired datasets for training, where both HDR and LDR versions of the same image are needed. The collection and annotation of such data can be labour- intensive and costly, further contributing to the overall computational expense. SUMMARYAn objective of the present disclosure is to provide a mechanism for mapping a high dynamic range image (HDR) to a lowerdynamic range image (LDR), such as a standard dynamic range (SDR) image.The foregoing and other objectives are achieved by the features of the independent claims.Further implementation forms are apparent from the dependent claims, the description and the Figures. A first aspect of the present disclosure provides a method comprising obtaining a luminous intensity image based on the HDR image, processing the luminous intensity image using a feature extractor network, whereby to generate a feature map, processing the feature map using at least one neural network module of multiple neural network modules, obtaining a tone mapping operator based on an output of the at least one neural network module of the multiple neural network modules, and applying the tone mapping operator to the HDR image, whereby to obtain the LDR image, wherein the tone mapping operator comprises a tone mapping curve. Accordingly, here is provided a display-adaptive and user-preference-adaptive neural network-based tone mapping operator (TMO), providing explicit tone mapping curves for different viewing and display conditions. The proposed invention utilises a feature extractor network with multiple neural network modules (i.e., heads), wherein each head is specialised to produce TMOs for a specific display brightness range. For an arbitrary intermediate range, the feature extractor network processes the image once, and the tone-mapping is achieved by combining the output of one or more heads, for example, by interpolatingthe corresponding tone-mapping curves. This approach not only saves the computational complexity by requiring only a singlepass through the more complex feature extractor network, but also allows for the deactivation of unnecessary heads to reduce computational complexity and to save power. Processing the luminous intensity image using the feature extractor network, whereby to generate the feature map may further comprise generating a first tensor comprising the feature map, and processing the feature map using at least one neural networkmodule of the multiple neural network module may comprise processing the first tensor using multiple neural network modules,wherein each neural network module of the multiple neural network modules is arranged to apply a non-linear transformation to map the feature map to an intermediate representation. Processing the feature map using the at least one neural network module of the multiple neural network modules may further comprise applying a non-negative-valued function to the intermediate representation, whereby to produce a second tensor, wherein the second tensor comprises a tensor representing incremental adjustments for the y-axis values of the tone mapping curve. The tone mapping operator may comprise a final tone mapping curve, and obtaining the tone mapping operator based on the output of the at least one neural network module of the multiple neural network modules may comprise adding a non-negative- valued starting value at the beginning of a specified dimension of the second tensor and cumulatively summing along the specified dimension, whereby to obtain a third tensor, wherein the third tensor comprises a tensor representing y-axis values of a tone mapping curve, acquiring, using at least one neural network module of the multiple neural network modules, a set of final tone mapping values, whereby to provide a fourth tensor comprising the set of final tone mapping values, splitting a dynamic range of the luminous intensity image into uniformly distributed partitions, whereby to obtain a fifth tensor, wherein the fifth tensor comprises a tensor representing x-axis values of the tone mapping curve, and obtaining a final tone mapping curve by performing curve-fitting using the fifth tensor and the third tensor, or the fifth tensor and the fourth tensor, wherein applying the tone mapping operator to the HDR image comprises applying the final tone mapping curve to the HDR image to produce the lower dynamic range image.The method may further comprise adapting the feature map to provide a region of interest (ROI), whereby to provide a modifiedfirst tensor, concurrently processing the modified first tensor and the first tensor, whereby to obtain a modified second tensor, modified third tensor, modified fourth tensor and the fifth tensor, obtaining a modified final tone mapping curve by performing curve-fitting using the modified fifth tensor and the modified third tensor, or the modified fifth tensor and the modified fourth tensor, interpolating the modified final tone mapping curve and the final tone mapping curve, whereby to obtain a unified tone mapping curve, and applying the unified tone mapping curve to the HDR image to produce the lower dynamic range image. Obtaining the luminous intensity image based on the HDR image may comprise representing the HDR image as a three- dimensional tensor, and converting the HDR image to a luminous intensity format, whereby to obtain the luminous intensity image. The method may further comprise selecting one or more neural network modules of the multiple neural network modules toprocess the feature map based on a specified criterion, whereby to provide at least one active neural network module, whereinthe specified criterion comprises a user input and / or specified display characteristics, wherein the specified display characteristics comprise a maximum brightness value of a display. Each neural network module of the multiple neural network modules may have a unique brightness range associated therewith, and obtaining the tone mapping operator based on the output of the at least one neural network module of the multiple neural network modules may comprise, in response to determining that a desired brightness range of the LDR image matches the unique brightness range associated with a neural network module of the multiple neural network modules, acquiring the tone mapping operator by acquiring an output of the neural network module. The method may further comprise, in response to determining that the desired brightness range of the LDR image does not match the unique brightness range associated with the specific neural network module, acquiring the set of final tone mapping values by acquiring outputs of two neural network modules of the multiple neural network modules whose brightness range neighbours the desired brightness range of the LDR image and interpolating the acquired outputs, whereby to acquire the set of final tone mapping values. Applying the non-linear transformation to map the feature map to the intermediate representation may comprise applying asoftmax function and / or a ReLU function to an output of each neural network of the multiple neural networks.A second aspect of the present disclosure provides an apparatus comprising a processor, a memory coupled to the processor,the memory configured to store program code executable by the processor, the program code comprising one or moreinstructions, whereby to cause the apparatus to obtain a luminous intensity image based on the HDR image, process the luminous intensity image using a feature extractor network, whereby to generate a feature map, process the feature map using at least one neural network module of multiple neural network modules, obtain a tone mapping operator based on an output of the at least one neural network module of the multiple neural network modules, and apply the tone mapping operator to the HDR image, whereby to obtain the LDR image, wherein the tone mapping operator comprises a tone mapping curve. A third aspect of the present disclosure provides an encoder configured to encode input image data representing a high dynamicrange (HDR) image to generate output image data comprising a lower dynamic range (LDR) image, the encoder comprisingprocessing circuitry configured to obtain a luminous intensity image based on the HDR image, process the luminous intensity image using a feature extractor network, whereby to generate a feature map, process the feature map using at least one neural network module of multiple neural network modules, obtain a tone mapping operator based on an output of the at least one neural network module of the multiple neural network modules, and apply the tone mapping operator to the HDR image, whereby to obtain the LDR image, wherein the tone mapping operator comprises a tone mapping curve.A fourth aspect of the present disclosure provides a computer program stored on a non-transitory medium and including codeinstructions, which, when executed on more or more processors, cause the one or more processors to execute the method described herein. These and other aspects of the invention will be apparent from the embodiment(s) described below. BRIEF DESCRIPTION OF THE DRAWINGSIn order that the present invention may be more readily understood, embodiments of the invention will now be described, byway of example, with reference to the accompanying drawings, in which:Fig. 1 is a schematic drawing illustrating channels processed by layers of a neural network;Fig. 2 is a schematic drawing illustrating an autoencoder type of a neural network;Fig.3A is a schematic drawing illustrating an exemplary network architecture for encoder and decoder side including a hyperprior model; Fig.3B is a schematic drawing illustrating a general network architecture for encoder side including a hyperprior model; Fig.3C is a schematic drawing illustrating a general network architecture for decoder side including a hyperprior model; Fig.4 is a schematic drawing illustrating an exemplary network architecture for encoder and decoder side including a hyperprior model; Fig.5 is a block diagram of a tone mapping algorithm according to an example; Fig.6 is a schematic representation of a feature map according to an example; Fig.7 is a block diagram of a tone mapping algorithm according to another example; Fig.8 is a flow chart of a method for tone mapping a HDR image to a lower dynamic range image according to an example;Fig. 9 is a block diagram showing an example of a coding system configured to implement embodiments of the presentdisclosure;Fig. 10 is a block diagram showing another example of a coding system configured to implement embodiments of the presentdisclosure;Fig. 11 is a block diagram illustrating an example of an encoding apparatus or a decoding apparatus configured to implementembodiments of the present disclosure;Fig. 12 is a block diagram illustrating an apparatus that may be used as either or both of the source device and the destinationdevice of Fig.9, according to an example;Fig. 13 is a block diagram illustrating a coding configured to implement embodiments of the present disclosure; andFig. 14 is a schematic representation of an apparatus according to an example.DETAILED DESCRIPTION Example embodiments are described below in sufficient detail to enable those of ordinary skill in the art to embody andimplement the systems and processes herein described. It is important to understand that embodiments can be provided inmany alternate forms and should not be construed as limited to the examples set forth herein. Accordingly, while embodiments can be modified in various ways and take on various alternative forms, specific embodiments thereof are shown in the drawings and described in detail below as examples. There is no intent to limit to the particular forms disclosed. On the contrary, all modifications, equivalents, and alternatives falling within the scope of the appended claims should be included. Elements of the example embodiments are consistently denoted by the same reference numerals throughout the drawings and detailed description where appropriate. The terminology used herein to describe embodiments is not intended to limit the scope. The articles “a,” “an,” and “the” are singular in that they have a single referent, however the use of the singular form in the present document should not preclude the presence of more than one referent. In other words, elements referred to in the singular can number one or more, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes,” and / or “including,” when used herein, specify the presence of stated features, items, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, items, steps, operations, elements, components, and / or groups thereof. Unless otherwise defined, all terms (including technical and scientific terms) used herein are to be interpreted as is customary in the art. It will be further understood that terms in common usage should also be interpreted as is customary in the relevant art and not in an idealized or overly formal sense unless expressly so defined herein. In the following description, reference is made to the accompanying figures, which form part of the disclosure, and which show, by way of illustration, specific aspects of embodiments of the present disclosure or specific aspects in which embodiments of the present disclosure may be used. It is understood that embodiments of the present disclosure may be used in other aspects and comprise structural or logical changes not depicted in the figures. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims. For instance, it is understood that a disclosure in connection with a described method may also hold true for a corresponding device or system configured to perform the method and vice versa. For example, if one or a plurality of specific method steps are described, a corresponding device may include one or a plurality of units, e.g. functional units, to perform the described one or plurality of method steps (e.g. one unit performing the one or plurality of steps, or a plurality of units each performing one or more of the plurality of steps), even if such one or more units are not explicitly described or illustrated in the figures. On the other hand, for example, if a specific apparatus is described based on one or a plurality of units, e.g. functional units, a corresponding method may include one step to perform the functionality of the one or plurality of units (e.g. one step performing the functionality of the one or plurality of units, or a plurality of steps each performing the functionality of one or more of the plurality of units), even if such one or plurality of steps are not explicitly described or illustrated in the figures. Further, it is understood that the features of the various exemplary embodiments and / or aspects described herein may be combined with each other, unless specifically noted otherwise. In the following, an overview over some of the used technical terms and framework within which the embodiments of the present disclosure may be employed is provided. Artificial neural networks Artificial neural networks (ANN) or connectionist systems are computing systems vaguely inspired by the biological neural networks that constitute animal brains. Such systems "learn" to perform tasks by considering examples, generally without being programmed with task-specific rules. For example, in image recognition, they might learn to identify images that contain cats by analyzing example images that have been manually labeled as "cat" or "no cat" and using the results to identify cats in other images. They do this without any prior knowledge of cats, for example, that they have fur, tails, whiskers and cat-like faces. Instead, they automatically generate identifying characteristics from the examples that they process. An ANN is based on a collection of connected units or nodes called artificial neurons, which loosely model the neurons in a biological brain. Each connection, like the synapses in a biological brain, can transmit a signal to other neurons. An artificial neuron that receives a signal then processes it and can signal neurons connected to it. In ANN implementations, the "signal" at a connection is a real number, and the output of each neuron is computed by some non-linear function of the sum of its inputs. The connections are called edges. Neurons and edges typically have a weight that adjusts as learning proceeds. The weight increases or decreases the strength of the signal at a connection. Neurons may have a threshold such that a signal is sent only if the aggregate signal crosses that threshold. Typically, neurons are aggregated into layers. Different layers may perform different transformations on their inputs. Signals travel from the first layer (the input layer), to the last layer (the output layer), possibly after traversing the layers multiple times. The original goal of the ANN approach was to solve problems in the same way that a human brain would. Over time, attention moved to performing specific tasks, leading to deviations from biology. ANNs have been used on a variety of tasks, including computer vision, speech recognition, machine translation, social network filtering, playing board and video games, medical diagnosis, and even in activities that have traditionally been considered as reserved to humans, like painting. The name “convolutional neural network” (CNN) indicates that the network employs a mathematical operation called convolution. Convolution is a specialized kind of linear operation. Convolutional networks are neural networks that use convolution in place of a general matrix multiplication in at least one of their layers. Fig.1 schematically illustrates a general concept of processing by a neural network such as the CNN. A convolutional neural network consists of an input and an output layer, as well as multiple hidden layers. Input layer is the layer to which the input (such as a portion 11 of an input image as shown in Fig.1) is provided for processing. The hidden layers of a CNN typically consist of a series of convolutional layers that convolve with a multiplication or other dot product. The result of a layer is one or more feature maps (illustrated by empty solid-line rectangles), sometimes also referred to as channels. There may be a resampling (such as subsampling) involved in some or all of the layers. As a consequence, the feature maps may becomesmaller, as illustrated in Fig. 1. It is noted that a convolution with a stride may also reduce the size (resample) an input featuremap. The activation function in a CNN is usually a ReLU (Rectified Linear Unit) layer or Leaky ReLU, and is subsequently followed by additional convolutions such as pooling layers, fully connected layers and normalization layers, referred to as hidden layers because their inputs and outputs are masked by the activation function and final convolution. Though the layersare colloquially referred to as convolutions, this is only by convention. Mathematically, it is technically a sliding dot productor cross-correlation. This has significance for the indices in the matrix, in that it affects how the weight is determined at a specific index point.When programming a CNN for processing images, as shown in Fig. 1, the input is a tensor with shape (number of images) x(image width) x (image height) x (image depth). It should be known that the image depth can be constituted by channels of an image. After passing through a convolutional layer, the image becomes abstracted to a feature map, with shape (number of images) x (feature map width) x (feature map height) x (feature map channels). A convolutional layer within a neural network can have the following attributes: Convolutional kernels defined by a width and height (hyper-parameters), the number of inputchannels and output channels (hyper-parameter), the depth of the convolution filter (the input channels), which can be equal tothe number channels (depth) of the input feature map. In the past, traditional multilayer perceptron (MLP) models have been used for image recognition. However, due to the full connectivity between nodes, they suffered from high dimensionality, and did not scale well with higher resolution images. A 1000×1000-pixel image with RGB color channels has 3 million weights, which is too high to feasibly process efficiently at scale with full connectivity. Also, such network architecture does not take into account the spatial structure of data, treating input pixels which are far apart in the same way as pixels that are close together. This ignores locality of reference in image data, both computationally and semantically. Thus, full connectivity of neurons is wasteful for purposes such as image recognition that are dominated by spatially local input patterns. Convolutional neural networks are biologically inspired variants of multilayer perceptrons that are specifically designed to emulate the behavior of a visual cortex. These models mitigate the challenges posed by the MLP architecture by exploiting the strong spatially local correlation present in natural images. The convolutional layer is the core building block of a CNN. The layer's parameters consist of a set of learnable filters (the above-mentioned kernels), which have a small receptive field, but extend through the full depth of the input volume. During the forward pass, each filter is convolved across the width and height of the input volume, computing the dot product between the entries of the filter and the input and producing a 2-dimensional activation map of that filter. As a result, the network learns filters that activate when it detects some specific type of feature at some spatial position in the input. Stacking the activation maps for all filters along the depth dimension forms the full output volume of the convolution layer. Every entry in the output volume can thus also be interpreted as an output of a neuron that looks at a small region in the inputand shares parameters with neurons in the same activation map. A feature map, or activation map, is the output activations fora given filter. Feature map and activation has same meaning. In some papers it is called an activation map because it is a mapping that corresponds to the activation of different parts of the image, and also a feature map because it is also a mapping of where a certain kind of feature is found in the image. A high activation means that a certain feature was found.Another important concept of CNNs is pooling, which is a form of non-linear down-sampling. There are several non-linearfunctions to implement pooling among which max pooling is the most common. It partitions the input image into a set of non- overlapping rectangles and, for each such sub-region, outputs the maximum. Intuitively, the exact location of a feature is less important than its rough location relative to other features. This is the ideabehind the use of pooling in convolutional neural networks. The pooling layer serves to progressively reduce the spatial size ofthe representation, to reduce the number of parameters, memory footprint and amount of computation in the network, and hence to also control overfitting. It is common to periodically insert a pooling layer between successive convolutional layers in a CNN architecture. The pooling operation provides another form of translation invariance. The pooling layer operates independently on every depth slice of the input and resizes it spatially. The most common form is apooling layer with filters of size 2×2 applied with a stride of 2 at every depth slice in the input by 2 along both width and height,discarding 75% of the activations. In this case, every max operation is over 4 numbers. The depth dimension remains unchanged. In addition to max pooling, pooling units can use other functions, such as average pooling or ℓ2-norm pooling. Average pooling was often used historically but has recently fallen out of favour compared to max pooling, which often performs better in practice. Due to the aggressive reduction in the size of the representation, there is a recent trend towards using smaller filters or discarding pooling layers altogether. "Region of Interest" pooling (also known as ROI pooling) is a variant of max pooling, in which output size is fixed and input rectangle is a parameter. Pooling is an important component of convolutional neural networks for object detection based on Fast R-CNN architecture. The above-mentioned ReLU is the abbreviation of rectified linear unit, which applies the non-saturating activation function. It effectively removes negative values from an activation map by setting them to zero. It increases the nonlinear properties of the decision function and of the overall network without affecting the receptive fields of the convolution layer. Other functions are also used to increase nonlinearity, for example the saturating hyperbolic tangent and the sigmoid function. ReLU is often preferred to other functions because it trains the neural network several times faster without a significant penalty to generalization accuracy.Leaky Rectified Linear Unit, or Leaky ReLU, is a type of activation function based on a ReLU, but it has a small slope fornegative values instead of a flat slope. The slope coefficient is determined before training, i.e. it is not learnt during training. This type of activation function is popular in tasks where it suffers from sparse gradients, for example training generative adversarial networks. Leaky ReLU applies the element-wise function: LeakyReLU(x)=max(0,x)+negative_slope∗min(0,x), or Among them, parameters:negative_slope – Controls the angle of the negative slope. Default: 1e-2inplace – can optionally do the operation in-place. Default: False.After several convolutional and max pooling layers, the high-level reasoning in the neural network is done via fully connected layers. Neurons in a fully connected layer have connections to all activations in the previous layer, as seen in regular (non- convolutional) artificial neural networks. Their activations can thus be computed as an affine transformation, with matrix multiplication followed by a bias offset (vector addition of a learned or fixed bias term). The "loss layer" (including calculating of a loss function) specifies how training penalizes the deviation between the predicted (output) and true labels and is normally the final layer of a neural network. Various loss functions appropriate for different tasks may be used. Softmax loss is used for predicting a single class of K mutually exclusive classes. Sigmoid cross-entropy loss is used for predicting K independent probability values in [0, 1]. Euclidean loss is used for regressing to real-valued labels. In summary, Fig. 1 shows the data flow in a typical convolutional neural network. First, the input image is passed through convolutional layers and becomes abstracted to a feature map comprising several channels, corresponding to a number of filters in a set of learnable filters of this layer. Then, the feature map is subsampled using e.g. a pooling layer, which reduces the dimension of each channel in the feature map. Next, the data comes to another convolutional layer, which may have different numbers of output channels. As was mentioned above, the number of input channels and output channels are hyper-parameters of the layer. To establish connectivity of the network, those parameters need to be synchronized between two connected layers, such that the number of input channels for the current layers should be equal to the number of output channels of the previous layer. For the first layer which processes input data, e.g. an image, the number of input channels is normally equal to the number of channels of data representation, for instance 3 channels for RGB or YUV representation of images or video, or 1 channel for grayscale image or video representation. The channels obtained by one or more convolutional layers (and possibly resampling layer(s)) may be passed to an output layer. Such output layer may be a convolutional or resampling in some implementations. In an exemplary and non-limiting implementation, the output layer is a fully connected layer. Autoencoders and unsupervised learningAn autoencoder is a type of artificial neural network used to learn efficient data codings in an unsupervised manner. A schematicdrawing thereof is shown in Fig.2. The autoencoder includes an encoder side 210 with an input x inputted into an input layer of an encoder subnetwork 220 and a decoder side 250 with output x’ outputted from a decoder subnetwork 260. The aim of an autoencoder is to learn a representation (encoding) 230 for a set of data x, typically for dimensionality reduction, by training the network 220, 260 to ignore signal “noise”. Along with the reduction (encoder) side subnetwork 220, a reconstructing (decoder) side subnetwork 260 is learnt, where the autoencoder tries to generate from the reduced encoding 230 a representation x’ as close as possible to its original input x, hence its name. In the simplest case, given one hidden layer, the encoder stage ofan autoencoder takes the input ^ and maps it to ℎ:ℎ = ^(^^ + ^).This image ℎ is usually referred to as code 230, latent variables, or latent representation. Here, ^ is an element-wise activationfunction such as a sigmoid function or a rectified linear unit. ^ is a weight matrix ^ is a bias vector. Weights and biases areusually initialized randomly, and then updated iteratively during training through Backpropagation. After that, the decoder stage of the autoencoder maps h to the reconstruction ^^of the same shape as ^: ^′ = ^′(^^ℎ′ + ^′)where ^′, ^^ and ^′ for the decoder may be unrelated to the corresponding ^, ^ and ^ for the encoder.Variational autoencoder models make strong assumptions concerning the distribution of latent variables. They use a variational approach for latent representation learning, which results in an additional loss component and a specific estimator for the training algorithm called the Stochastic Gradient Variational Bayes (SGVB) estimator. It assumes that the data is generated bya directed graphical model p^(x|h) and that the encoder is learning an approximation q^(h|x) to the posterior distributionp^(h|x) where ϕ and θ denote the parameters of the encoder (recognition model) and decoder (generative model) respectively.The probability distribution of the latent vector of a VAE typically matches that of the training data much closer than a standard autoencoder. The objective of VAE has the following form: ℒ(^, ^, ^) = ^^^(^^(ℎ|^)||^^(ℎ)) − ^^^^ℎ^^^(^^^ ^^(^|ℎ)). ^^(ℎ|^) = ^(^(^), ^^(^)^) ^^(^|ℎ) = ^(^(ℎ), ^^(ℎ)^)where ^(^) and ^^(^) are the encoder output, while ^(ℎ) and ^^(ℎ) are the decoder outputs.Recent progress in artificial neural networks area and especially in convolutional neural networks enables researchers’ interestof applying neural networks-based technologies to the task of image and video compression. For example, End-to-endOptimized Image Compression has been proposed, which uses a network based on a variational autoencoder. Accordingly, data compression is considered as a fundamental and well-studied problem in engineering, and is commonly formulated with the goal of designing codes for a given discrete data ensemble with minimal entropy. The solution relies heavily on knowledge of the probabilistic structure of the data, and thus the problem is closely related to probabilistic source modeling. However, since all practical codes must have finite entropy, continuous-valued data (such as vectors of image pixel intensities) must be quantized to a finite set of discrete values, which introduces an error. In this context, known as the lossy compression problem, one must trade off two competing costs: the entropy of the discretized representation (rate) and the error arising from the quantization (distortion), which, as described above, can be particularly problematic in the context of SCIs. Different compression applications, such as data storage or transmission over limited- capacity channels, demand different rate–distortion trade-offs. Joint optimization of rate and distortion is difficult. Without further constraints, the general problem of optimal quantization in high-dimensional spaces is intractable. For this reason, most existing image compression methods operate by linearly transforming the data vector into a suitable continuous-valued representation, quantizing its elements independently, and then encoding the resulting discrete representation using a lossless entropy code. This scheme is called transform coding due to the central role of the transformation. For example, JPEG uses a discrete cosine transform on blocks of pixels, and JPEG 2000 uses a multi-scale orthogonal waveletdecomposition. Typically, the three components of transform coding methods – transform, quantizer, and entropy code – areseparately optimized (often through manual parameter adjustment). Modern video compression standards like HEVC, VVC and EVC also use transformed representation to code residual signal after prediction. The several transforms are used for that purpose such as discrete cosine and sine transforms (DCT, DST), as well as low frequency non-separable manually optimized transforms (LFNST). Variational image compression Variable Auto-Encoder (VAE) framework can be considered as a nonlinear transforming coding model. The transforming process can be mainly divided into four parts. This is exemplified in Fig.3A showing a VAE framework. The transforming process can be mainly divided into four parts: Fig. 3A exemplifies the VAE framework. In Fig. 3A, the encoder 101 maps an input image x into a latent representation (denoted by y) via the function y = f (x). This latent representation may also be referred to as a part of or a point within a “latent space” in the following. The function f() is a transformation function that converts the input signal x into a more compressible representation y. The quantizer 102 transformsthe latent representation y into the quantized latent representation ^^ with (discrete) values by ^^ = ^(^), with Q representingthe quantizer function. The entropy model, or the hyper encoder / decoder (also known as hyperprior) 103 estimates thedistribution of the quantized latent representation ^^ to get the minimum rate achievable with a lossless entropy source coding.The latent space can be understood as a representation of compressed data in which similar data points are closer together in the latent space. Latent space is useful for learning data features and for finding simpler representations of data for analysis.The quantized latent representation T, ^^ and the side information ^̂ of the hyperprior 3 are included into a bitstream 2 (arebinarized) using arithmetic coding (AE). Furthermore, a decoder 104 is provided that transforms the quantized latentrepresentation to the reconstructed image ^, ^ = ^(^^). The signal ^ is the estimation of the input image x. It is desirable thatx is as close to ^ as possible, in other words the reconstruction quality is as high as possible. However, the higher the similaritybetween ^ and x, the higher the amount of side information necessary to be transmitted. The side information includesbitstream1 and bitstream2 shown in Fig.3A, which are generated by the encoder and transmitted to the decoder. Normally, thehigher the amount of side information, the higher the reconstruction quality. However, a high amount of side information means that the compression ratio is low. Therefore, one purpose of the system described in Fig. 3A is to balance the reconstruction quality and the amount of side information conveyed in the bitstream. In Fig. 3A the component AE 105 is the Arithmetic Encoding module, which converts samples of the quantized latentrepresentation ^^ and the side information ^̂ into a binary representation bitstream 1. The samples of ^^ and ^̂ might for examplecomprise integer or floating-point numbers. One purpose of the arithmetic encoding module is to convert (via the process ofbinarization) the sample values into a string of binary digits (which is then included in the bitstream that may comprise further portions corresponding to the encoded image or further side information). The arithmetic decoding (AD) 106 is the process of reverting the binarization process, where binary digits are converted back to sample values. The arithmetic decoding is provided by the arithmetic decoding module 106. It is noted that the present disclosure is not limited to this particular framework. Moreover, the present disclosure is not restricted to image or video compression, and can be applied to object detection, image generation, and recognition systems as well. In Fig.3A there are two sub networks concatenated to each other. A subnetwork in this context is a logical division between the parts of the total network. For example, in Fig.3A the modules 101, 102, 104, 105 and 106 are called the “Encoder / Decoder” subnetwork. The “Encoder / Decoder” subnetwork is responsible for encoding (generating) and decoding (parsing) of the firstbitstream “bitstream1”. The second network in Fig. 3A comprises modules 103, 108, 109, 110 and 107 and is called “hyperencoder / decoder” subnetwork. The second subnetwork is responsible for generating the second bitstream “bitstream2”. The purposes of the two subnetworks are different. The first subnetwork is responsible for: ^the transformation 101 of the input image x into its latent representation y (which is easier to compress that x),^ quantizing 102 the latent representation y into a quantized latent representation ^^,^ compressing the quantized latent representation ^^ using the AE by the arithmetic encoding module 105 to obtainbitstream “bitstream 1”,”, ^parsing the bitstream 1 via AD using the arithmetic decoding module 106, and^ reconstructing 104 the reconstructed image (^) using the parsed data.The purpose of the second subnetwork is to obtain statistical properties (e.g. mean value, variance and correlations between samples of bitstream 1) of the samples of “bitstream1”, such that the compressing of bitstream 1 by first subnetwork is more efficient. The second subnetwork generates a second bitstream “bitstream2”, which comprises the said information (e.g. mean value, variance and correlations between samples of bitstream1).The second network includes an encoding part which comprises transforming 103 of the quantized latent representation ^^ intoside information z, quantizing the side information z into quantized side information ^̂, and encoding (e.g. binarizing) 109 thequantized side information ^̂ into bitstream2. In this example, the binarization is performed by an arithmetic encoding (AE). Adecoding part of the second network includes arithmetic decoding (AD) 110, which transforms the input bitstream2 intodecoded quantized side information ^̂′. The ^̂′ might be identical to ^̂, since the arithmetic encoding end decoding operationsare lossless compression methods. The decoded quantized side information ^̂′ is then transformed 107 into decoded sideinformation ^^′. ^^′ represents the statistical properties of ^^ (e.g. mean value of samples of ^^, or the variance of sample valuesor like). The decoded latent representation ^^′ is then provided to the above-mentioned Arithmetic Encoder 105 and ArithmeticDecoder 106 to control the probability model of ^^.The Fig. 3A describes an example of VAE (variational auto encoder), details of which might be different in differentimplementations. For example in a specific implementation, additional components might be present to more efficiently obtainthe statistical properties of the samples of bitstream 1. In one such implementation a context modeler might be present, which targets extracting cross-correlation information of the bitstream 1. The statistical information provided by the second subnetwork might be used by AE (arithmetic encoder) 105 and AD (arithmetic decoder) 106 components. Fig.3A depicts the encoder and decoder in a single figure. As is clear to those skilled in the art, the encoder and the decoder may be, and very often are, embedded in mutually different devices. Fig. 3B depicts the encoder and Fig. 3C depicts the decoder components of the VAE framework in isolation. As input, the encoder receives, according to some embodiments, a picture. The input picture may include one or more channels, such as color channels or other kind of channels, e.g. depth channel or motion information channel, or the like. The output of the encoder (as shown in Fig. 3B) is a bitstream1 and a bitstream2. The bitstream1 is the output of the first sub-network of the encoder and the bitstream2 is the output of the second subnetwork of the encoder. Similarly, in Fig.3C, the two bitstreams, bitstream 1 and bitstream 2, are received as input and ^, which is the reconstructed (decoded) image, is generated at the output. As indicated above, the VAE can be split into different logical units that perform different actions. This is exemplified in Figs.3B and 3C so that Fig.3B depicts components that participate in the encoding of a signal, such as an image or video, and provided encoded information. This encoded information is then received by the decoder components depicted in Fig.3C for decoding, for example. It is noted that the components of the encoder and decoder denoted with numerals 12x and 14x may correspond in their function to the components referred to above in Fig. 3A and denoted with numerals 10x. Specifically, as is seen in Fig.3B, the encoder comprises the encoder 121 that transforms an input x into a signal y which is then provided to the quantizer 122. The quantizer 122 provides information, ^^, to the arithmetic encoding module 125 and the hyper encoder 123. The hyper encoder 123 provides the bitstream 2 already discussed above to the hyper decoder 127 that in turn provides the information to the arithmetic encoding module 105 (125). The output of the arithmetic encoding module is the bitstream 1. The bitstream 1 and the bitstream 2 are the output of the encoding of the signal, which are then provided (transmitted) to the decoding process. Although the unit 101 (121) is called “encoder”, it is also possible to call the complete subnetwork described in Fig. 3B as “encoder”. The process of encoding in general means the unit (module) that converts an input to an encoded (e.g., compressed) output. It can be seen from Fig.3B,that the unit 121 can be actually considered as a core of the whole subnetwork, since it performs the conversion of the input xinto y, which is the compressed version of the x. The compression in the encoder 121 may be achieved by, e.g., applying a neural network, or in general any processing network with one or more layers. In such a processing network, the compression may be performed by cascaded processing including downsampling, which reduces a size and / or number of channels of the input. Thus, the encoder may be referred to, e.g., as a neural network (NN) based encoder, or the like. The remaining parts in the figure (quantization unit, hyper encoder, hyper decoder, arithmetic encoder / decoder) are all parts that either improve the efficiency of the encoding process or are responsible for converting the compressed output y into a series of bits (bitstream). Quantization may be provided to further compress the output of the NN encoder 121 by a lossy compression. The AE 125 in combination with the hyper encoder 123 and hyper decoder 127 used to configure the AE 125may perform binarization, which may further compress the quantized signal by a lossless compression. Therefore, it is alsopossible to call the whole subnetwork in Fig.3B an “encoder”. A majority of Deep Learning (DL) based image / video compression systems reduce dimensionality of the signal beforeconverting the signal into binary digits (bits). In the VAE framework for example, the encoder, which is a non-linear transform,maps the input image x into y, where y has a smaller width and height than x. Since the y has a smaller width and height, hence a smaller size, the (size of the) dimension of the signal is reduced, and, hence, it is easier to compress the signal y. It is noted that in general, the encoder does not necessarily need to reduce the size in both (or in general all) dimensions. Rather, some exemplary implementations may provide an encoder which reduces size only in one (or in general a subset of) dimension. In J. Balle, L. Valero Laparra, and E. P. Simoncelli (2015). “Density Modeling of Images Using a Generalized Normalization Transformation”, In: arXiv e-prints, presented at the 4th Int. Conf. for Learning Representations, 2016 (referred to in the following as “Balle”) the authors proposed a framework for end-to-end optimization of an image compression model based on nonlinear transforms. The authors optimize for Mean Squared Error (MSE), but use a more flexible transforms built from cascades of linear convolutions and nonlinearities. Specifically, authors use a generalized divisive normalization (GDN) joint nonlinearity that is inspired by models of neurons in biological visual systems, and has proven effective in Gaussianizing image densities. This cascaded transformation is followed by uniform scalar quantization (i.e., each element is rounded to the nearest integer), which effectively implements a parametric form of vector quantization on the original image space. The compressed image is reconstructed from these quantized values using an approximate parametric nonlinear inverse transform.Such an example of the VAE framework is shown in Fig. 4, and it utilizes 6 downsampling layers (401 to 406). The networkarchitecture includes a hyperprior model. The left side (ga, gs) shows an image autoencoder architecture, the right side (ha, hs)corresponds to the autoencoder implementing the hyperprior. The factorized-prior model uses the identical architecture for theanalysis and synthesis transforms ga and gs. Q represents quantization, and AE, AD represent arithmetic encoder and arithmetic decoder, respectively. The encoder subjects the input image x to ga, yielding the responses y (latent representation) with spatially varying standard deviations. The encoding ga includes a plurality of convolution layers with subsampling and, as an activation function, generalized divisive normalization (GDN). The responses are fed into ha, summarizing the distribution of standard deviations in z. z is then quantized, compressed, andtransmitted as side information. The encoder then uses the quantized vector ^̂ to estimate ^^, the spatial distribution of standarddeviations which is used for obtaining probability values (or frequency values) for arithmetic coding (AE), and uses it tocompress and transmit the quantized image representation ^^ (or latent representation). The decoder first recovers ^̂ from thecompressed signal. It then uses hs to obtain ^^, which provides it with the correct probability estimates to successfully recover^^ as well. It then feeds ^^ into gs to obtain the reconstructed image.The layers that include downsampling are indicated with the downward arrow in the layer description. The layer description ”Conv N,k1,2↓“ means that the layer is a convolution layer, with N channels and the convolution kernel is k1 x k1 in size. For example, k1 may be equal to 5 and k2 may be equal to 3. As stated, the 2↓means that a downsampling with a factor of 2 is performed in this layer. Downsampling by a factor of 2 results in one of the dimensions of the input signal being reduced by half at the output. In Fig. 4, the 2↓ indicates that both width and height of the input image is reduced by a factor of 2. Since there are 6 downsampling layers, if the width and height of the input image 414 (also denoted with x) is given by w and h, the output signal z ̂ 413 has width and height equal to w / 64 and h / 64 respectively. Modules denoted by AE and AD are arithmetic encoder and arithmetic decoder, which are explained with reference to Figs.3A to 3C. The arithmetic encoder and decoder are specific implementations of entropy coding. AE and AD can be replaced by other means of entropy coding. In information theory, an entropy encoding is a lossless data compression scheme that is used to convert the values of a symbol into a binary representation which is a reversible process. Also, the “Q” in the figure corresponds to the quantization operation that was also referred to above in relation to Fig. 4 and is further explained above in the section “Quantization”. Also, the quantization operation and a corresponding quantization unit as part of the component 413 or 415 is not necessarily present and / or can be replaced with another unit. In Fig.4, there is also shown the decoder comprising upsampling layers 407 to 412. A further layer 420 is provided between the upsampling layers 411 and 410 in the processing order of an input that is implemented as a convolutional layer but does not provide an upsampling to the input received. A corresponding convolutional layer 430 is also shown for the decoder. Such layers can be provided in NNs for performing operations on the input that do not alter the size of the input but change specific characteristics. However, it is not necessary that such a layer is provided. When seen in the processing order of bitstream 2 through the decoder, the upsampling layers are run through in reverse order, i.e., from upsampling layer 412 to upsampling layer 407. Each upsampling layer is shown here to provide an upsampling with an upsampling ratio of 2, which is indicated by the ↑. It is, of course, not necessarily the case that all upsampling layers have the same upsampling ratio and also other upsampling ratios like 3, 4, 8 or the like may be used. The layers 407 to 412 are implemented as convolutional layers (conv). Specifically, as they may be intended to provide an operation on the input that is reverse to that of the encoder, the upsampling layers may apply a deconvolution operation to the input received so that its size is increased by a factor corresponding to the upsampling ratio. However, the present disclosure is not generally limited todeconvolution and the upsampling may be performed in any other manner such as by bilinear interpolation between twoneighboring samples, or by nearest neighbor sample copying, or the like. In the first subnetwork, some convolutional layers (401 to 403) are followed by generalized divisive normalization (GDN) atthe encoder side and by the inverse GDN (IGDN) at the decoder side. In the second subnetwork, the activation function appliedis ReLU. It is noted that the present disclosure is not limited to such implementation and in general, other activation functions may be used instead of GDN or ReLU. In the present specification, a ‘parameter’ is a value used in an operation process of each layer forming a neural network, and for example, may include a weight used when an input value is applied to a certain operation expression. Here, the parameter may be expressed in a matrix form. The parameter is a value set as a result of training, and may be updated through separate training data when necessary. The problem of tone mapping has been addressed using various HDR techniques. Existing HDR algorithms described in the prior art aim to resolve one or more of the following issues: 1. Optimisation for a specific viewing condition (display-adaptive)2. Adaptability to various viewing conditions (user-preference-adaptive)3. Dependency on large paired datasets4. Capability to process different regions of the image (locally adaptive)The methods outlined below offer solutions to one or two of these challenges.One prior art solution proposes optimising tone mapping through an iterative process, where the optimisation objective istailored to a single viewing condition specified by the user. This method decomposes images using bilateral filtering into two layers: base and detail. During optimisation, the algorithm converts the given images, generates a contrast-weighted histogram, and performs optimisation based solely on these values in the base layer, without considering the spatial information of the scene. The resulting tone mapping is applied globally across the image. This method addresses issue 1) but does not provide solutions for 2), 3), or 4). Another prior art solution introduces a neural network architecture inspired by bilateral grid processing combined with local affine colour transformations. HDRNet employs a convolutional neural network to predict the coefficients for a locally affine model operating within a bilateral space using paired images. HDRNet processes a low-resolution version of the input image to generate a series of affine transformations. These transformations are then refined through a slicing node that preserves edges during upsampling and are subsequently applied to the original, full-resolution image. This method partially addresses issues 2) and 4) but does not provide solutions for 1) or 3). A different prior art solution proposes a neural network architecture that does not rely on paired training data for HDR to LDR tone mapping, instead leveraging unpaired adversarial training. This approach utilises readily available unpaired sets of HDR and LDR images, avoiding the need for a definitive ground truth typically required for training deep neural networks in this domain. In unpaired adversarial training, the generator attempts to tone map an HDR image to an SDR image, while the discriminator learns to differentiate between tone-mapped and authentic SDR images. During inference, only the generator is used for tone mapping. This method fully addresses issue 3) and partially addresses issue 2) but does not provide solutions for 1) or 4). A more comprehensive solution to issues 1) through 4) involves two configurations optimised for different viewing conditions, such as maximum display brightness. This model requires multiple passes through the entire neural network architecture to process the input image, followed by interpolation between the multiple outputs. This operation is computationally expensive, as the typically complex neural network architecture requires multiple passes, which linearly increases the total computational complexity. Similarly, applying region of interest (ROI)-based tone mapping further increases the complexity, as the input image and the subimage containing the ROI must be processed sequentially by the entire neural network architecture. According to an example, there is provided a display-adaptive and user-preference-adaptive neural network (NN)-based tone mapping operator (TMO), providing explicit tone mapping curves for different viewing and display conditions. The proposed invention utilises a feature extractor network with multiple heads, wherein each head is specialised to produce TMOs for a specific display brightness range. For an arbitrary intermediate range, the feature extractor network processes the image once, and the tone-mapping is achieved by combining the output of one or more heads, for example, by interpolating the corresponding tone-mapping curves. This approach not only saves the computational complexity by requiring only a single pass through the more complex feature extractor network, but also allows for the deactivation of unnecessary heads to reduce computational complexity and to save power. Figure 5 is a block diagram of a tone mapping algorithm according to an example. An input HDR image to be tone mappedmay be represented as a 3D tensor having a size of H x W x C, where H is the height of the image, W is the width of the image,and C is a number of colour channels. The input image may be converted to a luminous intensity format image 5101, having asize of H x W x 1. In other words, each element of the input image may be measured in absolute nit values, equivalent to one candela per square metre (cd / m²). If the luminous intensity image 5101 has already been provided, no conversion is required. In ‘Image Min / Max’ block 5109, the minimum and maximum brightness may be calculated. The minimum / maximum brightness may be given in cd / m². This minimum / maximum value of the brightness relates to contents of the input image, that is, it relates to the luminous intensity format HDR image 5101 which will be tone mapped. The luminous intensity image 5101 is then passed through a feature extractor network 5102. The feature extractor network 5102 utilises multiple neural network-based layers, including convolutional layers, residual layers, and attention layers, andmay be designed with a UNet architecture. The feature extractor network 5102 generates a feature map ^ with the size of^^ × ^^ × ^, where N represents the number of feature maps. If UNet has been used as the feature extractor, then ^^ = ^ and^^ = ^. The feature map z is expressed as a first tensor.Reference is now made to Figure 6, which is a schematic representation of a feature map according to an example. The inputluminous intensity image 6201 may be used to generate four distinct feature maps, z, 6202-6205. However, the invention is notlimited thereto, and any number of feature maps can be generated. Referring back to Figure 5, The first tensor z is furtherprocessed using multiple neural network modules 5103-1, 5103-2, …, 5103-M. The multiple neural network modules 5103 may be referred to as “heads”. Each of the multiple neural network modules 5103 applies non-linear transformations to mapthe feature map z to an intermediate representation e, having a size of ^^ × ^. Here, ^^ stands for the number heads beingused (i.e., active heads), and ^ corresponds to the discretisation steps of the tone curve values. In other words, K correspondsto the number of discrete steps or levels used to represent the tone curve values. Then, a non-negative-valued function (for example, softmax or relu) is applied to the intermediate representation e, wherebyto obtain a second tensor of non-negative valued derivatives of the tone curves d with the size of ^^ × ^ . The intermediaterepresentation e may serve as a refined or processed version of the original feature map z, capturing specific aspects of the data that are relevant for subsequent stages of the model.The derivative d (i.e., the second tensor) may be first prepended with a zero value, and then cumulatively summed along itssecond dimension to produce a third tensor y, representing tone mapping curves. The second tensor y may have a size of^^ × (^ + 1). In particular, the third tensor y represents incremental adjustments for the y-axis values of the tone mappingcurve. Advantageously, each of the multiple neural network modules 5103 may have been trained for a different viewing condition, i.e., a different maximum brightness value of the display. According to the display used and / or user preference, the number ofactive heads ^^ may be one or two. If the desired conditions – i.e., the specific display brightness range – exactly match theproperties of a particular network module, then the output of the particular network module y with K+1 values may be used.Otherwise, the outputs of the two corresponding heads y (each with a size of 2 x (K+1)) that are closest to the desired displaybrightness range may be selected for further processing. The output of said heads may be combined through the use of an interpolator 5104 in order to acquire the final tone mapping values yint (i.e., the fourth tensor) comprising K+1 elements. Logarithmic partitioning 5105 is then applied to the dynamic range of the input image in order to logarithmically split thedynamic range into uniformly distributed K+1 partitions, whereby to obtain a fifth tensor comprising the x-axis values x of thetone mapping curve. Finally, by applying curve fitting 5106, the final tone mapping curve ^(⋅) can be obtained by curve fittingusing the fifth tensor x and the third tensor y, or the fifth tensor x and the fourth tensor yint, depending on the previous process.The final tone mapping curve ^(⋅) can be used to tone-map the HDR image to an image with a lower dynamic range (such asSDR) in luminous intensity format with the size of H x W x 1. The colours in the output LDR image may be reproduced using ^^^^=^^^^^^^^^^, wherein Cin refers to RGB channels of the HDR image, Yun refers to the HDR input image in the luminous intensity format, Yout refers to the tone-mapped image in the luminous intensity format, and refers to the RGB channels of the tone-mapped image. Figure 7 is a block diagram of a tone mapping algorithm according to another example. Same elements are denoted in Figures5 and 7 using the same reference numerals and functions likewise. Compared to Figure 5, Figure 7 illustrates region-of-interest(ROI)-based tone mapping, allowing selection of a region with greater importance (e.g., higher contrast).Similarly to Figure 5, the luminous intensity image 5101 may be passed through a feature extractor network 5102, in order toobtain a first tensor z. Then, ROI cropping 5110 may be performed, in order to reside the ROI in spatial dimensions to matchthe spatial dimensions ^^ × ^^, and the feature map ^ may be masked by the ROI to obtain the masked feature map ^^. Maskingthe feature map by ROI may involve applying a mask to extract or focus on a specific area of the feature map that correspondsto the ROI. This allows the relevant or salient features to be isolated within the ROI, excluding other (e.g., irrelevant) regions.Afterwards, similarly to Figure 5, the feature map z and the masked feature map ^^ may be processed by several neural networkmodules 5103, which apply non-linear transformations to map z and ^^ to intermediate representations, respectively. Theoutputs from these neural network modules 5103 may then be combined using an interpolator 5104. Logarithmic partitioning5105 may applied to the dynamic range for both z and ^^. To optimise processing on parallel hardware architectures such asNPUs and GPUs, z and ^^ may be stacked along a separate batch dimension and processed simultaneously, provided sufficientmemory is available. This step results in tone mapping values y (third tensor) or yint (fourth tensor) for the whole input image,and ^^or ^^,^^^for the ROI. The curve fitting 5106 may be applied separately for the tone mapping values of the whole input image (third tensor or fourthtensor), and ^^ or ^^,^^^ for the ROI, thereby providing the tone mapping curves ^^(⋅) and ^^(⋅) for the whole image and ROI,respectively.A second interpolation process 5111 may be applied to ^^(⋅) and ^^(⋅), interpolating the two curves in order to provide a finaltone mapping curve T(⋅). Optionally, a weighting factor w may be applied to ^^(⋅) and ^^(⋅) during interpolation, balancing therelative importance between the ROI and the whole image. Finally, ^(⋅) may be used to tone-map the HDR image to an imagewith a lower dynamic range (e.g., SDR) in a luminous intensity format having a size of ^ × ^ × 1.Figure 8 is a flow chart of a method for tone mapping an HDR image to a lower dynamic range image according to an example.The method may correspond to the method shown and described in relation to Figures 1 and 3. The method comprises, in block 401, obtaining a luminous intensity image based on the HDR image. In block 402, the method comprises processing the luminous intensity image using a feature extractor network, whereby to generate a feature map. In block 403, the method comprises processing the feature map using at least one neural network module of multiple neural network modules. In block 404, the method comprises obtaining a tone mapping operator based on an output of the at least one neural network module of the multiple neural network modules. The method comprises, in block 405, applying the tone mapping operator to the HDR image, whereby to obtain the LDR image, wherein the tone mapping operator comprises a tone mapping curve.The corresponding system 19 which may deploy the above-mentioned processing chain is illustrated, according to an example,in Fig.9. Fig.9 is a schematic block diagram illustrating an example coding system, e.g., a video, image, audio, and / or other coding system (or short coding system) that may utilize techniques of this present application. Video or image encoder 20 (orshort encoder 20) and video or image decoder 30 (or short decoder 30) of video or image coding system 10 represent examplesof devices that may be configured to perform techniques in accordance with various examples described in the present application. For example, the video and / or image coding and decoding may employ neural network such which may be distributed and which may apply the above-mentioned bitstream parsing and / or bitstream generation to convey feature maps between distributed computation nodes (two or more). As shown in Fig.9, the coding system 10 comprises a source device 12 configured to provide, over a communication channel 13, encoded picture or image data 21 to, for example, a destination device 14 for decoding the encoded picture or image data. The source device 12 comprises an encoder 20, such as that described above with reference to figure 5 for example, and may additionally, i.e., optionally, comprise a picture source 16, a pre-processor (or pre-processing unit) 18, e.g. a picture pre- processor 18, and a communication interface or communication unit 22. The picture source 16 may comprise or be any kind of picture capturing device, for example a camera for capturing a real- world picture, and / or any kind of a picture generating device, for example a computer-graphics processor for generating a computer animated picture, or any kind of other device for obtaining and / or providing a real-world picture, a computer generated picture (e.g. a screen content, a virtual reality (VR) picture) and / or any combination thereof (e.g. an augmented reality (AR) picture). The picture source may be any kind of memory or storage storing any of the aforementioned pictures. In distinction to the pre-processor 18 and the processing performed by the pre-processing unit 18, the picture or picture data 17 may also be referred to as raw picture or raw picture data 17. Pre-processor 18 is configured to receive the (raw) picture data 17 and to perform pre-processing on the picture data 17 to obtain a pre-processed picture 19 or pre-processed picture data 19. Pre-processing performed by the pre-processor 18 may, e.g., comprise trimming, color format conversion (e.g. from RGB to YCbCr), color correction, or de-noising. It can be understoodthat the pre-processing unit 18 may be optional component. It is noted that the pre-processing may also employ a neural network(such as described above with reference to any of Figs.1 to 8). The encoder 20 is configured to receive the pre-processed picture data 19 and provide encoded picture data 21.Communication interface 22 of the source device 12 may be configured to receive the encoded picture data 21 and to transmitthe encoded picture data 21 (or any further processed version thereof) over communication channel 13 to another device, e.g. the destination device 14 or any other device, for storage or direct reconstruction. The destination device 14 comprises a decoder 30 (e.g., a video or image decoder 30, such as that described above withreference to figures 5 or 7 for example), and may additionally, i.e. optionally, comprise a communication interface orcommunication unit 28, a post-processor 32 (or post-processing unit 32) and a display device 34. The communication interface 28 of the destination device 14 is configured receive the encoded picture data 21 (or any further processed version thereof), e.g. directly from the source device 12 or from any other source, e.g. a storage device, e.g. an encoded picture data storage device, and provide the encoded picture data 21 to the decoder 30. The communication interface 22 and the communication interface 28 may be configured to transmit or receive the encoded picture data 21 or encoded data 13 via a direct communication link between the source device 12 and the destination device 14,e.g. a direct wired or wireless connection, or via any kind of network, e.g. a wired or wireless network or any combinationthereof, or any kind of private and public network, or any kind of combination thereof. The communication interface 22 may be, e.g., configured to package the encoded picture data 21 into an appropriate format, e.g. packets, and / or process the encoded picture data using any kind of transmission encoding or processing for transmission over a communication link or communication network.The communication interface 28, forming the counterpart of the communication interface 22, may be, e.g., configured to receivethe transmitted data and process the transmission data using any kind of corresponding transmission decoding or processing and / or de-packaging to obtain the encoded picture data 21. Both, communication interface 22 and communication interface 28 may be configured as unidirectional communication interfaces as indicated by the arrow for the communication channel 13 in Fig. 9 pointing from the source device 12 to the destination device 14, or bi-directional communication interfaces, and may be configured, e.g. to send and receive messages, e.g. to set up a connection, to acknowledge and exchange any other information related to the communication link and / or data transmission, e.g. encoded picture data transmission. The decoder 30 is configured to receive the encoded picture data 21 and provide decoded picture data 31 or a decoded picture 31.The post-processor 32 of destination device 14 is configured to post-process the decoded picture data 31 (also calledreconstructed picture data), e.g. the decoded picture 31, to obtain post-processed picture data 33, e.g. a post-processed picture 33. The post-processing performed by the post-processing unit 32 may comprise, e.g. color format conversion (e.g. from YCbCr to RGB), color correction, trimming, or re-sampling, or any other processing, e.g. for preparing the decoded picture data 31 for display, e.g. by display device 34. Such post-processing (and also pre-processing noted above with reference to source device12) may be in addition to any pre- or post-processing described with reference to figures 5 to 8, for example.The display device 34 of the destination device 14 is configured to receive the post-processed picture data 33 for displaying the picture, e.g. to a user or viewer. The display device 34 may be or comprise any kind of display for representing the reconstructed picture, e.g. an integrated or external display or monitor. The displays may, e.g. comprise liquid crystal displays(LCD), organic light emitting diodes (OLED) displays, plasma displays, projectors, micro LED displays, liquid crystal onsilicon (LCoS), digital light processor (DLP) or any kind of other display.Although Fig. 9 depicts the source device 12 and the destination device 14 as separate devices, embodiments of devices mayalso comprise both or both functionalities, the source device 12 or corresponding functionality and the destination device 14 orcorresponding functionality. In such embodiments the source device 12 or corresponding functionality and the destination device 14 or corresponding functionality may be implemented using the same hardware and / or software or by separate hardware and / or software or any combination thereof. As will be apparent for the skilled person based on the description, the existence and (exact) split of functionalities of the different units or functionalities within the source device 12 and / or destination device 14 as shown in Fig.9 may vary depending on the actual device and application. The encoder 20 (e.g., a video or image encoder 20) or the decoder 30 (e.g., a video or image decoder 30) or both encoder 20 and decoder 30 may be implemented via processing circuitry as shown in Fig.10, such as one or more microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), discrete logic, hardware, video coding dedicated or any combinations thereof. The encoder 20 may be implemented via processing circuitry 46 to embody the various modules including the neural network or its parts. The decoder 30 may be implemented via processing circuitry 46 to embody any coding system or subsystem described herein. The processing circuitry may be configured to perform the various operations as discussed later. If the techniques are implemented partially in software, a device may store instructions for the software in a suitable, non-transitory computer-readable storage medium and may execute the instructions in hardware using one or more processors to perform the techniques of this disclosure. Either of video encoder 20 and video decoder 30 may be integrated as part of a combined encoder / decoder (CODEC) in a single device, for example, as shown in Fig.10. Source device 12 and destination device 14 may comprise any of a wide range of devices, including any kind of handheld or stationary devices, e.g. notebook or laptop computers, mobile phones, smart phones, tablets or tablet computers, cameras, desktop computers, set-top boxes, televisions, display devices, digital media players, video gaming consoles, video streaming devices(such as content services servers or content delivery servers), broadcast receiver device, broadcast transmitter device, or the like and may use no or any kind of operating system. In some cases, the source device 12 and the destination device 14 may be equipped for wireless communication. Thus, the source device 12 and the destination device 14 may be wireless communication devices. In some cases, video coding system 10 illustrated in Fig.9 is merely an example and the techniques of the present application may apply to video coding settings (e.g., video encoding or video decoding) that do not necessarily include any data communication between the encoding and decoding devices. In other examples, data is retrieved from a local memory, streamed over a network, or the like. A video encoding device may encode and store data to memory, and / or a video decoding device may retrieve and decode data from memory. In some examples, the encoding and decoding is performed by devices that do not communicate with one another, but simply encode data to memory and / or retrieve and decode data from memory. Fig.11 is a schematic diagram of a coding device 8000 according to an embodiment of the disclosure. The coding device 8000 is suitable for implementing the disclosed embodiments as described herein. In an embodiment, the coding device 8000 may be a decoder such as decoder 30 of Figs.9 or 10 or an encoder such as encoder 20 of Figs.9 or 10. The video coding device 8000 comprises ingress ports 8010 (or input ports 8010) and receiver units (Rx) 8020 for receiving data; a processor, logic unit, or central processing unit (CPU) 8030 to process the data; transmitter units (Tx) 8040 and egress ports 8050 (or output ports 8050) for transmitting the data; and a memory 8060 for storing the data. The coding device 8000 may also comprise optical-to-electrical (OE) components and electrical-to-optical (EO) components coupled to the ingress ports 8010, the receiver units 8020, the transmitter units 8040, and the egress ports 8050 for egress or ingress of optical or electrical signals. The processor 8030 is implemented by hardware and software. The processor 8030 may be implemented as one or more CPU chips, cores (e.g., as a multi-core processor), FPGAs, ASICs, and DSPs. The processor 8030 is in communication with theingress ports 8010, receiver units 8020, transmitter units 8040, egress ports 8050, and memory 8060. The processor 8030comprises a neural network-based codec 8070. The neural network-based codec 8070 implements the disclosed embodimentsdescribed above. For instance, the neural network-based codec 8070 implements, processes, prepares, or provides the variouscoding operations. The inclusion of the neural network-based codec 8070 therefore provides a substantial improvement to thefunctionality of the video coding device 8000 and effects a transformation of the video coding device 8000 to a different state.Alternatively, the neural network-based codec 8070 is implemented as instructions stored in the memory 8060 and executed bythe processor 8030. The memory 8060 may comprise one or more disks, tape drives, and solid-state drives and may be used as an over-flow data storage device, to store programs when such programs are selected for execution, and to store instructions and data that are read during program execution. The memory 8060 may be, for example, volatile and / or non-volatile and may be a read-only memory (ROM), random access memory (RAM), ternary content-addressable memory (TCAM), and / or static random-access memory (SRAM). Fig. 12 is a simplified block diagram of an apparatus that may be used as either or both of the source device 12 and the destination device 14 from Fig.9 according to an exemplary embodiment. A processor 9002 in the apparatus 9000 can be a central processing unit. Alternatively, the processor 9002 can be any other type of device, or multiple devices, capable of manipulating or processing information now-existing or hereafter developed. Although the disclosed implementations can be practiced with a single processor as shown, e.g., the processor 9002, advantages in speed and efficiency can be achieved using more than one processor. A memory 9004 in the apparatus 9000 can be a read only memory (ROM) device or a random access memory (RAM) device in an implementation. Any other suitable type of storage device can be used as the memory 9004. The memory 9004 can include code and data 9006 that is accessed by the processor 9002 using a bus 9012. The memory 9004 can further include an operating system 9008 and application programs 9010, the application programs 9010 including at least one program that permits the processor 9002 to perform the methods described herein. For example, the application programs 9010 can include applications 1 through N, which further include a video coding application that performs the methods described here. The apparatus 9000 can also include one or more output devices, such as a display 9018. The display 9018 may be, in one example, a touch sensitive display that combines a display with a touch sensitive element that is operable to sense touch inputs. The display 9018 can be coupled to the processor 9002 via the bus 9012. Although depicted here as a single bus, the bus 9012 of the apparatus 9000 can be composed of multiple buses. Further, a secondary storage can be directly coupled to the other components of the apparatus 9000 or can be accessed via a network and can comprise a single integrated unit such as a memory card or multiple units such as multiple memory cards. The apparatus 9000 can thus be implemented in a wide variety of configurations. Fig.13 is a block diagram of a coding system 10000 according to an embodiment of the disclosure. A platform 10002 in the system 10000 can be a cloud server or local sever. Alternatively, the platform 10002 can be any other type of device, or multiple devices, capable of calculation, storing, transcoding, encryption, rendering, decoding or encoding. Although the disclosed implementations can be practiced with a single platform as shown, e.g., the platform 10002, advantages in speed and efficiency can be achieved using more than one platform. A content delivery network (CDN) 10004 in the system 10000 can be a group of geographically distributed servers. Alternatively, the CDN 10004 can be any other type of device, or multiple devices, capable of data buffering, scheduling,dissemination or speed up the delivery of web content by bringing it closer to where users are. Although the disclosedimplementations can be practiced with a single CDN as shown, e.g., the CDN 10004, advantages in speed and efficiency can be achieved using more than one CDN. A terminal 10006 in the apparatus 10000 can be a mobile phone, computer, television, laptop, camera. Alternatively, the terminal 10006 can be any other type of device, or multiple devices, capable of displaying video or image. It should be noted that RGB and YUV are common color spaces. Conversion between RGB and YUV may be performed according to an equation specified in standards such as CCIR 601 and BT.709. References herein to picture and / or video should be taken to include reference to an image or images, such as an SCI image for example. That is, a video for example can comprise multiple images, such as multiple SCI images. While operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system modules and components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products. Particular embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results. As one example, the processes depicted in the accompanying figures do not necessarily require the particular order shown, orsequential order, to achieve desirable results. In certain implementations, multitasking and parallel processing may beadvantageous. Figure 14 is a schematic representation of an apparatus according to an example. The apparatus 1400 comprises a processor 1401, and a memory 1402 coupled to the processor 1401 and configured to store instructions or program code 1403, executable by the processor 1401. The apparatus 1400 comprises the program code 503 arranged to cause the apparatus to perform the method described herein.According to an example, machine-readable instructions can be loaded onto a computer or other programmable data processingdevices, so that the computer or other programmable data processing devices perform a series of operations to produce computer-implemented processing, thus the instructions executed on the computer or other programmable devices provide an operation for realizing functions specified by flow(s) in the flow charts and / or block(s) in the block diagrams. Further, the teachings herein may be implemented in the form of a computer or software product, such as a non-transitory machine-readable storage medium, the computer software or product being stored in a storage medium and comprising a plurality of instructions, e.g., machine readable instructions, for making a computer device implement the methods recited in the examples of the present disclosure. In some examples, some methods can be performed in a cloud-computing or network-based environment. Cloud-computing environments may provide various services and applications via the Internet. These cloud-based services (e.g., software as a service, platform as a service, infrastructure as a service, etc.) may be accessible through a web browser or other remote interface of the user equipment for example. Various functions described herein may be provided through a remote desktop environment or any other cloud-based computing environment. While various embodiments have been described and / or illustrated herein in the context of fully functional computing systems, one or more of these exemplary embodiments may be distributed as a program product in a variety of forms, regardless of the particular type of computer-readable-storage media used to actually carry out the distribution. The embodiments disclosed herein may also be implemented using software modules that perform certain tasks. These software modules may include script, batch, or other executable files that may be stored on a computer-readable storage medium or in a computing system. In some embodiments, these software modules may configure a computing system to perform one or more of the exemplary embodiments disclosed herein. In addition, one or more of the modules described herein may transform data, physical devices, and / or representations of physical devices from one form to another. The preceding description has been provided to enable others skilled in the art to best utilize various aspects of the exemplary embodiments disclosed herein. This exemplary description is not intended to be exhaustive or to be limited to any precise form disclosed. Many modifications and variations are possible without departing from the spirit and scope of the instant disclosure. The embodiments disclosed herein should be considered in all respects illustrative and not restrictive. Reference should be made to the appended claims and their equivalents in determining the scope of the instant disclosure.
Claims
CLAIMS 1. A method for tone mapping a high dynamic range, HDR, image to a lower dynamic range image, LDR, comprising: obtaining a luminous intensity image based on the HDR image (401); processing the luminous intensity image using a feature extractor network, whereby to generate a feature map (402); processing the feature map using at least one neural network module of multiple neural network modules (403); obtaining a tone mapping operator based on an output of the at least one neural network module of the multiple neural network modules (404); and applying the tone mapping operator to the HDR image, whereby to obtain the LDR image, wherein the tone mapping operator comprises a tone mapping curve (405).
2. The method of claim 1, wherein processing the luminous intensity image using the feature extractor network, wherebyto generate the feature map (402) further comprises generating a first tensor comprising the feature map, wherein processing the feature map using at least one neural network module (403) of the multiple neural network module comprises processing the first tensor using multiple neural network modules, wherein each neural network module of the multiple neural network modules is arranged to apply a non-linear transformation to map the feature map to an intermediate representation.
3. The method of claim 2, wherein processing the feature map using the at least one neural network module (403) of themultiple neural network modules further comprises applying a non-negative-valued function to the intermediate representation,whereby to produce a second tensor, wherein the second tensor comprises a tensor representing incremental adjustments forthe y-axis values of the tone mapping curve.
4. The method of claim 3, wherein the tone mapping operator comprises a final tone mapping curve, wherein obtainingthe tone mapping operator based on the output of the at least one neural network module (404) of the multiple neural networkmodules comprises: adding a non-negative-valued starting value at the beginning of a specified dimension of the second tensor and cumulatively summing along the specified dimension, whereby to obtain a third tensor, wherein the third tensor comprises a tensor representing y-axis values of a tone mapping curve; acquiring, using at least one neural network module of the multiple neural network modules, a set of final tone mapping values, whereby to provide a fourth tensor comprising the set of final tone mapping values; splitting a dynamic range of the luminous intensity image into uniformly distributed partitions, whereby to obtain a fifth tensor, wherein the fifth tensor comprises a tensor representing x-axis values of the tone mapping curve; and obtaining a final tone mapping curve by performing curve-fitting using the fifth tensor and the third tensor, or the fifth tensor and the fourth tensor,wherein applying the tone mapping operator to the HDR image comprises applying the final tone mapping curve to the HDR image to produce the lower dynamic range image.
5. The method of claim 4, further comprising: adapting the feature map to provide a region of interest, whereby to provide a modified first tensor; concurrently processing the modified first tensor and the first tensor, whereby to obtain a modified second tensor, modified third tensor, modified fourth tensor and the fifth tensor; obtaining a modified final tone mapping curve by performing curve-fitting using the modified fifth tensor and the modified third tensor, or the modified fifth tensor and the modified fourth tensor; interpolating the modified final tone mapping curve and the final tone mapping curve, whereby to obtain a unified tone mapping curve; and applying the unified tone mapping curve to the HDR image to produce the lower dynamic range image.
6. The method of any one of claims 1 to 5, wherein obtaining the luminous intensity image based on the HDR image (401)comprises: representing the HDR image as a three-dimensional tensor; and converting the HDR image to a luminous intensity format, whereby to obtain the luminous intensity image.
7. The method of any one of claims 1 to 6, further comprising:selecting one or more neural network modules of the multiple neural network modules to process the feature map basedon a specified criterion, whereby to provide at least one active neural network module, wherein the specified criterion comprises a user input and / or specified display characteristics, wherein the specified display characteristics comprise a maximum brightness value of a display.
8. The method of any one of claims 1 to 7, wherein each neural network module of the multiple neural network moduleshas a unique brightness range associated therewith, wherein obtaining the tone mapping operator based on the output of the at least one neural network module (404) of the multiple neural network modules comprises: in response to determining that a desired brightness range of the LDR image matches the unique brightness range associated with a neural network module of the multiple neural network modules, acquiring the tone mapping operator by acquiring an output of the neural network module.
9. The method of claim 8, further comprising:in response to determining that the desired brightness range of the LDR image does not match the unique brightness range associated with the specific neural network module, acquiring the set of final tone mapping values by acquiring outputs of two neural network modules of the multiple neural network modules whose brightness range neighbours thedesired brightness range of the LDR image and interpolating the acquired outputs, whereby to acquire the set of final tone mapping values.
10. The method of any one of claims 2 to 9, wherein applying the non-linear transformation to map the feature map to theintermediate representation comprises applying a softmax function and / or a ReLU function to an output of each neural network of the multiple neural networks.
11. An apparatus (1400) comprising:a processor (1401); a memory (1402) coupled to the processor (1401), the memory (1402) configured to store program code (1403) executable by the processor (1401), the program code (1403) comprising one or more instructions, whereby to cause the apparatus (1400) to: obtain a luminous intensity image based on the HDR image; process the luminous intensity image using a feature extractor network, whereby to generate a feature map; process the feature map using at least one neural network module of multiple neural network modules; obtain a tone mapping operator based on an output of the at least one neural network module of the multiple neural network modules; and apply the tone mapping operator to the HDR image, whereby to obtain the LDR image, wherein the tone mapping operator comprises a tone mapping curve.
12. An encoder configured to encode input image data representing a high dynamic range, HDR, image to generate outputimage data comprising a lower dynamic range, LDR, image, the encoder comprising processing circuitry configured to:obtain a luminous intensity image based on the HDR image; process the luminous intensity image using a feature extractor network, whereby to generate a feature map; process the feature map using at least one neural network module of multiple neural network modules; obtain a tone mapping operator based on an output of the at least one neural network module of the multiple neural network modules; and apply the tone mapping operator to the HDR image, whereby to obtain the LDR image, wherein the tone mapping operator comprises a tone mapping curve13. A computer program stored on a non-transitory medium and including code instructions, which, when executed onmore or more processors, cause the one or more processors to execute the method of any of claims 1 to 10.
Citation Information
Patent Citations
Automatic luminance adjustment for HDR video coding
EP4220539A1
Cited By
Unsupervised artificial intelligence exposure synthesis and fusion for tone mapping
US20260057487A1