On the derivation of the clipping range for linear prediction
By deriving a clipping range using statistical measures on reference samples and adjusting with scaling parameters, the solution addresses the issue of prediction samples falling outside valid ranges, improving video codec performance.
Patent Information
- Application Number
- PCT/EP2024/083757
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-18
- Filing Date
- 2024-11-27
- Publication Date
- 2025-07-24
AI Technical Summary
Existing video codecs face issues with prediction samples falling outside proper value ranges due to extrapolation-based filters, particularly in recursive prediction processes, leading to poor performance.
Derive a clipping range for prediction blocks using reference samples, applying statistical measures like minimum, maximum, mean, or median of reconstructed samples, and adjust with scaling parameters to restrict the output of linear filters.
Improves prediction accuracy by ensuring prediction samples stay within valid ranges, enhancing overall video coding efficiency.
Smart Images

Figure EP2024083757_24072025_PF_FP_ABST
Abstract
Description
ON THE DERIVATION OF THE CLIPPING RANGE FOR LINEAR PREDICTIONTECHNICAL FIELD:
[0001] The teachings in accordance with the exemplary embodiments of this invention relate generally to deriving a clipping range for the prediction block using the reference samples from which the extrapolation-based (or recursive) linear predictor was derived from and, more specifically, relate to deriving a clipping range for the prediction block using the reference samples from which the extrapolation-based (or recursive) linear predictor was derived from, wherein the clipping range can then be used to restrict the output of the linear filter when generating the prediction samples.BACKGROUND:
[0002] This section is intended to provide a background or context to the invention that is recited in the claims. The description herein may include concepts that could be pursued, but are not necessarily ones that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, what is described in this section is not prior art to the description and claims in this application and is not admitted to be prior art by inclusion in this section.
[0003] Certain abbreviations that may be found in the description and / or in the Figures are herewith defined as follows:AVC: Advanced Video Coding (ITU-T H.264 video coding standard)BCW: Bi-prediction with CU-level weightCAB AC: Context Adaptive Binary Arithmetic CoderCCRM: Cross-Component Residual Model / Cross-Component ReconstructionCUP: Combined Inter and Intra PredictionDCT: Discrete Cosine TransformDST: Discrete Sine TransformECM: Enhanced Compression Model (IVET’s exploratory video codec)HEVC: High Efficiency Video Coding (ITU-T H.265 video coding standard)LIC: Local Illumination Compensation ModelRGB: Red, Green, BlueVVC: Versatile Video Coding (ITU-T H.266 video coding standard)WP: Weighted PredictionYUV / YCbCr: Color model based on one luminance and two chrominance / color difference channels (typically used in many video coding applications).
[0004] A video codec consists of an encoder that transforms the input video into a compressed representation suited for storage / transmission and a decoder that can decompress the compressed video representation back into a viewable form. Typically, encoder discards some information in the original video sequence to be able to represent the video in a more compact form (that is, at lower bitrate).
[0005] Typical video codecs, such as H.265 / HEVC and H.266 / VVC standards split images into blocks of samples which are predicted in different ways from reconstructed samples of adjacent blocks. Such prediction processes typically extrapolate the samples of adjacent blocks to fill the sample block to be predicted with values generated with a determined filtering process. The process is typically iterative relying on the sample values of those adjacent blocks allowing any of the sample in the prediction block to be calculated independently from others.
[0006] In typical video codecs the prediction residual after motion compensation or intra prediction is first transformed with a transform kernel (like DCT) and then coded. The reason for this is that often there still exists some correlation among the residual and transform can in many cases help reduce this correlation and provide more efficient coding
[0007] The use of filters such as extrapolation-based filters for such motion compensation or intra prediction can potentially lead to prediction samples that do not fall in proper value range. This is especially true for recursive prediction filters which feed previous outputs as input when generating future prediction samples. As more and more samples begin to deviate from the proper value range, the output of the filter starts to rapidly differ from the neighboring samples leading to poor prediction performance
[0008] Example embodiments of this invention proposes method(s) to address at least these issues and improved operations for such operations.SUMMARY:
[0009] This section contains examples of possible implementations and is not meant to be limiting.
[0010] In another example aspect of the invention, there is an apparatus, such as a user equipment side apparatus, comprising: at least one processor; and at least one non-transitory memory storing instructions, that when executed by the at least one processor, cause the apparatus at least to: determine a block of samples to be predicted, determine a set of reference samples consisting of at least one reconstructed sample, wherein the block of samples comprise filter coefficients determined using the at least one reconstructed sample, and wherein a range of the block of samples is scaled with at least one function using at least one scaling parameter; and clip a value of at least one sample of the block of samples against the range.
[0011] In still another example aspect of the invention, there is a method, comprising: determining a block of samples to be predicted, determining a set of reference samples consisting of at least one reconstructed sample, wherein the block of samples comprise filter coefficients determined using the at least one reconstructed sample, and wherein a range of the block of samples is scaled with at least one function using at least one scaling parameter; and clipping a value of at least one sample of the block of samples against the range.
[0012] A further example embodiment is an apparatus and a method comprising the apparatus and the method of the previous paragraphs, wherein the set of reference samples are determined as a set of reconstructed samples S from a neighborhood of the block to be predicted, wherein the block of samples are predicted using a filter: p(x,y) = Clip (Silo1Sj(x,y)ci , min, max), wherein p(x, y) is a predicted sample at location (x, y), where Ci are filter coefficients determined using the set of reference samples determined as the set of reconstructed samples S, and wherein Si(x,y) are the input samples to the filter when predicting p(x, y), wherein the range has a minimum and a maximum value based on statistical analysisof the set of reference samples, wherein there is applying at least one statistical measure on at least one reconstructed sample to determine at least one range used for clipping at least one prediction sample, wherein there is defining a statistical measure as one of a linear or nonlinear function of the set of reconstructed samples S, wherein the statistical measures comprises: a minimum of the set of reconstructed samples S as a linear function min(S) yielding the minimum value of S, a maximum of the set of reconstructed samples S as a linear function max(S) yielding the maximum value of S, a mean of the set of reconstructed samples S as a linear function mean(S) yielding the mean value of S, or a median of the set of reconstructed samples S is nonlinear function med(S) yielding the median value of S, wherein there is scaling at least one value of the range using at least one scaling parameter, wherein there is using a linear or nonlinear function applied on the set of reconstructed samples S to derive a statistical measure of the set of S, wherein there is using an upper and lower scaling parameter defined mathematically as real valued scaling terms to adjust a clipping range, wherein there is determining a range based on at least one function of the set of the reference samples, wherein the clipping range is for a prediction block, wherein a set of reference samples are used to derive at least one of an extrapolation-based or recursive linear predictor, and wherein the clipping range is used to restrict an output of a linear filter , and wherein the clipping range is used to restrict an output of a linear filter when generating the set of reference samples, wherein there is identifying the value of the at least one scaling parameter using the set of reference samples or the prediction block, and / or wherein there is representing at least one scaling parameter using integer precision with the fractional part having a pre-determined precision.
[0013] A non-transitory computer-readable medium storing program code, the program code executed by at least one processor to perform at least the method as described in the paragraphs above.
[0014] In yet another example aspect of the invention, there is an apparatus comprising: means for determining a block of samples to be predicted; determining a set of reference samples consisting of at least one reconstructed sample; means for determining a range based on at least one function of the set of the reference samples, wherein the range is scaled with the at least one function comprises means for using at least one scaling parameter; and means for clipping a value of a predicted at least one sample of the block against the range.
[0015] In accordance with the example embodiments as described in the paragraph above, at least the means for determining, using, and clipping comprises a network interface, and computer program code stored on a computer-readable medium and executed by at least one processor.
[0016] A communication system comprising the network side apparatus and the user equipment side apparatus performing operations as described above.BRIEF DESCRIPTION OF THE DRAWINGS:
[0017] The above and other aspects, features, and benefits of various embodiments of the present disclosure will become more fully apparent from the following detailed description with reference to the accompanying drawings, in which like reference signs are used to designate like or equivalent elements. The drawings are illustrated for facilitating better understanding of the embodiments of the disclosure and are not necessarily drawn to scale, in which:
[0018] FIG. 1 shows a block diagram of a video encoder (prior art);
[0019] FIG. 2 shows a block diagram of a video decoder (prior art);
[0020] FIG. 3A shows a filter form to predict block of samples in accordance with example embodiments of the invention;
[0021] FIG. 3B shows C-style pseudocode defining a function Clip(x,min,max);
[0022] FIG. 3C shows an integer version of a clipping range;
[0023] FIG. 4 shows a high level block diagram of various devices used in carrying out various aspects of the invention; and
[0024] FIG. 5 shows a method in accordance with example embodiments of the invention which may be performed by an apparatus.DETAILED DESCRIPTION:
[0025] In example embodiments of this invention there is proposed at least a method and apparatus for deriving a clipping range for the prediction block using the reference samples from which the extrapolation-based (or recursive) linear predictor was derived from, wherein the clipping range can then be used to restrict the output of the linear filter when generating the prediction samples.
[0026] Example embodiments of the invention relate to coding and decoding of digital video material.
[0027] As similarly stated above, a video codec consists of an encoder that transforms the input video into a compressed representation suited for storage / transmission and a decoder that can decompress the compressed video representation back into a viewable form. Typically, encoder discards some information in the original video sequence to be able to represent the video in a more compact form (that is, at lower bitrate).
[0028] Typical hybrid video codecs, such as H.264 / AVC, H.265 / HEVC and H.266 / VVC, encode the video information in two phases. Firstly, pixel values in a certain picture area (or “block”) are predicted for example by motion compensation means (finding and indicating an area in one of the previously coded pictures that corresponds closely to the block being coded) or by spatial means (using the pixel values around the block to be coded in a specified manner). Secondly the prediction error, i.e. the difference between the predicted block of pixels and the original block of pixels, is coded. This is typically done by transforming the difference in pixel values using a specified transform (e.g., Discrete Cosine Transform (DCT) or a variant of it), quantizing the resulting transform coefficients and entropy coding the quantized coefficients. By varying the fidelity of the quantization process, encoder can control the balance between the accuracy of the pixel representation (picture quality) and size of the resulting coded video representation (file size or transmission bitrate). The encoding process is illustrated in FIG. 1.
[0029] FIG. 1 shows a block diagram of a video encoder (prior art). In FIG. 1 the values include: U Image to be encoded; P’n: Predicted representation of an image block; Dn: Prediction error signal; D’ : Reconstructed prediction error signal; I’ : Preliminary reconstructed image; and R’n: Final reconstructed image. These values of FIG. 1 may be integers.
[0030] In some video codecs, such as H.265 / HEVC and H.266 / VVC, the video pictures are divided into coding units (CU) covering the area of the picture. A CU consists of one or more prediction units (PU) defining the prediction process for the samples within the CU and one or more transform units (TU) defining the prediction error coding process for the samples in the said CU. Typically, a CU consists of a rectangular block of samples with a size selectable from a predefined set of possible CU sizes. A CU with the maximum allowed size is typically named as LCU (largest coding unit) or CTU (coding tree unit) and the video picture is divided into non-overlapping CTUs. A CTU can be further split into a combination of smaller CUs, e.g. by recursively splitting the CTU and resultant CUs. Each resulting CU typically has at least one PU and at least one TU associated with it. Each PU and TU can be further split into smaller PUs and TUs to increase granularity of the prediction and prediction error coding processes, respectively. Each PU has prediction information associated with it defining what kind of a prediction is to be applied for the pixels within thatPU (e.g. motion vector information for inter predicted PUs and intra prediction directionality information for intra predicted PUs). Similarly, each TU is associated with information describing the prediction error decoding process for the samples within the TU (including e.g. DCT coefficient information). It is typically signaled at CU level whether prediction error coding is applied or not for each CU. In the case there is no prediction error residual associated with the CU, it can be considered there are no TUs for the said CU. The division of the image into CUs, and division of CUs into PUs and TUs is typically signaled in the bitstream allowing the decoder to reproduce the intended structure of these units.
[0031] The decoder reconstructs the output video by applying prediction means similar to the encoder to form a predicted representation of the pixel blocks (using the motion or spatial information created by the encoder and stored in the compressed representation) and prediction error decoding (inverse operation of the prediction error coding recovering the quantizedprediction error signal in spatial pixel domain). After applying prediction and prediction error decoding means the decoder sums up the prediction and prediction error signals (pixel values) to form the output video frame. The decoder (and encoder) can also apply additional filtering means to improve the quality of the output video before passing it for display and / or storing it as prediction reference for the forthcoming frames in the video sequence. The decoding process is illustrated in FIG. 2.
[0032] FIG. 2 shows a block diagram of a video decoder (prior art). In FIG. 2 the values include: P’n: Predicted representation of an image block; D’n: Reconstructed prediction error signal; Fn: Preliminary reconstructed image; R’n: Final reconstructed image; T’1: Inverse transform; Q’1: Inverse quantization; E’1: Entropy decoding; RFM: Reference frame memory; P: Prediction (either inter or intra); and F: Filtering. These values of FIG. 2 may be integers.
[0033] Instead, or in addition to approaches utilizing sample value prediction and transform coding for indicating the coded sample values, a color palette based coding can be used. Palette based coding refers to a family of approaches for which a palette, i.e. a set of colors and associated indexes, is defined and the value for each sample within a coding unit is expressed by indicating its index in the palette. Palette based coding can typically achieve good coding efficiency in coding units with a relatively small number of colors (such as image areas which are representing computer screen content, like text or simple graphics). In order to improve the coding efficiency of palette coding different kinds of palette index prediction approaches can be utilized, or the palette indexes can be run-length coded to be able to represent larger homogenous image areas efficiently. Also, in the case the CU contains sample values that are not recurring within the CU, escape coding can be utilized. Escape coded samples are transmitted without referring to any of the palette indexes. Instead, their values are indicated individually for each escape coded sample.
[0034] In typical video codecs the motion information is indicated with motion vectors associated with each motion compensated image block. Each of these motion vectors represents the displacement of the image block in the picture to be coded (in the encoder side) or decoded (in the decoder side) and the prediction source block in one of the previously coded or decoded pictures. To represent motion vectors efficiently those are typically coded differentially with respect to block specific predicted motion vectors. In typical video codecs the predicted motionvectors are created in a predefined way, for example calculating the median of the encoded or decoded motion vectors of the adjacent blocks. Another way to create motion vector predictions is to generate a list of candidate predictions from adjacent blocks and / or co-located blocks in temporal reference pictures and signaling the chosen candidate as the motion vector predictor. In addition to predicting the motion vector values, the reference index of previously coded / decoded picture can be predicted. The reference index is typically predicted from adjacent blocks and / or or co-located blocks in temporal reference picture. Moreover, typical high efficiency video codecs employ an additional motion information coding / decoding mechanism, often called merging or merge mode, where all the motion field information, which includes motion vector and corresponding reference picture index for each available reference picture list, is predicted and used without any modification / correction. Similarly, predicting the motion field information is carried out using the motion field information of adjacent blocks and / or co-located blocks in temporal reference pictures and the used motion field information is signaled among a list of motion field candidate list filled with motion field information of available adjacent / co-located blocks.
[0035] Typically, video codecs support motion compensated prediction from at least one source image (uni-prediction) and two sources (bi-prediction). In the case of uni-prediction a single motion vector is applied whereas in the case of bi-prediction two motion vectors are determined and the motion compensated predictions from two sources are combined to create the final sample prediction. In the case of weighted prediction the relative weights of the two predictions can be adjusted, or a signaled offset can be added to the prediction signal.
[0036] In addition to applying motion compensation for inter picture prediction, similar approach can be applied to intra picture prediction. In this case the displacement vector indicates where from the same picture a block of samples can be copied to form a prediction of the block to be coded or decoded. This kind of intra block copying (IBC) methods can improve the coding efficiency substantially in presence of repeating structures within the frame - such as text or other graphics.
[0037] As similarly stated above, in typical video codecs the prediction residual after motion compensation or intra prediction is first transformed with a transform kernel (like DCT) and then coded. The reason for this is that often there still exists some correlation among theresidual and transform can in many cases help reduce this correlation and provide more efficient coding.
[0038] Typical video encoders utilize Lagrangian cost functions to find optimal coding modes, e.g. the desired Macroblock mode and associated motion vectors. This kind of cost function uses a weighting factor to tie together the (exact or estimated) image distortion due to lossy coding methods and the (exact or estimated) amount of information that is required to represent the pixel values in an image area:C = D + R (Eq. 1)
[0039] Where C is the Lagrangian cost to be minimized, D is the image distortion (e.g. Mean Squared Error) with the mode and motion vectors considered, and R the number of bits needed to represent the required data to reconstruct the image block in the decoder (including the amount of data to represent the candidate motion vectors).
[0040] Scalable video coding refers to coding structure where one bitstream can contain multiple representations of the content at different bitrates, resolutions or frame rates. In these cases, the receiver can extract the desired representation depending on its characteristics (e.g. resolution that matches best the display device). Alternatively, a server or a network element can extract the portions of the bitstream to be transmitted to the receiver depending on e.g. the network characteristics or processing capabilities of the receiver. A scalable bitstream typically consists of a “base layer” providing the lowest quality video available and one or more enhancement layers that enhance the video quality when received and decoded together with the lower layers. To improve coding efficiency for the enhancement layers, the coded representation of that layer typically depends on the lower layers. E.g. the motion and mode information of the enhancement layer can be predicted from lower layers. Similarly, the pixel data of the lower layers can be used to create prediction for the enhancement layer.
[0041] A scalable video codec for quality scalability (also known as Signal-to-Noise or SNR) and / or spatial scalability may be implemented as follows. For a base layer, a conventional non-scalable video encoder and decoder is used. The reconstructed / decodedpictures of the base layer are included in the reference picture buffer for an enhancement layer. In H.264 / AVC, H.265 / HEVC, and similar codecs using reference picture list(s) for inter prediction, the base layer decoded pictures may be inserted into a reference picture list(s) for coding / decoding of an enhancement layer picture similarly to the decoded reference pictures of the enhancement layer. Consequently, the encoder may choose a base-layer reference picture as inter prediction reference and indicate its use typically with a reference picture index in the coded bitstream. The decoder decodes from the bitstream, for example from a reference picture index, that a base-layer picture is used as inter prediction reference for the enhancement layer. When a decoded base-layer picture is used as prediction reference for an enhancement layer, it is referred to as an inter-layer reference picture.
[0042] In addition to quality scalability, examples of other scalability modes include:• Spatial scalability: Enhancement layer pictures are coded at a higher resolution than the base layer pictures,• Bit-depth scalability: Enhancement layer pictures are coded at higher bit-depth (e.g. 10 or 12 bits) than base layer pictures (e.g. 8 bits),• Chroma format scalability: Enhancement layer pictures provide higher fidelity in chroma (e.g. coded in 4:4:4 chroma format) than base layer pictures (e.g. 4:2:0 format).
[0043] In all of the above scalability cases, base layer information could be used to code enhancement layer to minimize the additional bitrate overhead.
[0044] Scalability can be enabled in two basic ways. Either by introducing new coding modes for performing prediction of pixel values or syntax from lower layers of the scalable representation or by placing the lower layer pictures to the reference picture buffer (decoded picture buffer, DPB) of the higher layer. The first approach is more flexible and thus can provide better coding efficiency in most cases. However, the second, reference frame based scalability, approach can be implemented very efficiently with minimal changes to single layer codecs while still achieving majority of the coding efficiency gains available. Essentially a reference frame based scalability codec can be implemented by utilizing the same hardware orsoftware implementation for all the layers, just taking care of the DPB management by external means.
[0045] To be able to utilize parallel processing, images can be split into independently codable and decodable image segments (slices or tiles). Slices typically refer to image segments constructed of certain number of basic coding units that are processed in default coding or decoding order, while tiles typically refer to image segments that have been defined as rectangular image regions that are processed at least to some extend as individual frames.
[0046] Typically, video is encoded in YUV or YCbCr color space as that is found to reflect some characteristics of human visual system and allows using lower quality representation for Cb and Cr channels as human perception is less sensitive to the chrominance fidelity those channels represent.
[0047] As similarly stated above, typical video codecs, such as H.265 / HEVC and H.266 / VVC standards split images into blocks of samples which are predicted in different ways from reconstructed samples of adjacent blocks. Such prediction processes typically extrapolate the samples of adjacent blocks to fill the sample block to be predicted with values generated with a determined filtering process. The process is typically iterative relying on the sample values of those adjacent blocks allowing any of the sample in the prediction block to be calculated independently from others.
[0048] Alternatively, recursive filters can be used. In the case of recursive filtering the output samples of earlier steps of the filtering process can be used as inputs to predict one or more new sample values. This kind of process is where NxM neighboring sample values are used to generate a new predicted sample value. In this case the neighboring sample values used as inputs can include both samples from the adjacent blocks of samples as well as predicted sample values for the block of samples that is being predicted. The filter is typically constructed or trained using the reconstructed samples of the neighboring blocks and then applied to predict samples of the current block.
[0049] As similarly stated above, the use of filters such as extrapolation-based filters for intra prediction can potentially lead to prediction samples that do not fall in proper valuerange. This is especially true for recursive prediction filters which feed previous outputs as input when generating future prediction samples. As more and more samples begin to deviate from the proper value range, the output of the filter starts to rapidly differ from the neighboring samples leading to poor prediction performance.
[0050] Before describing the example embodiments as disclosed herein in detail, reference is made to FIG. 4 for illustrating a simplified block diagram of various electronic devices that are suitable for use in practicing the example embodiments of this invention.
[0051] FIG. 4 shows a block diagram of one possible and non-limiting exemplary system in which the example embodiments may be practiced. In FIG. 4, a user equipment (UE) 10 is in wireless communication with a wireless network 1 or network, 1 as in FIG. 4. The wireless network 1 or network 1 as in FIG. 4 can comprise a communication network such as a mobile network e.g., the mobile network 1 or first mobile network as disclosed herein. Any reference herein to a wireless network 1 as in FIG. 4 can be seen as a reference to any wireless network as disclosed herein. Further, the wireless network 1 as in FIG. 4 can also comprises hardwired features as may be required by a communication network. A UE is a wireless, typically mobile device that can access a wireless network. The UE, for example, may be a mobile phone (or called a "cellular" phone) and / or a computer with a mobile terminal function. For example, the UE or mobile terminal may also be a portable, pocket, handheld, computer- embedded or vehicle-mounted mobile device and performs a language signaling and / or data exchange with the RAN.
[0052] The UE 10 includes one or more processors DP 10 A, one or more memories MEM 10B, and one or more transceivers TRANS 10D interconnected through one or more buses. Each of the one or more transceivers TRANS 10D includes a receiver and a transmitter. The one or more buses may be address, data, or control buses, and may include any interconnection mechanism, such as a series of lines on a motherboard or integrated circuit, fiber optics or other optical communication equipment, and the like. The one or more transceivers TRANS 10D which can be optionally connected to one or more antennas for communication to NN 12 and NN 13, respectively. The one or more memories MEM 10B include computer program code PROG 10C. The UE 10 communicates with NN 12 and / or NN 13 via a wireless link 11 or 16.
[0053] The NN 12 (NR / 5G / 6G Node B, an evolved NB, or LTE device) is a network node such as a master or secondary node base station (e.g., for NR or LTE long term evolution) that communicates with devices such as NN 13 and UE 10 of FIG. 4. The NN 12 provides access to wireless devices such as the UE 10 to the wireless network 1. The NN 12 includes one or more processors DP 12 A, one or more memories MEM 12B, and one or more transceivers TRANS 12D interconnected through one or more buses. In accordance with the example embodiments these TRANS 12D can include X2 and / or Xn interfaces for use to perform the example embodiments. Each of the one or more transceivers TRANS 12D includes a receiver and a transmitter. The one or more transceivers TRANS 12D can be optionally connected to one or more antennas for communication over at least link 11 with the UE 10. The one or more memories MEM 12B and the computer program code PROG 12C are configured to cause, with the one or more processors DP 12 A, the NN 12 to perform one or more of the operations as described herein. The NN 12 may communicate with another gNB or eNB, or a device such as the NN 13 such as via link 16 or link 18. Further, the link 11, link 16 and / or any other link may be wired or wireless or both and may implement, e.g., an X2 or Xn interface. Further the link 11 and / or link 16 and / or link 18 may be through other network devices such as, but not limited to an NCE / MME / SGW / UDM / PCF / AMF / SMF / LMF 14 device as in FIG. 4. The NN 12 may perform functionalities of an MME (Mobility Management Entity) or SGW (Serving Gateway), such as a User Plane Functionality, and / or an Access Management functionality for LTE and similar functionality for 5G or 6G.
[0054] The NN 13 can be for WiFi or Bluetooth or other wireless device associated with a mobility function device such as an AMF or SMF, further the NN 13 may comprise a NR / 5G / 6G Node B or possibly an evolved NB a base station such as a master or secondary node base station (e.g., for NR or LTE long term evolution) that communicates with devices such as the NN 12 and / or UE 10 and / or the wireless network 1. The NN 13 includes one or more processors DP 13 A, one or more memories MEM 13B, one or more network interfaces, and one or more transceivers TRANS 13D interconnected through one or more buses. In accordance with the example embodiments these network interfaces of NN 13 can include X2 and / or Xn interfaces for use to perform the example embodiments. Each of the one or more transceivers TRANS 13D includes a receiver and a transmitter that can optionally be connected to one or more antennas. The one or more memories MEM 13B include computer programcode PROG 13C. For instance, the one or more memories MEM 13B and the computer program code PROG 13C are configured to cause, with the one or more processors DP 13A, the NN 13 to perform one or more of the operations as described herein. The NN 13 may communicate with another mobility function device and / or eNB such as the NN 12 and the UE 10 or any other device using, e.g., link 11 or link 16 or link 18 or another link. The link 16 or link 18 as shown in FIG. 4 can be used for communication with the NN12. These links maybe wired or wireless or both and may implement, e.g., an X2 or Xn interface. Further, as stated above the link 11 and / or link 16 and / or link 18 may be through other network devices such as, but not limited to an NCE / MME / SGW device such as the NCE / MME / SGW / UDM / PCF / AMF / SMF / LMF 14 of FIG. 4.
[0055] The one or more buses of the device of FIG. 4 may be address, data, or control buses, and may include any interconnection mechanism, such as a series of lines on a motherboard or integrated circuit, fiber optics or other optical communication equipment, wireless channels, and the like. For example, the one or more transceivers TRANS 12D, TRANS 13D and / or TRANS 10D may be implemented as a remote radio head (RRH), with the other elements of the NN 12 being physically in a different location from the RRH, and these devices can include one or more buses that could be implemented in part as fiber optic cable to connect the other elements of the NN 12 to a RRH.
[0056] It is noted that although FIG. 4 shows a network nodes such as NN 12 and NN 13, any of these nodes may can incorporate or be incorporated into an eNodeB or eNB or gNB such as for LTE and NR, and would still be configurable to perform example embodiments.
[0057] Also it is noted that description herein indicates that “cells” perform functions, but it should be clear that the gNB that forms the cell and / or a user equipment and / or mobility management function device that will perform the functions. In addition, the cell makes up part of a gNB, and there can be multiple cells per gNB.
[0058] The wireless network 1 or any network it can represent may or may not include a NCE / MME / SGW / UDM / PCF / AMF / SMF / LMF 14 that may include (NCE) network control element functionality, MME (Mobility Management Entity) / SGW (Serving Gateway) functionality, and / or serving gateway (SGW), and / or MME (Mobility Management Entity)and / or SGW (Serving Gateway) functionality, and / or user data management functionality (UDM), and / or PCF (Policy Control) functionality, and / or Access and Mobility Management Function (AMF) functionality, and / or Session Management (SMF) functionality, and / or Location Management Function (LMF), and / or Authentication Server (AUSF) functionality and which provides connectivity with a further network, such as a telephone network and / or a data communications network (e.g., the Internet), and which is configured to perform any 5G, 6G, and / or NR operations in addition to or instead of other standard operations at the time of this application. The NCE / MME / SGW / UDM / PCF / AMF / SMF / LMF 14 is configurable to perform operations in accordance with example embodiments in any of an LTE, NR, 5G, 6G, and / or any standards based communication technologies being performed or discussed at the time of this application. In addition, it is noted that the operations in accordance with example embodiments, as performed by the NN 12 and / or NN 13, may also be performed at the NCE / MME / SGW / UDM / PCF / AMF / SMF / LMF 14.
[0059] The NCE / MME / SGW / UDM / PCF / AMF / SMF / LMF 14 includes one or more processors DP 14 A, one or more memories MEM 14B, and one or more network interfaces (N / W I / F(s)), interconnected through one or more buses coupled with the link 13 and / or link 16 and / or link 18. In accordance with the example embodiments these network interfaces can include X2 and / or Xn interfaces for use to perform the example embodiments. The one or more memories MEM 14B include computer program code PROG 14C. The one or more memories MEM14B and the computer program code PROG 14C are configured to, with the one or more processors DP 14A, cause the NCE / MME / SGW / UDM / PCF / AMF / SMF / LMF 14 to perform one or more operations which may be needed to support the operations in accordance with the example embodiments.
[0060] It is noted that that the NN 12 and / or NN 13 and / or UE 10 can be configured (e.g. based on standards implementations etc.) to perform functionality of a Location Management Function (LMF). The LMF functionality may be embodied in any of these network devices or other devices associated with these devices. In addition, an LMF such as the LMF of the MME / SGW / UDM / PCF / AMF / SMF / LMF 14 of FIG. 4, as at least described below, can be co-located with UE 10 such as to be separate from the NN 12 and / or NN 13 of FIG. 4 for performing operations in accordance with example embodiments as disclosed herein.
[0061] The wireless Network 1 may implement network virtualization, which is the process of combining hardware and software network resources and network functionality into a single, software-based administrative entity, a virtual network. Network virtualization involves platform virtualization, often combined with resource virtualization. Network virtualization is categorized as either external, combining many networks, or parts of networks, into a virtual unit, or internal, providing network-like functionality to software containers on a single system. Note that the virtualized entities that result from the network virtualization are still implemented, at some level, using hardware such as processors DP10, DP12A, DP13A, and / or DP14A and memories MEM 10B, MEM 12B, MEM 13B, and / or MEM 14B, and also such virtualized entities create technical effects.
[0062] The computer readable memories MEM 10B, MEM 12B, MEM 13B, and MEM 14B may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor based memory devices, flash memory, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory. The computer readable memories MEM 12B, MEM 13B, and MEM 14B may be means for performing storage functions. The processors DP10, DP12A, DP13A, and DP14A may be of any type suitable to the local technical environment, and may include one or more of general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and processors based on a multi-core processor architecture, as non-limiting examples. The processors DP10, DP12A, DP13A, and DP14A may be means for performing functions, such as controlling the UE 10, NN 12, NN 13, and other functions as described herein.
[0063] In general, various embodiments of any of these devices can include, but are not limited to, cellular telephones such as smart phones, tablets, personal digital assistants (PDAs) having wireless communication capabilities, portable computers having wireless communication capabilities, image capture devices such as digital cameras having wireless communication capabilities, gaming devices having wireless communication capabilities, music storage and playback appliances having wireless communication capabilities, Internet appliances permitting wireless Internet access and browsing, tablets with wireless communication capabilities, as well as portable units or terminals that incorporate combinations of such functions.
[0064] Further, the various embodiments of any of these devices can be used with a UE vehicle, a High Altitude Platform Station, or any other such type node associated with a terrestrial network or any drone type radio or a radio in aircraft or other airborne vehicle or a vessel that travels on water such as a boat.
[0065] A method operating according to the invention derives a clipping range for the prediction block using the reference samples from which the extrapolation-based (or recursive) linear predictor was derived from. The clipping range is then used to restrict the output of the linear filter when generating the prediction samples.
[0066] In accordance with example embodiments of the invention a block of samples is predicted using a filter as shown in FIG. 3 A.
[0067] In FIG. 3A, p(x, y) is the predicted sample at location (x, y), Ci are the filter coefficients determined using the reference samples determined as a set of reconstructed samples S from a neighborhood of the block to be predicted, and Si(x,y) are the input samples to the filter when predicting p(x, y). The function Clip(x,min,max) is defined in C-style pseudocode as Shown in FIG. 3B.
[0068] As shown in FIG. 3B in accordance with example embodiments of the invention a mathematical equivalence of Clip(x,min,max) is to restrict the value of x to the range [min, max], where naturally min < max. Typically, in video coding the clipping range is defined as [0,2Ab-l] where b is the bit depth of the content. However, in many cases such a wide range performs poorly, especially if the proper range can be estimated using the reference samples.
[0069] A more suitable derivation of the range [min, max] is based on statistical analysis of the reference samples. Example embodiments of the invention define a statistical measure as a linear or nonlinear function of the set S. For example, example embodiments of the invention consider the following statistical measures:1. The minimum of set S is a linear function min(S) yielding the minimum value of S.2. The maximum of set S is a linear function max(S) yielding the maximum value of S.3. The mean of set S is a linear function mean(S) yielding the mean value of S.4. The median of set S is nonlinear function med(S) yielding the median value of S.
[0070] It is noted that any other linear or nonlinear function that can be applied on the set S can also be used to derive a statistical measure of the set of S.
[0071] Also in accordance with example embodiments of the invention there may be used upper and lower scaling parameters scale min, scale max, defined mathematically as real valued scaling terms to further adjust the clipping range as [scale_min*min, scale_max*max]. The clipping range can now be defined, for example as,5. [scale_min*min(S), scale_max*max(S)];6. [scale_min*mean(S), scale_max*mean(S)];7. [scale_min*med(S), scale_max*med(S)].
[0072] In accordance with example embodiments of the invention there may also be having,8. [scale_min*min(S), scale_max*min(S)];9. [scale_min*max(S), scale_max*max(S)]
[0073] Further, in accordance with example embodiments of the invention there may also be having any other combination of the statistical functions and the scaling parameters.
[0074] In an integer-based implementation the real-valued scaling parameters can be represented with N-bit fractional part. As an example, there can be considered the integer version of item 5 above as shown in FIG. 3C.
[0075] In FIG. 3C » denotes bit shift to right. In an actual computer program, the values scale_min*2AN and scale_max*2AN can be pre-computer and stored as constant values.
[0076] In accordance with example embodiments of the invention at least one statistical measure is applied on at least one reconstructed sample to determine at least one range used for clipping at least one prediction sample
[0077] In accordance with example embodiments of the invention at least one value of the range can optionally be scaled using at least one scaling parameter.
[0078] In accordance with example embodiments of the invention the at least one scaling parameter can be represented using integer precision with the fractional part having a pre-determined precision.
[0079] In accordance with example embodiments of the invention the value of the scaling parameter can be inferred using the set of reference samples or the prediction samples.
[0080] In accordance with example embodiments of the invention there is determining a block of samples to be predicted.
[0081] In accordance with example embodiments of the invention there is determining a set of reference samples consisting of at least one reconstructed sample.
[0082] In accordance with example embodiments of the invention there is determining a range based on at least one function of the set of the reference samples.
[0083] In accordance with example embodiments of the invention there is determining there is, optionally, scaling the at least one function using at least one scaling parameter.
[0084] In accordance with example embodiments of the invention there is determining there is predicting at least one sample of the block and clip its value against the determined range.
[0085] Example embodiments of the invention can be targeted for the H.267 video coding standard for example which is expected to be widely deployed in future video / imaging services, applications and products. As a part of an open standard the feature can be recognized by generating video / image files or streams conforming to the standard (and utilizing the technique) and checking if a product is able to decode the files or streams.
[0086] FIG. 5 shows a method in accordance with example embodiments of the invention which may be performed by an apparatus.
[0087] FIG. 5 illustrates operations which may be performed by a device such as, but not limited to, a device such as a network device (e.g., the UE 10 as in FIG. 4). As shown in block 510 of FIG. 5 there is determining a block of samples to be predicted. As shown in block 520 of FIG. 5 there is determining a set of reference samples consisting of at least one reconstructed sample. As shown in block 530 of FIG. 5 wherein the block of samples comprise filter coefficients determined using the at least one reconstructed sample. As shown in block 540 of FIG. 5 wherein a range of the block of samples is scaled with at least one function using at least one scaling parameter. Then as shown in block 550 of FIG. 5 there is clipping a value of at least one sample of the block of samples against the range.
[0088] In accordance with the example embodiments as described in the paragraph above, wherein the set of reference samples are determined as a set of reconstructed samples S from a neighborhood of the block to be predicted.
[0089] In accordance with the example embodiments as described in the paragraphs above, wherein the block of samples are predicted using a filter: p(x,y) = Clip min,wherein p(x, y) is a predicted sample at location (x, y), where Ci are filter coefficients determined using the set of reference samples determined as the set of reconstructed samples S, and wherein Si(x,y) are the input samples to the filter when predicting p(x, y).
[0090] In accordance with the example embodiments as described in the paragraphs above, wherein the range has a minimum and a maximum value based on statistical analysis of the set of reference samples.
[0091] In accordance with the example embodiments as described in the paragraphs above, wherein there is applying at least one statistical measure on at least one reconstructed sample to determine at least one range used for clipping at least one prediction sample.
[0092] In accordance with the example embodiments as described in the paragraphs above, wherein there is defining a statistical measure as one of a linear or nonlinear function of the set of reconstructed samples S.
[0093] In accordance with the example embodiments as described in the paragraphs above, wherein the statistical measures comprises: a minimum of the set of reconstructed samples S as a linear function min(S) yielding the minimum value of S, a maximum of the set of reconstructed samples S as a linear function max(S) yielding the maximum value of S, a mean of the set of reconstructed samples S as a linear function mean(S) yielding the mean value of S, or a median of the set of reconstructed samples S is nonlinear function med(S) yielding the median value of S.
[0094] In accordance with the example embodiments as described in the paragraphs above, wherein there is scaling at least one value of the range using at least one scaling parameter.
[0095] In accordance with the example embodiments as described in the paragraphs above, wherein there is using a linear or nonlinear function applied on the set of reconstructed samples S to derive a statistical measure of the set of S.
[0096] In accordance with the example embodiments as described in the paragraphs above, wherein there is using an upper and lower scaling parameter defined mathematically as real valued scaling terms to adjust a clipping range.
[0097] In accordance with the example embodiments as described in the paragraphs above, wherein the clipping range is for a prediction block, wherein a set of reference samplesare used to derive at least one of an extrapolation-based or recursive linear predictor, and wherein the clipping range is used to restrict an output of a linear filter.
[0098] In accordance with the example embodiments as described in the paragraphs above, wherein there is identifying the value of the at least one scaling parameter using the set of reference samples or the prediction block.
[0099] In accordance with the example embodiments as described in the paragraphs above, wherein there is representing at least one scaling parameter using integer precision with the fractional part having a pre-determined precision.
[0100] A non-transitory computer-readable medium (MEM 10B as in FIG. 4) storing program code (PROG 10C as in FIG. 4), the program code executed by at least one processor (DP 10A as in FIG. 4) to perform the operations as at least described in the paragraphs above.
[0101] In accordance with an example embodiment of the invention as described above there is an apparatus comprising: means for determining (one or more transceivers 10D; MEM 10B; PROG 10C; and DP 10A as in FIG. 4) a block of samples to be predicted; means for determining (one or more transceivers 10D; MEM 10B; PROG 10C; and DP 10A as in FIG. 4) a set of reference samples consisting of at least one reconstructed sample; means for determining (one or more transceivers 10D; MEM 10B; PROG 10C; and DP 10A as in FIG. 4) a range based on at least one function of the set of the reference samples, wherein the range is scaled with the at least one function comprising means for using (one or more transceivers 10D; MEM 10B; PROG 10C; and DP 10A as in FIG. 4) at least one scaling parameter; and means for clipping (one or more transceivers 10D; MEM 10B; PROG 10C; and DP 10A as in FIG. 4) a value of a predicted at least one sample of the block against the range.
[0102] In the example aspect of the invention according to the paragraph above, wherein at least the means for determining, using, and clipping comprises a non-transitory computer readable medium [MEM 10B as in FIG. 4] encoded with a computer program [PROG 10C as in FIG. 4] executable by at least one processor [DP 10A as in FIG. 4],
[0103] It is noted that FIG. 5 provides a flow chart in accordance with at least some example embodiments of the invention.
[0104] Further, in accordance with example embodiments of the invention there is circuitry for performing operations in accordance with example embodiments of the invention as disclosed herein. This circuitry can include any type of circuitry including content coding circuitry, content decoding circuitry, processing circuitry, image generation circuitry, data analysis circuitry, etc.). Further, this circuitry can include discrete circuitry, applicationspecific integrated circuitry (ASIC), and / or field-programmable gate array circuitry (FPGA), etc. as well as a processor specifically configured by software to perform the respective function, or dual-core processors with software and corresponding digital signal processors, etc.). Additionally, there are provided necessary inputs to and outputs from the circuitry, the function performed by the circuitry and the interconnection (perhaps via the inputs and outputs) of the circuitry with other components that may include other circuitry in order to perform example embodiments of the invention as described herein.
[0105] In accordance with example embodiments of the invention as disclosed in this application this application, the “circuitry” provided can include at least one or more or all of the following:(a) hardware-only circuit implementations (such as implementations in only analog and / or digital circuitry);(b) combinations of hardware circuits and software, such as (as applicable):(i) a combination of analog and / or digital hardware circuit(s) with software / firmware; and(ii) any portions of hardware processor(s) with software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions, such as functions or operations in accordance with example embodiments of the invention as disclosed herein); and(c) hardware circuit(s) and or processor(s), such as a microprocessor s) or a portion of a microprocessor s), that requires software (e.g., firmware) for operation, but the software may not be present when it is not needed for operation.”
[0106] In accordance with example embodiments of the invention, there is adequate circuitry for performing at least novel operations in accordance with example embodiments of the invention as disclosed in this application, this 'circuitry' as may be used herein refers to at least the following:(a) hardware-only circuit implementations (such as implementations in only analog and / or digital circuitry); and(b) to combinations of circuits and software (and / or firmware), such as (as applicable): (i) to a combination of processor(s) or (ii) to portions of processor(s) / software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions); and(c) to circuits, such as a microprocessor s) or a portion of a microprocessor s), that require software or firmware for operation, even if the software or firmware is not physically present.
[0107] This definition of ' circuitry' applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term "circuitry" would also cover an implementation of merely a processor (or multiple processors) or portion of a processor and its (or their) accompanying software and / or firmware. The term "circuitry" would also cover, for example and if applicable to the particular claim element, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, or other network device.
[0108] In general, the various embodiments may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. For example, some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although the invention is not limited thereto. While various aspects of the invention may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware,software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
[0109] Embodiments of the inventions may be practiced in various components such as integrated circuit modules. The design of integrated circuits is by and large a highly automated process. Complex and powerful software tools are available for converting a logic level design into a semiconductor circuit design ready to be etched and formed on a semiconductor substrate.
[0110] The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments. All of the embodiments described in this Detailed Description are exemplary embodiments provided to enable persons skilled in the art to make or use the invention and not to limit the scope of the invention which is defined by the claims.
[0111] The foregoing description has provided by way of exemplary and non-limiting examples a full and informative description of the best method and apparatus presently contemplated by the inventors for carrying out the invention. However, various modifications and adaptations may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings and the appended claims. However, all such and similar modifications of the teachings of example embodiments of this invention will still fall within the scope of this invention.
[0112] It should be noted that the terms "connected," "coupled," or any variant thereof, mean any connection or coupling, either direct or indirect, between two or more elements, and may encompass the presence of one or more intermediate elements between two elements that are "connected" or "coupled" together. The coupling or connection between the elements can be physical, logical, or a combination thereof. As employed herein two elements may be considered to be "connected" or "coupled" together by the use of one or more wires, cables and / or printed electrical connections, as well as by the use of electromagnetic energy, such as electromagnetic energy having wavelengths in the radio frequency region, the microwaveregion and the optical (both visible and invisible) region, as several non-limiting and non- exhaustive examples.
[0113] Furthermore, some of the features of the preferred embodiments of this invention could be used to advantage without the corresponding use of other features. As such, the foregoing description should be considered as merely illustrative of the principles of the invention, and not in limitation thereof.
Claims
CLAIMSWhat is claimed is:
1. An apparatus, comprising: at least one processor; and at least one non-transitory memory storing instructions, that when executed by the at least one processor, cause the apparatus at least to: determine a block of samples to be predicted, determine a set of reference samples consisting of at least one reconstructed sample; determine a range of the block samples based on at least one function of the set of the reference samples; and clip a value of at least one sample of the block of samples against the range.
2. The apparatus of claim 1, wherein the range of the block of samples is scaled with at least one function using at least one scaling parameter3. The apparatus of claim 1, wherein the set of reference samples are determined as a set of reconstructed samples S from a neighborhood of the block to be predicted.
4. The apparatus of claim 3, wherein the block of samples are predicted using a filter: p(x,y) = Clip min,wherein p(x, y) is a predicted sample at location (x, y), where Ci are filter coefficients determined using the set of reference samples determined as the set of reconstructed samples5. and wherein Si(x,y) are the input samples to the filter when predicting p(x, y).
5. The apparatus of claim 1, wherein the range has a minimum and a maximum value based on statistical analysis of the set of reference samples.
6. The apparatus of claim 1, wherein the at least one non-transitory memory is storing instructions executed by the at least one processor to cause the apparatus to: apply at least one statistical measure on at least one reconstructed sample to determine at least one range used for clipping at least one prediction sample.
7. The apparatus of claim 3, wherein the at least one non-transitory memory is storing instructions executed by the at least one processor to cause the apparatus to: define a statistical measure as one of a linear or nonlinear function of the set of reconstructed samples S.
8. The apparatus of claim 7, wherein the statistical measures comprises: a minimum of the set of reconstructed samples S as a linear function min(S) yielding the minimum value of S, a maximum of the set of reconstructed samples S as a linear function max(S) yielding the maximum value of S, a mean of the set of reconstructed samples S as a linear function mean(S) yielding the mean value of S, or a median of the set of reconstructed samples S is nonlinear function med(S) yielding the median value of S.
9. The apparatus of claim 1, wherein the at least one non-transitory memory is storing instructions executed by the at least one processor to cause the apparatus to: scale at least one value of the range using at least one scaling parameter.
10. The apparatus of claim 3, wherein the at least one non-transitory memory is storing instructions executed by the at least one processor to cause the apparatus to: use a linear or nonlinear function applied on the set of reconstructed samples S to derive a statistical measure of the set of S.
11. The apparatus of claim 1, wherein the at least one non-transitory memory is storing instructions executed by the at least one processor to cause the apparatus to: use an upper and lower scaling parameter defined mathematically as real valued scaling terms to adjust a clipping range.
12. The apparatus of claim 11, wherein the clipping range is for a prediction block, wherein a set of reference samples are used to derive at least one of an extrapolation-based or recursive linear predictor, and wherein the clipping range is used to restrict an output of a linear filter.
13. The apparatus of claim 12, wherein the at least one non-transitory memory is storing instructions executed by the at least one processor to cause the apparatus to: identify the value of the at least one scaling parameter using the set of reference samples or the prediction block.
14. The apparatus of claim 12, wherein the at least one non-transitory memory is storing instructions executed by the at least one processor to cause the apparatus to: represent at least one scaling parameter using integer precision with the fractional part having a pre-determined precision.
15. A method, compri sing : determining a block of samples to be predicted, determining a set of reference samples consisting of at least one reconstructed sample; determine a range of the block samples based on at least one function of the set of the reference samples; and clipping a value of at least one sample of the block of samples against the range.
16. The method of claim 15, wherein the set of reference samples are determined as a set of reconstructed samples S from a neighborhood of the block to be predicted.
17. The method of claim 16, wherein the block of samples are predicted using a filter: p(x,y) = Clip min,wherein p(x, y) is a predicted sample at location (x, y), where Ci are filter coefficients determined using the set of reference samples determined as the set of reconstructed samples S, and wherein Si(x,y) are the input samples to the filter when predicting p(x, y).
18. The method of claim 15, wherein the range has a minimum and a maximum value based on statistical analysis of the set of reference samples.
19. The method of claim 15, comprising: applying at least one statistical measure on at least one reconstructed sample to determine at least one range used for clipping at least one prediction sample.
20. The method of claim 16, comprising: defining a statistical measure as one of a linear or nonlinear function of the set of reconstructed samples S.
21. The method of claim 20, wherein the statistical measures comprises: a minimum of the set of reconstructed samples S as a linear function min(S) yielding the minimum value of S, a maximum of the set of reconstructed samples S as a linear function max(S) yielding the maximum value of S, a mean of the set of reconstructed samples S as a linear function mean(S) yielding the mean value of S, or a median of the set of reconstructed samples S is nonlinear function med(S) yielding the median value of S.
22. The method of claim 15, comprising: scaling at least one value of the range using at least one scaling parameter.
23. The method of claim 16, comprising: using a linear or nonlinear function applied on the set of reconstructed samples S to derive a statistical measure of the set of S.
24. The method of claim 15, comprising: using an upper and lower scaling parameter defined mathematically as real valued scaling terms to adjust a clipping range.
25. The method of claim 15: wherein the range of the block of samples is scaled with at least one function using at least one scaling parameter.
26. The method of claim 25, comprising: identifying the value of the at least one scaling parameter using the set of reference samples or the prediction block.
27. The method of claim 25, comprising: representing at least one scaling parameter using integer precision with the fractional part having a pre-determined precision.
Citation Information
Patent Citations
Systems and methods for adaptively clipping sample values
US20210160507A1
Adaptive clipping in filtering
WO2016146158A1