Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
RESIDUAL ENCODING AND DECODING USING A NEURAL FIELD
Document Type and Number:
WIPO Patent Application WO/2024/091969
Kind Code:
A1
Abstract:
Methods and apparatus for residual encoding and decoding using a neural field. According to an example embodiment, an image-processing method implemented at an electronic encoder comprises: accessing a plurality of residual images or reshaped images, each of the residual images representing a difference between a respective reference image and a base image, different respective reference images corresponding to various respective values of one or more first parameters; training a neural-field network to represent the plurality of residual images, the neural-field network being responsive to a variable input of the one or more first parameters and being characterized by a set of second parameters, the training producing fixed values of the second parameters; and communicating the base image and the fixed values of the second parameters to a corresponding electronic decoder.

Inventors:
GAUTAM GAUTAM (US)
ANUSTUP KUMAR ANUSTUP KUMAR ATANU (US)
SU GUAN-MING (US)
Application Number:
PCT/US2023/077678
Publication Date:
May 02, 2024
Filing Date:
October 24, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
DOLBY LABORATORIES LICENSING CORP (US)
International Classes:
H04N19/31; H04N19/80
Attorney, Agent or Firm:
KONSTANTINIDES, Konstantinos et al. (US)
Download PDF:
Claims:
CLAIMS What is claimed is: 1. A method for residual encoding using a neural field, the method comprising: accessing, via a processor, a plurality of residual images or reshaped images, each of the residual images representing a difference between a respective reference image and a base image, different respective reference images corresponding to various respective values of one or more first parameters; training, via the processor, a neural-field network to represent the plurality of residual images or reshaped images, the neural-field network being responsive to a variable input of the one or more first parameters and being characterized by a set of second parameters, the training producing fixed values of the second parameters; and communicating the base image and the fixed values of the second parameters to an electronic decoder. 2. The method of claim 1, wherein the one or more first parameters are selected from the group consisting of time, dynamic range, and age. 3. The method of claim 1 or 2, wherein the neural-field network comprises a multilayer perceptron responding to an input of a coordinate or other field-type variable; and wherein the set of second parameters comprises weights for connections between various neural-network nodes of the multilayer perceptron and biases applied to signals by individual neural-network nodes of the multilayer perceptron. 4. The method of any preceding claim, further comprising: mapping, via the processor, a first number of inputs to a second number of inputs using a series of trigonometric functions, the second number being greater than the first number, the mapping being performed using a greedy algorithm; and applying, via the processor, the second number of inputs to the neural-field network. computing, via the processor, a reconstructed image by combining the output residual image and the base image. 12. The method of claim 11, wherein the one or more first parameters are selected from the group consisting of time, dynamic range, and age. 13. The method of claim 11 or 12, wherein the neural-field network comprises a multilayer perceptron; and wherein the set of second parameters comprises weights for connections between various neural-network nodes of the multilayer perceptron and biases applied to signals by individual neural-network nodes of the multilayer perceptron. 14. The method of any of claims 11 to 13, further comprising: receiving one or more reshaping parameters from an electronic encoder for reshaping configured to increase relative weight of higher-frequency signal components; and applying the reshaping, via the processor, to an output of the neural-field network to generate the output residual image. 15. The method of claim 14, further comprising selecting, via the processor, a region of interest for the output residual image, the region of interest being smaller than a full image frame. 16. The method of claim 14 or 15, wherein the reshaping includes at least one of spatial-domain reshaping, time-domain reshaping, and codeword-domain reshaping. 17. The method of any of claims 11 to 16, wherein accessing the set of fixed parameter values comprises: receiving a compressed data stream from an electronic encoder; and obtaining the fixed values of the second parameters by applying, via the processor, decompression to the compressed data stream.

18. The method of any of claims 11 to 17, wherein the neural-field network is operable when the variable input of the one or more first parameters specifies a value that is different from any value of the one or more first parameters using which the neural-field network has been trained. 19. An image-processing apparatus for residual encoding, the apparatus comprising: at least one processor; and at least one memory including program code; wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus at least to: access a plurality of residual images or reshaped images, each of the residual images representing a difference between a respective reference image and a base image, different respective reference images corresponding to various respective values of one or more first parameters; train a neural-field network to represent the plurality of residual images or reshaped images, the neural-field network being responsive to a variable input of the one or more first parameters and being characterized by a set of second parameters, the training producing fixed values of the second parameters; and communicate the base image and the fixed values of the second parameters to an electronic decoder. 20. An image-processing apparatus for residual decoding, the apparatus comprising: at least one processor; and at least one memory including program code; wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus at least to: access a base image and a set of fixed parameter values of a neural-field network trained to represent a plurality of residual images, the neural-field network being responsive to a variable input of one or more first parameters and being characterized by a set of second parameters, the fixed parameter values being values of the second parameters; test the neural-field network using a selected value of the variable input to generate an output residual image; and compute a reconstructed image by summing the output residual image and the base image.

18. The method of any of claims 11 to 17, wherein the neural-field network is operable when the variable input of the one or more first parameters specifies a value that is different from any value of the one or more first parameters using which the neural-field network has been trained.

19. An image-processing apparatus for residual encoding, the apparatus comprising: at least one processor; and at least one memory including program code; wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus at least to: access a plurality of residual images or reshaped images, each of the residual images representing a difference between a respective reference image and a base image, different respective reference images corresponding to various respective values of one or more first parameters; train a neural-field network to represent the plurality of residual images or reshaped images, the neural-field network being responsive to a variable input of the one or more first parameters and being characterized by a set of second parameters, the training producing fixed values of the second parameters; and communicate the base image and the fixed values of the second parameters to an electronic decoder.

20. An image-processing apparatus for residual decoding, the apparatus comprising: at least one processor; and at least one memory including program code; wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus at least to: access a base image and a set of fixed parameter values of a neural-field network trained to represent a plurality of residual images, the neural-field network being responsive to a variable input of one or more first parameters and being characterized by a set of second parameters, the fixed parameter values being values of the second parameters; test the neural-field network using a selected value of the variable input to generate an output residual image; and compute a reconstructed image by summing the output residual image and the base image.

