Derivation of the truncation range for linear prediction
Patent Information
- Application Number
- CN202480085200.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-01-18
- Filing Date
- 2024-11-27
- Publication Date
- 2026-08-18
AI Technical Summary
随着越来越多的样本开始偏离适当的取值范围,滤波器的输出开始迅速与相邻样本不同,从而造成预测性能下降
Smart Images

Figure CN122603506A_ABST
Abstract
Description
Technical Field
[0001] The teachings of exemplary embodiments of the present invention generally relate to deriving the cutoff range of a prediction block using reference samples from which an extrapolation-based (or recursive) linear predictor is derived, and more specifically to deriving the cutoff range of a prediction block using reference samples from which an extrapolation-based (or recursive) linear predictor is derived, wherein the cutoff range can then be used to constrain the output of a linear filter when prediction samples are generated. Background Technology
[0002] This section is intended to provide background or context for the invention as set forth in the claims. The descriptions herein may include concepts that may be explored, but are not necessarily concepts that have been previously conceived or explored. Therefore, unless otherwise indicated herein, the content described in this section is not prior art to the specification and claims of this application, and is not acknowledged as prior art by virtue of its inclusion in this section.
[0003] Some abbreviations that may appear in the instruction manual and / or drawings are defined herein as follows: AVC: Advanced Video Coding (ITU-T H.264 video coding standard) BCW: Bidirectional prediction using CU-level weights CABAC: Context-Adaptive Binary Arithmetic Encoder CCRM: Cross-component residual model / cross-component reconstruction CIIP: Inter-frame and intra-frame combined prediction DCT: Discrete Cosine Transform DST: Discrete Sine Transform ECM: Enhanced Compression Model (JVET's Exploratory Video Codec) HEVC: High Efficiency Video Coding (ITU-T H.265 video coding standard) LIC: Local Illumination Compensation Model RGB: Red, Green, Blue VVC: Multifunctional Video Coding (ITU-T H.264 video coding standard) WP: Weighted Prediction YUV / YCbCr: A color model based on one luminance channel and two chrominance / color difference channels (typically used in many video coding applications).
[0004] A video codec consists of an encoder and a decoder. The encoder transforms the input video into a compressed representation suitable for storage / transmission, while the decoder decompresses the compressed video representation back into a viewable form. Typically, the encoder discards some information from the original video sequence in order to represent the video in a more compact form (that is, at a lower bit rate).
[0005] Typical video codecs (such as the H.265 / HEVC and H.266 / VVC standards) break down an image into sample blocks, which are predicted differently based on reconstructed samples from neighboring blocks. This prediction process typically extrapolates samples from neighboring blocks to populate the block to be predicted with values generated through a deterministic filtering process. This process is typically iterative, depending on the sample values of those neighboring blocks, allowing any sample in the predicted block to be computed independently of other samples.
[0006] In typical video codecs, the prediction residuals after motion compensation or intra-frame prediction are first transformed using a transform kernel (such as DCT) before encoding. This is because there is often still some correlation between the residuals, and the transform can help reduce this correlation and provide more efficient encoding in many cases.
[0007] Using filters such as extrapolation-based filters for motion compensation or intra-frame prediction can potentially cause predicted samples to fall outside the appropriate range of values. This is especially true for recursive prediction filters, which feed previous outputs as input when generating future predicted samples. As more and more samples begin to deviate from the appropriate range, the filter's output starts to differ rapidly from neighboring samples, resulting in a degraded prediction performance.
[0008] The various exemplary embodiments of the present invention propose one or more methods to at least solve these problems, as well as improved operations for such operations. Summary of the Invention
[0009] This section contains examples of possible implementations and does not imply any limitations.
[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 to at least: 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 includes filter coefficients determined using the at least one reconstructed sample, and wherein the range of the block of samples is scaled by at least one function using at least one scaling parameter; and truncate the values of at least one sample in the block of samples according to the range.
[0011] In another example aspect of the invention, there is a method comprising: determining a sample block to be predicted; determining a reference sample set consisting of at least one reconstructed sample, wherein the sample block includes filter coefficients determined using the at least one reconstructed sample, and wherein the range of the sample block is scaled by at least one function using at least one scaling parameter; and truncating the values of at least one sample in the sample block according to the range.
[0012] Another example embodiment is an apparatus and method that includes the preceding paragraph, wherein a reference sample set is determined as a reconstructed sample set S from the neighborhood of the block to be predicted, wherein the sample block is predicted using a filter: Where p(x, y) is the predicted sample at position (x, y), and c i These are the filter coefficients determined using a reference sample set identified as the reconstructed sample set S, and where s i(x, y) is the input sample of the filter when predicting p(x, y), where the range has a minimum and a maximum value based on a statistical analysis of a reference sample set, wherein at least one statistical measure is applied to at least one reconstructed sample to determine at least one range for truncating at least one predicted sample, wherein the statistical measure is defined as a function of a linear or nonlinear function of the reconstructed sample set S, wherein the statistical measure includes: the minimum value of the reconstructed sample set S as a linear function min(S) that produces the minimum value of S, the maximum value of the reconstructed sample set S as a linear function max(S) that produces the maximum value of S, the mean value of the reconstructed sample set S as a linear function mean(S) that produces the mean value of S, or the median value of the reconstructed sample set S as a nonlinear function med(S) that produces the median value of S, wherein at least one ablation is used. The method uses a parameter to scale at least one value of a range, wherein a statistical measure of the set S is derived using a linear or nonlinear function applied to reconstruct the sample set S, wherein an upper scaling parameter and a lower scaling parameter, mathematically defined as real-valued scaling terms, are used to adjust the cutoff range, wherein the range is determined based on at least one function of a reference sample set, wherein the cutoff range is used for a prediction block, wherein the reference sample set is used to derive at least one linear predictor among extrapolation-based linear predictors or recursive linear predictors, and wherein the cutoff range is used to constrain the output of a linear filter, and wherein the cutoff range is used to constrain the output of a linear filter when the reference sample set is generated, wherein the reference sample set or the prediction block is used to identify the value of at least one scaling parameter, and / or at least one scaling parameter is represented using integer precision, wherein the fractional part has a predetermined precision.
[0013] A non-transitory computer-readable medium storing program code implemented by at least one processor to at least perform the methods described in the preceding paragraph.
[0014] In another exemplary aspect of the invention, there is an apparatus comprising: means for determining a sample block to be predicted; determining a reference sample set consisting of at least one reconstructed sample; means for determining a range based on at least one function of the reference sample set, wherein scaling the range using the at least one function includes means for using at least one scaling parameter; and means for pruning the values of at least one predicted sample of the block according to the range.
[0015] According to the example embodiments described in the preceding paragraphs, at least the components used for determining, using, and truncation include a network interface and computer program code stored on a computer-readable medium and executed by at least one processor.
[0016] A communication system includes a network-side device and a user equipment-side device that perform the operations described above. Attached Figure Description
[0017] Referring to the accompanying drawings, the above and other aspects, features, and benefits of various embodiments of the present disclosure will become more apparent from the following detailed description, in which the same reference numerals are used to designate the same or equivalent elements. The drawings are illustrated to facilitate a better understanding of the embodiments of the present disclosure and are not necessarily drawn to scale, wherein:
[0018] Figure 1 A block diagram of a video encoder (prior art) is shown.
[0019] Figure 2 A block diagram of a video decoder (prior art) is shown.
[0020] Figure 3A A filter form for predicting sample blocks according to an exemplary embodiment of the present invention is shown;
[0021] Figure 3B The C-style pseudocode defining the function Clip(x, min, max) is shown;
[0022] Figure 3C The integer version of the truncation range is shown;
[0023] Figure 4 A high-level block diagram of various devices for implementing various aspects of the present invention is shown; and
[0024] Figure 5 An example embodiment of the method according to the invention, which can be performed by a device, is shown. Detailed Implementation
[0025] In an exemplary embodiment of the invention, at least one method and apparatus are proposed for deriving a cutoff range of a prediction block using reference samples from which an extrapolation-based (or recursive) linear predictor is derived, wherein the cutoff range can then be used to constrain the output of a linear filter when generating prediction samples.
[0026] Example embodiments of the present invention relate to the encoding and decoding of digital video materials.
[0027] As described in a similar manner above, a video codec consists of an encoder and a decoder. The encoder transforms the input video into a compressed representation suitable for storage / transmission, while the decoder decompresses the compressed video representation back into a viewable form. Typically, the encoder discards some information from the original video sequence in order to represent the video in a more compact form (that is, at a lower bit rate).
[0028] Typical hybrid video codecs (such as H.264 / AVC, H.265 / HEVC, and H.266 / VVC) encode video information in two stages. First, pixel values in a specific picture region (or “block”) are predicted, for example, by a motion compensation unit (finding and indicating a region in a previously encoded picture that closely corresponds to the block being encoded) or by a spatial unit (using pixel values around the block to be encoded in a specified manner). Second, the prediction error (i.e., the difference between the predicted pixel block and the original pixel block) is encoded. This is typically done by transforming the difference in pixel values using a specified transform (e.g., a discrete cosine transform (DCT) or a variant thereof), quantizing the resulting transform coefficients, and entropy encoding the quantized coefficients. By varying the fidelity of the quantization process, the encoder can control the balance between the accuracy of the pixel representation (picture quality) and the size (file size or transmission bit rate) of the resulting encoded video representation. The encoding process is as follows: Figure 1 As shown in the diagram.
[0029] Figure 1 A block diagram of a video encoder (prior art) is shown. Figure 1 In the middle, the values include: I n : The image to be encoded; P' n : Predicted representation of image patches; D n : Prediction error signal; D' n : Reconstruct the prediction error signal; I' n Preliminary image reconstruction; and R' n : The final reconstructed image. Figure 1 These values can be integers.
[0030] In some video codecs (such as H.265 / HEVC and H.266 / VVC), video pictures are divided into coding units (CUs) covering regions of the picture. A CU consists of one or more prediction units (PUs) defining the prediction process for samples within the CU and one or more transform units (TUs) defining the prediction error coding process for samples within the CU. Typically, a CU consists of rectangular blocks of samples whose size can be selected from a predefined set of possible CU sizes. The CU with the largest allowed size is often referred to as the LCU (Maximum Coding Unit) or CTU (Coding Tree Unit), and video pictures are divided into non-overlapping CTUs. CTUs can also be split (e.g., by recursively splitting CTUs and resulting CUs) into combinations of smaller CUs. Each resulting CU typically has at least one PU and at least one TU associated with that at least one PU. Each PU and TU can also be split into smaller PUs and TUs to increase the granularity of the prediction and prediction error coding processes, respectively. Each PU has prediction information associated with it, which defines what kind of prediction to apply to the pixels within that PU (e.g., motion vector information for PUs predicted inter-frame and intra-prediction directionality information for PUs predicted intra-frame). Similarly, each TU is associated with information describing the prediction error decoding process for samples within the TU (including, for example, DCT coefficient information). Typically, at the CU level, signals are used to indicate whether prediction error coding is applied to each CU. If there is no prediction error residual associated with a CU, it can be assumed that there is no TU for that CU. Typically, signals are used in the bitstream to indicate the partitioning of the image into CUs and the partitioning of CUs into PUs and TUs, thereby allowing the decoder to reproduce the intended structure of these units.
[0031] The decoder reconstructs the output video by applying a prediction component similar to that of the encoder, forming a predicted representation of pixel blocks using motion or spatial information created by the encoder and stored in a compressed representation, and performing prediction error decoding (the inverse operation of prediction error encoding to recover the quantized prediction error signal in the spatial pixel domain). After applying prediction and prediction error decoding, the decoder adds the prediction and prediction error signals (pixel values) to form the output video frame. The decoder (and encoder) may also apply additional filtering components to improve the quality of the output video before passing it for display and / or storing it as a prediction reference for upcoming frames in a video sequence. The decoding process is as follows: Figure 2 As shown in the diagram.
[0032] Figure 2 A block diagram of a video decoder (existing technology) is shown. Figure 2 In this context, the values include: P'n: the predicted representation of the image patch; D'n: the reconstruction prediction error signal; I'n: the preliminary reconstructed image; R'n: the final reconstructed image; T -1Inverse transformation; Q -1 Inverse vectorization; E -1 Entropy decoding; REM: Reference Frame Memory; P: Prediction (inter-frame or intra-frame); and F: Filtering. Figure 2 These values can be integers.
[0033] Conversely, in addition to methods that use sample value prediction and transform coding to indicate encoded sample values, color palette-based coding can be used. Palette-based coding refers to a family of methods where a palette (i.e., a set of color and associated indices) is defined, and the value of each sample within a coding unit is expressed by indicating its index in the palette. Palette-based coding typically achieves good coding efficiency in coding units with a relatively small number of colors (such as image regions representing computer screen content, like text or simple graphics). To improve the coding efficiency of palette coding, different kinds of palette index prediction methods can be used, or run-length encoding can be applied to the palette indices to efficiently represent larger homogeneous image regions. Furthermore, escape coding can be used when a CU contains sample values that do not repeat within the CU. Escape-coded samples are transmitted without referencing any palette index within the palette index. Instead, their values are indicated separately for each escape-coded sample.
[0034] In a typical video codec, motion information is indicated using motion vectors associated with each motion-compensated image block. Each of these motion vectors represents the displacement of an image block in the picture to be encoded (on the encoder side) or decoded (on the decoder side) and a predicted source block in one of the previously encoded or decoded pictures. To efficiently represent motion vectors, these motion vectors are typically differentially encoded with respect to block-specific predicted motion vectors. In a typical video codec, predicted motion vectors are created in a predefined manner (e.g., by calculating the median value of the encoded or decoded motion vectors of neighboring blocks). Another way to create motion vector predictions is to generate a list of candidate predictions from neighboring and / or co-occurring blocks in a temporal reference picture, and to use signaling to select candidates as motion vector predictors. In addition to predicting motion vector values, reference indices of previously encoded / decoded pictures can also be predicted. Reference indices are typically predicted based on neighboring and / or co-occurring blocks in a temporal reference picture. Furthermore, typical high-efficiency video codecs employ an additional motion information encoding / decoding mechanism, often referred to as merging or merging mode. This involves predicting and using all motion field information, including motion vectors and corresponding reference image indices for each available list of reference images, without any modification / correction. Similarly, motion field information prediction is achieved using motion field information from neighboring and / or co-located blocks in the temporal reference images, and the motion field information used is signaled in a list of motion field candidates populated with motion field information from available neighboring / co-located blocks.
[0035] Typically, video codecs support motion-compensated predictions from at least one source image (single prediction) and two source images (dual prediction). In the case of single prediction, a single motion vector is applied, while in the case of dual prediction, two motion vectors are determined and combined with the motion-compensated predictions from both sources to create the final sample prediction. In the case of weighted prediction, the relative weights of the two predictions can be adjusted, or an offset using signal notification can be added to the prediction signal.
[0036] Besides applying motion compensation to inter-frame image prediction, a similar approach can be applied to intra-frame image prediction. In this case, the displacement vector indicates where sample blocks can be copied from the same image to form the prediction of the block to be encoded or decoded. This type of intra-frame block copying (IBC) method can significantly improve coding efficiency when there are repetitive structures (such as text or other graphics) within the frame.
[0037] As stated in a similar manner above, in a typical video codec, the prediction residuals after motion compensation or intra-frame prediction are first transformed using a transform kernel (such as DCT) and then encoded. This is because some correlation often remains between the residuals, and the transform can help reduce this correlation and provide more efficient coding in many cases.
[0038] Typical video encoders utilize a Lagrange cost function to find the optimal coding pattern, such as the desired macroblock pattern and associated motion vectors. This type of cost function uses a weighting factor λ to correlate the (exact or estimated) image distortion caused by lossy coding methods with the (exact or estimated) amount of information required to represent pixel values in image regions. (Equation 1)
[0039] Where C is the Lagrangian cost to be minimized, D is the image distortion (e.g., mean square error) considering pattern and motion vectors, and R is the number of bits required to reconstruct the image patch in the decoder (including the amount of data representing candidate motion vectors).
[0040] Scalable video coding refers to a coding structure in which a bitstream can contain multiple representations of content at different bit rates, resolutions, or frame rates. In these cases, a receiver can extract the desired representation based on its characteristics (e.g., the resolution best matched to the display device). Alternatively, a server or network element can extract portions of the bitstream to be transmitted to the receiver based on the receiver's network characteristics or processing capabilities. A scalable bitstream typically consists of a "base layer" and one or more enhancement layers. The base layer provides the lowest available quality video, while the one or more enhancement layers enhance video quality when received and decoded together with the lower layers. To improve the coding efficiency of an enhancement layer, its encoded representation typically depends on the lower layers. For example, motion and pattern information of the enhancement layer can be predicted from the lower layers. Similarly, pixel data from the lower layers can be used to create predictions for the enhancement layers.
[0041] Scalable video codecs for quality scalability (also known as signal-to-noise ratio or SNR) and / or spatial scalability can be implemented as follows. For the base layer, a conventional non-scalable video encoder and decoder are used. The reconstructed / decoded image of the base layer is included in the reference image buffer for the enhancement layer. In H.264 / AVC, H.265 / HEVC, and similar codecs that use one or more lists of reference images for inter-frame prediction, similar to the decoded reference image for the enhancement layer, the decoded image of the base layer can be inserted into one or more lists of reference images used to encode / decode the enhancement layer image. Therefore, the encoder can select the base layer reference image as the inter-frame prediction reference, typically indicating its use using a reference image index in the encoded bitstream. The decoder decodes the base layer image used as the inter-frame prediction reference for the enhancement layer from the bitstream (e.g., from the reference image index). When the decoded base layer image is used as the prediction reference for the enhancement layer, this decoded base layer image is called the inter-layer reference image.
[0042] Besides quality scalability, examples of other scalability patterns include: • Spatial scalability: Enhancement layer images are encoded at a higher resolution than the base layer images. • Bit depth scalability: Enhancement layer images are encoded with a higher bit depth (e.g., 10 or 12 bits) than the base layer images (e.g., 8 bits). • Chroma format scalability: Enhancement layer images provide higher chroma fidelity than base layer images (e.g., encoded in 4:4:4 chroma format).
[0043] In all of the above scalability scenarios, base layer information can be used to encode enhancement layers to minimize additional bit rate overhead.
[0044] Scalability can be achieved in two basic ways. Either by introducing a new coding scheme to perform prediction of pixel values or syntax from the lower layers of the scalable representation, or by placing the lower-layer images into the reference image buffer (decoded image buffer, DPB) of the higher layers. The first approach is more flexible and therefore provides better coding efficiency in most cases. However, the second approach (reference frame-based scalability) can be implemented very efficiently with minimal changes to the single-layer codec, while still achieving most of the available coding efficiency gains. Essentially, reference frame-based scalable codecs can be implemented using the same hardware or software implementation across all layers, with only DPB management handled by external components.
[0045] To enable parallel processing, images can be divided into independent coded and decodeable image segments (slices or tiles). A slice typically refers to an image segment consisting of a certain number of basic coding units processed in a default coding or decoding order, while a tile typically refers to an image segment that has been defined as a rectangular image region that has been processed into individual frames at least to some extent.
[0046] Typically, videos are encoded in the YUV or YCbCr color space because research has found that this color space reflects some characteristics of the human visual system, and because human perception is not very sensitive to the chromaticity fidelity of these channel representations, it allows for the use of lower quality representations for the Cb and Cr channels.
[0047] As described in a similar manner above, typical video codecs (such as the H.265 / HEVC and H.266 / VVC standards) divide an image into sample blocks, which are predicted differently based on reconstructed samples from neighboring blocks. This prediction process typically extrapolates samples from neighboring blocks to populate the block to be predicted with values generated through a deterministic filtering process. This process is typically iterative, depending on the sample values of those neighboring blocks, allowing any sample in the predicted block to be computed independently of other samples.
[0048] Alternatively, recursive filters can be used. In the case of recursive filtering, the output samples of earlier steps in the filtering process can be used as input to predict one or more new sample values. This process uses N x M neighboring sample values to generate new predicted sample values. In this case, the neighboring sample values used as input can include both samples from adjacent sample blocks and predicted sample values from the sample block being predicted. The filter is typically constructed or trained using reconstructed samples from neighboring blocks and then applied to predict the sample of the current block.
[0049] As stated in a similar manner above, using filters such as extrapolation-based filters for intra-frame prediction can potentially cause predicted samples to fall outside the appropriate range of values. This is especially true for recursive prediction filters, which feed previous outputs as input when generating future predicted samples. As more and more samples begin to deviate from the appropriate range, the filter's output starts to differ rapidly from neighboring samples, resulting in a degraded prediction performance.
[0050] Before describing the exemplary embodiments disclosed herein in detail, reference is made to simplified block diagrams illustrating various electronic devices suitable for practicing exemplary embodiments of the invention. Figure 4 .
[0051] Figure 4A block diagram of one possible non-limiting exemplary system in which example embodiments can be practiced is shown. Figure 4 In this context, User Equipment (UE) 10 and Wireless Network 1 or as... Figure 4 Network 1 in the network enables wireless communication. For example... Figure 4 The wireless network 1 or network 1 in the document may include a communication network such as a mobile network, for example, the mobile network 1 or the first mobile network disclosed herein. In this document, as... Figure 4 Any reference to Wireless Network 1 in this document can be considered as a reference to any wireless network as disclosed herein. Furthermore, as... Figure 4 The wireless network 1 in the RAN may also include hard-wired features that the communication network may require. The UE is a wireless device that can access the wireless network, typically a mobile device. The UE may, for example, be a mobile phone (or so-called a "cellular" phone) and / or a computer with mobile terminal functionality. For example, the UE or mobile terminal may also be a portable, pocket-sized, handheld, computer-embedded, or vehicle-mounted mobile device, and perform voice signaling and / or data exchange with the RAN.
[0052] UE 10 includes one or more processors DP 10A, one or more memories MEM 10B, and one or more transceivers TRANS 10D interconnected via 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 optic cable, or other optical communication device. The one or more transceivers TRANS 10D may optionally be connected to one or more antennas to communicate with NN 12 and NN 13 respectively. The one or more memories MEM 10B include computer program code PROG 10C. UE 10 communicates with NN 12 and / or NN 13 via wireless links 11 or 16.
[0053] NN 12 (NR / 5G / 6G node B, evolved NB or LTE equipment) is related to, for example Figure 4The NN 12 is a network node that communicates with devices such as NN 13 and UE 10, such as a primary or secondary node base station (e.g., for NR or LTE Long Term Evolution). NN 12 provides access to the wireless network 1 for wireless devices such as UE 10. NN 12 includes one or more processors DP 12A, one or more memories MEM 12B, and one or more transceivers TRANS 12D interconnected via one or more buses. According to an example embodiment, these TRANS 12Ds may include X2 and / or Xn interfaces for performing the example embodiment. Each of the one or more transceivers TRANS 12D includes a receiver and a transmitter. The one or more transceivers TRANS 12D may optionally be connected to one or more antennas for communicating with UE 10 via at least link 11. One or more memories MEM 12B and computer program code PROG 12C are configured to cause NN 12 to perform one or more operations as described herein via one or more processors DP 12A. NN 12 can communicate with another gNB or eNB or a device such as NN 13, for example, via link 16 or link 18. Furthermore, link 11, link 16, and / or any other link can be wired or wireless, or both, and can implement, for example, an X2 or Xn interface. Furthermore, link 11 and / or link 16 and / or link 18 can communicate via other network devices, such as, but not limited to, Figure 4 The NN 12 can perform the functions of an MME (Mobility Management Entity) or SGW (Serving Gateway), such as user plane functions and / or access management functions for LTE, as well as similar functions for 5G or 6G.
[0054] NN 13 can be used for WiFi or Bluetooth or other wireless devices associated with mobile functionality devices such as AMF or SMF. Further, NN 13 may include NR / 5G / 6G node B or potentially an evolved NB, a primary or secondary node base station (e.g., for NR or LTE LTE) communicating with devices such as NN 12 and / or UE 10 and / or Wireless Network 1. NN 13 includes one or more processors DP 13A, one or more memories MEM 13B, one or more network interfaces, and one or more transceivers TRANS 13D interconnected via one or more buses. According to an example embodiment, these network interfaces of NN 13 may include X2 and / or Xn interfaces for performing the example embodiment. Each of the one or more transceivers TRANS 13D includes a receiver and a transmitter that may optionally be connected to one or more antennas. The one or more memories MEM 13B include computer program code PROG 13C. For example, one or more memory MEM 13B and computer program code PROG 13C are configured to cause NN 13 to perform one or more operations as described herein via one or more processors DP 13A. NN 13 can communicate with another mobile function device such as NN 12 and UE 10 and / or eNB or any other device using, for example, link 11, link 16, link 18, or another link. Figure 4 Link 16 or link 18 shown can be used for communication with NN 12. These links can be wired, wireless, or both, and can implement, for example, an X2 or Xn interface. Furthermore, as stated above, links 11 and / or 16 and / or 18 can be connected via other network devices, such as, but not limited to, NCE / MME / SGW devices, such as... Figure 4 NCE / MME / SGW / UDM / PCF / AMF / SMF / LMF 14.
[0055] Figure 4 One or more buses of the device can be address, data, or control buses, and can include any interconnection mechanism, such as a series of lines on a motherboard or integrated circuit, fiber optic or other optical communication devices, wireless channels, etc. For example, one or more transceivers TRANS 12D, TRANS 13D, and / or TRANS 10D can be implemented as remote radio heads (RRHs), wherein other components of NN 12 are physically located at a different location from the RRH, and these devices can include one or more buses that can be partially implemented as optical cables to connect other components of NN 12 to the RRH.
[0056] It should be pointed out that, although Figure 4Network nodes such as NN 12 and NN 13 are shown, but any of these nodes can be merged into an eNodeB or eNB or gNB (such as for LTE and NR) or incorporated into an eNodeB or eNB or gNB (such as for LTE and NR), and can still be configured to perform the example embodiments.
[0057] Furthermore, it should be noted that the descriptions herein refer to "cells" performing functions; however, it should be clear that the gNB forming the cell and / or the user equipment and / or mobility management function equipment that will perform these functions. Additionally, a cell constitutes part of a gNB, and each gNB may have multiple cells.
[0058] Wireless Network 1, or any network that it may represent, may or may not include NCE / MME / SGW / UDM / PCF / AMF / SMF / LMF 14. 14 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 (UDM) functionality and / or PCF (Policy Control) functionality, and / or Access and Mobility Management (AMF) functionality, and / or Session Management (SMF) functionality, and / or Location Management (LMF) functionality, and / or Authentication Server (AUSF) functionality, and provides connectivity to other networks such as telephone networks and / or data communication networks (e.g., the Internet), and is configured to perform any 5G, 6G and / or NR operations, in addition to or in lieu of other standard operations, at the time of filing this application. NCE / MME / SGW / UDM / PCF / AMF / SMF / LMF 14 can be configured to perform the operations according to the exemplary embodiments in any of the LTE, NR, 5G, 6G and / or any standards-based communication technologies implemented or discussed at the time of filing this application. Additionally, it should be noted that the operations performed by NN 12 and / or NN 13 according to the exemplary embodiments can also be performed at NCE / MME / SGW / UDM / PCF / AMF / SMF / LMF 14.
[0059] NCE / MME / SGW / UDM / PCF / AMF / SMF / LMF 14 includes one or more processors DP 14A, one or more memory MEM 14B, and one or more network interfaces (one or more N / WI / F) interconnected via one or more buses coupled to link 13 and / or link 16 and / or link 18. According to an example embodiment, these network interfaces may include X2 and / or Xn interfaces for performing the example embodiment. One or more memory MEM 14Bs include computer program code PROG 14C. The one or more memory MEM 14Bs and computer program code PROG 14C are configured to cause NCE / MME / SGW / UDM / PCF / AMF / SMF / LMF 14 to perform one or more operations that may be required to support the operation according to the example embodiment via one or more processors DP 14A.
[0060] It should be noted that NN 12 and / or NN 13 and / or UE 10 can (e.g., based on standard implementations, etc.) be configured to perform Location Management Function (LMF) functionality. LMF functionality can be embodied in any of these network devices or other devices associated with them. Additionally, at least as described below, such as Figure 4 LMFs such as MME / SGW / UDM / PCF / AMF / SMF / LMF 14 can be co-located with UE 10, such as with Figure 4 The NN12 and / or NN13 are separated for performing operations according to example embodiments disclosed herein.
[0061] Wireless Network 1 can implement network virtualization, which is the process of combining hardware network resources, software network resources, and network functionality into a single software-based managed entity (virtual network). Network virtualization includes platform virtualization, often combined with resource virtualization. Network virtualization can be categorized as external network virtualization (combining multiple networks or parts of networks into virtual units) or internal network virtualization (providing network-like functionality to a software container on a single system). Note that the virtualized entities generated by network virtualization are still implemented at some level using hardware such as processors DP 10, DP 12A, DP 13A, and / or DP 14A, and memory MEM 10B, MEM 12B, MEM 13B, and / or MEM 14B, and these virtualized entities also produce technical effects.
[0062] Computer-readable storage devices MEM 10B, MEM 12B, MEM 13B, and MEM 14B can be of any type suitable for the local technology environment and can 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. Computer-readable storage devices MEM 12B, MEM 13B, and MEM 14B can be components used to perform storage functions. Processors DP10, DP 12A, DP 13A, and DP 14A can be of any type suitable for the local technology network and can include one or more of the following: as non-limiting examples, general-purpose computers, special-purpose computers, microprocessors, digital signal processors (DSPs), and processors based on multi-core processor architectures. Processors DP 10, DP 12A, DP 13A, and DP 14A can be components used to perform functions such as controlling UE 10, NN 12, NN 13, and other functions as described herein.
[0063] Generally speaking, various embodiments of any of these devices may include, but are not limited to, cellular phones such as smartphones, tablets, personal digital assistants (PDAs) with wireless communication capabilities, portable computers with wireless communication capabilities, image capture devices (such as digital cameras with wireless communication capabilities), gaming devices with wireless communication capabilities, music storage and playback devices with wireless communication capabilities, internet devices that allow wireless internet access and browsing, tablets with wireless communication capabilities, and portable units or terminals incorporating combinations of these functions.
[0064] Furthermore, various embodiments of any of these devices can be used with UE vehicles, high-altitude platform stations, or any other such type of node associated with a ground network, or with any type of drone radio or radio in an aircraft or other airborne vehicle or waterborne vehicle (such as a ship).
[0065] The method according to the invention uses reference samples from which an extrapolation-based (or recursive) linear predictor is derived to derive the cutoff range of the prediction block. Then, when generating prediction samples, the cutoff range is used to constrain the output of the linear filter.
[0066] According to example embodiments of the present invention, the following methods are used: Figure 3A The filter shown is used to predict sample blocks.
[0067] exist Figure 3A In the diagram, p(x, y) is the predicted sample at position (x, y), and c iThe filter coefficients are determined using reference samples from a set S of reconstructed samples that are determined to be from the neighborhood of the block to be predicted, and s i (x, y) is an input sample to the filter when predicting p(x, y). The function Clip(x, min, max) is defined in C-like pseudocode as Figure 3B shown.
[0068] As Figure 3B shown, according to an example embodiment of the present invention, the mathematical equivalent of Clip(x, min, max) is to constrain the value of x to the range [min, max], where, of course, min < max. Typically, in video coding, the clipping range is defined as [0, 2^b - 1], where b is the bit depth of the content. However, in many cases, this broad range performs poorly, especially if an appropriate range can be estimated using reference samples.
[0069] A more appropriate derivation of the range [min, max] is based on a statistical analysis of the reference samples. An example embodiment of the present invention defines a statistical metric as a linear or non-linear function of the set S. For example, an example embodiment of the present invention considers the following statistical metrics: 1. The minimum value of the set S is a linear function min(S) that produces the smallest value in S. 2. The maximum value of the set S is a linear function max(S) that produces the largest value in S. 3. The mean value of the set S is a linear function mean(S) that produces the average value in S. 4. The median value of the set S is a non-linear function med(S) that produces the median value in S.
[0070] It should be noted that any other linear or non-linear function that can be applied to the set S can also be used to derive the statistical metric of the set S.
[0071] Additionally, according to an example embodiment of the present invention, an upscaling parameter and a downscaling parameter scale_min, scale_max that are mathematically defined as real-valued scaling terms can be used to further adjust the clipping range to [scale_min min, scale_max max]. Now, the clipping range can be defined as follows, for example, 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] According to an exemplary embodiment of the present invention, the following may also exist: 8.[scale_min min(S), scale_max min(S)]; 9.[scale_min max(S), scale_max max(S)].
[0073] Furthermore, according to exemplary embodiments of the present invention, there may be any other combination of statistical functions and scaling parameters.
[0074] In the integer-based implementation, the real-valued scaling parameter can be represented using N decimal places. As an example, consider the above... Figure 3C The integer version of item 5 shown.
[0075] exist Figure 3C In the text, >> indicates a right shift. In actual computer programs, the value of scale_min is... 2^N and scale_max 2^N can be pre-calculated and stored as a constant value.
[0076] According to an exemplary embodiment of the invention, at least one statistical metric is applied to at least one reconstructed sample to determine at least one range for truncation of at least one predicted sample.
[0077] According to an exemplary embodiment of the invention, at least one scaling parameter may be optionally used to scale at least one value of the range.
[0078] According to an exemplary embodiment of the invention, at least one scaling parameter can be represented using integer precision, wherein the fractional part has a predetermined precision.
[0079] According to an exemplary embodiment of the present invention, the value of the scaling parameter can be inferred using a reference sample set or a prediction sample.
[0080] According to an exemplary embodiment of the present invention, a sample block to be predicted is determined.
[0081] According to an exemplary embodiment of the present invention, a reference sample set consisting of at least one reconstructed sample is determined.
[0082] According to an exemplary embodiment of the present invention, the range is determined based on at least one function of a reference sample set.
[0083] According to an exemplary embodiment of the invention, it is determined that there may be an option to use at least one scaling parameter to scale at least one function.
[0084] According to an exemplary embodiment of the invention, at least one sample is determined to predict the block, and the value of the at least one sample is truncated according to the determined range.
[0085] Example embodiments of the present invention may target, for example, the H.267 video coding standard, which is expected to be widely deployed in future video / imaging services, applications, and products. As part of an open standard, this characteristic can be identified by: generating standard-compliant video / image files or streams (and utilizing the technology), and checking whether the product can decode the files or streams.
[0086] Figure 5 An example embodiment of the method according to the invention, which can be performed by a device, is shown.
[0087] Figure 5 The diagram illustrates what can be made by, but is not limited to, network devices (e.g., such as...). Figure 4 Operations performed by devices such as UE10. Figure 5 As shown in box 510, the sample block to be predicted is determined. Figure 5 As shown in box 520, a reference sample set consisting of at least one reconstructed sample is determined. Figure 5 As shown in box 530, the sample block includes filter coefficients determined using at least one reconstructed sample. Figure 5 As shown in box 540, the extent of the sample block is scaled using at least one scaling parameter via at least one function. Then, as... Figure 5 As shown in box 550, the values of at least one sample in the sample block are truncated according to this range.
[0088] According to the example embodiment described in the paragraphs above, the reference sample set is determined as a reconstructed sample set S from the neighborhood of the block to be predicted.
[0089] According to the example embodiment described in the paragraphs above, where a filter is used to predict sample blocks: Where p(x, y) is the predicted sample at position (x, y), and c i These are the filter coefficients determined using a reference sample set identified as the reconstructed sample set S, and where s i (x, y) is the input sample of the filter when predicting p(x, y).
[0090] According to the example embodiment described in the paragraph above, the range has a minimum and a maximum value based on statistical analysis of a reference sample set.
[0091] According to the example embodiment described in the paragraph above, at least one statistical measure is applied to at least one reconstructed sample to determine at least one range for truncation of at least one predicted sample.
[0092] According to the example embodiment described in the paragraphs above, the statistical measure is defined as a function of a linear or nonlinear function of the reconstructed sample set S.
[0093] According to the example embodiment described in the paragraph above, the statistical measures include: the minimum value of the reconstructed sample set S as a linear function min(S) that produces the minimum value of S, the maximum value of the reconstructed sample set S as a linear function max(S) that produces the maximum value of S, the mean value of the reconstructed sample set S as a linear function mean(S) that produces the mean value of S, or the median value of the reconstructed sample set S is a linear function mean(S) that produces the median value of S.
[0094] According to the example embodiment described in the paragraph above, at least one scaling parameter is used to scale at least one value of the range.
[0095] According to the example embodiment described in the paragraphs above, a statistical measure of the set S is derived by using a linear or nonlinear function applied to reconstruct the sample set S.
[0096] According to the example embodiment described in the paragraphs above, the truncation range is adjusted using an upper scaling parameter and a lower scaling parameter that are mathematically defined as real-valued scaling terms.
[0097] According to the example embodiment described in the paragraph above, the truncation range is used for the prediction block, the reference sample set is used to derive at least one of the linear predictors, either extrapolation-based or recursive, and the truncation range is used to constrain the output of the linear filter.
[0098] According to the example embodiment described in the paragraphs above, a reference sample set or prediction block is used to identify the value of at least one scaling parameter.
[0099] According to the example embodiment described in the paragraph above, integer precision is used to represent at least one scaling parameter, wherein the fractional part has a predetermined precision.
[0100] A non-transitory computer-readable medium (such as Figure 4MEM 10B) stored program code (such as Figure 4 PROG 10C), the program code is generated by at least one processor (such as Figure 4 The DP 10A in the document is implemented to perform at least the operations described in the paragraphs above.
[0101] According to the exemplary embodiments of the present invention described above, there exists an apparatus comprising components for determining a sample block to be predicted (e.g., Figure 4 One or more transceivers 10D, MEM 10B, PROG 10C, and DP 10A in the above; components used to determine a set of reference samples consisting of at least one reconstructed sample (e.g., Figure 4 One or more transceivers 10D, MEM 10B, PROG 10C, and DP 10A in the above; components for determining range based on at least one function of a reference sample set (e.g., Figure 4 One or more transceivers 10D, MEM 10B, PROG 10C, and DP 10A in the range), wherein the range is scaled by at least one function, the at least one function including for use (such as Figure 4 A component for at least one scaling parameter of one or more transceivers 10D, MEM10B, PROG 10C, and DP 10A; and a component for predicting the value of at least one sample of the block according to the range (e.g., Figure 4 One or more transceivers 10D, MEM 10B, PROG 10C, and DP10A are included.
[0102] In an exemplary aspect of the invention according to the preceding paragraph, wherein at least the components for determining, using, and truncation include the use of a processor [such as...] Figure 4 The computer program executed by DP 10A in [e.g.] Figure 4 Non-transitory computer-readable media encoded in PROG10C (e.g.) Figure 4 MEM 10B (in the context of MEM 10B).
[0103] It should be pointed out that, Figure 5 Flowcharts are provided according to at least some exemplary embodiments of the present invention.
[0104] Furthermore, according to exemplary embodiments of the present invention, there exists a circuit system for performing operations according to exemplary embodiments of the invention disclosed herein. This circuit system may include any type of circuit system, including content encoding circuit systems, content decoding circuit systems, processing circuit systems, image generation circuit systems, data analysis circuit systems, etc. Further, the circuit system may include discrete circuit systems, application-specific integrated circuit systems (ASICs) and / or field-programmable gate array (FPGA) circuit systems, as well as processors specifically configured by software to perform corresponding functions, or dual-core processors having software and corresponding digital signal processors, etc. Additionally, necessary inputs to and outputs from the circuit system, functions performed by the circuit system, and interconnections (possibly via inputs and outputs) between the circuit system and other components that may include other circuit systems to perform exemplary embodiments of the invention as described herein are provided.
[0105] According to the exemplary embodiments of the invention disclosed in this application, the provided "circuit system" may include at least one or more or all of the following: (a) Hardware circuit-only implementation (such as implementation in analog and / or digital circuit systems only). (b) A combination of hardware circuitry and software, such as (if applicable): (i) A combination of one or more analog and / or digital hardware circuits with software / firmware; and (ii) Any portion of a hardware processor (including one or more digital signal processors), software, and one or more memories, having software, working together to cause a device such as a mobile phone or server to perform various functions, such as the functions or operations of exemplary embodiments of the invention disclosed herein; and (c) One or more hardware circuits and / or one or more processors (such as one or more microprocessors or a portion thereof) that require software (e.g., firmware) to operate, but may not exist when software is not required to operate.
[0106] According to exemplary embodiments of the present invention, there exists a sufficient circuit system for performing at least the novel operations according to exemplary embodiments of the invention disclosed herein, wherein "circuit system" as may be used herein refers to at least the following: (a) Hardware-only implementations (such as implementations in analog and / or digital circuit systems only); and (b) A combination of circuitry and software (and / or firmware), such as (if applicable): (i) a combination of one or more processors or (ii) portions of one or more processors / software (including one or more digital signal processors), software, and one or more memories, which work together to enable a device such as a mobile phone or server to perform various functions; and (c) Circuits that require software or firmware to operate, such as portions of one or more microprocessors, even if the software or firmware does not physically exist.
[0107] This definition of 'circuit system' applies to all uses of the term in this application (including in any claim). As another example, as used in this application, the term 'circuit system' may also cover only the implementation of a processor (or processors) or a portion thereof and its accompanying software and / or firmware. The term 'circuit system' may also cover (e.g., and if applicable to a particular claim element) baseband integrated circuits or application processor integrated circuits for mobile devices or similar integrated circuits in servers, cellular network devices, or other network devices.
[0108] Generally, various embodiments can be implemented in hardware or dedicated circuitry, software, logic, or any combination thereof. For example, some aspects may be implemented in hardware, while others 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 aspects of this disclosure are illustrated and described as block diagrams, flowcharts, or other illustrated representations, it should be understood that the blocks, apparatuses, systems, techniques, or methods described herein may be implemented as non-limiting examples in hardware, software, firmware, dedicated circuitry or logic, general-purpose hardware or controllers or other computing devices, or combinations thereof.
[0109] The various embodiments of the present invention can be practiced in a variety of components, such as integrated circuit modules. The design of integrated circuits is generally a highly automated process. Complex and powerful software tools can be used to transform logic-level designs into semiconductor circuit designs ready for etching and formation on semiconductor substrates.
[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 superior to or advantageous over other embodiments. All embodiments described in this detailed description are exemplary embodiments provided to enable those skilled in the art to make or use the invention, and not to limit the scope of the invention as defined by the claims.
[0111] The foregoing description has provided a comprehensive and detailed description of the best methods and apparatus currently conceived by the inventors for carrying out the invention, by way of exemplary and non-limiting examples. However, various modifications and adaptations will be apparent to those skilled in the art when read in conjunction with the accompanying drawings and appended claims, given the foregoing description. Nevertheless, all such and similar modifications to the teachings of the exemplary embodiments of the invention will still fall within the scope of the invention.
[0112] It should be noted that the terms “connection,” “coupling,” or any variation thereof mean any direct or indirect connection or coupling between two or more elements, and may cover the presence of one or more intermediate elements between two elements that are “connected” or “coupled” together. The coupling or connection between elements can be physical, logical, or a combination thereof. As used herein, two elements can be considered to be “connected” or “coupled” together by means of one or more wires, cables, and / or printed electrical connections and by means of electromagnetic energy (such as electromagnetic energy having wavelengths in the radio frequency region, microwave region, and optical (both visible and invisible) region (as several non-limiting and non-exhaustive examples)).
[0113] Furthermore, some features of the preferred embodiments of the present invention can be utilized without corresponding use of other features. Thus, the foregoing description should be considered merely as an illustration of the principles of the invention, and not as a limitation thereof.
Claims
1. An apparatus comprising: At least one processor; as well as At least one non-transitory memory, the at least one non-transitory memory storing instructions, the instructions, when executed by the at least one processor, cause the device to at least: Identify the sample block to be predicted. Determine a reference sample set, which consists of at least one reconstructed sample; The range of the block sample is determined based on at least one function of the reference sample set; as well as The value of at least one sample in the sample block is truncated according to the range.
2. The apparatus of claim 1, wherein the range of the sample block is scaled using at least one function with at least one scaling parameter.
3. The apparatus of claim 1, wherein the reference sample set is determined as a reconstructed sample set S from the neighborhood of the block to be predicted.
4. The apparatus of claim 3, wherein the sample block is predicted using a filter: Where p(x, y) is the predicted sample at position (x, y), and c i These are the filter coefficients determined using the reference sample set, which is determined to be the reconstructed sample set S, and where s i (x, y) is the input sample of 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 a statistical analysis of the reference sample set.
6. The apparatus of claim 1, wherein the at least one non-transitory memory stores an instruction, the instruction being executed by the at least one processor to cause the apparatus to: At least one statistical measure is applied to at least one reconstructed sample to determine at least one range used to truncate at least one predicted sample.
7. The apparatus of claim 3, wherein the at least one non-transitory memory stores an instruction, the instruction being executed by the at least one processor to cause the apparatus to: The statistical measure is defined as either a linear function or a nonlinear function of the reconstructed sample set S.
8. The apparatus of claim 7, wherein the statistical measure comprises: The minimum value of the reconstructed sample set S is min(S), which is a linear function that produces the minimum value of S. The maximum value of the reconstructed sample set S is taken as a linear function max(S) that produces the maximum value of S. The average value of the reconstructed sample set S, wherein the average value of the reconstructed sample set S is a linear function mean(S) that produces the value of the average value of S, or The median value of the reconstructed sample set S is a nonlinear function med(S) that produces the median value of S.
9. The apparatus of claim 1, wherein the at least one non-transitory memory stores an instruction, the instruction being 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 stores an instruction, the instruction being executed by the at least one processor to cause the apparatus to: A linear or nonlinear function is applied to the reconstructed sample set S to derive a statistical measure of the set S.
11. The apparatus of claim 1, wherein the at least one non-transitory memory stores an instruction, the instruction being executed by the at least one processor to cause the apparatus to: Use the upper and lower scaling parameters, which are mathematically defined as real-valued scaling terms, to adjust the truncation range.
12. The apparatus of claim 11, wherein the cutoff range is used for prediction blocks, wherein the reference sample set is used to derive at least one of an extrapolation-based linear predictor or a recursive linear predictor, and wherein the cutoff range is used to constrain the output of the linear filter.
13. The apparatus of claim 12, wherein the at least one non-transitory memory stores an instruction, the instruction being executed by the at least one processor to cause the apparatus to: The value of the at least one scaling parameter is identified using the reference sample set or the prediction block.
14. The apparatus of claim 12, wherein the at least one non-transitory memory stores an instruction, the instruction being executed by the at least one processor to cause the apparatus to: At least one scaling parameter is represented using integer precision, where the fractional part has a predetermined precision.
15. A method comprising: Identify the sample block to be predicted. Determine a reference sample set, which consists of at least one reconstructed sample; The range of the block sample is determined based on at least one function of the reference sample set; as well as The value of at least one sample in the sample block is truncated according to the range.
16. The method of claim 15, wherein the reference sample set is determined as a reconstructed sample set S from the neighborhood of the block to be predicted.
17. The method of claim 16, wherein the sample block is predicted using a filter: Where p(x, y) is the predicted sample at position (x, y), and c i These are the filter coefficients determined using the reference sample set, which is determined to be the reconstructed sample set S, and where s i (x, y) is the input sample of 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 a statistical analysis of the reference sample set.
19. The method of claim 15, comprising: At least one statistical measure is applied to at least one reconstructed sample to determine at least one range used to truncate at least one predicted sample.
20. The method of claim 16, comprising: The statistical measure is defined as either a linear function or a nonlinear function of the reconstructed sample set S.
21. The method of claim 20, wherein the statistical measure comprises: The minimum value of the reconstructed sample set S is min(S), which is a linear function that produces the minimum value of S. The maximum value of the reconstructed sample set S is taken as a linear function max(S) that produces the maximum value of S. The average value of the reconstructed sample set S, wherein the average value of the reconstructed sample set S is a linear function mean(S) that produces the value of the average value of S, or The median value of the reconstructed sample set S is a nonlinear function med(S) that produces the median value of S.
22. The method of claim 15, comprising: Scale at least one value of the range using at least one scaling parameter.
23. The method of claim 16, comprising: A linear or nonlinear function is applied to the reconstructed sample set S to derive a statistical measure of the set S.
24. The method of claim 15, comprising: Use the upper and lower scaling parameters, which are mathematically defined as real-valued scaling terms, to adjust the truncation range.
25. The method according to claim 15: The range of the sample block is scaled using at least one function with at least one scaling parameter.
26. The method of claim 25, comprising: The value of the at least one scaling parameter is identified using the reference sample set or the prediction block.
27. The method of claim 25, comprising: At least one scaling parameter is represented using integer precision, where the fractional part has a predetermined precision.