Rate Control Calibration in Video Encoding
Patent Information
- Authority / Receiving Office
- GB · GB
- Patent Type
- Patents
- Current Assignee / Owner
- V NOVA INT LTD
- Filing Date
- 2024-10-08
- Publication Date
- 2026-06-26
Smart Images

Figure 00000001_0000 
Figure 00000002_0000 
Figure 00000003_0000
Abstract
Description
FIELD OF THE INVENTION The present invention relates to methods, systems, computer programs and computer readable media for computing of encoding parameters for video encoding using a multi-layer coding scheme. BACKGROUND When encoding data, for example video data, it is known to control the number of bits required to encode a portion of the data. In the case of video data, this may be the number of bits to encode a frame of video data. The control of the number of bits required is known as rate control. Rate control algorithms are presented with the task of receiving an input in the form of a target quality level or bit rate for an encoding of a video, and computing suitable encoding parameters for encoding the video so as to meet the target quality level or bit rate. Such algorithms are applied during video encoding so as to ensure that a bit rate of a video remains within the limitations of the media through which it is to be transmitted, and further provides a balance between video quality and file size. Several different methods of rate control may be used depending on the circumstances and requirements of the user. These may include: “Constant Bit Rate”, or CBR, encoding whereby a target bit rate is supplied as an input parameter for an encoding process and encoding process then aims to achieve the target bit rate over a set of encoded frames, “Variable Bit Rate”, or VBR, encoding where a bit rate is allowed to vary during encoding, for example based on the complexity of different scenes, and "Constant Rate Factor", or CRF encoding the data rate is adjusted to achieve, or maintain, a desired visual quality of the encoding. Much of the video content on the Internet is encoded using well-established single-layer video coding schemes such as H.264 (also known as MPEG-4 Part 10, Advanced Video Coding - MPEG-4 AVC). For example, this format is used for between 80-90% of online video content. In a single-layer approach, content is encoded by a single monolithic encoder architecture. The encoded content is then supplied to decoding devices as a single video stream that has a one-to-one relationship with available hardware and / or software video decoders, e.g. a single stream is received, parsed, and decoded by a single video decoder to output a reconstructed video signal. As a result, rate control algorithms associated with such single-layer codecs are self-contained, meaning that the data available to the rate control algorithm and the functionality of the codec to which the rate control algorithm is applied remain constant. What this means in practice is that empirical formulae and coefficients used in the rate control can be derived / optimised once for the single-layer codec, and remain optimised from then on as the underlying codec does not change.. Multi-layer video coding schemes have existed for a number of years but have experienced problems with widespread adoption. Multi-layer coding schemes include the Scalable Video Coding (SVC) extension to H.264, Scalable extensions to H.265 (MPEG-H Part 2 High Efficiency Video Coding -SHVC). Newer standards include MPEG-5 Part 2 Low Complexity Enhancement Video Coding (LCEVC). While H.265 is a development of the coding framework used by H.264, LCEVC takes a different approach to scalable video and does not suffer from the limitations of the past. SVC and SHVC operate by creating different encoding layers and feeding each of these with a different spatial resolution. Each layer encodes the input according to a normal AVC or HEVC encoderwith the possibility of leveraging information generated by lower encoding layers. LCEVC, on the other hand, generates one or more layers of enhancement residuals as compared to a base encoding, where the base encoding may be of a lower spatial resolution. Unlike traditional coding schemes, LCEVC encodes a lower or base quality version of a source image using an existing codec, and an enhancement layer is encoded that can be used to increase, and bring, the decoded base version to a higher quality. The enhancement layer adds an additional degree of freedom in how a video stream can be implemented and provides new features such as extending the compression capability of the base codec, lowering the encoding and decoding complexity, and providing a platform for additional future enhancements. The LCEVC coding scheme is set out, for example, in patent application WO 2020 / 188273. The structure of LCEVC means that it is largely agnostic to a particular type of base encoder used to perform the base encoding to be enhanced. This allows producers or consumers who implement LCEVC freedom over a type of base encoder to use in conjunction with the enhancement capabilities of the LCEVC codec, allowing standard and customised implementations of existing codecs or even novel codecs to be applied as a base codec for LCEVC enhancement. While this provides in a large amount of variety and flexibility in terms of the hardware and applications which can use LCVEC, rate control is a particular challenge to remain optimised when different types of base encoder are applied. The application of rate control to an LCEVC coding scheme is set out for example in the patent applications GB2623148 and GB2625574. Using the example of LCEVC, to keep a core of the rate control algorithm standardised for all implementations of LCEVC, many of the parameters and formulas which are used in the rate control algorithm for computing encoding parameters for the base and enhancement layers of the LCEVC coding scheme may be optimised empirically based on the properties and functionality of a particular type of base encoder. For example, in patent applications GB2623148 and GB2625574, a mapping between an encoding quality factor and a base quality factor is illustrated in Figure 8 as a non-linear piecewise function based on empirical solutions to a multivariate optimisation problem. Deriving such a formula from scratch even for a single type of base encoder is therefore a significantly complex task. Furthermore, some functionality of the rate control requires specific information about the base encoding which may not exist or be provided by some types of base encoder. Whilst this standard approach of optimising empirical formulae and coefficients for a particular type of base encoder allows the core of the rate control to remain consistent across implementations, the functions and coefficients used for rate control in implementations of LCEVC that use a different type of base encoder are not optimised, leading to poor visual quality and / or bit rates associated with an encoded video. As a simple example, some aspects of a rate control algorithm (e.g. the selection of coefficients and empirical formulae) are dependent on a frame type of a given frame. If a rate control algorithm is created and empirically optimised assuming the properties and functionality of H.264 as a base encoder, which distinguishes between Intra -1 - frames, Predicted - P - frames, Bidirectional - B - frames, and Bidirectional reference - B-ref-frames, the computing of encoding parameters by the rate control algorithm will not be optimal if VVC is used later as a base encoder as VVC only distinguishes between I and B frames. Consequently, if a type of base encoder is implemented that is different to a type of base encoder used to derive the rate control algorithm, adjustments and conversions need to be made so that the rate control algorithm works optimally, namely maintaining the bit rate levels which are required whilst also providing good visual quality. Due to the complexity of the calculations involved in their derivation as illustrated in the example above, it is not feasible to derive empirical formulae and coefficients from scratch each time a new base encoder type is to be implemented with LCEVC. Whilst it would be technically possible to pre-store a library of such conversions and adjustments to the existing empirical derivations for different types of base encoder, it is not practical for this to be done for the huge number of video codecs and implementations thereof which exist, nor can it account for proprietary implementations of codecs which may not be publicly available. Improving the applicability of rate control algorithms in multi-layer coding schemes to the provision of different types of base encoder is therefore a problem to be solved. SUMMARY OF INVENTION In a first aspect of the invention, there is provided a method for calibrating a computing of encoding parameters for encoding an input video using a multi-layer coding scheme, the method comprising: receiving information pertaining to an encoding of a video using a first type of base encoder; and updating, based on the received information, at least one of: a parameter mapping for a rate control algorithm, wherein the parameter mapping is adapted to map between a parameter associated with the first type of base encoder and a parameter associated with a second type of base encoder different to the first type of base encoder; and a function comprised in the rate control algorithm, wherein the updating is so as to enable the rate control algorithm to compute encoding parameters calibrated to the first type of base encoder for performing a multi-layer encoding of the input video. As is described above, a rate control algorithm in a multi-layer encoding scheme may have been derived using assumptions about a type of base encoder (e.g. second type of base encoder) that is different to a type of base encoder which is actually to be used to perform a multi-layer encoding of an input video (e.g. first type of base encoder). By utilising information from an encoding of a video using the first type of base encoder, the rate control algorithm can be calibrated to compute encoding parameters which are suitable for performing rate control when using the first type of base encoder. This allows the rate control algorithm associated with a multi-layer coding scheme to be optimised for different production or consumer implementations of the multi-layer coding schemes using different types of base encoder, meaning that visual quality is not compromised due to inconsistencies between the chosen type of base encoder and the empirical formulae and coefficients used by default rate control. Furthermore, this also reduces the need for producers or consumers of the multi-layer encoding scheme to empirically derive aspects of the rate control algorithm for each implementation of the multi-layer coding scheme with different types of base encoder. Advantageously, according to the methods disclosed herein, producers and consumers can implement a multi-layer coding scheme with their chosen type of base codec and ensure that the rate control algorithm results in a suitable visual quality. A “type” of base encoder or base codec may be understood as a base encoder adapted to encode a video stream according to a particular coding scheme, typically being s single layer encoding scheme. Exemplary types of base encoder include, but are not limited to AVC (H.264), HEVC (H.265), VVC (H.266), VP9, and AV1. Types of base encoder may also include proprietary variations of the encoder types listed above or others. A “first type” of base encoder may be considered as a type of base encoder that is to be used with the multi-layer coding scheme, that is, a producer or consumer using the multi-layer coding scheme may choose a first type of base encoder for their particular implementation of the multilayer coding scheme. A “second type” of base encoder may be considered as a type of base encoder upon which the empirical formulae and coefficients associated with the rate control algorithm are derived an applied by default. For example, the multi-layer coding scheme and rate control algorithm optimised to work with a particular second type of base encoder may be provided together as a software development kit. A “mapping” as referred to herein may be understood as an operation which associates elements together according to a defined mapping relationship. Such mappings may include one-to-one mappings, one-to-many mappings, many-to-one mappings, and many to many mappings associating both numerical and non-numerical elements with one another. Mappings may be defined through any combination of algorithms, mathematical functions, look up tables, graphical representations and machine learning models. In the context of the present application, a mapping typically performs a task of converting between a parameter associated with the first type of base encoder and a parameter associated with a second type of base encoder. By calibrating a computing of encoding parameters by a rate control algorithm in a manner described herein, the efficacy and accuracy of the rate control algorithm is improved when applied to different base encoders in multi-layer coding schemes, providing flexibility to its implementation. The multi-layer coding scheme to which the method is applied is typically a multilayer encoding scheme that supports different types of base encoder and / or is agnostic to a type of base encoder provided to encode a base layer of the multilayer encoding. An example of such a multi-layer encoding scheme is MPEG-5 Part 2 Low Complexity Enhancement Video Coding (LCEVC). The a multi-layer encoding of the input video may be understood as a multi-layer encoding of the input video which includes using the first type of base encoder. The information pertaining to an encoding of a video using a first type of base encoder received may be encoding information, that is, information or parameters which are indicative of an encoding of a video using a first type of base encoder. The content of such information may depend on information that is available from a particular first type of base encoder after performing an encoding of a video. Preferably, the received information pertaining to an encoding of a video using a first type of base encoder comprises frame level information, that is, information is received corresponding to each frame of an encoding of a video using a first type of base encoder. The frame level information received for each frame may comprise at least one of a quantisation parameter, a frame type, a frame size, temporal information, and a picture order count. Many functions and mappings within rate control are performed at a frame level and / or are dependent on the properties of individual frames within a video. As a result, receiving information about each frame of an encoded video allows frame level functions and mappings to be more accurately calibrated to the properties of the first type of base encoder. In some embodiments, the received information pertains to an encoding of a test video using the first type of base encoder. Preferably, the received information pertains to encodings of a plurality of videos using the first type of base encoder. The use of a test video (or more preferably a plurality of test videos) and the subsequent receipt of encoding information about those test videos in the calibration method allows the observation of how a particular encoder reacts to different dominating features within a video. For example, test videos may be chosen to observe how an encoder reacts to differing amounts of motion and colour changes to obtain a wide range of information pertaining to encoding performed by the first type of base encoder. Furthermore, information pertaining to the encoding of a library of test videos with a second type of base encoder (i.e. the type of base encoder upon which the rate control is based) may be pre-stored for use in comparisons. The received information may also pertain to a plurality of encodings at different levels of quality using the first type of base encoder. This may be, for example, a plurality of test videos, each encoded a plurality of times at different levels of quality. By utilising information from encodings from a same video at different levels of quality (e.g. quality factor of constant rate factor), the behaviour of how the first type of base encoder reacts to changes in quality level can be accounted for, thus leading to more accurately calibrated parameter mappings and / or updates to functions in the rate control algorithm. To enable different frame types associated with the first type of base encoder to be accounted for in calibrating the computing of encoding parameters , the received information pertaining to an encoding of a video using a first type of base encoder may comprise, for each frame of the video, a frame type associated with the first type of base encoder, and the method further comprises adjusting a mapping between a frame type associated with the second type of base encoder and a frame type associated with the first type of base encoder based on the frame types indicated in the received information. As is described above, different types of base encoder distinguish between different possible frame types, and the frame types indicated in the received information may be indicative of the frame types which are distinguished between by the first type of base encoder. Consequently, the received information can be used to generate a mapping between a frame type distinguished by the first type of base encoder and a frame type distinguished by the second type of base encoder. More preferably, the received information pertaining to an encoding of a video using a first type of base encoder further comprises, for each frame of the video, at least one of a frame size and a quantization parameter associated with the first type of base encoder, and the adjusting a mapping between a frame type associated with the second type of base encoder and a frame type associated with the first type of base encoder is further based on at least one of the frame sizes and quantization parameters indicated in the received information. In situations where the first type of base encoder and second type of base encoder distinguish between different types of frames or distinguish between a different quantity of discrete frame types, there may not be a suitable one-to-one mapping between a frame type associated with the first type of base encoder and a frame type associated with the second type of base encoder. Instead, a one-to-many or many-to-one mapping may be suitable. A frame type associated with each frame of an encoding of a video using a first type of base encoder may be mapped to a frame type distinguished by the second type of base encoder according to one or more of the frame types associated with the first base encoder, a frame size, and a quantisation parameter for each frame. Consequently, receiving, in the received information, a frame size and quantization parameter for each frame in addition to a frame time allows a more accurate mapping between frame types to be generated. In some embodiments, the parameter mapping is adapted map a parameter between a value associated with the first type of base encoder and an equivalent value associated with the second type of base encoder. Equivalence in this context may be interpreted in the sense that a value associated with the first type of base encoder, when used to encode a video with the first type of base encoder, may produce an encoded stream that is comparable with that produced when an equivalent value is used to encode the same video with the second type of base encoder, for example in terms of quality and / or bitrate. To implement perceptual visual quality as a measure of equivalence in a parameter mapping between quantisation parameters associated with different types of base encoder, the parameter mapping may be adapted to map a first quantisation parameter associated with the first type of base encoder to a second quantisation parameter associated with the second type of base encoder such that a perceptual quality metric of an encoding of the input video with the first type of base encoder using the first quantisation parameter is similar to a perceptual quality metric of an encoding of the input video with the second type of base encoder using the second quantisation parameter, the perceptual quality metric preferably comprising at least one of a peak signal-to-noise ratio (PSNR) and video multimethod assessment fusion (VMAF) metrics. This may be understood as a perceptual quality metric of an encoding of the input video with the first type of base encoder using the first quantisation parameter being substantially the same as, or within a predetermined range of, a perceptual quality metric of an encoding of the input video with the second type of base encoder using the second quantisation parameter. This may also be described as a difference between a perceptual quality metric of an encoding of the input video with the first type of base encoder using the first quantisation parameter and a perceptual quality metric of an encoding of the input video with the second type of base encoder using the second quantisation parameter being less than a threshold value. By using a perceptual quality metric in a comparison between the encoding performed by the first type of base encoder and the encoding performed by the second type of base encoder, it is ensured that the calibrated rate control algorithm generates maps between quantisation parameters associated with each type of base encoder that result in a comparable visual quality encoding of an input video. Preferably, the parameter mapping comprises a plurality of parameter mapping functions, each parameter mapping function associated with one or more of the frame types: Intra - I - frame, a Predicted - P - frame, Bidirectional - B - frame, and a Bidirectional reference - B-ref - frame. By having different mapping functions such as those mapping a first quantisation parameter associated with the first type of base encoder to a second quantisation parameter associated with the second type of base encoder for different frame types distinguished by the second type of base encoder, a more accurately calibrated computing of encoding parameters may be obtained. The parameter mapping is typically adapted to map a quality factor associated with the second type of base encoder to a quality factor associated with the first type of base encoder. A quality factor herein may refer to a factor which is indicative of a quality level that is to be maintained for an encoding of a video. A single quality factor may be associated with each video encoding. A quality factor may refer to a constant rate factor or other factor which is associated with a variable bit rate encoding, that is, a bit rate is allowed to vary dependent on frame complexity to maintain a constant level of quality. The mapping of a quality factor associated with the second type of base encoder to a quality factor associated with the first type of base encoder typically aims to relate the rate-distortion behaviour of the second type of base encoder with that of the first type of base encoder. Preferably, the parameter mapping is adapted to map a constant rate factor associated with the second type of base encoder to a target base quality associated with the first type of base encoder such that a bit rate, typically an average bit rate, of an encoding of the input video with the first type of base encoder at the target base quality is substantially the same as a bit rate, typically an average bit rate, of an encoding of the input video with the second type of base encoder using the constant rate factor. Having an accurate mapping between quality levels associated with the first and second types of base encoder ensures that a given level of quality selected provides consistent encoding results between the first type of base encoder and second type of base encoder upon which the derivation of the rate control algorithm may have been based. In some embodiments, the function comprised in the rate control algorithm comprises a function configured to set a lower bound of a quantisation parameter associated with the first type of base encoder. Setting the lower bound of a quantisation parameter associated with the first type of base encoder may involve mapping a lower bound of a quantisation parameter associated with the second type of base encoder to a lower bound of an equivalent quantisation parameter associated with the first type of base encoder. The mapping of the lower bound of a quantisation parameter between the second type and first type of base encoder may be based on a wider mapping of a quantisation parameter associated with the second type of base encoder and an equivalent quantisation parameter associated with the first type of base encoder. Typically, the updating a function comprised in the rate control algorithm comprises sending an identifier to a rate controller indicating how the function comprised in the rate control algorithm is to be updated. In this way, the calibration method may be performed on a remote software or hardware implementation in communication with a software or hardware implementation of a rate control algorithm, but maintains the ability to adjust an internal functioning of the rate control algorithm for the calibration. The updating a function comprised in the rate control algorithm comprises adjusting a mapping between a quality factor associated with the second type of base encoder and a quantisation parameter associated with the second type of base encoder. A mapping to convert between QPs and quality factors associated with the second type of rate control is typically an important internal metric used in logic of the rate control algorithm to establish ideal stepwidths and base proportions and is dependent on the type of base encoder being used. Updating this function through the calibration provided therefore results in an improved rate control algorithm when used with a first type of base encoder. In addition to or separately to the adjusting a mapping between a quality factor associated with the second type of base encoder and a quantisation parameter associated with the second type of base encoder, the updating a function comprised in the rate control algorithm may further comprise adjusting a modulation of a quality factor associated with the second type of base encoder, the modulation performed for each frame of the input video based on at least one of a frame type and a complexity of the frame. By updating a modulation which performs frame by frame adjustments to a quality factor, fine control is provided over how properties of the first type of base encoder and frame level information received from the base encoder is used in generating quantisation step widths and bit rate estimates. Whilst many of the functions comprised in the rate control algorithm described above are those which directly calculate encoding parameters (e.g. quantization parameters or quality factors), updating the functions comprised in the rate control algorithm may also involve updating functions which can indirectly influence the computing of encoding parameters. Specifically, the updating a function comprised in the rate control algorithm may comprise adjusting a bit rate estimation function. Calibrating bit rate estimation is advantageous in rate control for features such as to optimising an encoding where a supplied quality factor cannot be met due to technical constraints, or to impose a cap on a supplied quality factor. An important factor in the optimisation of rate control algorithms in multi-layer coding schemes are the considerations of how much enhancement should be performed and whether an overall quality should be adjusted by changing the quality / size of the base encoding, changing the quality / size of the enhancement, or a particular combination of both. As such, the updating a function comprised in the rate control algorithm may be so as to adjust a proportion of a size of the multilayer encoding of the input video attributable to a base encoding and enhancement encoding respectively. For different types of base encoders, different proportions of bits attributable to a base encoding and an enhancement encoding (i.e. different amounts of enhancement) may result in different overall visual qualities for a multi-layer encoded video. As such, updating one or more functions within the rate control to adjust this proportion can result in an improved visual quality for a given overall bit rate. Preferably, the updating a function comprised in the rate control algorithm comprises modifying a value of a coefficient used in a function comprised in the rate control algorithm. Many empirically derived coefficients are typically used in rate control algorithms, and thus it is advantageous to update their values in accordance with the received information associated with the first type of base encoder so as to improve the efficacy of the rate control algorithm. The method may further comprise receiving information pertaining to an encoding of the video using an enhancement encoder, and wherein the updating a function comprised in the rate control algorithm is further based on the information pertaining to an encoding of the video using the enhancement encoder. In some embodiments, the multi-layer encoding comprises a base encoding and an enhancement encoding, the enhancement encoding comprising a plurality of sublayers having different levels of quality. A difference in level of quality may be understood as any difference which has a resulting effect on visual quality. This may include one or more of spatial resolution, temporal resolution, bit rate, colour depth, dynamic range and chroma subsampling. Typically, the method of calibrating the computing of encoding parameters is complemented by computing those encoding parameters to perform rate control. In this way, the method preferably further comprises applying the rate control algorithm to the input video to compute calibrated encoding parameters. In a second aspect of the invention, there is provided an apparatus configured to perform the method for calibrating a computing of encoding according to the first aspect or any implementation of the first aspect. For example, the apparatus may be configured to receive information pertaining to an encoding of a video using a first type of base encoder; and update, based on the received information, at least one of: a parameter mapping for a rate control algorithm, wherein the parameter mapping is adapted to map between a parameter associated with the first type of base encoder and a parameter associated with a second type of base encoder different to the first type of base encoder; and a function comprised in the rate control algorithm, wherein the updating is so as to enable the rate control algorithm to compute encoding parameters calibrated to the first type of base encoder for performing a multi-layer encoding of the input video. The apparatus may be a computer or other dedicated hardware configured to perform the method for calibrating a computing of encoding according to the first aspect or any implementation of the first aspect an may typically be in communication with a suitable base encoder and enhancement encoder. In a third aspect of the invention, there is provided an enhancement encoder configured to perform the method according to the first aspect or any implementation of the first aspect. For example, the enhancement encoder may be configured to receive information pertaining to an encoding of a video using a first type of base encoder; and update, based on the received information, at least one of: a parameter mapping for a rate control algorithm, wherein the parameter mapping is adapted to map between a parameter associated with the first type of base encoder and a parameter associated with a second type of base encoder different to the first type of base encoder; and a function comprised in the rate control algorithm, wherein the updating is so as to enable the rate control algorithm to compute encoding parameters calibrated to the first type of base encoder for performing a multi-layer encoding of the input video. The enhancement encoder is typically further configured to encode the input video according to the computed encoding parameters. An enhancement encoder may be understood as an encoder of a multi-layer coding scheme which is configured to encode an enhancement stream typically formed of residual data. The enhancement stream is encoded such that, when decoded by a corresponding decoder, it is combinable with a decoded version of a base stream encoded by a base encoder so as to enhance the quality of the decoded base stream. Preferably, the enhancement encoder is configured to encode residual data where the residual data represents a difference between a downsampled version of an input video and a version of the input video which has been downsampled, encoded by a base encoder, and decoded by a base decoder. The encoder may be an LCEVC encoder configured to encode LCEVC residual data. The enhancement encoder may include a calibration interface which is configured to perform the method according to the first aspect or any implementation of the first aspect, and the enhancement encoder may be implemented in hardware or software. In a fourth aspect of the invention, there is provided a computer program comprising instructions which, when the program is executed by a computer, cause the computer to carry out the method according to the first aspect or any implementation of the first aspect. In a fifth aspect of the invention, there is provided a non-transitory computer readable medium configured to store the computer program according to the fourth aspect. In a sixth aspect of the invention, there is provided a calibration interface for calibrating a computing of encoding parameters for encoding an input video using a multi-layer coding scheme. The calibration interface may be provided as a software interface such as a plugin or API. The calibration interface, in use, is typically in communication with an enhancement encoder and a base encoder implementing a multi-layer coding scheme, wherein the enhancement encoder executes a rate control algorithm for the multi-layer encoding. The calibration interface may be configured to receive information pertaining to an encoding of a video using a first type of base encoder. Based on the received information, the calibration interface may be configured to update a parameter mapping for a rate control algorithm, wherein the parameter mapping is adapted to map between a parameter associated with the first type of base encoder and a parameter associated with a second type of base encoder different to the first type of base encoder. Alternatively, or additionally, the calibration interface may be configured to send an indication to the enhancement encoder indicating the enhancement encoder to update a function comprised in the rate control algorithm. The updating the parameter mapping and / or the indicating the enhancement encoder to update a function comprised in the rate control algorithm is preferably so as to enable the rate control algorithm to compute encoding parameters calibrated to the first type of base encoder for performing a multi-layer encoding of the input video. Advantages associated with the second aspect to the sixth aspect of the invention include at least those as set out above in relation to the first aspect of the invention. BRIEF DESCRIPTION OF DRAWINGS One or more examples will now be described with reference to the accompanying drawings, in which: Figure 1 shows a schematic diagram of a rate control architecture according to a first example; Figure 2 shows a schematic diagram of a rate control architecture according to a second example; Figure 3 shows a flow diagram setting out a method of calibrating a computing of encoding parameters for an encoding of an input video according to a first example; Figure 4 shows a flow diagram setting out a method of calibrating a computing of encoding parameters for an encoding of an input video according to a second example; Figure 5 shows a flow diagram setting out a method of calibrating a computing of encoding parameters for an encoding of an input video according to a third example Figure 6 shows a flow diagram setting out a method of calibrating a computing of encoding parameters for an encoding of an input video according to a fourth example; and Figures 7 and 8 are schematic diagrams respectively showing an example multilayer encoder and decoder configuration. DETAILED DESCRIPTION Examples described herein provide a method for calibrating a computing of encoding parameters for encoding in multi-layer coding schemes so as to improve the applicability of rate control to different types of base encoder. Multi-layer encoding approaches provide a flexible way of managing large-scale networks of heterogeneous devices and of implementing video distribution systems in areas with varying network capacity. Multi-layer encoding approaches also allow efficient reuse of existing video encoding technology while providing for developments in display technologies. Certain examples described also utilise the calibrated encoding parameters to encode a signal into a set of one or more data streams, i.e. data that changes over time. Certain examples relate to an encoder or encoding process that generates a set of streams including at least an enhancement stream, where the enhancement stream provides enhancement to a base stream. The base stream may comprise an encoding with MPEG standards such as AVC / H.264, HEVC / H.265, etc. as well as algorithms such as VP9, AV1, and others. The enhancement stream may comprise an LCEVC stream. It is worth noting that the base stream may be decodable by a hardware decoder while the enhancement stream may be suitable for a software processing implementation with suitable power consumption. Certain examples provide an encoding structure that creates a plurality of degrees of freedom that allow great flexibility and adaptability in many situations, thus making the coding format suitable for many use cases including over-the-top (OTT) transmission, live streaming, live UHD broadcast, and so on. It also provides for low complexity video coding. In the examples described herein, mechanisms for calibrating a rate control algorithm for a multi-layer stream are presented. A single encoding quality factor for a video to be encoded (e.g., a CRF for the video) may be passed to an enhancement encoder and converted into quality factors for a base layer and an enhancement layer. The quality factor for the base layer may be determined for the video and per-frame quality factors may be determined for the enhancement layer based on encoding parameters received from a base encoder. These per frame quality factors may then be used to output enhancement encoding parameters. The enhancement encoder is thus able to adapt the enhancement encoding based on properties of the base encoding to achieve a desired quality level. Figure 1 shows an example rate controller 100 that may be used to execute a rate control algorithm to calculate encoding parameters for base and enhancement encoding. The example rate controller 100 may form part of an enhancement encoder (e.g., an LCEVC encoder). An example framework for an enhancement encoder is described in WO2022 / 023747 A1. The rate controller 100 may be implemented in hardware (e.g., as part of an application-specific integrated circuit - ASIC - implementation of the enhancement encoder), and / or software (e.g., as part of an encoding tool programmed in a suitable language such as C that is configured to be executed by a processor). The rate controller 100 receives an encoding quality factor 110 for a video to be encoded using a multi-layer scheme. For example, the encoding quality factor 110 may be passed as a parameter (e.g., to a function or as a command line parameter) and / or defined within a configuration file for the encoding. The encoding quality factor 110 may comprise a single integer or floating-point value within a defined range. The defined range may emulate a range used by existing single layer video encoding schemes. For example, H.264 encoders may use a range of 0 to 51 and VP9 may use a range of 4 to 63. Hence, the encoding quality factor 110 may comprise a 6-bit unsigned integer with a range of 0 to 63. In other implementations, the encoding quality factor 110 may comprise an n-bit integer (e.g., where n=8 or 16) or a float (e.g., a normalised value within a range of 0 to 1 or a value within a range of 0 to 61). The encoding quality factor 110 acts as a CRF for the multi-layer video encoding. It thus represents a desired visual quality in a decoding of the multi-layer video encoding where a decoded base stream is combined with a decoded enhancement stream. Lower values of the encoding quality factor 110 may represent a higher decoded output quality and higher values of the encoding quality factor 110 may represent a lower decoded output quality. A value of 0 may represent a completely lossless encoding and a value of 51 or 63 may represent the worst possible visual quality. A mid-range value may be chosen as a default (23 is used as a default for H.264, 28 is a default for H.265 and 31 is a recommended starting value for VP9). The encoding quality factor 110 may vary in a non-linear manner with perceived visual quality of a decoded output. The worst possible visual quality may be mapped to a particular set of values for one or more visual quality metrics. In Figure 1, the encoding quality factor 110 is received by a base factor calculator 115 that forms part of the rate controller 100. The base factor calculator 115 maps the encoding quality factor 110 to a base quality factor 120 for sending to a base encoder 125. The rate controller of Figure 1 further comprises an enhancement factor calculator 135 which is configured to map the encoding quality factor 110, the base quality factor 120, and parameters indicative of the base encoding to enhancement encoding parameters 140 for the enhancement encoding. In some cases (which are the focus of this disclosure), the type of base encoder provided is not one of a plurality of different available pre-configured base encoding types which may be available in the rate controller 100. In these scenarios, the rate controller 100 may apply a rate control algorithm according to an assumption of a particular default type of base encoder (e.g. h.264). In other words, the functionality and empirical formulas / coefficients used in the rate controller may have been pre-generated using a default type of base encoder. If the base encoder 125 is of a different type to the default base encoder assumed by the rate controller 100, certain elements, both internal and external to the rate controller 100, may be calibrated according to the mechanisms described herein so as to allow operability with different types of base encoder. As is illustrated in Figure 1, a calibration interface 145 is schematically located between the rate controller 100 and the base encoder 125 so as to provide compatibility between the rate controller 100 and the base encoder 125. The calibration interface 145 may be implemented as part of the rate controller 100 and optionally an enhancement encoder as is described for the rate controller 100 above, or may be implemented separately to the rate controller 100 in hardware and / or software. In preferred examples, the calibration interface 145 is provided as a software plug-in for a software implementation of the rate controller 100. The calibration interface 145 may be configured allow calibration to be performed according to the mechanisms described herein so as to enable calibrated parameter mapping, that is, mapping between a parameter associated with the first type of base encoder (e.g. the type of base encoder actually used) and a parameter associated with a second type of base encoder (e.g. the type of base encoder assumed by the rate controller) different to the first type of base encoder. The calibration interface 145 may further be configured to allow calibration to be performed according to the mechanisms described herein so as to enable functions within the rate controller 100 to be updated or modified. The calibration interface may provide an indication to the rate controller 100 as to how to update or modify its internal functions based on a particular calibration. The remainder of Figure 1 will now be described in the context of the operation of the rate controller after calibration to a particular type of base encoder has been performed. Returning firstly to the base factor calculator 115, in mapping the encoding quality factor 110 to a base quality factor 120, the encoding quality factor 110 may be mapped to a higher or lower base quality factor 120 depending on the encoding configuration. For example, as the base encoding may be corrected and enhanced by the enhancement encoding, the base encoder may be able to use a lower CRF value than that provided by the encoding quality factor 110. Or alternatively, if the base encoding is performed at a lower spatial resolution, it may require a smaller number of bits to encode each frame and so encoding may be performed at a higher CRF value that that provided by the encoding quality factor 110. By providing the base factor calculator 115, a mapping between the encoding quality factor 110 and the base quality factor 120 may be flexibly configured based on experimentation to lower overall bit rates for a given desired visual quality (which in turns facilitates transmission). In preferred examples, the encoding quality factor 110 and the base quality factor 120 are constant values for the whole video encoding. In other cases, they may be constant for at least particular groups of pictures. If the encoding quality factor 110 and the base quality factor 120 are constant values, then the base factor calculator 115 may only need to be run once at the start of encoding. The base factor calculator 115 implements a calculation to convert the encoding quality factor 110 to the base quality factor 120, where this calculation may be according to a default type of base encoding that is assumed by the rate controller 100. The calculation may be defined as a mathematical function of the encoding quality factor 110. The function may be a linear or non-linear function. Alternatively, the calculation may be based on a table lookup (with interpolation and / or integer rounding as required). For example, a calculation for an H.264 or H.265 default base encoder may map the encoding quality factor 110 to a base quality factor 120 within the range of 0 to 51, and for a default VP9 base encoder may map the encoding quality factor 110 to a base quality factor 120 within the range of 4 to 63. The mapping performed by the base factor calculator 115 may be based on empirical observations and / or measurements. Returning to Figure 1, the base factor calculator 115 then passes the base quality factor 120 to the calibration interface 145 which may be calibrated to map the base quality factor 120 into a base target quality 150 suitable for providing to the base encoder 125 so as to obtain base encoding parameters 130 for each frame of video encoded by the base encoder 125. The mapping may be defined as a mathematical function of the base quality factor 120 and the function may be a linear or non-linear function. Alternatively or additionally, the mapping may be based on a table lookup (with interpolation and / or integer rounding as required). Properties such as the functional form of the mapping, values of coefficients used in the mapping, and / or entries in a lookup table may be generated through the calibration mechanisms described herein. The base encoding parameters 130 output by the base encoder 125 may be output as part of the encoding process, i.e. when a frame of video data is encoded by the base encoder 125 as parameterised with the passed base target quality 150. The base encoding is performed at a level of quality that is lower than a level of quality associated with the enhancement encoding. For example, as described later with respect to Figure 7, the base encoding may be an encoding of a downsampled frame of video data. In other cases, levels of quality may relate to one or more of spatial resolution levels, temporal resolution levels, and quantisation levels. Different colour planes for the downsampled frame may be encoded independently. The base encoding parameters 130 may comprise, amongst others, one or more of: a frame type, a frame size, quantisation metrics or parameters for the frame (such as frame or region QP values), temporal information, a picture order count, a frame bit rate, and bit per pixel metrics. The base encoding parameters 130 may depend on output data that is available from a particular base encoder and may vary depending on the currently used base encoder. To handle this, the calibration interface 145 may be further configured to map base encoding parameters 130 output from the base encoder to generate mapped base encoding parameters 155 suitable for providing to the enhancement factor calculator 135. The mapping between base encoding parameters 130 and mapped base encoding parameters 155 may include a combination mathematical and logical functions of one or more of the base encoding parameters 130. The functions may be linear or non-linear and may include any combination one-to-one and many-to-one mappings. Alternatively, or additionally, some elements of the mapping may be based on a table lookup (with interpolation and / or integer rounding as required). Due to the fact that the base encoding parameters 130 may include a combination of numerical and non-numerical parameters, the mappings may also include conditional logic based on the values of such non-numerical parameters. As with the mapping of base quality factor 120 to base target quality 150, properties of the mapping of base encoding parameters such as the functional form of the mapping, values of coefficients used in the mapping, and / or entries in a lookup table may be generated through the calibration mechanisms described herein. Within the rate controller 100, the mapped base encoding parameters 155 are received by an enhancement factor calculator 135, along with the base quality factor 120 and the encoding quality factor 110. The enhancement factor calculator 135 is configured to map the encoding quality factor 110, the base quality factor 120, and mapped base encoding parameters 155 to enhancement encoding parameters 140 for the enhancement encoding. The mapping may comprise a first mapping to an enhancement quality factor and a second mapping of the enhancement quality factor to enhancement encoding parameters 140. The enhancement encoding parameters 140 may comprise quantisation parameters for the enhancement encoding and / or bit rate parameters indicating an actual or estimate bit rate for the enhancement encoding. The enhancement encoding may be an encoding of an additive layer that may be combined with the base encoding to increase the quality of the base encoding (although the enhancement layer may comprise both positive and negative residual values). For example, a combination of a decoding of the base encoding and a decoding of the enhancement encoding provide a decoding at a level of quality that is higher than the level of quality provided be a decoding of the base encoding alone. This may be paraphrased as saying that the combination of the base encoding and the enhancement encoding provide an encoding at a second level of quality that is higher than a first level of quality that is provided by the base encoding. The mapping performed by the enhancement factor calculator 135 may be a many-to-one mapping that maps a plurality of different mapped base encoding parameters 155 to a single scalar enhancement quality factor. The mapping may be a non-linear mapping (i.e., include parameterised power functions). In one case, the mapping may comprise a non-linear many-to-one mapping to a set of coefficients or parameters for a function that outputs an enhancement quality factor. The enhancement quality factor may be an integer or float value. In certain cases, the enhancement quality factor may comprise an integer value with a range similar to the original encoding quality factor 110. The enhancement quality factor may then be mapped to quantisation parameters using a further non-linear function. The enhancement factor calculator 135 may be thought of as a modulator for the initial encoding quality factor 110 based on one or more of the base quality factor 120 and the mapped base encoding parameters 155 to output the enhancement quality factor. The enhancement quality factor may comprise a quantisation factor that is used to control the quantisation of a current frame of video during the encoding of an enhancement layer. The enhancement layer may comprise one or more residual data layers as described in more detail below. The enhancement encoding parameters 140 may vary per frame of encoded video. As such, the encoding quality factor 110 may be a CRF for the combination of the base and enhancement encoding, the base quality factor 120 may be a CRF for the base encoding (i.e., an encoding of a base layer where the base encoding is performed in a CRF mode), and the enhancement encoding parameters 140 may be based on an enhancement quality factor that is, in turn, a form of CRF for the enhancement encoding (i.e., an encoding of an enhancement layer comprising one or more sublayers that is separate from the base layer). The encoding quality factor 110 and the base quality factor 120 may be constant for the encoding of the input video, whereas the enhancement quality factor and the enhancement encoding parameters 140 may vary on a frame-by-frame basis. The enhancement encoding parameters 140 may comprise a QP or a step-width for the enhancement encoding. By calibrating, according to the methods described herein, the calibration interface 145 to perform the parameter mappings discussed above, a core of a rate control algorithm for a multi-layer encoding scheme is able to stay the same and the mapping performed by the calibration interface ensures that the parameters input to and output from the rate controller and base encoder are optimised for the particular type of base encoder being used. In this way, a rate control algorithm for a multi-layer coding scheme can remain standardised, but can also be calibrated according to particular implementations of the multi-layer coding scheme without requiring producers or consumers to empirically derive a new rate control algorithm from scratch. As discussed elsewhere herein, the optimisation of the rate control algorithm is not solely based on converting input and output parameters so that they are suitable for their respective purposes as described above in relation to Figure 1, but further optimisations can be applied by additionally modifying the internal functioning of the rate control algorithm according to the particular type of base encoder being used. In this regard, Figure 2 shows a variation of the example of Figure 1 in which the internals of the rate controller are illustrated in more detail. In Figure 2, a rate controller 200 is shown that receives an encoding quality factor 210 as described with reference to Figure 1. A base factor calculator 215 further maps the encoding quality factor 210 to a base quality factor 220 as described with reference to Figure 1. A calibration interface 280 (calibrated according to the mechanisms described herein) further maps the base quality factor 220 to a base target quality 285 as described with reference to Figure 1. In Figure 2, a base encoder 225 that implements the base encoding and receives the base target quality 285 operates in a similar manner to the base encoder 125 of Figure 1. In Figure 2, the base encoding parameters 230 that are output by the base encoder per frame comprise a frame type, a frame size, and an average quantisation parameter - QP - for the frame. The frame type may indicate the frame is one of: an Intra -1 - frame, a Predicted - P - frame, a Bidirectional - B -frame, and a Bidirectional reference - B-ref - frame, the list of frame types depending on the type of base encoder 225 that is used for the base encoding. These three base encoding parameters 230 are received by the calibration interface and are mapped into mapped base encoding parameters 290 according to the calibration of the calibration interface 280. The mapped base encoding parameters are then provided to the enhancement factor calculator 235. The enhancement factor calculator 235 in Figure 2 comprises a set of empirical lookup tables 234, a mapping function 238, and a modulator 242. The set of empirical lookup tables 234 are configured to use the base quality factor 220 to retrieve a set of parameters and / or coefficients 236 - 0 - for the mapping function 238. The mapping function 238 is configured to output a quantisation - Q - factor 240 using the set of parameters and / or coefficients 236. The Q factor 240 may be similar to the enhancement quality factor described above. The mapping function 238 is a function of the base quality factor 120 and the initial encoding quality factor 210. The base quality factor 120 may be passed through by the empirical tables or alternatively may be received from the base factor calculator 215. The mapping function 238 may comprise a non-linear function where the parameters from the empirical tables 234 set a multiplication coefficient and an exponential for the function. The Q factor 240 is similar to the enhancement quality factor 140 described with reference to Figure 1. In the present example, there is a single Q factor 240 for multiple sublayers, but in other examples there may be separate Q factors for each sublayer. In one case, the single Q factor 240 may comprise a Q factor for one of the layers (e.g., a highest resolution sublayer) and a later mapping may derive a Q factor for another sublayer. In the example of Figure 2, the Q factor 240 is received by the modulator 242. The modulator 242 also receives the mapped base encoding parameters 290 and is configured to modulate the initial Q factor 240 based on the mapped base encoding parameters 290. The modulator 242 may further receive pre-analysis parameters, compensation factors and the like to modulate the initial Q factor 240. The output of the modulator 242 is a modulated Q factor 250. Modulation may be based on one or more of, amongst others: specific sublayer settings, a preanalysis of the input video signal, any supplied or computed compensation factors, and resolution levels that form the levels of quality (e.g., a second level of quality that provides 4K - Ultra High Definition - UHD - output may have different adjustments than a second level of quality that provides High Definition - HD output). In this example, the enhancement encoding comprises a plurality of sublayers. The plurality of sublayers may comprise the first and second sublayers that are found in the LCEVC encoding standard. A first sublayer may encode enhancement data at a first level of quality and a second sublayer may encode enhancement data at a second, higher, level of quality. These levels of quality may comprise spatial resolutions and / or different quantisation levels. In Figure 2, the rate controller 200 also comprises a sublayer mapping 260 that receives the modulated Q factor 250. The sublayer mapping 260 maps the modulated Q factor 250 to quantisation parameters 265 for each of the plurality of sublayers. In the example of Figure 2, these quantisation parameters 265 comprise quantisation step widths (SW) for each of the plurality of sublayers. Two quantisation step widths for two respective sublayers are shown in Figure 2. The sublayer mapping 260 may be provided by a function and / or lookup table that provides a one-to-many mapping. The sublayer mapping 260 allows different configurations to be programmed for rate control. For example, in certain cases, a base encoding may be more heavily quantised, but a lower sublevel may be less heavily quantised, thus allowing the lower (e.g., first) sublayer to at least partially correct the heavier quantisation. Or the first lower sublevel may be heavily quantised as well but a higher (e.g., second) sublevel is less heavily quantised, such that a higher resolution sublayer carries more of the correction. In another case, a base encoding may be less heavily quantised allowing a lower sublevel to be more heavily quantised and a higher sublevel to be less heavily quantised and thus “carry” more of the signal correction at a higher level of quality (e.g., at a higher resolution). The rate controller 200 of Figure 2 also comprises a set of bit rate estimators 270. These estimators 270 are configured to determine bit rate parameters (BRP) 275 for an enhancement encoding performed using the modulated Q factor 250. The bit rate estimators 270 may comprise a set of empirical functions that map the base encoding parameters 230 and the modulated Q factor 250 to a set of bit per pixel (bpp) values. The bit rate parameters 275 may be used to enact a capped CRF mode or to optimise an encoding where a supplied encoding quality factor 210 cannot be met due to technical constraints. The bit rate estimators 270 may not be provided if enhancement encoding proceeds without adjustment or optimisation based on the quantisation parameters 265. As illustrated in Figure 2, the calibration interface 280 may also provide an indication 295 to the rate controller 200 indicating how one or more of the empirical tables 234, mapping function 238, modulator 242, sublayer mapping 260, and bit rate estimators 270, or the exchange of information therebetween are to be updated or modified based on a calibration for a particular type of base encoder 225. For example, the indication 295 may indicate the rate controller 200 to retrieve a different or modified set of parameters and / or coefficients 236 - 0 from the empirical tables 234, modify the mapping function, and adjust coefficients and or formulas used in the modulator 242, sublayer mapping 260 and bit rate estimators 270. The indication 295 provided by the calibration interface thus allows internal properties and functionality of the enhancement factor calculator 235 to be calibrated for a particular type of base encoder in addition to the mapping of input and output parameters of the enhancement factor calculator 235 as already described above. The mapping function 238, in one case, may first compute a modified base quality factor from the received base quality factor 220. This may comprise applying corrections or modulation for one or more of the following: resolution of the base and / or enhancement encoding, sharpness filtering parameters, and frame rate. The mapping function 238 may then compute the Q factor 240 based on the modified base quality factor. In one case, the mapping function 238 may apply different computations for different ranges for the input encoding quality factor 210. For example, at or above a threshold computed based on the modified base quality factor, the Q factor 240 may be set as a constant. Below said threshold, the Q factor 240 may be computed as a non-linear function of the modified base quality factor and the encoding quality factor 210. In this case, coefficients including a multiplier and a power may be retrieved from a look-up table and the retrieval may be based on the indication 295 received from the calibration interface 280. The bit rate estimators 270 may output bit rate parameters 275 for use in rate control. For example, the bit rate parameters 275 may comprise bit rate per pixel, bpp, values that may be used to determine whether a defined constant bit rate is met, or whether the enhancement encoding is estimated to fall within a defined range of bit rate values. The bit rate estimators 270 may operate according to the empirically determined result that bits per pixel generally follow a hyperbolic (e.g., power) relationship with quantisation parameters or factors. For example, the base encoding may be observed to follow a hyperbolic relationship with a quantisation parameter (QP) used for the base encoding, e.g., a power relationship such as c_1*QPAc_2, where c_1 and c_2 are empirically derived coefficients and QP is the quantisation parameter for the base frame. In one case, one or more of the coefficients may vary depending on the type of frame being encoding by the base (e.g., as indicated, together with the QP, in the mapped base encoding parameters 290). For example, the coefficient c_2 may be greater for P frames as compared to I frames, greater for B-reference frames as compared to P frames, and greatest for B frames. Hence, a bpp estimate for the base encoding may be computed. To calculate an estimate of bit rate parameters (e.g., a bpp value) for the enhancement encoding another hyperbolic (i.e., power) relationship may be used. For example, it was found empirically that, at least for a second (e.g., highest) sublayer, an enhancement bpp estimate had an excellent correlation (an RA2 value of greater than 0.98) with the modulated Q factor 250. For example, a bpp estimate for a second sublayer may be computed using a function based on: base_QP_factor*c_3*((Q_factor - c_4)*c_5)Ac_6, where c_3 to c_6 are empirically derived coefficients, base_QP_factor is a base-frame-type-dependent multiplier computed from the base QP and the Q_factor is the modulated Q factor 250. In certain cases, a constant representing the additional bits per pixel for temporal signalling may also be added. The coefficient c_4 and / or any additional temporal signalling constant avoid discontinuities in the estimation function, which could cause any iterative optimisation of the encoding quality factor to become trapped by extreme values. The coefficient c_5 may be derived from the base bpp estimate described above. Coefficients c_3 and c_6 may also be base frame type dependent. The values of coefficients c_1 to c_6 and / or their empirically derived relationships to other parameters in the rate control may be modified through calibration according to the calibration mechanisms described herein and the rate controller 200 may be informed of these changes through the indication 295 from the calibration interface 280. An example calibration method is described in relation to Figure 3 below. Figure 3 illustrates a flow chart of a general method for calibrating a computing of encoding parameters for video encoding using a multi-layer coding scheme. The method may be executed using the rate controllers, calibration interfaces, and base encoders as described above in relation to Figures 1 and 2. In particular, the calibration may be performed prior to performing an encoding of an input video which it is desired to encode using a multi-layer coding scheme and a type of base encoder different to that upon which the rate control algorithm is based. As described above, a rate controller of a multi-layer coding scheme may, by default, be pre-configured with functionality, coefficients and empirical formulas under the assumption of a particular type of base encoder. To calibrate the rate controller for a different type of base encoder, the following steps may be performed. At step S302, one or more videos are encoded with a first type of base encoder and a second type of base encoder respectively. The first type of base encoder may be a base encoder to be used in the final encoding of an input video, and the second type of base encoder may be a base encoder upon which functionality of the rate controller is based by default. In some examples, this step may be optional as, for example, the calibration may be performed using encoding information generated separately or prior to the calibration. Step S302 may comprise encoding multiple different videos with a first type of base encoder and a second type of base encoder and / or encoding one or more videos multiple times with a first type of base encoder and a second type of base encoder using different encoding parameters. The video or videos used for the calibration may be an input video (i.e. a video to be encoded using the multi-layer coding scheme) or may be one or more videos from a library of test videos. In the latter case, base encoding parameters associated with the encoding of the test videos with the second type of base encoder may be pre-generated instead of encoding the test videos with the second type of base encoder at runtime. At step S304, information pertaining to the encoding / s of the video / s is received, typically by a calibration interface such as those illustrated in Figures 1 and 2. The received information about the base encoding of the video / s may include, amongst other things, a quantisation parameter, a frame type, a frame size, temporal information, and a picture order count for each frame of the encoded videos. After receiving the information pertaining to the encoding / s of the video / s, one or both of steps S306 and S308 may be executed to calibrate a rate control algorithm based on the received information. At S306, a parameter mapping for a rate control algorithm may be updated based on the received information. That is, a mapping between a parameter associated with the first type of base encoder and a parameter associated with a second type of base encoder is updated. Using the context of Figures 1 and 2, such a parameter mapping may include a mapping between a base quality factor 115 and a base target quality 150, and a mapping between base encoding parameters 130 and mapped base encoding parameters 155. At step S308, a function within the rate control algorithm may be updated based on the received information. Using the context of Figure 2, this updating may include updating one or more of the empirical tables 234, the mapping function 238, the modulator 242, the sublayer mapping 260, and the bit rate estimators 270. After updating the parameter mapping and / or functions within the rate control algorithm, the method may further comprise a step S310 of applying the calibrated rate control algorithm to compute encoding parameters for performing a multilayer encoding of an input video, for example according to the rate control described in relation to Figures 1 and 2. Calibrating the computation encoding parameters by according to the method described above, a rate control algorithm can be optimised for different production or consumer implementations of the multi-layer coding schemes using different types of base encoder. Such a calibration prevents poor visual quality of an encoded video which would have been a result of formulae and parameters used in the rate control not being suitable for the particular implementation of the multilayer encoding scheme. As shown for example in Figures 1 and 2 above, the calibration interface 145 / 280 is configured to provide calibrated parameter mapping, that is, mapping between a parameter associated with the first type of base encoder (e.g. the type of base encoder actually used) and a parameter associated with a second type of base encoder (e.g. the type of base encoder assumed by the rate controller) different to the first type of base encoder. Figure 4 illustrates an exemplary method of calibrating a parameter mapping for a rate controller that may be executed on the calibration interface 145 / 280. The parameter mapping may be configured to map input and output parameters for the rate controller, converting between parameters associated with a first type of base encoder and parameters associated with a second type of base encoder. At step S402, one or more videos are encoded with a first type of base encoder. As described above in relation to Figure 3, the first type of base encoder may be a base encoder to be used in the final encoding of an input video. At optional step S404, the one or more videos are encoded with a second type of base encoder. As described above in relation to Figure 3, the second type of base encoder may be a base encoder upon which functionality of the rate controller is based by default. Where the one or more videos are videos from a test library, S404 may not be executed as encodings of the videos in the test library computed using the second type of base encoder may be pre-generated and made accessible to the calibration interface along with any associated frame level information such as quantisation parameters, a frame types, frame sizes, temporal information, and a picture order count. In preferable examples, the base encodings performed at steps S402 and S404 comprise encoding a plurality of test video sequences using a first type of base encoder and a second type of base encoder multiple times with different encoding settings (e.g. a quality factor) but at a same spatial resolution (e.g. 960x540p). For example, if a test library of 5 video sequences is used, and three different sets of encoding settings are used, a total of 30 encoded streams will be generated. Each test video in this example is encoded with each of the first type of base encoder and second type of base encoder using three different encoding settings. Once the encoded streams have been generated, information pertaining to the encoded streams is extracted from each frame of each encoded stream. The extracted information may include quantisation parameters (average and / or regional), frame types, frame sizes, and any other relevant information such as temporal information and picture order count. At step S406, the calibration interface receives the extracted frame-level encoding information for each frame of the encoded streams. At step S408, depending on the particular parameter mapping which is being calibrated, a perceptual quality or a bit rate of the generated encoded streams are determined. In particular, for each set of encoded streams corresponding to a same video, a comparison of perceptual quality or bit rate is performed using the encoded streams encoded using the first type of base encoder, and the encoded streams encoded using the second type of base encoder. Finally, at step S410, a parameter mapping within the calibration interface is adjusted based on the comparison performed at step S408. One application of the calibration method illustrated in Figure 4 is the adjustment of a mapping between base encoding parameters output from the base encoder and mapped base encoding parameters for input to the rate controller, for example as illustrated in Figures 1 and 2. In one example, a mapping between a quantisation parameter associated with first type of base encoder and a quantisation parameter associated with the second type of base encoder is calibrated (sometimes referred to herein as a QP equivalence mapping). Such a mapping may include a set of mapping functions associated with each frame type supported by the second type of base encoder. For example, if the second type of base encoder is an h.264 encoder, the QP equivalence mapping may comprise different mapping functions for each I, P, B and B-ref frame types. To calibrate a QP equivalence mapping, step S406 of the method may involve receiving quantisation parameters associated with each frame of each encoded stream, and S408 of the method may comprise determining a perceptual quality metric such as peak signal to noise ratio, PSNR, or Video Multimethod Assessment Fusion, VMAF, metrics such as a structural similarity index (SSIM) and VMAF-NEG score associated with each encoded stream. Determining a perceptual quality associate with an encoded stream may further comprise decoding the encoded stream using a compatible decoder and comparing the decoded version of the encoded stream with an original quality version of the associated video. As part of calibrating a QP equivalence mapping, a mapping between a frame type associated with first type of base encoder and a frame type associated with the second type of base encoder may also be generated. As it is not always the case that the first type of base encoder returns the same picture types as the second type of base encoder, other frame level parameters such as frame size may be used to determine a mapping between frame types. For example, a VVC encoder may only distinguish between I and B frame types, whereas an h.264 encoder distinguishes between I, P, B and B-ref frame types. Consequently, step S406 of the method may further involve receiving a frame type and / or a frame size associated with each frame of each encoded stream, and using this information to construct a mapping between a frame type associated with first type of base encoder and a frame type associated with the second type of base encoder that may be dependent on the frame size and / or quantisation parameter associate with a frame encoded by the first type of base encoder. The perceptual quality metrics associated with the encoded streams may then be used to empirically construct a mapping where a quantisation parameter A associated with the first type of base encoder is mapped onto a quantisation parameter B associated with the second type of base encoder such that, when a video is encoded using the first type of base encoder and quantisation parameter A, and the same video is encoded using the second type of base encoder and quantisation parameter B, a comparable perceptual video quality is obtained. In other words, a difference in one or more perceptual quality metrics when a video is encoded using the first type of base encoder and quantisation parameter A, and the same video is encoded using the second type of base encoder and quantisation parameter B may be below a threshold or target value. VMAF metrics were developed by Tsung-Jung Liu et al. and described in a number of papers including “Visual quality assessment: recent developments, coding applications and future trends”, APSIPA Transactions on Signal and Information Processing (2013). The VMAF metrics compare an original and a decoded video and provide measures that reflect human visual perception. In tests, it was found that different visual quality metrics tended to follow common patterns of variation such that one approach (e.g., VMAF) may be taken as representative of a variety of different metrics. In constructing a calibrated mapping between a quantisation parameter associated with first type of base encoder and a quantisation parameter associated with the second type of base encoder, the mapping may further account for a range of quantisation parameter supported by each of the first type of base encoder and second type of base encoder. Another application of the calibration method illustrated in Figure 4 is the adjustment of a mapping between a quality factor associated with first type of base encoder and a quality factor associated with a second type of base encoder is calibrated. A quality factor in this context may be a constant rate factor, CRF, or the like. This mapping may correspond to a mapping between a base quality factor and base target quality as illustrated in Figures 1 and 2. To calibrate a quality factor mapping, step S406 of the method may involve receiving quantisation parameters associated with each frame of each encoded stream, and S408 of the method may comprise determining a bit rate. This may involve obtaining an average bit rate associated with each of the encoded streams across their respective bit sequences. The bit rates associated with the encoded streams may then be used to empirically construct a mapping where a quality factor C associated with the first type of base encoder is mapped onto a quality factor D associated with the second type of base encoder such that, when a video is encoded using the first type of base encoder and quality factor C, and the same video is encoded using the second type of base encoder and quality factor D, a comparable bit rate is obtained. In other words, a difference in bit rate when a video is encoded using the first type of base encoder and quality factor C and the same video is encoded using the second type of base encoder and quality factor D may be below a threshold or target value. In addition to the methods of calibrating a parameter mapping as described above in relation to Figure 4, the examples below illustrate how the internal functioning of the rate controller may be calibrated so as to further optimise the rate control algorithm. Figure 5 illustrates an exemplary method of calibrating internal functions within a rate controller or rate control algorithm. Such a method may be executed by a calibration interface and a base encoder as described above in relation to Figure 2 and may be applicable to calibrating any one or more of the empirical tables 234, mapping function 238, modulator 242, sublayer mapping 260, and bit rate estimators 270. Calibrating internal functions within a rate controller or rate control algorithm may be performed subsequently to calibrating a parameter mapping as described for example in Figure 4. Due to the complex empirical nature of many of the functions in rate control, one suitable method for calibrating functions within a rate control algorithm is to construct an optimisation problem, wherein one or more parameters within the rate control are varied and the effects of these variations are observed. It has further been found by the inventors that in some cases, finding an optimum of a first parameter in a rate control algorithm and comparing this to a target or default value for the first parameter may indicate how to adjust other parameters or functions in the rate control algorithm. Figure 5 presents an example of this mechanism. At step S502, one or more videos are encoded with a base encoder and an enhancement encoder. Typically, the base encoder and enhancement encoder are such that decoded base and enhancement streams of a same video are combinable so as to increase the quality of a base video. The one or more videos may be a library of different test videos, for example as described in relation to Figures 3 and 4. At step S504, a value of a first parameter in a rate control algorithm is adjusted. For example, using the context of Figure 2, a calibration interface 280 may indicate to the rate controller 200 of a adjust a value of a first parameter or coefficient. At step S506, the one or more videos are re-encoded after adjustment of the first parameter, and at step S508, the perceptual quality of the encodings performed before and after adjusting the value of the first parameter are compared (for example using PSNR or VMAF metrics as described above). Steps S504 to S508 may then be repeated until an optimal value for the first parameter is found, and when this optimisation is complete, one or more formulae and / or coefficients in the rate control algorithm is adjusted based on the identified optimal value of the first parameter at step S510. A specific example of the application of the method in Figure 5 is calibrating the relationship between a base quality factor (i.e. base quality factor 236 in Figure 2) and the empirically derived coefficients c_1 and c_2, which for example are stored in the empirical tables 234 of the rate controller. In this example a “sharpness strength” factor may be varied by applying a weighting to an encoding quality factor (e.g. encoding quality factor 210). The inventors have found that if an optimal “sharpness strength” factor for a given encoding quality factor in a rate control algorithm is significantly different from a default value for this factor, this indicates that the c_1 and c_2 values extracted from the empirical tables 234 based on the base quality factor 236 require adjustment, specifically indicating that there is either too much or too little enhancement for the particular base quality factor 236. As a result, the relationship between a base quality factor (i.e. base quality factor 236 in Figure 2) and the empirically derived coefficients c_1 and c_2 may be modified such that, for a given base quality factor 236, different values for empirical coefficients c_1 and c_2 may be used in performing rate control. Figure 6 illustrates a further exemplary method of calibrating internal functions within a rate controller or rate control algorithm. Such a method may be executed by a calibration interface and a base encoder as described above in relation to Figure 2 and may be applicable to calibrating any one or more of the empirical tables 234, mapping function 238, modulator 242, sublayer mapping 260, and bit rate estimators 270. Calibrating internal functions within a rate controller or rate control algorithm may be performed subsequently to calibrating a parameter mapping as described for example in Figure 4. In a similar manner to the example illustrated in Figure 5, the example in Figure 6 again involves an optimisation problem, wherein one or more parameters within the rate control are varied and the effects of these variations on a metric indicative of perceived quality are observed. The example of Figure 6 involves performing optimisation by encoding of videos in a constant bit rate mode so as to observe and account for the behaviour of the encoders under those specific conditions. At step S602 one or more videos are encoded with a base encoder and an enhancement encoder in a constant bit rate mode. Specifically, a target bit rate is selected to encode the one or more videos in the constant bit rate mode. As with the example of Figure 5, the base encoder and enhancement encoder are such that decoded base and enhancement streams of a same video are combinable so as to increase the quality of a base video. The one or more videos may be a library of different test videos, for example as described in relation to Figures 3 and 4 above. At step S604 a distortion associated with the encoding of the one or more videos is calculated. This may be, for example, a PSNR associated with the encoding of each video. In other examples, alternative quality metrics such as VMAF metrics may be used additionally or alternatively to quantify a distortion associated with the encodings. At step S606, a value of a second parameter in a rate control algorithm is adjusted. For example, using the context of Figure 2, a calibration interface 280 may indicate to the rate controller 200 of a adjust a value of a second parameter or coefficient. At step S608, the one or more videos are re-encoded after adjustment of the second parameter, and at step S610, a distortion associated with the re-encoding of the one or more videos is calculated. By repeating steps S606 to S610 across a selected range of values for the second parameter, the effect on video distortion associated with adjusting the second parameter in the rate control algorithm can be observed, and at step S612, the calculated distortions associated with different values of the second parameter are used to adjust one or more formulae and / or coefficients in a rate control algorithm. The process illustrated in Figure 6 may further be repeated for a range of different target bit rates in a constant bit rate mode to obtain / update a mapping between a target bit rate and a value of the second parameter in the rate control algorithm so as to calibrate the mapping for use with the chosen base encoder type. One specific application of the exemplary method of Figure 6 is calibrating a mapping between a bit rate target in a constant bit rate mode, and a value of a parameter in the rate control algorithm which controls the base proportion in the multi-layer encoding, that is, a proportion of a size of the multi-layer encoding of the input video attributable to a base encoding as compared to an enhancement encoding. An optimal proportion of bits attributable to a base encoding and an enhancement encoding respectively (i.e. different amounts of enhancement) for a given target bit rate typically varies between different types of base encoders, thus resulting in reduced visual quality for a multi-layer encoded video when such a base proportion is not optimal. It is therefore advantageous to calibrate, for a particular type of base encoder, a mapping between target bit rate and base proportion so as to maximise the perceived visual quality. To perform such a calibration, a plurality of test videos may be selected for encoding in a constant bit rate mode. It is typically advantageous to select a library of test videos which exhibit varying amounts of spatial and temporal complexity to fully capture the distortion behaviour of the encoders. The test videos are repeatedly encoded in a constant bit rate mode at a fixed target bit rate whilst varying a parameter controlling the base proportion within a suitable range. In rate control algorithms of multi-layer codecs such as LCEVC which can dynamically adjust the base proportion, this functionality should be disabled during calibration. For each encoding, an associated PSNR distortion is calculated and stored, and the process of repeatedly encoding the videos whilst varying a parameter controlling the base proportion is subsequently performed for different target bit rates in the constant bit rate mode. Once the encodings and PSNR calculations are complete, a rate distortion curve based on the bit rates and PSNR values is obtained, typically for each test video, from which values of the parameter controlling the base proportion for each target bit rate are derived. Such a derivation of the values of the parameter controlling the base proportion may include calculating a convex hull of the rate distortion curve representing the optimal rate distortion behaviour, and identifying, from the convex hull, values of the parameter controlling the base proportion for different target bit rates. By updating a mapping between a target bit rate in constant bit rate encoding and a base proportion for a specific type of base encoder, perceptual visual quality of a multi-layer encoding of the video can be improved for a given bit rate. Certain general information relating to example enhancement coding schemes will now be described. This information provides examples of specific multi-layer coding schemes. It should be noted that examples are presented herein with reference to a signal as a sequence of samples (i.e., two-dimensional images, video frames, video fields, sound frames, etc.). For simplicity, non-limiting examples illustrated herein often refer to signals that are displayed as 2D planes of settings (e.g., 2D images in a suitable colour space), such as for instance a video signal. In a preferred case, the signal comprises a video signal. Although examples are described specifically in relation to video, the approaches may also be used for other forms of media such as audio or subtitle data. The terms “picture”, “frame” or “field” are used interchangeably with the term “image”, so as to indicate a sample in time of the video signal: any concepts and methods illustrated for video signals made of frames (progressive video signals) can be easily applicable also to video signals made of fields (interlaced video signals), and vice versa. Despite the focus of examples illustrated herein on image and video signals, people skilled in the art can easily understand that the same concepts and methods are also applicable to any other types of multidimensional signal (e.g., audio signals, volumetric signals, stereoscopic video signals, 3DoF / 6DoF video signals, plenoptic signals, point clouds, etc.). Although image or video coding examples are provided, the same approaches may be applied to signals with dimensions fewer than two (e.g., audio or sensor streams) or greater than two (e.g., volumetric signals). In the description the terms “image”, “picture” or “plane” (intended with the broadest meaning of “hyperplane”, i.e., array of elements with any number of dimensions and a given sampling grid) will be often used to identify the digital rendition of a sample of the signal along the sequence of samples, wherein each plane has a given resolution for each of its dimensions (e.g., X and Y), and comprises a set of plane elements (or “element”, or “pel”, or display element for two-dimensional images often called “pixel”, for volumetric images often called “voxel”, etc.) characterized by one or more “values” or “settings” (e.g., by ways of non-limiting examples, colour settings in a suitable colour space, settings indicating density levels, settings indicating temperature levels, settings indicating audio pitch, settings indicating amplitude, settings indicating depth, settings indicating alpha channel transparency level, etc.). Each plane element is identified by a suitable set of coordinates, indicating the integer positions of said element in the sampling grid of the image. Signal dimensions can include only spatial dimensions (e.g., in the case of an image) or also a time dimension (e.g., in the case of a signal evolving over time, such as a video signal). In one case, a frame of a video signal may be seen to comprise a two-dimensional array with three colour component channels or a three-dimensional array with two spatial dimensions (e.g., of an indicated resolution - with lengths equal to the respective height and width of the frame) and one colour component dimension (e.g., having a length of 3). In certain cases, the processing described herein is performed individually to each plane of colour component values that make up the frame. For example, planes of pixel values representing each of Y, U, and V colour components may be processed in parallel using the methods described herein. Certain examples described herein use a scalability framework that uses a base encoding and an enhancement encoding. The video coding systems described herein operate upon a received decoding of a base encoding (e.g., frame-by-frame or complete base encoding) and add one or more of spatial, temporal, or other quality enhancements via an enhancement layer. The base encoding may be generated by a base layer, which may use a coding scheme that differs from the enhancement layer, and in certain cases may comprise a legacy or comparative (e.g., older) coding standard. The calibration method disclosed herein are suitable for application to multi-layer encoding schemes that support different types of base encoder. Such multi-layer coding schemes are typically spatially scalable, or in other words, can encode and decode a single input video at different levels of quality. Figures 7 and 8 show a spatially scalable coding scheme that uses a down-sampled source signal encoded with a base codec, adds a first level of correction or enhancement data to the decoded output of the base codec to generate a corrected picture, and then adds a further level of correction or enhancement data to an up-sampled version of the corrected picture. Thus, the spatially scalable coding scheme may generate an enhancement stream with two spatial resolutions (higher and lower), which may be combined with a base stream at the lower spatial resolution. In the spatially scalable coding scheme, the methods and apparatuses may be based on an overall algorithm which is built over an existing encoding and / or decoding algorithm (e.g., MPEG standards such as AVC / H.264, HEVC / H.265, etc. as well as non-standard algorithms such as VP9, AV1, and others) which works as a baseline for an enhancement layer. The enhancement layer works accordingly to a different encoding and / or decoding algorithm. The idea behind the overall algorithm is to encode / decode hierarchically the video frame as opposed to using block-based approaches as done in the MPEG family of algorithms. Hierarchically encoding a frame includes generating residuals for the full frame, and then a reduced or decimated frame and so on. Figure 7 shows a system configuration for an example spatially scalable encoding system 700. The encoding process is split into two halves as shown by the dashed line. Each half may be implemented separately. Below the dashed line is a base level and above the dashed line is the enhancement level, which may usefully be implemented in software. The encoding system 700 may comprise only the enhancement level processes, or a combination of the base level processes and enhancement level processes as needed. The encoding system 700 topology at a general level is as follows. The encoding system 700 comprises an input I for receiving an input signal 701. The input I is connected to a down-sampler 705D. The down-sampler 705D outputs to a base encoder 720E at the base level of the encoding system 700. The down-sampler 705D also outputs to a residual generator 710-S. An encoded base stream is created directly by the base encoder 720E, and may be quantised and entropy encoded as necessary according to the base encoding scheme. The encoded base stream may be the base layer as described above, e.g. a lowest layer in a multi-layer coding scheme. Above the dashed line is a series of enhancement level processes to generate an enhancement layer of a multi-layer coding scheme. In the present example, the enhancement layer comprises two sub-layers. I n other example, one or more sublayers may be provided. In Figure 7, to generate an encoded sub-layer 1 enhancement stream, the encoded base stream is decoded via a decoding operation that is applied at a base decoder 720D. In preferred examples, the base decoder 720D may be a decoding component that complements an encoding component in the form of the base encoder 720E within a base codec. In other examples, the base decoding block 720D may instead be part of the enhancement level. Via the residual generator 710-S, a difference between the decoded base stream output from the base decoder 720D and the down-sampled input video is created (i.e., a subtraction operation 710-S is applied to a frame of the down-sampled input video and a frame of the decoded base stream to generate a first set of residuals). Here, residuals represent the error or differences between a reference signal or frame and a desired signal or frame. The residuals used in the first enhancement level can be considered as a correction signal as they are able to ‘correct’ a frame of a future decoded base stream. This is useful as this can correct for quirks or other peculiarities of the base codec. These include, amongst others, motion compensation algorithms applied by the base codec, quantisation and entropy encoding applied by the base codec, and block adjustments applied by the base codec. In Figure 7, the first set of residuals are transformed, quantised and entropy encoded to produce the encoded enhancement layer, sub-layer 1 stream. In Figure 7, a transform operation 710-1 is applied to the first set of residuals; a quantisation operation 720-1 is applied to the transformed set of residuals to generate a set of quantised residuals; and, an entropy encoding operation 730-1 is applied to the quantised set of residuals to generate the encoded enhancement layer, sub-layer 1 stream (e.g., at a first level of enhancement). The quantisation operation 720-1 may use the quantisation parameters generated by the methods and apparatus described above. However, it should be noted that in other examples only the quantisation step 720-1 may be performed. Entropy encoding may not be used, or may optionally be used in addition to one or both of the transform step 710-1 and quantisation step 720-1. The entropy encoding operation can be any suitable type of entropy encoding, such as a Huffmann encoding operation or a run-length encoding (RLE) operation, ora combination of both a Huffmann encoding operation and a RLE operation (e.g., RLE then Huffmann or prefix encoding). To generate the encoded enhancement layer, sub-layer 2 stream, a further level of enhancement information is created by producing and encoding a further set of residuals via residual generator 700-S. The further set of residuals are the difference between an up-sampled version (via up-sampler 707U) of a corrected version of the decoded base stream (the reference signal or frame), and the input signal 701 (the desired signal or frame). To achieve a reconstruction of the corrected version of the decoded base stream as would be generated at a decoder (e.g., as shown in Figure 8), at least some of the sub-layer 1 encoding operations are reversed to mimic the processes of the decoder, and to account for at least some losses and quirks of the transform and quantisation processes. To this end, the first set of residuals are processed by a decoding pipeline comprising an inverse quantisation block 720-1 i and an inverse transform block 710-1 i. The quantised first set of residuals are inversely quantised at inverse quantisation block 720-1 i and are inversely transformed at inverse transform block 710-1 i in the encoding system 700 to regenerate a decoder-side version of the first set of residuals. The decoded base stream from decoder 720D is then combined with the decoder-side version of the first set of residuals (i.e., a summing operation 710-C is performed on the decoded base stream and the decoder-side version of the first set of residuals). Summing operation 710-C generates a reconstruction of the down-sampled version of the input video as would be generated in all likelihood at the decoder - i.e. a reconstructed base codec video). The reconstructed base codec video is then up-sampled by up-sampler 705U. Processing in this example is typically performed on a frame-by-frame basis. Each colour component of a frame may be processed as shown in parallel or in series. The up-sampled signal (i.e., reference signal or frame) is then compared to the input signal 701 (i.e., desired signal or frame) to create the further set of residuals (i.e., a difference operation is applied by the residual generator 700-S to the up-sampled re-created frame to generate a further set of residuals). The further set of residuals are then processed via an encoding pipeline that mirrors that used for the first set of residuals to become an encoded enhancement layer, sub-layer 2 stream (i.e., an encoding operation is then applied to the further set of residuals to generate the encoded further enhancement stream). In particular, the further set of residuals are transformed (i.e., a transform operation 710-0 is performed on the further set of residuals to generate a further transformed set of residuals). The transformed residuals are then quantised, and entropy encoded in the manner described above in relation to the first set of residuals (i.e., a quantisation operation 720-0 is applied to the transformed set of residuals to generate a further set of quantised residuals; and, an entropy encoding operation 730-0 is applied to the quantised further set of residuals to generate the encoded enhancement layer, sub-layer 2 stream containing the further level of enhancement information). The quantisation operation 720-0 may use the quantisation parameters generated by the methods and apparatus described above. In certain cases, the operations may be controlled, e.g. such that, only the quantisation step 720-0 may be performed. Entropy encoding may optionally be used in addition. Preferably, the entropy encoding operation may be a Huffmann encoding operation or a runlength encoding (RLE) operation, or both (e.g., RLE then Huffmann encoding). The transformation applied at both blocks 710-1 and 710-0 may be a Hadamard transformation that is applied to 2x2 or 4x4 blocks of residuals. The encoding operation in Figure 7 does not result in dependencies between local blocks of the input signal (e.g., in comparison with many known coding schemes that apply inter or intra prediction to macroblocks and thus introduce macroblock dependencies). Hence, the operations shown in Figure 7 may be performed in parallel on 4x4 or 2x2 blocks, which greatly increases encoding efficiency on multicore central processing units (CPUs) or graphical processing units (GPUs). As illustrated in Figure 7, the output of the spatially scalable encoding process is one or more enhancement streams for an enhancement layer which preferably comprises a first level of enhancement and a further level of enhancement. This is then combinable (e.g., via multiplexing or otherwise) with a base stream at a base level, e.g. into a MPEG2 transport stream or as multiple tracks within another digital container. The first level of enhancement (sub-layer 1) may be considered to enable a corrected video at a base level, that is, for example to correct for encoder quirks. The second level of enhancement (sub layer 2) may be considered to be a further level of enhancement that is usable to convert the corrected video to the original input video or a close approximation thereto. For example, the second level of enhancement may add fine detail that is lost during the downsampling and / or help correct from errors that are introduced by one or more of the transform operation 710-1 and the quantisation operation 720-1. Figure 8 shows a corresponding example decoding system 800 for the example spatially scalable coding scheme. In Figure 8, the encoded base stream is decoded at base decoder 820 in order to produce a base reconstruction of the input signal 701. This base reconstruction may be used in practice to provide a viewable rendition of the signal 701 at the lower quality level. However, the primary purpose of this base reconstruction signal is to provide a base for a higher quality rendition of the input signal 701. To this end, the decoded base stream is provided for enhancement layer, sub-layer 1 processing (i.e., sub-layer 1 decoding). Sub-layer 1 processing in Figure 8 comprises an entropy decoding process 830-1, an inverse quantisation process 820-1, and an inverse transform process 810-1. Optionally, only one or more of these steps may be performed depending on the operations carried out at corresponding block 700-1 at the encoder. By performing these corresponding steps, a decoded enhancement layer, sub-layer 1 stream comprising the first set of residuals is made available at the decoding system 800. The first set of residuals is combined with the decoded base stream from base decoder 820 (i.e., a summing operation 810-C is performed on a frame of the decoded base stream and a frame of the decoded first set of residuals to generate a reconstruction of the down-sampled version of the input video - i.e. the reconstructed base codec video). A frame of the reconstructed base codec video is then up-sampled by up-sampler 805U. Additionally, and optionally in parallel, the encoded enhancement layer, sub-layer 2 stream is processed to produce a decoded further set of residuals. Similar to sub-layer 1 processing, enhancement layer, sub-layer 2 processing comprises an entropy decoding process 830-0, an inverse quantisation process 820-0 and an inverse transform process 810-0. Of course, these operations will correspond to those performed at block 700-0 in encoding system 700, and one or more of these steps may be omitted as necessary. Block 800-0 produces a decoded enhancement layer, sub-layer 2 stream comprising the further set of residuals, and these are summed at operation 800-C with the output from the up-sampler 805U in order to create an enhancement layer, sub-layer 2 reconstruction of the input signal 701, which may be provided as the output of the decoding system 800. Thus, as illustrated in Figure 7 and 8, the output of the decoding process may comprise up to three outputs: a base reconstruction, a corrected lower resolution signal and an original signal reconstruction for the multi-layer coding scheme at a higher resolution. In general, examples described herein operate within encoding and decoding pipelines that comprises at least a transform operation. The transform operation may comprise the DCT or a variation of the DCT, a Fast Fourier Transform (FFT), or, in preferred examples, a Hadamard transform as implemented by LCEVC. The transform operation may be applied on a block-by-block basis. For example, an input signal may be segmented into a number of different consecutive signal portions or blocks and the transform operation may comprise a matrix multiplication (i.e., linear transformation) that is applied to data from each of these blocks (e.g., as represented by a 1D vector). In this description and in the art, a transform operation may be said to result in a set of values for a predefined number of data elements, e.g. representing positions in a resultant vector following the transformation. These data elements are known as transformed coefficients (or sometimes simply “coefficients”). As described herein, where the enhancement data comprises residual data, a reconstructed set of coefficient bits may comprise transformed residual data, and a decoding method may further comprise instructing a combination of residual data obtained from the further decoding of the reconstructed set of coefficient bits with a reconstruction of the input signal generated from a representation of the input signal at a lower level of quality to generate a reconstruction of the input signal at a first level of quality. The representation of the input signal at a lower level of quality may be a decoded base signal and the decoded base signal may be optionally upscaled before being combined with residual data obtained from the further decoding of the reconstructed set of coefficient bits, the residual data being at a first level of quality (e.g., a first resolution). Decoding may further comprise receiving and decoding residual data associated with a second sub layer, e.g. obtaining an output of the inverse transformation and inverse quantisation component, and combining it with data derived from the aforementioned reconstruction of the input signal at the first level of quality. This data may comprise data derived from an upscaled version of the reconstruction of the input signal at the first level of quality, i.e. an upscaling to the second level of quality. Further details and examples of a two sub-layer enhancement encoding and decoding system may be obtained from published LCEVC documentation. Although examples have been described with reference to a tier-based hierarchical coding scheme in the form of LCEVC, the methods described herein may also be applied to other tier-based hierarchical coding scheme, such as VC-6: SMPTE VC-6 ST-2117 as described in PCT / GB2018 / 053552 and / or the associated published standard document. Certain methods and encoder components as described herein may be performed by instructions that are stored upon a non-transitory computer readable medium. The non-transitory computer readable medium stores code comprising instructions that, if executed by one or more computers, would cause the computer to perform steps of methods or execute operations of encoder components as described herein. The non-transitory computer readable medium may comprise one or more of a rotating magnetic disk, a rotating optical disk, a flash random access memory (RAM) chip, and other mechanically moving or solid-state storage media. Some examples may be implemented as: physical devices such as semiconductor chips; hardware description language representations of the logical or functional behaviour of such devices; and one or more non-transitory computer readable media arranged to store such hardware description language representations. Descriptions herein reciting principles, aspects, and embodiments encompass both structural and functional equivalents thereof. Patent and non-patent documents that are referenced herein are deemed to be incorporated by reference into the present document. Certain examples have been described herein and it will be noted that different combinations of different components from different examples may be possible. Salient features are presented to better explain examples; however, it is clear that certain features may be added, modified and / or omitted without modifying the 5 functional aspects of these examples as described. Elements described herein as “coupled” or “communicatively coupled” have an effectual relationship realizable by a direct connection or indirect connection, which uses one or more other intervening elements. Examples described herein as “communicating” or “in communication with” another device, module, or elements include any form of 10 communication or link. Furthermore, equivalents and modifications not described above may also be employed without departing from the scope of the invention, which is defined in the accompanying claims.
Claims
1. A method for calibrating a computing of encoding parameters for encoding an input video using a multi-layer coding scheme, the method comprising:receiving information pertaining to an encoding of a video using a first type of base encoder; andupdating, based on the received information, at least one of:a parameter mapping for a rate control algorithm, wherein the parameter mapping is adapted to map between a parameter associated with the first type of base encoder and a parameter associated with a second type of base encoder different to the first type of base encoder; anda function comprised in the rate control algorithm,wherein the updating is so as to enable the rate control algorithm to compute encoding parameters calibrated to the first type of base encoder for performing a multi-layer encoding of the input video.
2. The method according to claim 1, wherein the received information pertains to an encoding of a test video using the first type of base encoder.
3. The method according to claim 1 or claim 2, wherein the received information pertains to encodings of a plurality of videos using the first type of base encoder.
4. The method according to any preceding claim, wherein the received information pertains to a plurality of encodings at different levels of quality using the first type of base encoder.
5. The method according to any preceding claim, wherein the received information pertaining to an encoding of a video using a first type of base encoder comprises frame level information, the frame level information preferably comprising, for each frame of the video, at least one of a quantisation parameter, a frame type, a frame size, temporal information, and a picture order count.
6. The method according to claim 5, wherein the received information pertaining to an encoding of a video using a first type of base encoder comprises, for each frame of the video, a frame type associated with the first type of base encoder, and the method further comprises adjusting a mapping between a frame type associated with the second type of base encoder and a frame type associated with the first type of base encoder based on the frame types indicated in the received information.
7. The method according to claim 6, wherein the received information pertaining to an encoding of a video using a first type of base encoder further comprises, for each frame of the video, at least one of a frame size and a quantization parameter associated with the first type of base encoder, and wherein the adjusting a mapping between a frame type associated with the second type of base encoder and a frame type associated with the first type of base encoder is further based on at least one of the frame sizes and quantization parameters indicated in the received information.
8. The method according to any preceding claim, wherein the parameter mapping is adapted map a parameter between a value associated with the first type of base encoder and an equivalent value associated with the second type of base encoder.
9. The method according to any preceding claim, wherein the parameter mapping is adapted to map a first quantisation parameter associated with the first type of base encoder to a second quantisation parameter associated with the second type of base encoder such that a perceptual quality metric of an encoding of the input video with the first type of base encoder using the first quantisation parameter is substantially the same as a perceptual quality metric of an encoding of the input video with the second type of base encoder using the second quantisation parameter, the perceptual quality metric preferably comprising at least one of a peak signal-to-noise ratio (PSNR) and video multimethod assessment fusion (VMAF) metrics.
10. The method according to any preceding claim, wherein the parameter mapping comprises a plurality of parameter mapping functions, each parameter mapping function associated with one or more of the frame types: Intra -1 - frame, a Predicted - P - frame, Bidirectional - B - frame, and a Bidirectional reference -B-ref - frame.
11. The method according to any preceding claim, wherein the parameter mapping is adapted to map a quality factor associated with the second type of base encoder to a quality factor associated with the first type of base encoder.
12. The method according to claim 11, wherein the parameter mapping is adapted to map a constant rate factor associated with the second type of base encoder to a target base quality associated with the first type of base encoder such that a bit rate of an encoding of the input video with the first type of base encoder at the target base quality is substantially the same as a bit rate of an encoding of the input video with the second type of base encoder using the constant rate factor.
13. The method according to any preceding claim, wherein the function comprised in the rate control algorithm comprises a function configured to set a lower bound of a quantisation parameter associated with the first type of base encoder.
14. The method according to any preceding claim, wherein the updating a function comprised in the rate control algorithm comprises sending an identifier to a rate controller indicating how the function comprised in the rate control algorithm is to be updated.
15. The method according to any preceding claim, wherein the updating a function comprised in the rate control algorithm comprises adjusting a mapping between a quality factor associated with the second type of base encoder and a quantisation parameter associated with the second type of base encoder.
16. The method according to any preceding claim, wherein the updating a function comprised in the rate control algorithm comprises adjusting a modulationof a quality factor associated with the second type of base encoder, the modulation performed for each frame of the input video based on at least one of a frame type and a complexity of the frame.
17. The method according to any preceding claim, wherein the updating a function comprised in the rate control algorithm comprises adjusting a bit rate estimation function.
18. The method according to any preceding claim, wherein the updating a function comprised in the rate control algorithm is so as to adjust a proportion of a size of the multi-layer encoding of the input video attributable to a base encoding and enhancement encoding respectively.
19. The method according to any preceding claim, wherein the updating a function comprised in the rate control algorithm comprises modifying a value of a coefficient used in a function comprised in the rate control algorithm.
20. The method according to any preceding claim, further comprising receiving information pertaining to an encoding of the video using an enhancement encoder, and wherein the updating a function comprised in the rate control algorithm is further based on the information pertaining to an encoding of the video using the enhancement encoder.
21. The method according to any preceding claim, wherein the multi-layer encoding comprises a base encoding and an enhancement encoding, the enhancement encoding comprising a plurality of sublayers having different levels of quality.
22. The method according to any preceding claim, further comprising applying the rate control algorithm to the input video to compute calibrated encoding parameters.
23. An apparatus configured to perform the method for calibrating a computing of encoding parameters according to any one of claims 1 to 22.
24. An enhancement encoder configured to perform the method of claim 22 and encode the input video according to the computed encoding parameters.
25. A computer program comprising instructions which, when the program is executed by a computer, cause the computer to carry out the method of any one 5 of claims 1 to 22.