Description:
RESIDUAL ENCODING AND DECODING USING A NEURAL FIELD 1. Cross-Reference to Related Applications [0001] This application claims the benefit of priority from U.S. Provisional Application No. 63/419,099, filed on 25 October 2022, which is incorporated by reference herein in its entirety. 2. Field of the Disclosure [0002] Various example embodiments relate to image processing and, more specifically but not exclusively, to modeling a sequence of images using a neural field. 3. Background [0003] Visual computing involves synthesis, estimation, manipulation, display, storage, and transmission of data about objects and scenes across space and time. For example, in computer graphics, visual computing is used to synthesize 3-dimensional (3D) shapes and 2-dimensional (2D) images, render novel views of various scenes, and animate articulating human bodies. In computer vision, visual computing is used to reconstruct 3D appearance, shape, pose, and deformation. In human-computer interaction, visual computing is used to enable interactive investigation of space- time data. In robotics applications, visual computing is used to support planning and execution of robotic actions. [0004] Advances in machine learning have led to the use of methods employing coordinate- based neural networks for solving certain visual-computing problems. Such neural networks, often referred to as “neural fields,” parameterize physical properties of scenes and objects across space and time. Example applications of neural fields include 3D shape and image synthesis, animation of human bodies, and pose estimation. Additional applications of neural fields are currently being actively developed. BRIEF SUMMARY OF SOME SPECIFIC EMBODIMENTS [0005] Disclosed herein are various embodiments of a framework for encoding/decoding a sequence of residual images with optional reshaping in a dual-layer neural-network system, wherein a base layer provides a baseline representation, and an enhancement layer provides enhancement information using a trained neural field. The optional reshaping can be used to reduce the neural- network size. The disclosed framework can beneficially provide better quality and/or coding efficiency compared to those achieved when coding is applied to the original image directly. In addition, the disclosed framework can be used to generate novel frames not encountered in the training data, thereby supporting a wide range of applications with different visual experiences. Several example applications of the disclosed framework include but are not limited to varying time-scale motion blur, varying dynamic range, and varying age face. [0006] According to an example embodiment, provided is a method for residual encoding using a neural field, the method comprising: accessing, via a processor, a plurality of residual images or reshaped images, each of the residual images representing a difference between a respective reference image and a base image, different respective reference images corresponding to various respective values of one or more first parameters; training, via the processor, a neural-field network to represent the plurality of residual images or reshaped images, the neural-field network being responsive to a variable input of the one or more first parameters and being characterized by a set of second parameters, the training producing fixed values of the second parameters; and communicating the base image and the fixed values of the second parameters to an electronic decoder. [0007] According to another example embodiment, provided is a method for residual decoding using a neural field, the method comprising: accessing, via a processor, a base image and a set of fixed parameter values of a neural-field network trained to represent a plurality of residual images, the neural-field network being responsive to a variable input of one or more first parameters and being characterized by a set of second parameters, the fixed parameter values being values of the second parameters; testing, via the processor, the neural-field network using a selected value of the variable input to generate an output residual image; and computing, via the processor, a reconstructed image by combining the output residual image and the base image. [0008] According to yet another example embodiment, provided is an apparatus for residual encoding, the apparatus comprising: at least one processor; and at least one memory including program code; wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus at least to: access a plurality of residual images or reshaped images, each of the residual images representing a difference between a respective reference image and a base image, different respective reference images corresponding to various respective values of one or more first parameters; train a neural-field network to represent the plurality of residual images, the neural-field network being responsive to a variable input of the one or more first parameters and being characterized by a set of second parameters, the training producing fixed values of the second parameters; and communicate the base image and the fixed values of the second parameters to an electronic decoder. [0009] According to yet another example embodiment, provided is an apparatus for residual decoding, the apparatus comprising: at least one processor; and at least one memory including program code; wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus at least to: access a base image and a set of fixed parameter values of a neural-field network trained to represent a plurality of residual images, the neural-field network being responsive to a variable input of one or more first parameters and being characterized by a set of second parameters, the fixed parameter values being values of the second parameters; test the neural-field network using a selected value of the variable input to generate an output residual image; and compute a reconstructed image by summing the output residual image and the base image. BRIEF DESCRIPTION OF THE DRAWINGS [0010] Other aspects, features, and benefits of various disclosed embodiments will become more fully apparent, by way of example, from the following detailed description and the accompanying drawings, in which: [0011] FIG.1 is a block diagram illustrating a multilayer perceptron (MLP) that can be used to implement a neural field according to an embodiment. [0012] FIG.2 is a block diagram illustrating an encoder using the MLP of FIG.1 according to an embodiment. [0013] FIG.3 is a block diagram illustrating a decoder corresponding to the encoder of FIG.2 according to an embodiment. [0014] FIG.4 is a block diagram illustrating a part of motion-blur image processing using the encoder of FIG.2 according to an embodiment. [0015] FIG.5 is a block diagram illustrating a computing device according to an embodiment. DETAILED DESCRIPTION [0016] This disclosure and aspects thereof can be embodied in various forms, including hardware, devices or circuits controlled by computer-implemented methods, computer program products, computer systems and networks, user interfaces, and application programming interfaces; as well as hardware-implemented methods, signal processing circuits, memory arrays, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), and the like. The following description is intended solely to give a general idea of various aspects of the present disclosure and does not limit the scope of the disclosure in any way. [0017] In the following description, numerous details are set forth, such as device configurations, timings, operations, and the like, in order to provide an understanding of one or more aspects of the present disclosure. It will be readily apparent to one skilled in the art that these specific details are merely exemplary and not intended to limit the scope of this application. Neural Field [0018] Under the neural-field framework, field quantities are produced by sampling coordinates and feeding the sampled coordinates into a neural network. For example, Neural Radiance Field (NeRF) is an implicit 3D scene representation that takes the spatial location (x, y, z) and the viewing direction (θ, ϕ) as inputs and generates the corresponding predicted color texture and volume density as outputs. The corresponding neural network can be trained, e.g., using a set of 2D images with known camera poses and pertinent intrinsic information. After having been trained, the neural network can be used to render arbitrary views of the 3D scene by (i) querying the corresponding 3D positions and viewing directions for the various pixels in the views and (ii) performing volume rendering to construct a projected 2D image. [0019] FIG.1 is a block diagram illustrating a multilayer perceptron (MLP, 100) that can be used to implement a neural field according to an embodiment. The MLP (100) has three layers (1101-1103). The first layer (1101) is an input layer. The next layer (1102) is a hidden layer. The third layer (110 3 ) is an output layer. In general, the MLP (100) can have N hidden layers, where N is a positive integer. Thus, the specific example of the MLP (100) illustrated in FIG.1 corresponds to N=1. In some specific examples, the number N is in the range from 1 to 10. [0020] The MLP (100) is a fully connected feedforward neural network. The “fully connected” attribute means that there is a respective weighted connection between each neural-network (NN) node (also referred to as “processing element,” “neuron,” or “artificial neuron”) from the previous layer to each NN node of the adjacent subsequent layer. An example NN node may scale, sum, and bias the incoming signals and use an activation function to produce an output signal that is a static nonlinear function of the biased sum. Depending on the layer in which a particular NN node is located, the node’s output may become either one of the neural network’s outputs or be sent to one or more other NN nodes through the corresponding connection(s). The respective weights and/or biases applied by individual NN nodes can be changed (e.g., optimized) during the training (learning) mode of operation and are typically fixed (i.e., constant) during the testing (working) mode of operation. Various embodiments disclosed herein below may employ or rely on one or more neural networks, such as the MLP (100). [0021] An entry ^ ^^ of the weight matrix ^ of the MLP (100) is the weight for the connection between the a-th NN node of the subsequent layer and the b-th NN node of the previous layer. For a layer having a plurality of NN nodes, the output ^ ∈ ^ ^^ thereof can be expressed as a function ^ of the weighted sum of input values ^ ∈ ^ ^^ , where ^ ^ is the number of NN nodes in the subsequent layer, and ^ ^ is the number of NN nodes in the previous layer. The function ^ is the above- mentioned activation function. In mathematical terms, ^ = ^(^^ + ^) (1) where the vector B is the bias vector. A nonlimiting example of the activation function f is the ReLU (Rectified Linear Unit) function expressed as follows: In other examples, other suitable activation functions can be used as well. [0022] In some examples, one or more of the final MLP outputs are configured to be in the range [0,1]. In such examples, the output layer, e.g., the output layer (1103), is configured to apply a sigmoid function ^(^) to map a wider range of values onto the range [0,1]. The sigmoid function ^ ( ^ ) is expressed as follows: ^ ( ^ ) = ^ ^ !"# (3) [0023] Since some neural networks, such as the MLP (100), may intrinsically be biased towards preferentially learning lower frequency functions, the inputs thereof may be generated by mapping the initial low-dimensional inputs to a higher dimensional space using a series of trigonometric functions γ for better fitting the output data with high-frequency components. In various examples, the series γ acting on a coordinate p is defined as follows: $ ( % ) = [sin ( 2 +, -% ) cos ( 2 +, -% ) sin ( 2 +/ -% ) cos ( 2 +/ -% ) … sin ( 2 +1"/ -% ) cos ( 2 +1"/ -% ) ] (4) where 2L is the number of trigonometric components of γ; and {4 5 , 4 ^ , … , 4 78^ } are integers. In some examples, 4 : = ;. [0024] In the simplified non-limiting example shown in FIG.1, the layers (1101, 1102, 1103) of the MLP (100) have two, three and one NN nodes (102), respectively. In some other examples, the number of the NN nodes (102) in an MLP layer can be in the range from 1 to 256. Different hidden layers may have different respective numbers of the NN nodes (102) or the same number of the NN nodes (102). In one specific MLP example, in which the above-described positional encoding is used, the input layer has 41 NN nodes (102), and each of five hidden layers has 256 NN nodes (102). Residual Encoding [0025] FIG. 2 is a block diagram illustrating an electronic encoder (200) according to an embodiment. A corresponding electronic decoder (300) is described below in reference to FIG. 3. The encoder (200) and the decoder (300) can beneficially produce better image quality of reconstructed images than at least some conventional methods due to the use of residual images, which can be represented by floating point values for more precise calculations compared to calculations relying on integer values. In addition, the encoder (200) and the decoder (300) can be used to accurately interpolate the neural-field residual from nearby reference residuals along a user- selected dimension of the pertinent image sequence. As a result, the decoder (300) can be operated to accurately predict a novel residual and then generate a corresponding novel image by adding the novel residual to the base image. The use of forward and backward reshaping functions enables the encoder (200) and the decoder (300) to further improve the neural-field model efficiency, thereby providing better quality of reconstructed images for the same size of the neural network or lower signal overhead for the same image quality. [0026] In various examples, the encoder (200) receives, as an input, a sequence (202) of target (e.g., reference) images. In some examples, each image of the sequence (202) is normalized to have values thereof in the range between 0 and 1. In one specific example, the sequence (202) is a sequence of video frames (^ 5 , …, ^ <8^ ), where ^ 5 denotes the first frame in time, and ^ <8^ denotes the last frame in time. In other examples, the sequence (202) is not necessary a sequence in the time domain. In such examples, the indices t representing the order of the target images in the sequence (202) correspond to a user-defined domain or dimension other than time. In one specific example, the user-defined domain is the dynamic range of the content, wherein ^ 5 represents a 100 nits SDR version of an image, and ^ <8^ represents a 4000 nits HDR version of the same image. In another specific example, ^ 5 represents a 4000 nits HDR version of an image, and ^ <8^ represents a 100 nits SDR version of the same image. Herein, the acronyms SDR and HDR stand for Standard Dynamic Range and High Dynamic Range, respectively. Additional examples of the sequence (202) and various user-defined domains are described below in the subsection entitled “Example Use Cases.” [0027] One image of the sequence (202) is selected to serve as a base image (204), which is denoted as ^ ^ . The encoder (200) operates to encode the base image (204) in a base layer bitstream (294), which is transmitted out, e.g., to the decoder (300). The encoder (200) further operates to compute a sequence (208) of residual images by subtracting (206) the base image (204) from each image of the sequence (202). A corresponding forward-reshaped sequence (212) is generated by applying forward reshaping (210) to the sequence (208). Pertinent parameters of the forward reshaping (210) are transmitted out in a metadata bitstream (296). The forward-reshaped sequence (212) is used to train, in a neural field encoding block (214), a suitable neural network, e.g., the MLP (100), to represent the sequence (212). Finally, the parameters of the trained neural network undergo a compression (216) and are transmitted out in a neural network bitstream (298). Example operations performed by the decoder (200) according to various embodiments are described in more detail below. In some specific examples, the elements (204, 206, 208, 294) are absent or not used. In such examples, the forward reshaping (210) is applied directly to the sequence (202). Residual Images [0028] Individual residual images = > ? of the sequence (208) are generated by subtracting (206) the base image (204), ^ ^ , from each image of the sequence (202), (^ 5 , …, ^ <8^ ), as follows: = > ? = ^ ? − ^ ^ for t = 0, 1, …, T−1 (5) Accordingly, pixel values of the residual images = > ? have a sign, i.e., can be positive or negative. In some examples, a rescaling operation is performed on the sequence (208), e.g., when the MLP (100) has a sigmoid layer configured to operate in accordance with Eq. (3). In some examples, the rescaling operation is performed in accordance with Eq. (6): = A ? = 0.5 ∗ (= > ? + 1) (6) where = A ? denotes the rescaled residual image. Hereafter, each pixel located at (^F, GF) in = A ? is denoted as = A ? (^ F , GF). Reshaping [0029] As already mentioned above, a neural network, such as the MLP (100), may be biased towards preferentially learning lower frequency functions. In various examples, such bias can be reduced or eliminated using the above-described positional encoding (e.g., see Eq. (4)). One result of positional encoding is an increase in the number of inputs to the input layer of the neural network, such as the input layer (1101). In some cases, such an increase can be rather significant, which can translate into a commensurate increase of the neural-network size. In at least some examples, the forward reshaping (210) is used to mitigate such an increase. More specifically, the forward reshaping (210) operates to change the signal-frequency distribution such that the weight of higher- frequency components is reduced, thereby enabling a corresponding reduction of the number 2L of trigonometric components of γ (also see Eq. (4)). Various embodiments and components of the forward reshaping (210) are described in more detail below. In some specific examples, the forward reshaping (210) is optional and can be omitted. Spatial Domain Region of Interest Selection [0030] Typically, in the sequence (208), active content is confined to a smaller area than the full-size residual image. In other words, the values of the residual images outside this smaller area are constant, e.g., 0 (before scaling) or 0.5 (after scaling). In order to reduce the size of the image on which the neural network operates and to avoid the data bias to non-active pixels, a region of interest (ROI) is selected in at least some examples. Only the selected ROI is then fed to the neural network for the training in the neural network encoding block (214). Accordingly, the corresponding neural network bitstream (298) in such examples only contains the coefficients and biases for the ROI. At the decoder (300), the ROI is reconstructed and added to the base image according to the ROI location communicated to the decoder (300) via the metadata bitstream (296). [0031] In some examples, the boundary of the ROI is determined as a tight (e.g., a tightest) bounding box enclosing the ROI such that all pixels outside the ROI are nonactive, e.g., have a value of 0.5 in the rescaled range. Eqs. (7)-(10) represent the Cartesian coordinates x0, x1, y0, y1 of the four borderlines of the bounding box according to one possible example: ^HI J5 = KLM Q m R a S x{= A ? (^F, GF) = 0.5, ^F < ^HI J5 #, , ∀U} (7) ^HI J^ = KLM Q m RiS# n /{= A ? (^ F , GF) = 0.5, ^ F > ^HI J^ , ∀U} (8) ^HI W5 = KLM Q m R a SX x ,{= A ? (^F, GF) = 0.5, GF < ^HI W5 , ∀U} (9) ^HI W^ = KLM Q m RiSX n /{= A ? (^F, GF) = 0.5, GF > ^HI W^ , ∀U} (10) In some specific examples, a small margin of δ is added to enlarge the ROI for a cleaner transition in the decoded image from the active area encoded by the neural-field ROI to the non-active area from the base image (204). Eqs. (11)-(14) provide the corresponding mathematical formulas for redefining the ROI selection in the δ-margined examples: ^HI J5 = ^HI J5 − δ (11) ^HI J^ = ^HI J^ + δ (12) ^HI W5 = ^HI W5 − δ (13) ^HI W^ = ^HI W^ + δ (14) where the ROI coordinates in the righthand side of Eqs. (11)-(14) are computed using Eqs. (7)-(10), respectively. Two corners of the ROI, i.e., ^HI W^ ), determined in the above-indicated manner define the rectangular ROI area and are transmitted in the metadata bitstream (296). Hereafter, = ? ( ^, G ) is used to denote the ROI image. Z and [ denote the height and width, respectively, of the ROI. User-Defined-Axis Frame of Interest (FOI) Selection [0032] In some examples, similar to the above-described spatial-domain ROI selection, individual frames of the sequence (208) with an active residual are selected in the user-defined domain or dimension. Eqs. (15)-(16) provide a formal definition of the FOI that can be used in such examples: \HI ]5 = KLM ^ m R a S# x ,{= ? (^, G) = 0.5, U < \HI J5 , ∀^, G} (15) \HI ]^ = KLM ^ m RSi # n /{= ? ( ^, G ) = 0.5, U > \HI J5 , ∀^, G} (16) The two frame indices, \HI ]5 and \HI ]^ , determined in the above-indicated manner define the FOI and are transmitted in the metadata bitstream (296). Spatial Domain Reshaping [0033] In each of the pertinent dimensions (e.g., the x and y dimensions for 2D images), the corresponding spatial axis is divided into M bins, where M is an integer greater than one. In some examples, M can be equal to the number of pixels in the corresponding dimension. Let us denote the number of pixels in the active regions and active frames as P. For a 2D image, the forward reshaping (210) operates to compute average local standard deviation (SD) along the corresponding (x or y) dimension for each bin (or overlapped bin). Hereafter, the x and y SDs so computed are denoted as _ ` (^) and _ a (G), respectively. Below, example calculations corresponding to the x dimension are described. Based on the provided examples, a person of ordinary skill in the pertinent art will readily understand how to implement calculations corresponding to the y dimension without any undue experimentation. [0034] In various examples, SD calculations rely on a sliding window, whose size is denoted as ∆. The lower bound ^ 7 and the upper bound ^ c of the sliding window are expressed as follows: ^ c = min (^ + ∆, [ − 1) (17) ^ 7 = max (^ − ∆,0) (18) For each (x, y), the standard deviation is then computed as follows: where = f ? (;, G) is the mean between [^ 7 , ^ c ]. Then, for each x, the average SD over all y values in the corresponding range is computed as follows: _ ` (^) = ^ c ∑ c 8^ i j5 _ ` (^, h) (20) In typical examples, _ ` (^) is nonuniform, i.e., changes as a function of x. [0035] In an example embodiment, the forward reshaping (210) is configured to apply a mapping function, that maps the uniform grid {^} onto a non-uniform grid {^ k } such that the local SD in the new grid {^ k } is more uniform than in the uniform grid {^}. In mathematical terms, the mapping function ^` () satisfies the following criterion: ^` l_ ` (^)m ≈ o ` (21) where _ ` = ∑ p∗ 8^ J j5 _ ` (^) is the sum of _ ` (^) over the ROI x range; and o ` = ^ p is a constant. [0036] In some examples, Cumulative Distribution Function (CDF) matching is used to build the mapping function ^` () as follows. First, the local SD is computed as: ∑ # t r s (J) q ( ) u, ` ^ = r s (22) Since the target local SD is a constant, the corresponding target function v` ( ^ k) is a linear function with slope 1/(W * −1) and offset 0: For each point ^, the mapping function ^` () maps the point ^ to a point ^ k such that v` ( ^ k) = q ` ( ^ ) (24) Based on Eq. (24), the forward reshaping (210) operates to find an integer k for which v` ( ; − 1 ) ≤ q ` ( ^ ) ≤ v` ( ; ) . Then ^ k is found by interpolation from the two neighboring points as follows: ^ k = ^` (^) = (; (25) The mapping function ^` (^) over the pertinent x range is then built using step-by-step interpolation, with each step using the method represented by Eqs. (21)-(25). In some cases, additional smoothing is applied to the mapping function using the following example smoothing steps: Step 1: Copy ^ > ` ( ; ) = ^` (^) (26) Step 2: Recompute ^` ( ^ ) as ^` ( ^ ) = Step 3: Clip recomputed ^` ( ^ ) to valid range as ^` (^) = o4{%3(^` (^),0,1) (28) Herein, the function y = clip3(x, a, b) performs the following operations: If x < a, then y = a; Else If x > b, then y = b; Else y = x; End. [0037] In various examples, the above-described operations are used to implement the forward reshaping (210) in the encoder (200) to achieve the following result: given a uniform grid {^}, the mapping function ^` (^) is applied to generate a corresponding nonuniform grid {^ k }. In the neural- field encoding (214), the nonuniform grid {^ k } is used as an input to the above-described positional encoding. The metadata of the mapping function ^` (^) are transmitted to the decoder (300) in the metadata bitstream (296). At the decoder (300), the mapping-function metadata are extracted from the metadata bitstream (296), which enables the decoder (300) to reconstruct the mapping function ^` (^). Thus, for each x of the uniform grid {^}, the decoder (300) can determine the corresponding ^ k of the nonuniform grid {^ k }. In typical examples, the decoder (300) uses the ^ k determined in this manner to query the MLP (100) to obtain the corresponding Red, Green, Blue (RGB) pixel value. The decoder (300) then assigns this RGB value to the pixel ^ of the uniform grid {^}. [0038] In various examples, similar operations are performed to implement, in the forward reshaping block (210), reshaping for the y-axis dimension. The corresponding mapping function ^ a () is constructed to satisfy The metadata of the reshaping function ^ a () are transmitted to the decoder (300) in the metadata bitstream (296). User-Defined-Axis Reshaping [0039] In some examples, the above-described spatial-reshaping algorithm is adapted to apply reshaping to a user-defined dimension. In one specific example, the encoder (200) is configured to measure the SD, _ ? (}), along the time dimension t and apply substantially the same calculations to determine a reshaping function ^ ? () in the time domain, with the function ^ ? () satisfying Eq. (30): where ct is a constant. Similar to the above-described case of spatial reshaping, the metadata of the reshaping function ^ ? () are transmitted to the decoder (300) in the metadata bitstream (296). Codeword-Domain Reshaping [0040] In some examples, the above-described spatial-reshaping algorithm is adapted to apply reshaping in the codeword domain. In such examples, the encoder (200) is configured to compute a histogram in a codeword domain, _ ~ (%). A corresponding reshaping function ^ ~ () is then constructed using the above-described method such that: ^ ~ l_ ~ ( % ) m ≈ o ~ (31) where c c is a constant. Again, the metadata of the reshaping function ^ ~ () are transmitted to the decoder (300) in the metadata bitstream (296). [0041] In some examples, the forward reshaping (210) includes two or more forward reshaping operations performed based on the above-described mapping functions ^ a (), ^ ? (), ^ ~ ()). Such multiple reshaping operations can be performed, e.g., sequentially. The order in which these reshaping operations are applied to the sequence (208) is communicated to the decoder (300) in the metadata bitstream (296). Based on the communicated order, the decoder (300) operates to apply the corresponding backward reshaping operations in the reverse order. Note that changing the order in which individual mapping functions are applied typically changes the final result. As such, the decoder (300) typically needs to follow the reverse order for optimal image-reconstruction results. Neural Field Encoding [0042] As already indicated above, positional encoding (see Eq. (4)) is used to generate the inputs to the MLP (100) in the neural field encoding block (214). To control the MLP overhead, it may be desirable to constrain the total number 2L of trigonometric components of γ for performance optimization purposes in at least some embodiments. The corresponding optimization problem can be stated as follows: how to choose the values for the positional encoding to optimize the quality of the images computed by the decoder (300)? In this formulation, 4 : does not need to be equal ;, and there is no need for the values {4 5 , 4 ^ , … , 4 7 8 ^ } to be consecutive integers. [0043] In theory, the above optimization problem is a combinatory problem, which is NP hard. As such, for a relatively large L, finding an optimal solution may take a relatively long (e.g., impractical) time. To speed up the optimization, the neural field encoding block (214) is configured, in various examples, to use a greedy sub-optimal iterative algorithm. At the beginning of the algorithm, the frequency candidate list, Ψ, is initialized with ^ ^^J different frequencies, where ^ ^^J > ^. The selected frequency list, Ω, is an empty set at the initialization. Then, in each iteration of the iterative algorithm, for each frequency in the set Ψ, the algorithm operates to include the frequency into the frequency list and measure the corresponding distortion. For all frequencies in the set Ψ, the algorithm picks the one, 4 , which corresponds to an approximately smallest distortion. The value 4 is placed into the selected frequency list Ω and is removed from the frequency candidate list Ψ. This selection procedure is repeated until L frequencies are selected. The following pseudocode illustrates an example of the iterative frequency selection algorithm. Herein, the function D() is a function used to compute the distortion. The final frequency list Ω is transmitted to the decoder (300) in the metadata bitstream (296). Neural Network Compression [0044] After MLP (100) is trained in the neural field encoding block (214), the neural network compression (216) operates to compress the various neural-network parameters to generate the neural-network bitstream (298). In different embodiments of the neural network compression (216), different suitable compression methods can be used. In one specific nonlimiting example, the neural network compression (216) operates in accordance with the standard for Neural Network Compression and Representation (NNCR), or part 17 of the ISO/IEC 15938 standard, which is incorporated herein by reference in its entirety. The NNCR standard is promulgated by the ISO/IEC Moving Picture Experts Group (MPEG) and specifically targets efficient compression and transmission of neural networks, such as the MLP (100). Residual Decoding [0045] FIG. 3 is a block diagram illustrating the electronic decoder (300) according to an embodiment. The corresponding electronic encoder (200) has been described above. The decoder (300) generally performs inverse coding operations in the reverse order. The inputs to the decoder (300) are provided by the above-described bitstreams (294, 296, 298). The decoder (300) applies neural network decompression (316) to the neural-network bitstream (298) to obtain the various neural-network parameters. The obtained neural-network parameters are then used to reconstruct the MLP (100) in the trained configuration previously computed at the encoder (200). The decoder (300) uses the reconstructed MLP (100) and a pertinent portion of the metadata bitstream (296) in a neural field decoding block (314). This metadata portion is used for spatial reshaping such that the reshaped coordinate is then used to query the reconstructed MLP (100). A user-specified input (315) provides one or more parameters, such as time, luminance range, etc., based on which the reconstructed MLP (100) is operated in the testing mode to render a corresponding reshaped residual (312). The decoder (300) further operates to apply backward reshaping (310) to the reshaped residual (312) to generate a corresponding residual image (308). Based on the metadata bitstream (296), the backward reshaping (310) is configured to perform reshaping operations that are inverse to the reshaping operation of the forward reshaping (210). Summation (306) is used to combine the base image (204) received via the base-layer bitstream (294) and the residual image (308) to generate a corresponding output image (302). Depending on the user-specified input (315), the image (302) can be one of the target (reference) images of the sequence (202) or a novel view generated using the reconstructed MLP (100). In the following description, several representative use cases of the encoder (200) and decoder (300) are described to illustrate, inter alia, several examples of user-defined dimensions and the corresponding user-specified inputs (315). Example Use Cases Varying Time Scale Motion Blur [0046] FIG.4 is a block diagram illustrating a part of motion-blur image processing using the encoder (200) according to an embodiment. More specifically, FIG.4 illustrates preprocessing (400) for generating the sequence (202) for the encoder (200). The preprocessing (400) uses a sequence of still images (402 0 , 402 1 , …, 402 K 1 ) to compute the sequence (202) of the target motion- blur (MB) images (2021, 2022, …, 202K−1). In a representative example, an MB image at the time instant ^U is generated by taking an average of the still images (402 0 , 402 1 , …, 402 K 1 ) from time 0 to time ^U as follows: where I ^? ^ ? is the corresponding MB image; and I : is the still image (402k). For ^U=0, the MB image (2021) is the same as the first still image (4020), i.e., I ^? ^ ? = I 5 . The first still image (402 0 ) is also designated as the base image (204). The encoder (200) further operates to compute the sequence (208) of residual images by subtracting (206) the base image (204) from each of the target MB images (202 1 , 202 2 , …, 202 K 1 ). The sequence (208) of the residual images so computed is then processed by the encoder (200) as described above in reference to FIG.2. After being trained using the sequence (208), the corresponding MLP (100) can be operated to predict a pixel value (^ ^ , ^ ^ , ^ ^ ) based on the pixel coordinate (^, G) and further based on the time ^U. In this example, the time ^U is used as the user-specified variable input (315) at the decoder (300). [0047] Depending on the user-specified input (315), the value of ^U can be integer or non- integer (e.g., fractional). When the value of ^U has an integer value from the original set of values, the decoder (300) operates the MLP (100) to generate the reconstructed image (302) corresponding to one of the reference MB images (2021, 2022, …, 202K−1). When the value of ^U has a fractional value from the range corresponding to the original set of values, the decoder (300) operates the MLP (100) to generate the reconstructed image (302) representing a corresponding novel MB image. Varying Dynamic Range [0048] In this particular use case, the parameter ^U represents the dynamic range. In one specific example, the sequence (202) comprises target images of the same scene with the dynamic ranges of 100, 162, 260, 413, 652, 1026, 1612, 2536, and 4000 nits, respectively. In another specific example, a descending order of dynamic ranges can similarly be used in the sequence (202). The sequence (208) of the residual images is computed using this sequence (202) and the base image (204) as described above in reference to FIG.2. In various examples, the base image (204) is the target image having the dynamic range of 100 nits or the target image having the dynamic range of 4000 nits. After being trained using the sequence (208), the corresponding MLP (100) can be operated at the decoder (300) to compute images having different dynamic ranges based on the user- specified variable input (315). For example, the user-specified input (315) can be selected to have any value of ^U between 100 nits and 4000 nits. When the value of ^U has a value selected from the original set of dynamic-range values (i.e., one of 100, 162, 260, 413, 652, 1026, 1612, 2536, and 4000 nits), the decoder (300) operates the MLP (100) to generate the reconstructed image (302) corresponding to one of the reference images (202) used at the encoder (200). When the value of ^U has a value that is not from the original set of dynamic-range values, the decoder (300) operates the MLP (100) to generate the reconstructed image (302) having a corresponding novel dynamic range in accordance with the specified value of ^U. Varying Age Face [0049] In this particular use case, the parameter ^U represents the age of the person whose face is in the target images (202). In one specific example, the sequence (202) comprises 23 images of the same person between the ages of 6 years old and 60 years old. The sequence (208) of the residual images is computed using this sequence (202) and the base image (204) as described above in reference to FIG. 2. In one example, the base image (204) is the target image corresponding to the age of 6 years old. In another example, the base image (204) is the target image corresponding to the age of 60 years old. After being trained using the sequence (208), the corresponding MLP (100) can be operated at the decoder (300) to compute images corresponding to different ages based on the user-specified variable input (315). When the value of ^U has a value selected from the original set of ages, the decoder (300) operates the MLP (100) to generate the reconstructed image (302) corresponding to one of the reference images (202) used at the encoder (200). When the value of ^U has a value that is not from the original set of ages, the decoder (300) operates the MLP (100) to generate the reconstructed image (302) corresponding to a novel age in accordance with the specified value of ^U. Example Hardware [0050] FIG.5 is a block diagram illustrating a computing device (500) according to an embodiment. The device (500) can be used, e.g., to implement the encoder (200) or the decoder (300). The computing device (500) comprises input/output (I/O) devices (510), an image- processing engine (520), and a memory (530). The I/O devices (510) may be used to enable the device (500) to receive various input signals (502) and to output various output signals (504). For example, when the computing device (500) implements the encoder (200), the input signals (502) include the sequence (202), whereas the output signals (504) include the bitstreams (294, 296, 298). When the computing device (500) implements the decoder (300), the input signals (502) include the bitstreams (294, 296, 298), whereas the output signals (504) include the reconstructed image(s) (302). [0051] The memory (530) may have buffers to receive image data and/or other pertinent data. The image data may be, e.g., in the form of one or more image files. Once the data are received, the memory (530) may provide parts of the data to the image-processing engine (520) for processing therein. The image-processing engine (520) includes a processor (522) and a memory (524). The memory (524) may store therein program code, which when executed by the processor (522) enables the image-processing engine (520) to perform image processing, including but not limited to the image processing in accordance with some or all of the above-described process flows (200, 300, 400). The program code may include, inter alia, the program code used to emulate the various neural networks, e.g., the MLP (100) described above. Once the image-processing engine (520) generates various above-described images by executing the corresponding portions of the code, the image-processing engine (520) may perform rendering processing thereof and provide the corresponding viewable image(s) for being viewed on the display. The viewable image can be, e.g., in the form of a suitable image file outputted through the I/O devices (510). [0052] According to an example embodiment disclosed above, e.g., in the summary section and/or in reference to any one or any combination of some or all of FIGs.1-5, provided is an apparatus for residual encoding, the apparatus comprising: at least one processor; and at least one memory including program code; wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus at least to: access a plurality of residual images or reshaped images, each of the residual images representing a difference between a respective reference image and a base image, different respective reference images corresponding to various respective values of one or more first parameters; train a neural-field network to represent the plurality of residual images or reshaped images, the neural-field network being responsive to a variable input of the one or more first parameters and being characterized by a set of second parameters, the training producing fixed values of the second parameters; and communicate the base image and the fixed values of the second parameters to an electronic decoder. [0053] According to another example embodiment disclosed above, e.g., in the summary section and/or in reference to any one or any combination of some or all of FIGs.1-5, provided is an apparatus for residual decoding, the apparatus comprising: at least one processor; and at least one memory including program code; wherein the at least one memory and the program code are configured to, with the at least one processor, cause the apparatus at least to: access a base image and a set of fixed parameter values of a neural-field network trained to represent a plurality of residual images, the neural-field network being responsive to a variable input of one or more first parameters and being characterized by a set of second parameters, the fixed parameter values being values of the second parameters; test the neural-field network using a selected value of the variable input to generate an output residual image; and compute a reconstructed image by summing the output residual image and the base image. [0054] According to yet another example embodiment disclosed above, e.g., in the summary section and/or in reference to any one or any combination of some or all of FIGs. 1-5, provided is a method for residual encoding using a neural field, the method comprising: accessing, via a processor, a plurality of residual images or reshaped images, each of the residual images representing a difference between a respective reference image and a base image, different respective reference images corresponding to various respective values of one or more first parameters; training, via the processor, a neural-field network to represent the plurality of residual images or reshaped images, the neural-field network being responsive to a variable input of the one or more first parameters and being characterized by a set of second parameters, the training producing fixed values of the second parameters; and communicating the base image and the fixed values of the second parameters to an electronic decoder. [0055] In some embodiments of the above method, the one or more first parameters are selected from the group consisting of time, dynamic range, and age. [0056] In some embodiments of any of the above methods, the neural-field network comprises a multilayer perceptron responding to an input of a coordinate or other field-type variable; and wherein the set of second parameters comprises weights for connections between various neural- network nodes of the multilayer perceptron and biases applied to signals by individual neural- network nodes of the multilayer perceptron. [0057] In some embodiments of any of the above methods, the method further comprises: mapping, via the processor, a first number of inputs to a second number of inputs using a series of trigonometric functions, the second number being greater than the first number, the mapping being performed using a greedy algorithm; and applying, via the processor, the second number of inputs to the neural-field network. [0058] In some embodiments of any of the above methods, the method further comprises performing, via the processor, reshaping of the plurality of residual images to generate the first number of inputs, the reshaping being configured to reduce relative weight of higher-frequency signal components or to limit a size of the neural-field network. [0059] In some embodiments of any of the above methods, the method further comprises selecting, via the processor, a region of interest in the residual images, the region of interest being smaller than a full image frame. [0060] In some embodiments of any of the above methods, the reshaping includes at least one of spatial-domain reshaping, time-domain reshaping, and codeword-domain reshaping. [0061] In some embodiments of any of the above methods, the method further comprises communicating one or more parameters of the reshaping to the electronic decoder. [0062] In some embodiments of any of the above methods, communicating the fixed values of the second parameters to the electronic decoder comprises: generating a compressed data stream by applying, via the processor, compression to the fixed values of the second parameters; and transmitting the compressed data stream to the electronic decoder. [0063] In some embodiments of any of the above methods, the neural-field network is operable when the variable input of the one or more first parameters specifies a value that is different from any one of the various respective values of the one or more first parameters. [0064] According to yet another example embodiment disclosed above, e.g., in the summary section and/or in reference to any one or any combination of some or all of FIGs.1-5, provided is a method for residual decoding using a neural field, the method comprising: accessing, via a processor, a base image and a set of fixed parameter values of a neural-field network trained to represent a plurality of residual images, the neural-field network being responsive to a variable input of one or more first parameters and being characterized by a set of second parameters, the fixed parameter values being values of the second parameters; testing, via the processor, the neural-field network using a selected value of the variable input to generate an output residual image; and computing, via the processor, a reconstructed image by combining the output residual image and the base image. [0065] In some embodiments of the above method, the one or more first parameters are selected from the group consisting of time, dynamic range, and age. [0066] In some embodiments of the above method, the neural-field network comprises a multilayer perceptron; and wherein the set of second parameters comprises weights for connections between various neural-network nodes of the multilayer perceptron and biases applied to signals by individual neural-network nodes of the multilayer perceptron. [0067] In some embodiments of any of the above methods, the method further comprises: receiving one or more reshaping parameters from an electronic encoder for reshaping configured to increase relative weight of higher-frequency signal components; and applying the reshaping, via the processor, to an output of the neural-field network to generate the output residual image. [0068] In some embodiments of any of the above methods, the method further comprises selecting, via the processor, a region of interest for the output residual image, the region of interest being smaller than a full image frame. [0069] In some embodiments of the above method, the reshaping includes at least one of spatial- domain reshaping, time-domain reshaping, and codeword-domain reshaping. [0070] In some embodiments of the above method, accessing the set of fixed parameter values comprises: receiving a compressed data stream from an electronic encoder; and obtaining the fixed values of the second parameters by applying, via the processor, decompression to the compressed data stream. [0071] In some embodiments of the above method, the neural-field network is operable when the variable input of the first parameter specifies a value that is different from any value of the first parameter using which the neural-field network has been trained. [0072] With regard to the processes, systems, methods, heuristics, etc. described herein, it should be understood that, although the steps of such processes, etc. have been described as occurring according to a certain ordered sequence, such processes could be practiced with the described steps performed in an order other than the order described herein. It further should be understood that certain steps could be performed simultaneously, that other steps could be added, or that certain steps described herein could be omitted. In other words, the descriptions of processes herein are provided for the purpose of illustrating certain embodiments, and should in no way be construed so as to limit the claims. [0073] Accordingly, it is to be understood that the above description is intended to be illustrative and not restrictive. Many embodiments and applications other than the examples provided would be apparent upon reading the above description. The scope should be determined, not with reference to the above description, but should instead be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. It is anticipated and intended that future developments will occur in the technologies discussed herein, and that the disclosed systems and methods will be incorporated into such future embodiments. In sum, it should be understood that the application is capable of modification and variation. [0074] All terms used in the claims are intended to be given their broadest reasonable constructions and their ordinary meanings as understood by those knowledgeable in the technologies described herein unless an explicit indication to the contrary is made herein. In particular, use of the singular articles such as “a,” “the,” “said,” etc. should be read to recite one or more of the indicated elements unless a claim recites an explicit limitation to the contrary. [0075] The Abstract of the Disclosure is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in various embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments incorporate more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in fewer than all features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter. [0076] While this disclosure includes references to illustrative embodiments, this specification is not intended to be construed in a limiting sense. Various modifications of the described embodiments, as well as other embodiments within the scope of the disclosure, which are apparent to persons skilled in the art to which the disclosure pertains are deemed to lie within the principle and scope of the disclosure, e.g., as expressed in the following claims. [0077] Some embodiments may be implemented as circuit-based processes, including possible implementation on a single integrated circuit. [0078] Some embodiments can be embodied in the form of methods and apparatuses for practicing those methods. Some embodiments can also be embodied in the form of program code recorded in tangible media, such as magnetic recording media, optical recording media, solid state memory, floppy diskettes, CD-ROMs, hard drives, or any other non-transitory machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing various embodiments described herein. Some embodiments can also be embodied in the form of program code, for example, stored in a non-transitory machine-readable storage medium including being loaded into and/or executed by a machine, wherein, when the program code is loaded into and executed by a machine, such as a computer or a processor, the machine becomes an apparatus for practicing various embodiments described herein. When implemented on a general-purpose processor, the program code segments combine with the processor to provide a unique device that operates analogously to specific logic circuits. [0079] Unless explicitly stated otherwise, each numerical value and range should be interpreted as being approximate as if the word “about” or “approximately” preceded the value or range. [0080] The use of figure numbers and/or figure reference labels in the claims is intended to identify one or more possible embodiments of the claimed subject matter in order to facilitate the interpretation of the claims. Such use is not to be construed as necessarily limiting the scope of those claims to the embodiments shown in the corresponding figures. [0081] Although the elements in the following method claims, if any, are recited in a particular sequence with corresponding labeling, unless the claim recitations otherwise imply a particular sequence for implementing some or all of those elements, those elements are not necessarily intended to be limited to being implemented in that particular sequence. [0082] Reference herein to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the disclosure. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or additional embodiments necessarily mutually exclusive of other embodiments. The same applies to the term “implementation.” [0083] Unless otherwise specified herein, the use of the ordinal adjectives “first,” “second,” “third,” etc., to refer to an object of a plurality of like objects merely indicates that different instances of such like objects are being referred to, and is not intended to imply that the like objects so referred-to have to be in a corresponding order or sequence, either temporally, spatially, in ranking, or in any other manner. [0084] Unless otherwise specified herein, in addition to its plain meaning, the conjunction “if” may also or alternatively be construed to mean “when” or “upon” or “in response to determining” or “in response to detecting,” which construal may depend on the corresponding specific context. For example, the phrase “if it is determined” or “if [a stated condition] is detected” may be construed to mean “upon determining” or “in response to determining” or “upon detecting [the stated condition or event]” or “in response to detecting [the stated condition or event].” [0085] Also for purposes of this description, the terms “couple,” “coupling,” “coupled,” “connect,” “connecting,” or “connected” refer to any manner known in the art or later developed in which energy is allowed to be transferred between two or more elements, and the interposition of one or more additional elements is contemplated, although not required. Conversely, the terms “directly coupled,” “directly connected,” etc., imply the absence of such additional elements. [0086] The functions of the various elements shown in the figures, including any functional blocks labeled as “processors” and/or “controllers,” may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term “processor” or “controller” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and nonvolatile storage. Other hardware, conventional and/or custom, may also be included. Similarly, any switches shown in the figures are conceptual only. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context. [0087] As used in this application, the terms “circuit,” “circuitry” may refer to one or more or all of the following: (a) hardware-only circuit implementations (such as implementations in only analog and/or digital circuitry); (b) combinations of hardware circuits and software, such as (as applicable): (i) a combination of analog and/or digital hardware circuit(s) with software/firmware and (ii) any portions of hardware processor(s) with software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions); and (c) hardware circuit(s) and or processor(s), such as a microprocessor(s) or a portion of a microprocessor(s), that requires software (e.g., firmware) for operation, but the software may not be present when it is not needed for operation.” This definition of circuitry applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term circuitry also covers an implementation of merely a hardware circuit or processor (or multiple processors) or portion of a hardware circuit or processor and its (or their) accompanying software and/or firmware. The term circuitry also covers, for example and if applicable to the particular claim element, a baseband integrated circuit or processor integrated circuit for a mobile device or a similar integrated circuit in server, a cellular network device, or other computing or network device. [0088] It should be appreciated by those of ordinary skill in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the disclosure. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown. [0089] “BRIEF SUMMARY OF SOME SPECIFIC EMBODIMENTS” in this specification is intended to introduce some example embodiments, with additional embodiments being described in “DETAILED DESCRIPTION” and/or in reference to one or more drawings. “BRIEF SUMMARY OF SOME SPECIFIC EMBODIMENTS” is not intended to identify essential elements or features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter.