ENCODING METHOD, DECODING METHOD, ENCODER, DECODER, AND NON-TRANSIENT COMPUTER-READABLE MEDIUM

MX431186BActive Publication Date: 2026-02-25HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
MX2022002782
Authority / Receiving Office
MX · MX
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-09-06
Filing Date
2022-03-04
Publication Date
2026-02-25
Estimated Expiration
2040-09-07

Smart Images

  • Figure MX431186B0
    Figure MX431186B0
Patent Text Reader

Abstract

The present invention provides a coding method, wherein the method comprises: determining the syntax elements to be coded, wherein the syntax elements include a reference image list structure and at least one high-level syntax (HLS) weighted prediction parameter; coding at least one HLS weighted prediction parameter; and coding the reference image list structure following the coding of at least one HLS weighted prediction parameter. The syntax elements are rearranged so that the coding of the reference image list structure can be based on the values ​​of at least one HLS weighted prediction parameter.
Need to check novelty before this filing date? Find Prior Art

Description

ENCODING METHOD, DECODING METHOD, ENCODER, DECODER, AND NON-TRANSIENT COMPUTER-READABLE MEDIUM CROSS REFERENCE TO RELATED APPLICATIONS This patent application claims priority to International Patent Application No. PCT / RU2019 / 000625, filed on September 6, 2019. The disclosure of the above-mentioned patent application is incorporated herein by reference in its entirety. FIELD OF INVENTION The modalities of this disclosure generally relate to the field of image processing and more particularly to shape-adaptive resampling of the residual block for encoding still images and video. BACKGROUND OF THE INVENTION Video coding (video encoding and decoding) is used in a wide range of digital video applications, for example, digital TV broadcasting, video streaming over the Internet and mobile networks, real-time conversation applications such as video chat, videoconferencing, DVD and Blu-ray discs, video content acquisition and editing systems, and security application video cameras. The amount of video data required to represent even a relatively short video can be substantial, which can lead to difficulties when the data must be transmitted or otherwise communicated over a communication network with limited bandwidth. Therefore, video data is typically compressed before being transmitted over modern telecommunications networks. The size of a video can also be a problem when it is stored on a storage device due to limited memory resources. Video compression devices often use software and / or hardware at the source to encode the video data before transmission or storage, thereby reducing the amount of data needed to represent digital video images.The compressed data is then received at the destination by a video decompression device that decodes the video data. With limited network resources and ever-increasing demands for higher video quality, improved compression and decompression techniques that enhance the compression ratio with little or no sacrifice in image quality are desirable. Weighted Prediction (WP) is a tool that is particularly useful for coding fades. Weighted prediction can compensate for lighting changes, such as an in-fade, an out-fade, or a cross-fade. ZRQRZn / ZZÜZ / 3 / YILI The Weighted Prediction (WP) tool has been adopted in the Main and Extended profiles of the H.264 video coding standard to improve coding efficiency by applying a multiplicative weighting factor and an additive offset to the motion-compensated prediction to form a weighted prediction. In explicit mode, a weighting factor and offset can be hardcoded in the segment header for each allowed reference image index. In implicit mode, the weighting factors are not hardcoded but are derived based on the relative picture order count (POC) distances of the two reference images. The relationship of the images in terms of order and distance, when used for prediction, is expressed by the Point of Control (POC). The POC value is an index number that defines the output position of the current image in the encoded video sequence. The POC value is used to identify the image in the decoded image buffer. For identification purposes, the POC value will increase strictly with the output order of the encoded images. BRIEF DESCRIPTION OF THE INVENTION According to a first aspect of this disclosure, a coding method is provided, the method comprising: determining the syntax elements to be coded, wherein the syntax elements include a reference image list structure and at least one high-level syntax (HLS) weighted prediction parameter; coding at least one HLS weighted prediction parameter; and coding the reference image list structure following the coding of at least one HLS weighted prediction parameter. The syntax elements are rearranged so that the coding of the reference image list structure can be based on the values ​​of at least one HLS weighted prediction parameter. In a first form of implementation of the first aspect as such, a reference image list derived from the reference image list structure comprises reference images that have the same image order count (POC) parameter. In a second form of implementation of any preceding form of implementation of the first aspect or the first aspect as such, at least one HLS weighted prediction parameter comprises a sequence parameter set indicator for weighted uni-prediction. In a third form of implementation of any preceding form of implementation of the first aspect or the first aspect as such, at least one HLS weighted prediction parameter comprises a sequence parameter set indicator for weighted bi-prediction. In a fourth form of implementation of the method according to any preceding form of implementation of the first aspect or the first aspect as such, the encoding of the reference image list structure comprises a restriction on the binarization of at least a part of the reference image list structure. ZRQRZn / ZZÜZ / 3 / YILI In a fifth form of implementation of the fourth form of implementation of the first aspect, the restriction on the binarization of at least a part of the reference image list structure comprises: when the sequence parameter set indicator for weighted uni-prediction is set to 0, the encoding of a modified POC delta value for an item in the reference image list, wherein the modified POC delta value (absdeltapocst) is less than a POC delta value used in the encoding process (AbsDeltaPocSt). In a sixth form of implementation of the fourth form of implementation of the first aspect, the restriction on binarization comprises: (i) when at least one HLS weighted prediction parameter includes the sequence parameter set indicator for weighted bi-prediction, and the sequence parameter set indicator for weighted bi-prediction is set to 0, encoding a modified POC delta value for an item in the reference image list derived from the reference image list structure, wherein the modified POC delta value (abs delta poc st) is less than a POC delta value used in the encoding process (AbsDeltaPocSt);or (i) when at least one HLS weighted prediction parameter includes the sequence parameter set indicator for weighted bi-prediction and the sequence parameter set indicator for weighted uni-prediction, and at least one of the sequence parameter set indicator for weighted bi-prediction and the sequence parameter set indicator for weighted uni-prediction is set to 0, encode a modified POC delta value for an item in the reference image list derived from the reference image list structure, wherein the modified POC delta value (abs_delta_poc_st) is less than a POC delta value used in the encoding process (AbsDeltaPocSt);(iii) when at least one HLS weighted prediction parameter includes the sequence parameter set indicator for weighted bi-prediction and the sequence parameter set indicator for weighted uni-prediction, and both the sequence parameter set indicator for weighted bi-prediction and the sequence parameter set indicator for weighted uni-prediction are set to 0, encode a modified POC delta value for an item in the reference image list derived from the reference image list structure, wherein the modified POC delta value (abs delta poc st) is less than a POC delta value used in the encoding process (AbsDeltaPocSt).; In a seventh form of implementation of the fifth or sixth form of implementation of the first aspect, the modified POC delta value is less than the POC delta value used in the encoding process by 1. In accordance with a second aspect of this disclosure, a method is provided ZRQRZn / ZZÜZ / 3 / YILI of encoding, comprising: determining the syntax elements to be encoded, wherein the syntax elements include a reference image list structure and at least one high-level syntax weighted prediction (HLS) parameter, wherein a reference image list derived from the reference image list structure comprises reference images having the same image order count (POC) parameter; and encoding the determined syntax elements in an encoding order with a restriction on the binarization of a syntax element having a later position in the encoding order;Wherein, when at least one HLS weighted prediction parameter is encoded after the reference image list structure in the encoding order, the restriction on the binarization of syntax elements comprises: encoding at least one HLS weighted prediction parameter only when the reference image list has at least one element with a POC delta value equal to zero. This has the advantage that the number of encoded weighted prediction parameters can be reduced. According to a third aspect of this disclosure, a decoding method is provided using a decoder, comprising: receiving a bit stream; entropy-decoding the bit stream to obtain syntax elements, wherein the syntax elements comprise a reference image list structure and at least one high-level syntax weighted prediction (HLS) parameter, wherein in the syntax elements, at least one HLS weighted prediction parameter is entropy-decoded before the reference image list structure; performing prediction based on the obtained syntax elements to obtain a prediction block; reconstructing a reconstructed block based on the prediction block; and obtaining a decoded image based on the reconstructed block. In a first form of implementation of the third aspect as such, at least one HLS weighted prediction parameter includes at least one of a sequence parameter set indicator for uni-weighted prediction and one sequence parameter set indicator for bi-weighted prediction. Pursuant to a fourth aspect of this disclosure, a decoding method is provided using a decoder, comprising: receiving a bit stream; entropy-decoding the bit stream to obtain syntax elements, wherein the syntax elements include a reference image list structure and a preset flag, wherein the value of the preset flag indicates whether the syntax elements include at least one high-level syntax weighted (HLS) prediction parameter; performing prediction based on the obtained syntax elements to obtain a prediction block; reconstructing a reconstructed block based on the prediction block; and obtaining a decoded image based on the reconstructed block. ZRQRZn / ZZÜZ / 3 / YILI In a first form of implementation of the fourth aspect as such, a value of the preset indicator will correspond to whether a reference image list derived from the reference image list structure has at least one element with a POC delta value equal to zero. In a second form of implementation of the first form of implementation of the fourth aspect, the value of the preset indicator corresponding to the reference image list has at least one element with a POC delta value equal to zero, the syntax elements include at least one HLS weighted prediction parameter; or when the value of the preset indicator corresponding to the reference image list does not have any element with a POC delta value equal to zero, the syntax elements do not include at least one HLS weighted prediction parameter. In a third form of implementation of the method in accordance with any preceding form of implementation of the fourth aspect or the fourth aspect as such, at least one HLS weighted prediction parameter includes at least one of a sequence parameter set indicator for uni-weighted prediction and one sequence parameter set indicator for bi-weighted prediction. In a fourth form of implementation of the method in accordance with any preceding form of implementation of the fourth aspect or the fourth aspect as such, the preset indicator is RestrictWPFIag which is set to true in the encoding process when a zero value of the POC delta value (AbsDeltaPocSt) occurs during the checking of each item in the reference image list. Pursuant to a fifth aspect of this disclosure, an encoder comprising processing circuitry is provided to carry out the method according to the first aspect, any of the first through seventh forms of implementation of the first aspect or the second aspect. Pursuant to a sixth aspect of this disclosure, a decoder comprising processing circuitry is provided to carry out the method according to the third aspect, the first form of implementation of the third aspect, the fourth aspect, or any of the first through fourth forms of implementation of the fourth aspect. Pursuant to a seventh aspect of this disclosure, a computer program product is provided comprising program code for performing the method according to the first aspect, any of the first through seventh forms of implementation of the first aspect, the second aspect, the third aspect, the first form of implementation of the third aspect, the fourth aspect, or any of the first through fourth forms of implementation of the fourth aspect. Pursuant to an eighth aspect of this disclosure, a decoder is provided comprising: one or more processors; and a non-transient, computer-readable storage medium coupled to the processors and storing programming for execution by the processors, wherein the programming, when executed by the processors, configures the decoder to carry out the method according to the third aspect, the first form of implementation of the third aspect, the fourth aspect, or any of the first through fourth forms of implementation of the fourth aspect. Pursuant to a ninth aspect of this disclosure, a decoder is provided comprising: receiving means for receiving a bit stream; entropy decoding means for entropy decoding the bit stream to obtain syntax elements, wherein the syntax elements comprise a reference image list structure and at least one high-level syntax weighted prediction (HLS) parameter, wherein in the syntax elements, at least one HLS weighted prediction parameter is entropy decoded before the reference image list structure; prediction means for making the prediction based on the obtained syntax elements to obtain a prediction block; reconstruction means for reconstructing a reconstructed block based on the prediction block; and obtaining means for obtaining a decoded image based on the reconstructed block. In a first form of implementation of the ninth aspect as such, a value of the preset indicator will correspond to whether a reference image list derived from the reference list structure has at least one element with a POC delta value equal to zero. In a second form of implementation of the first form of implementation of the ninth aspect, the value of the preset indicator corresponding to the reference image list has at least one element with a POC delta value equal to zero, the syntax elements include at least one HLS weighted prediction parameter; or when the value of the preset indicator corresponding to the reference image list does not have any element with a POC delta value equal to zero, the syntax elements do not include at least one HLS weighted prediction parameter. In a third form of implementation of any preceding form of implementation of the ninth aspect or the ninth aspect as such, at least one HLS weighted prediction parameter includes at least one of a sequence parameter set indicator for weighted uni-prediction and one sequence parameter set indicator for weighted bi-prediction. In a fourth form of implementation of any preceding form of implementation of the ninth aspect or the ninth aspect as such, the preset indicator is RestrictWPFIag which is set to true in the encoding process when a zero value of the POC delta value (AbsDeltaPocSt) occurs during the verification of each item in the image list of ZRQRZn / ZZÜZ / 3 / YILI reference. According to a tenth aspect of this disclosure, an encoder is provided comprising: one or more processors; and a non-transient, computer-readable storage medium coupled to the processors and storing programming for execution by the processors, wherein the programming, when executed by the processors, configures the encoder to carry out the method according to the first aspect, any of the first through seventh forms of implementation of the first aspect, or of the second aspect. Pursuant to an eleventh aspect of this disclosure, an encoder is provided comprising: determination means for determining syntax elements to be encoded, wherein the syntax elements include a reference image list structure and at least one high-level syntax (HLS) weighted prediction parameter; and encoding means for encoding at least one HLS weighted prediction parameter; and encoding the reference image list structure following the encoding of at least one HLS weighted prediction parameter. In a first form of implementation of the eleventh aspect as such, a reference image list derived from the reference image list structure comprises reference images that have the same image order count (POC) parameter. In a second form of implementation of the eleventh aspect as such or the first form of implementation of the eleventh aspect, at least one HLS weighted prediction parameter comprises a sequence parameter set indicator for weighted uni-prediction. In a third form of implementation of the eleventh aspect as such or any of the preceding forms of implementation of the eleventh aspect, at least one HLS weighted prediction parameter comprises a sequence parameter set indicator for weighted biprediction. In a fourth form of implementation of the eleventh aspect as such or any of the preceding forms of implementation of the eleventh aspect, the encoding of the reference image list structure comprises a restriction on the binarization of at least a part of the reference image list structure. In a fifth form of implementation of the fourth form of implementation of the eleventh aspect, the restriction on the binarization of at least a part of the reference image list structure comprises: when the sequence parameter set indicator for weighted uni-prediction is set to 0, signal a modified POC delta value for an item in the reference image list, wherein the modified POC delta value (absdeltapocst) is less than a POC delta value used in the encoding process (AbsDeltaPocSt). ZRQRZn / ZZÜZ / 3 / YILI ZRQRZn / ZZÜZ / 3 / YILI In a sixth form of implementation of the fourth form of implementation of the eleventh aspect, the restriction on binarization comprises: (i) when at least one HLS weighted prediction parameter includes the sequence parameter set indicator for weighted bi-prediction, and the sequence parameter set indicator for weighted bi-prediction is set to 0, encoding a modified POC delta value for an item in the reference image list derived from the reference image list structure, wherein the modified POC delta value (abs_delta_poc_st) is less than a POC delta value used in the encoding process (AbsDeltaPocSt);or (i) when at least one HLS weighted prediction parameter includes the sequence parameter set indicator for weighted bi-prediction and the sequence parameter set indicator for weighted uni-prediction, and at least one of the sequence parameter set indicator for weighted bi-prediction and the sequence parameter set indicator for weighted uni-prediction is set to 0, encode a modified POC delta value for an item in the reference image list derived from the reference image list structure, wherein the modified POC delta value (abs_delta_poc_st) is less than a POC delta value used in the encoding process (AbsDeltaPocSt);or (iii) when at least one HLS weighted prediction parameter includes the sequence parameter set indicator for weighted bi-prediction and the sequence parameter set indicator for weighted uni-prediction, and both the sequence parameter set indicator for weighted bi-prediction and the sequence parameter set indicator for weighted uni-prediction are set to 0, encode a modified POC delta value for an item in the reference image list derived from the reference image list structure, wherein the modified POC delta value (abs_delta_poc_st) is less than a POC delta value used in the encoding process (AbsDeltaPocSt).; In a seventh form of implementation of the fifth or sixth form of implementation of the eleventh aspect, the modified POC delta value is less than the POC delta value used in the encoding process by 1. According to an eleventh aspect of the present description, a non-transient, computer-readable medium is provided carrying program code that, when executed by a computing device, causes the computing device to perform the method according to the first aspect, any of the first through seventh forms of implementation of the first aspect, the second aspect, the third aspect, the first form of implementation of the third aspect, the fourth aspect, or any of the first through fourth forms of implementation of the fourth aspect. The modalities provide methods for encoding and decoding a video sequence with joint signaling of high-level syntax weighted prediction parameters and a reference image list. The modalities provide efficient encoding and / or decoding using signal-related information in segment headers only for segments that allow or enable bidirectional inter-prediction, e.g., in bidirectional prediction (B) segments, also called B segments. The foregoing and other objects are achieved using the subject matter of the independent claims. Additional forms of implementation are evident from the dependent claims, the description, and the figures. The details of one or more embodiments are set forth in the accompanying drawings and the following description. Other features, objects, and advantages will be apparent from the description, the drawings, and the claims. BRIEF DESCRIPTION OF THE DRAWINGS The following embodiments of the invention are described in more detail with reference to the accompanying figures and drawings, in which: FIGURE 1A is a block diagram showing an example of a video encoding system configured to implement the modalities of the invention. FIGURE 1B is a block diagram showing another example of a video encoding system configured to implement the modalities of the invention. FIGURE 2 is a block diagram showing an example of a video encoder configured to implement the modalities of the invention. FIGURE 3 is a block diagram showing an exemplary structure of a video decoder configured to implement the modalities of the invention. FIGURE 4 is a block diagram that illustrates an example of an encoding or decoding apparatus. The FIGURES is a block diagram that illustrates another example of an encoding or decoding apparatus. FIGURE 6 is a flowchart for weighted prediction encoder-side decision making and parameter estimation. FIGURE 7 is a flowchart of the proposed method where the list of reference images is signaled after the weighted prediction parameters. FIGURE 8 is a flowchart of the proposed method where the weighted prediction parameters are conditionally signaled after the reference image list. FIGURE 9 is a block diagram showing an exemplary structure of a 3100 content delivery system performing a content delivery service M. FIGURE 10 is a block diagram showing the structure of an example of a ZRQRZn / ZZÜZ / 3 / YILI ZRQRZn / ZZÜZ / 3 / YILI terminal device. FIGURE 11 is a block diagram that illustrates the coding method according to the first aspect of this disclosure. FIGURE 12 is a block diagram that illustrates the coding method according to the second aspect of this disclosure. FIGURE 13 is a block diagram illustrating the decoding method according to the third aspect of this disclosure. FIGURE 14 is a block diagram illustrating a decoding method using a decoder in accordance with the fourth aspect of this disclosure. FIGURE 15 is a block diagram illustrating a decoder in accordance with the eighth aspect of this disclosure. FIGURE 16 is a block diagram illustrating a decoder in accordance with a ninth aspect of this disclosure. FIGURE 17 is a block diagram illustrating an encoder in accordance with a tenth aspect of this disclosure. FIGURE 18 is a block diagram illustrating an encoder in accordance with the eleventh aspect of this disclosure. In the following, identical reference signs refer to identical or at least functionally equivalent characteristics, unless explicitly stated otherwise. DETAILED DESCRIPTION OF THE MODALITIES The following description refers to the accompanying figures, which form part of the disclosure and illustrate specific aspects of the embodiments of the invention or specific aspects in which the embodiments of the present invention may be used. It is understood that the embodiments of the invention may be used in other aspects and include structural or logical changes not represented in the figures. Therefore, the following detailed description should not be taken in a limiting sense, and the scope of the present invention is defined by the appended claims. For example, a disclosure in connection with a described method may also apply to a corresponding device or system configured to perform the method, and vice versa. For example, if one or more specific steps of the method are described, a corresponding device may include one or more units, such as functional units, to perform one or more of the described steps of the method (e.g., a single unit performing one or more steps, or multiple units, each of which performs one or more of the steps), even if one or more units are not explicitly described or illustrated in the figures.On the other hand, for example, if a specific apparatus is described based on one or more units, such as functional units, a corresponding method may include a step for performing the functionality of one or more units (for example, a single step performing the functionality of one or more units, or a plurality of steps, each of which performs the functionality of one or more of the units), even if one or more of the steps are not explicitly described or illustrated in the figures. Furthermore, it is understood that the features of the various exemplary modalities and / or aspects described herein may be combined with one another, unless specifically stated otherwise. Video coding typically refers to the processing of a sequence of images that make up the video or video sequence. Instead of the term photograph, the terms frame or image can be used synonymously in the field of video coding. Video coding (or coding in general) comprises two parts: video encoding and video decoding. Video encoding is performed on the source side and typically involves processing (for example, by compression) the original video images to reduce the amount of data required to represent the video images (for more efficient storage and / or transmission). Video decoding is performed on the destination side and typically involves the reverse processing compared to the encoder to reconstruct the video images.The modalities that refer to the encoding of video images (or images in general) will be understood as relating to the encoding or decoding of video images or respective video sequences. The combination of the encoding and decoding parts is also known as CODEC (Encoding and Decoding). In lossless video encoding, the original video images can be reconstructed; that is, the reconstructed video images have the same quality as the original video images (assuming no transmission loss or other data loss during storage or transmission). In lossy video encoding, additional compression is applied, for example, through quantization, to reduce the amount of data representing the video images. These images cannot be fully reconstructed at the decoder; therefore, the quality of the reconstructed video images is lower or worse compared to the quality of the original video images. Several video coding standards belong to the group of hybrid lossy video codes (i.e., they combine spatial and temporal prediction in the sample domain and 2D transform coding to apply quantization in the transform domain). Each frame in a video sequence is typically divided into a set of non-overlapping blocks, and coding is typically performed at the block level. In other words, in the encoder, the video ZRQRZn / ZZÜZ / 3 / YILI ZRQRZn / ZZÜZ / 3 / YILI is typically processed, i.e., encoded, at a block level (image block), for example, by using spatial (intra-image) and / or temporal (inter-image) prediction to generate a prediction block, subtracting the prediction block from the current block (currently processed / to be processed block) to obtain a residual block, transforming the residual block, and quantizing the residual block in the transform domain to reduce the amount of data to be transmitted (compression). In the decoder, the inverse processing compared to the encoder is applied to the encoded or compressed block to reconstruct the current block for display. Furthermore, the encoder duplicates the decoder's processing loop so that both will generate identical predictions (e.g., intra- and inter-predictions) and / or reconstructions to process, i.e., encode, subsequent blocks. In the following modes of a video coding system 10, a video encoder 20 and a video decoder 30 are described based on FIGURE 1A, FIGURE 1B, FIGURE 2 and FIGURE 3. Figure 1A is a schematic block diagram illustrating an exemplary encoding system 10, for example, a video encoding system 10 (or abbreviated, encoding system 10) that may utilize techniques of this application. The video encoder 20 (or abbreviated, encoder 20) and the video decoder 30 (or abbreviated, decoder 30) of the video encoding system 10 represent examples of devices that may be configured to perform techniques according to various examples described in this application. As shown in FIGURE 1A, the encoding system 10 comprises a source device 12 configured to provide encoded image data 21, for example, to a destination device 14 to decode the encoded image data 13. The source device 12 comprises an encoder 20, and additionally, i.e., optionally, may comprise an image source 16, a preprocessor (or preprocessing unit) 18, for example, an image preprocessor 18, and a communication interface or communication unit 22. Image Source 16 may comprise or be any type of image capture device, for example, a camera for capturing a real-world image, and / or any type of image generating device, for example, a computer graphics processor for generating a computer-animated image, or any other type of device for obtaining and / or providing a real-world image, a computer-generated image (for example, on-screen content, a virtual reality (VR) image), and / or any combination thereof (for example, an augmented reality (AR) image). The image source may be any type of memory or storage that stores any of the images mentioned above. ZRQRZn / ZZÜZ / 3 / YILI Unlike preprocessor 18 and the processing performed by preprocessing unit 18, the image or image data 17 may also be referred to as raw image or raw image data 17. The preprocessor 18 is configured to receive the (raw) image data 17 and to perform preprocessing of the image data 17 to obtain a preprocessed image 19 or preprocessed image data 19. The preprocessing performed by the preprocessor 18 may include, for example, cropping, color format conversion (e.g., from RGB to YCbCr), color correction, or noise reduction. It can be understood that the preprocessor unit 18 may be an optional component. The video encoder 20 is configured to receive preprocessed image data 19 and provide encoded image data 21 (more details will be described below, for example, based on FIGURE 2). The communication interface 22 of the source device 12 can be configured to receive the encoded image data 21 and to transmit the encoded image data 21 (or any further processed version thereof) through the communication channel 13 to another device, for example, the destination device 14 or any other device, for storage or direct reconstruction. The target device 14 comprises a decoder 30 (for example, a video decoder 30) and may additionally comprise, i.e., optionally, a communication interface or communication unit 28, a pros-processor 32 (or post-processing unit 32) and a display device 34. The communication interface 28 of the destination device 14 is configured to receive the encoded image data 21 (or any further processed version thereof), for example, directly from the source device 12 or from any other source, for example, a storage device, for example, an encoded image data storage device, and provide the encoded image data 21 to the decoder 30. The communication interface 22 and the communication interface 28 can be configured to transmit or receive the encoded image data 21 or the encoded data 13 through a direct communication link between the source device 12 and the destination device 14, for example, a direct wired or wireless connection, or through any type of network, for example, a wired or wireless network or any combination thereof, or any type of public and private network, or any combination thereof. The communication interface 22 can be configured, for example, to package the encoded image data 21 into an appropriate format, e.g., packets and / or process the encoded image data using any type of transmission encoding or processing for transmission over a communication link or communication network. The communication interface 28, which forms the counterpart of the communication interface 22, can be configured, for example, to receive the transmitted data and process the transmission data using any type of corresponding transmission decoding or processing and / or unpacking to obtain the encoded image data 21. Communication interface 22 and communication interface 28 can be configured as unidirectional communication interfaces as indicated by the arrow for communication channel 13 in FIGURE 1A pointing from source device 12 to destination device 14, or as bidirectional communication interfaces and can be configured, for example, to send and receive messages, for example, to establish a connection, to recognize and exchange any other information related to the communication link and / or data transmission, for example, transmission of encoded image data. Decoder 30 is configured to receive encoded image data 21 and provide decoded image data 31 or a decoded image 31 (more details will be described below, for example, based on FIGURE 3 or FIGURE 5). The post-processor 32 of the target device 14 is configured to post-process the decoded image data 31 (also called reconstructed image data), for example, decoded image 31, to obtain post-processed image data 33, for example, a post-processed image 33. The post-processing performed by the post-processing unit 32 may include, for example, color format conversion (for example, from YCbCr to RGB), color correction, cropping or resampling, or any other processing, for example, to prepare the decoded image data 31 for display, for example, by means of the display device 34. The display device 34 of the target device 14 is configured to receive the post-processed image data 33 to display the image, for example, to a user or viewer. The display device 34 may be or comprise any type of display for representing the reconstructed image, for example, an integrated or external screen or monitor. The displays may comprise, for example, liquid crystal displays (LCDs), organic light-emitting diode displays (OLEDs), plasma displays, projectors, micro-LED displays, liquid crystal on silicon (LCoS), digital light processors (DLP), or any other type of display. Although FIGURE 1A depicts the source device 12 and the destination device 14 as separate devices, the device modes may also comprise either or both of the source device 12 or its corresponding functionality and the destination device 14 or its corresponding functionality. In such modes, the source device 12 or its corresponding functionality and the destination device 14 or its corresponding functionality The corresponding ZRQRZn / ZZÜZ / 3 / YILI can be implemented using the same hardware and / or software or by separate hardware and / or software or any combination thereof. As will be evident to the expert based on the description, the existence and (exact) division of functionalities of the different units or functionalities within the source device 12 and / or target device 14 as shown in FIGURE 1A may vary depending on the actual device and application. The encoder 20 (e.g., a video encoder 20) or the decoder 30 (e.g., a video decoder 30), or both the encoder 20 and the decoder 30, may be implemented using a processing circuit as shown in Figure 1B, such as one or more microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), discrete logic, hardware, dedicated video encoding, or any combination thereof. The encoder 20 may be implemented through processing circuitry 46 to incorporate the various modules discussed with respect to the encoder 20 in Figure 2 and / or any other encoder system or subsystem described herein.The decoder 30 can be implemented through processing circuitry 46 to incorporate the various modules as discussed with respect to the decoder 30 in FIGURE 3 and / or any other decoder system or subsystem described herein. The processing circuitry can be configured to perform the various operations as discussed later. As shown in Figure 5, if the techniques are partially implemented in software, a device can store instructions for the software on a suitable, non-transient, computer-readable storage medium and can execute the instructions in hardware using one or more processors to perform the techniques of this disclosure. Either the video encoder 20 or the video decoder 30 can be integrated as part of a combination encoder / decoder (CODEC) in a single device, for example, as shown in FIGURE 1B. Source Device 12 and Destination Device 14 can comprise any of a wide range of devices, including any type of handheld or stationary device, for example, notebook or laptop computers, mobile phones, smartphones, tablets, cameras, desktop computers, set-top boxes, televisions, display devices, digital media players, video game consoles, video streaming devices (such as content service servers or content delivery servers), broadcast receivers, broadcast transmitters, or similar devices, and may not use any or some type of operating system. In some cases, Source Device 12 and Destination Device 14 may be equipped for wireless communication. Thus, Source Device 12 and Destination Device 14 ZRQRZn / ZZÜZ / 3 / YILI can be wireless communication devices. In some cases, the video encoding system illustrated in Figure 1A is merely an example, and the techniques in this application may apply to video encoding configurations (e.g., video encoding or video decoding) that do not necessarily involve any data communication between the encoding and decoding devices. In other examples, data is retrieved from local memory, transmitted over a network, or similarly. A video encoding device may encode and store data in memory, and / or a video decoding device may retrieve and decode data from memory. In some examples, encoding and decoding are performed by devices that do not communicate with each other but simply encode data into memory and / or retrieve and decode data from memory. For the sake of clarity, the embodiments of the invention are described herein, for example, with reference to High Efficiency Video Coding (HEVC) or the Versatile Video Coding (VVC) reference software, the next-generation video coding standard developed by the Joint Collaborative Team on Video Coding (JCT-VC) of the ITU-T Video Coding Expert Group (VCEG) and the ISO / IEC Moving Picture Expert Group (MPEG). Anyone of ordinary skill in the art will understand that the embodiments of the invention are not limited to HEVC or WC. Encoder and Coding Method Figure 2 shows a schematic block diagram of an exemplary video encoder 20 configured to implement the techniques of this application. In the example in Figure 2, the video encoder 20 comprises an input 201 (or input interface 201), a residual calculation unit 204, a transform processing unit 206, a quantization unit 208, an inverse quantization unit 210 and an inverse transform processing unit 212, a reconstruction unit 214, a loop filter unit 220, a decoded image buffer (DPB) 230, a mode selection unit 260, an entropy encoding unit 270, and an output 272 (or output interface 272). The mode selection unit 260 may include an inter-prediction unit 244, an intra-prediction unit 254, and a partitioning unit 262.The inter-prediction unit 244 may include a motion estimation unit and a motion compensation unit (not shown). A video encoder 20 as shown in FIGURE 2 may also be called a hybrid video encoder or a video encoder according to a hybrid video codec. The residual calculation unit 204, the transform processing unit 206, the quantization unit 208, and the mode selection unit 260 can be referred to as forming a non-return signal path of the encoder 20, while the quantization unit ZRQRZn / ZZÜZ / 3 / YILI ZRQRZn / ZZÜZ / 3 / YILI inverse 210, the inverse transform processing unit 212, the reconstruction unit 214, the buffer 216, the loop filter 220, the decoded image buffer (DPB) 230, the inter-prediction unit 244 and the intra-prediction unit 254 may be referred to as forming a return signal path of the video encoder 20, wherein the return signal path of the video encoder 20 corresponds to the signal path of the decoder (see video decoder 30 in FIGURE 3). The inverse quantization unit 210, the inverse transform processing unit 212, the reconstruction unit 214, the loop filter 220, the decoded image buffer (DPB) 230, the inter-prediction unit 244 and the intra-prediction unit 254 also refer to the formation of the “integrated decoder” of the video encoder 20. Images and Image Partitioning (Images and Blocks) The encoder 20 can be configured to receive, for example, via input 201, an image 17 (or image data 17), such as an image from a sequence of images that make up a video or a video sequence. The received image or image data can also be a preprocessed image 19 (or preprocessed image data 19). For simplicity, the following description refers to image 17. Image 17 can also be called the current image block or the image to be encoded (particularly in video encoding to distinguish the current image from other images, such as previously encoded and / or decoded images from the same video sequence, i.e., the video sequence that also comprises the current image). A (digital) image is, or can be considered as, a two-dimensional arrangement or array of samples with intensity values. A sample in the arrangement can also be referred to as a pixel or IE (short for picture element). The number of samples in the horizontal and vertical directions (or axes) of the arrangement or image defines the size and / or resolution of the image. For color representation, three color components are typically used; that is, the image can be represented by or include three sample arrangements. In RGB format or color space, an image comprises a corresponding red, green, and blue sample arrangement. However, in video encoding, each pixel is typically represented in a luminance and chrominance format or color space, for example, YCbCr, which comprises a luminance component denoted by Y (sometimes L is also used) and two chrominance components denoted by Cb and Cr.The luminance component (or luma for short) Y represents the brightness or intensity of the gray level (for example, as in a grayscale image), while the two chrominance components (or chroma for short) Cb and Cr represent the chromaticity or color information components. Therefore, an image in YCbCr format comprises one arrangement of luminance samples with luminance sample values ​​(Y) and two arrangements of chrominance samples with chrominance values ​​(Cb and Cr). RGB images can be converted or transformed into YCbCr format and vice versa; this process is also known as color transformation or conversion. If an image is monochromatic, it may comprise only one arrangement of luminance samples.Consequently, an image can be, for example, a matrix of luma samples in monochromatic format or a matrix of luma samples and two corresponding matrices of chroma samples in 4:2:0, 4:2:2 and 4:4:4 color format. The video encoder modes 20 may include an image partitioning unit (not shown in FIGURE 2) configured to partition the image 17 into a plurality of image blocks 203 (typically non-overlapping). These blocks may also be referred to as root blocks, macroblocks (H.264 / AVC), or encoding tree blocks (CTBs) or encoding tree units (CTUs) (H.265 / HEVC and VVC). The image partitioning unit may be configured to use the same block size for all images in a video sequence and the corresponding grid that defines the block size, or to change the block size between images or subsets or groups of images, and partition each image into the corresponding blocks. In additional modes, the video encoder can be configured to directly receive a block 203 from image 17, for example, one, several, or all of the blocks that make up image 17. Image block 203 can also be referred to as the current image block or the image block to be encoded. Similar to image 17, image block 203 is again, or can be considered as, a two-dimensional array or sample array with intensity values ​​(sample values), although of a lower dimension than image 17. In other words, block 203 may comprise, for example, one sample array (e.g., a luma array in the case of a monochrome image 17, or a luma or chroma array in the case of a color image) or three sample arrays (e.g., one luma and two chroma arrays in the case of a color image 17), or any other number and / or type of arrays depending on the applied color format. The number of samples in the horizontal and vertical directions (or axes) of block 203 defines the size of block 203. Consequently, a block may be, for example, an M x N (M column by N row) sample array, or an M x N transform coefficient array. The video encoder modes 20 as shown in FIGURE 2 can be configured to encode the image 17 block by block, for example, encoding and prediction are done by block 203. The modes of the video encoder 20, as shown in FIGURE 2, can also be configured to partition and / or encode the image using segments (also called video segments), where an image can be partitioned or encoded using ZRQRZn / ZZÜZ / 3 / YILI ZRQRZn / ZZnZ / q / YIAI one or more segments (typically non-overlapping), and each segment may comprise one or more blocks (e.g., CTUs). The modes of the video encoder 20 as shown in FIGURE 2 can also be configured to partition and / or encode the image using tile groups (also called video tile groups) and / or tiles (also called video tiles), wherein an image can be partitioned or encoded using one or more tile groups (usually not overlapping), and each tile group can comprise, for example, one or more blocks (for example, CTUs) or one or more tiles, wherein each tile, for example, can be rectangular in shape and can comprise one or more blocks (for example, CTUs), for example, whole or fractional blocks. Residual Calculation The residual calculation unit 204 can be configured to calculate a residual block 205 (also called residual value 205) based on the image block 203 and a prediction block 265 (more details about prediction block 265 are provided later), for example, by subtracting sample values ​​from prediction block 265 from the sample values ​​of image block 203, sample by sample (pixel by pixel) to obtain the residual block 205 in the sample domain. Transformed The transform processing unit 206 can be configured to apply a transform, for example, a discrete cosine transform (DCT) or discrete sine transform (DST), to sample values ​​of the residual block 205 to obtain transform coefficients 207 in a transform domain. The transform coefficients 207 can also be referred to as residual transform coefficients and represent the residual block 205 in the transform domain. The 206 transform processing unit can be configured to apply integer approximations of DCT / DST, such as the transforms specified in H.265 / HEVC. Compared to an orthogonal DCT transform, such integer approximations are typically scaled by a certain factor. To preserve the norm of the residual block processed by non-return and inverse transforms, additional scaling factors are applied as part of the transform process. Scaling factors are typically chosen based on certain constraints, such as scaling factors being a power of two for shift operations, the bit depth of the transform coefficients, the trade-off between accuracy and implementation costs, and so on.Specific scaling factors are specified, for example, for the inverse transform, for example, by the inverse transform processing unit 212 (and the corresponding inverse transform, by. ZRQRZn / ZZnZ / q / YIAI example, by means of the inverse transform processing unit 312 in the video decoder 30) and the corresponding scaling factors for the non-return transform, for example, by means of the transform processing unit 206, in an encoder 20, can be specified accordingly. The modes of the video encoder 20 (respectively the transform processing unit 206) can be configured to output transform parameters, for example, a type of transform or transforms, for example, directly or encoded or compressed by the entropy encoding unit 270, so that, for example, the video decoder 30 can receive and use the transform parameters for decoding. Quantification The quantization unit 208 can be configured to quantize transform coefficients 207 to obtain quantized coefficients 209, for example, when applying scalar quantization or vector quantization. Quantized coefficients 209 can also be referred to as quantized transform coefficients 209 or quantized residual coefficients 209. The quantization process can reduce the bit depth associated with some or all of the transform coefficients. For example, an n-bit transform coefficient can be rounded down to an m-bit transform coefficient during quantization, where n is greater than m. The degree of quantization can be modified by adjusting a quantization parameter (QP). For example, for scalar quantization, different scaling can be applied to achieve finer or coarser quantization. Smaller quantization stage sizes correspond to finer quantization, while larger quantization stage sizes correspond to coarser quantization. The applicable quantization stage size can be indicated by a quantization parameter (QP). The quantization parameter can be, for example, an index to a predefined set of applicable quantization stage sizes.For example, small quantization parameters may correspond to fine quantization (small quantization stage sizes), and large quantization parameters may correspond to coarse quantization (large quantization stage sizes), or vice versa. Quantization may involve division by a quantization stage size and a corresponding and / or inverse dequantization; for example, the inverse quantization unit 210 may involve multiplication by the quantization stage size. Modalities according to some standards, such as HEVC, may be configured to use a quantization parameter to determine the quantization stage size. Generally, the quantization stage size can be calculated based on a quantization parameter using a fixed-point approximation of an equation that includes division.Additional scaling factors for quantization and dequantization can be introduced to restore the norm of the residual block, which might be altered due to the scaling used in the fixed-point approximation of the equation for the quantization stage size and the quantization parameter. In an exemplary implementation, the inverse transform scaling and dequantization could be combined. Alternatively, custom quantization tables can be used and signaled from an encoder to a decoder, for example, in a bit stream. Quantization is a lossy operation, where the loss increases with increasing quantization stage sizes. The modes of the video encoder 20 (respectively the quantization unit 208) can be configured to output quantization parameters (QP), for example, directly or encoded by the entropy encoding unit 270, so that, for example, the video decoder 30 can receive and apply the quantization parameters for decoding. Inverse Quantization The inverse quantization unit 210 is configured to apply the inverse quantization of the quantization unit 208 to the quantized coefficients to obtain dequantized coefficients 211, for example, by applying the inverse of the quantization scheme applied by the quantization unit 208 based on or using the same quantization stage size as the quantization unit 208. The dequantized coefficients 211 may also be referred to as dequantized residual coefficients 211 and correspond to, although they are typically not identical to, the transform coefficients because of quantization loss, the transform coefficients 207. Inverse Transform The inverse transform processing unit 212 is configured to apply the inverse transform of the transform applied by the transform processing unit 206, for example, an inverse discrete cosine transform (DCT) or an inverse discrete sine transform (DST) or other inverse transforms, to obtain a reconstructed residual block 213 (or corresponding dequantized coefficients 213) in the sample domain. The reconstructed residual block 213 may also be referred to as the transform block 213. Reconstruction The reconstruction unit 214 (e.g., adder or summing unit 214) is configured to add the transform block 213 (i.e., the reconstructed residual block 213) to the prediction block 265 to obtain a reconstructed block 215 in the sample domain, e.g., by adding - sample by sample - the sample values ​​of the reconstructed residual block 213 and the sample values ​​of the prediction block 265. Filtered The 220 loop filter unit (or loop filter 220 for short) is configured to filter the ZRQRZn / ZZnZ / q / YIAI reconstructed block 215 to obtain a filtered block 221 or, more generally, to filter reconstructed samples to obtain filtered samples. The loop filter unit is configured, for example, to smooth pixel transitions or otherwise improve video quality. The loop filter unit 220 may comprise one or more loop filters such as an unblocking filter, an adaptive sample offset (SAO) filter, or one or more other filters, for example, a bilateral filter, an adaptive loop filter (ALF), a sharpening filter, a smoothing filter, or a collaborative filter, or any combination thereof. Although the loop filter unit 220 is shown in FIGURE 2 as a loop filter, in other configurations, the loop filter unit 220 may be implemented as a post-loop filter. The filtered block 221 may also be referred to as the filtered reconstructed block 221. The modes of the video encoder 20 (respectively the loop filter unit 220) can be configured to output loop filter parameters (such as sample adaptive offset information), for example, directly or encoded by the entropy encoding unit 270, so that, for example, a decoder 30 can receive and apply the same loop filter parameters or respective loop filters for decoding. Intermediate Memory for Decoded Images The decoded picture buffer (DPB) 230 can be a memory that stores reference pictures, or more generally reference picture data, for encoding video data by the video encoder 20. The DPB 230 can be made up of any of a variety of memory devices, such as dynamic random-access memory (DRAM), including synchronous DRAM (SDRAM), magnetoresistive RAM (MRAM), resistive RAM (RRAM), or other types of memory devices. The decoded picture buffer (DPB) 230 can be configured to store one or more filtered blocks 221.The decoded image buffer 230 can also be configured to store other pre-filtered blocks, for example, previously reconstructed and filtered blocks 221, from the same current image or from different images, for example, previously reconstructed images, and can provide complete pre-reconstructed, i.e., decoded images (and corresponding reference blocks and samples) and / or a partially reconstructed current image (and corresponding reference blocks and samples), for example, for inter-prediction. The decoded image buffer (DPB) 230 can also be configured to store one or more unfiltered reconstructed blocks 215 or, in general, unfiltered reconstructed samples, for example, if the reconstructed block 215 is not filtered by the loop filter unit 220, or any other further processed version of the reconstructed blocks or samples. Mode Selection (Partitioning and Prediction) The mode selection unit 260 comprises the partitioning unit 262, the interprediction unit 244, and the intraprediction unit 254, and is configured to receive or obtain original image data, for example, an original block 203 (current block 203 of current image 17), and reconstructed image data, for example, filtered and / or unfiltered reconstructed samples or blocks from the same (current) image and / or from one or more previously decoded images, for example, from the decoded image buffer 230 or other buffers (for example, line buffer, not shown). The reconstructed image data is used as reference image data for prediction, for example, interprediction or intraprediction, to obtain a prediction block 265 or predictor 265. The mode selection unit 260 can be configured to determine or select a partition for a current block prediction mode (including no partition) and a prediction mode (e.g., an intra- or inter-prediction mode) and generate a corresponding prediction block 265, which is used for the calculation of the residual block 205 and for the reconstruction of the reconstructed block 215. The Mode Select Unit 260 can be configured to select the partition and prediction mode (for example, from those supported or available to the Mode Select Unit 260) that provide the best match, or in other words, the minimum residual value (minimum residual value means best compression for transmission or storage), or the minimum signaling overhead (minimum signaling overhead means best compression for transmission or storage), or a balance of both. The Mode Select Unit 260 can be configured to determine the partition and prediction mode based on distortion rate optimization (RDO), that is, to select the prediction mode that provides the minimum distortion rate. Terms such as best, minimum, optimal, etc., in this context do not necessarily refer to a general "best," "minimum," "optimal," etc.but they can also refer to compliance with a rescission or selection criterion as a value that exceeds or falls below a threshold or other constraints that potentially lead to a “sub-optimal selection” but reduce complexity and processing time. In other words, partition unit 262 can be configured to partition block 203 into smaller block partitions or subblocks (which again form blocks), for example, by iteratively using quaternary tree partitioning (QT), binary partitioning (BT), or triple tree partitioning (TT), or any combination thereof, and to perform, for example, prediction for each of the block partitions or subblocks, wherein mode selection comprises the selection of the tree structure of the partitioned block 203 and prediction modes are applied to each of the block partitions or subblocks. The partitioning process (e.g., using partition unit 260) and the prediction processing (using inter-prediction unit 244 and unit 260) will be explained in more detail below. ZRQRZn / ZZnZ / q / YIAI ZRQRZn / ZZnZ / q / YIAI of intra-prediction 254) performed by a 20-copy video encoder. Partition The partitioning unit 262 can partition (or divide) an existing block 203 into smaller partitions, for example, smaller square or rectangular blocks. These smaller blocks (which may also be called subblocks) can be further partitioned into even smaller partitions. This also refers to tree partitioning or hierarchical tree partitioning, where a root block, for example, at root tree level 0 (hierarchy level 0, depth 0), can be recursively partitioned, for example, into two or more blocks at a next lower tree level, for example, nodes at tree level 1 (hierarchy level 1, depth 1), where these blocks can be further partitioned into two or more blocks at a next lower level, for example, tree level 2 (hierarchy level 2, depth 2), and so on.until partitioning ends, for example, because a termination criterion is met, such as reaching a maximum tree depth or a minimum block size. Blocks that are no longer partitioned are also called leaf blocks or leaf nodes of the tree. A tree that uses partitioning into two partitions is called a binary tree (BT), a tree that uses partitioning into three partitions is called a ternary tree (TT), and a tree that uses partitioning into four partitions is called a quaternary tree (QT). As mentioned previously, the term "block" as used herein can refer to a portion, specifically a square or rectangular portion, of an image. With reference to HEVC and VVC, for example, the block can be or correspond to a coding tree unit (CTU), a coding unit (CU), a prediction unit (PU), and a transform unit (TU), and / or corresponding blocks, such as a coding tree block (CTB), a coding block (CB), a transform block (TB), or a prediction block (PB). For example, a coding tree unit (CTU) can be or comprise a luma sample CTB, two corresponding chroma sample CTBs of an image that has three sample arrays, or a sample CTB of a monochrome image or an image that is encoded using three separate color planes and syntax structures used to encode the samples. Therefore, a coding tree block (CTB) can be an NxN sample block for some value of N, so that dividing a component into CTBs is a partitioning.A coding unit (CU) can be or comprise a luma sample coding block, two corresponding chroma sample coding blocks of an image having three sample arrays, or a sample coding block of a monochrome image or an image encoded using three separate color planes and syntax structures used to encode the samples. Accordingly, a coding block (CB) can be an MxN sample block for some values ​​of M and N, in such a way. ZRQRZn / ZZnZ / q / YIAI that the division of a CTB into encoding blocks is a partition. In some modalities, for example, according to HEVC, a coding tree unit (CTU) can be divided into CUs using a quaternary tree structure referred to as the coding tree. The decision of whether to encode an image area using between-image (temporal) or within-image (spatial) prediction is made at the CU level. Each CU can be divided into one, two, or four PUs according to the PU division type. Within a PU, the same prediction process is applied, and the relevant prediction information is passed to the decoder on a PU basis. After obtaining the residual block by applying the prediction process based on the PU division type, a CU can be split into transform units (TUs) according to another quaternary tree structure similar to the coding tree for the CU. In some modes, for example, according to the latest video coding standard currently under development, known as Versatile Video Coding (VVC), a combined quad-tree and binary-tree (QTBT) partitioning can be used to partition, for example, a coding block. In the QTBT block structure, a CU can be square or rectangular. For example, a coding tree unit (CTU) is first partitioned into a quad-tree structure. The leaf nodes of the quad-tree are further partitioned using a binary or ternary (or triple) tree structure. The leaf nodes of the partitioned tree are called coding units (CUs), and this partitioning is used for prediction and transform processing without further partitioning. This means that CUs, PUs, and TUs have the same block size in the QTBT coding block structure.In parallel, multiple partitioning, for example, triple tree partitioning, can be used in conjunction with QTBT's block structure. In one example, the mode selection unit 260 of the video encoder 20 can be configured to perform any combination of the partitioning techniques described herein. As described above, the video encoder 20 is configured to determine or select the best or optimal prediction mode from a set of prediction modes (e.g., presets). The set of prediction modes may include, for example, intra-prediction modes and / or inter-prediction modes. Intra-Prediction The set of intra-prediction modes may comprise 35 different intra-prediction modes, e.g., non-directional modes such as DC (or medium) mode and planar mode, or directional modes, e.g., as defined in HEVC, or it may comprise 67 different intra-prediction modes, e.g., non-directional modes such as DC (or medium) mode and planar mode, or directional modes, e.g., as defined for WC. The intra-prediction unit 254 is configured to use reconstructed samples of neighboring blocks of the same current image to generate an intra-prediction block 265 according to an intra-prediction mode from the set of intra-prediction modes. The intra-prediction unit 254 (or in general the mode selection unit 260) is further configured to generate intra-prediction parameters (or in general indicative information of the intra-prediction mode selected for the block) in the entropy coding unit 270 in the form of syntax elements 266 for inclusion in the encoded image data 21, so that, for example, the video decoder 30 can receive and use the prediction parameters for decoding. Inter-Prediction The set of inter-prediction modes (or possible modes) depends on the available reference images (i.e., previous images at least partially decoded, for example, stored in DBP) and other inter-prediction parameters, for example, whether the entire reference image or only a part, for example, a search window area around the current block area, of the reference image is used to search for a reference block that best matches and / or, for example, whether or not pixel interpolation is applied, for example, half / semi-pixel and / or quarter-pixel interpolation. In addition to the prediction modes above, a skip mode and / or a direct mode can be applied. The inter-prediction unit 244 may include a motion estimation (ME) unit and a motion compensation (MC) unit (not shown in FIGURE 2). The motion estimation unit may be configured to receive or obtain image block 203 (current image block 203 from current image 17) and a decoded image 231, or at least one or more previously reconstructed blocks, for example, blocks reconstructed from one or more other / different previously decoded images 231, for motion estimation. For example, a video sequence may comprise the current image and previously decoded images 231, or in other words, the current image and previously decoded images 231 may be part of or form part of a sequence of images that make up a video sequence. The encoder 20 can, for example, be configured to select a reference block from a plurality of reference blocks from the same or different images from a plurality of other images and provide a reference image (or reference image index) and / or an offset (spatial offset) between the position (x, y coordinates) of the reference block and the position of the current block as inter-prediction parameters to the motion estimation unit. This offset is also called the motion vector (MV). The motion compensation unit is configured to obtain, for example, receive, a ZRQRZn / ZZÜZ / 3 / YILI The interprediction parameter is used to perform an interprediction based on or using the interprediction parameter to obtain an interprediction block. Motion compensation, performed by the motion compensation unit, may involve searching for or generating the prediction block based on the motion vector / block determined by the motion estimate, possibly performing subpixel-accurate interpolations. Interpolation filtering can generate additional pixel samples from known pixel samples, potentially increasing the number of candidate prediction blocks that can be used to encode an image block. Upon receiving the motion vector for the current image block's PU, the motion compensation unit can locate the prediction block that the motion vector points to in one of the reference image lists. The motion compensation unit can also generate syntax elements associated with video blocks and segments for use by the video decoder 30 to decode the image blocks of the video segment. In addition to, or as an alternative to, the respective segments and syntax elements, tile groups and / or tiles and their respective syntax elements can be generated or used. Entropy Coding The entropy coding unit 270 is configured to apply, for example, an entropy coding algorithm or scheme (for example, a variable-length coding scheme (VLC), a context-adaptive VLC scheme (CAVLC), an arithmetic coding scheme, a binarization, a context-adaptive binary arithmetic coding (CABAC), syntax-based context-adaptive binary arithmetic coding (SBAC), probability interval partitioning (PIPE) entropy coding, or other entropy coding methodology or technique) or derivation (without compression) on the quantized coefficients 209, inter-prediction parameters, intra-prediction parameters, loop filter parameters, and / or other syntax elements to obtain encoded image data 21 that can be output via the output 272, for example, in the form of an encoded bit stream 21, such that, for example,The video decoder 30 can receive and use the parameters for decoding. The encoded bit stream 21 can be transmitted to the video decoder 30 or stored in memory for later transmission or retrieval by the video decoder 30. Other structural variations of the video encoder 20 can be configured to encode the video stream. For example, a non-transform-based encoder 20 can quantize the residual signal directly without the transform processing unit 206 for certain blocks or frames. In another implementation, an encoder 20 can have the quantization unit 208 and the inverse quantization unit 210 combined into a single unit. Decoder and Decoding Method ZRQRZn / ZZnZ / q / YIAI ZRQRZn / ZZÜZ / q / YIAI Figure 3 shows an example of a video decoder 30 configured to implement the techniques of this application. The video decoder 30 is configured to receive encoded image data 21 (e.g., encoded bit stream 21), e.g., encoded by the encoder 20, to obtain a decoded image 331. The encoded image data or bit stream comprises information for decoding the encoded image data, e.g., data representing image blocks of an encoded video segment (and / or groups of tiles or tiles) and associated syntax elements. In the example in FIGURE 3, the decoder 30 comprises an entropy decoding unit 304, an inverse quantization unit 310, an inverse transform processing unit 312, a reconstruction unit 314 (e.g., a summing unit 314), a loop filter 320, a decoded picture buffer (DBP) 330, a mode application unit 360, an inter-prediction unit 344, and an intra-prediction unit 354. The inter-prediction unit 344 may be or include a motion compensation unit. The video decoder 30 may, in some examples, perform a decoding pass that is generally the reciprocal of the encoding pass described with respect to the video encoder 100 in FIGURE 2. As explained with respect to the encoder 20, the inverse quantization unit 210, the inverse transform processing unit 212, the reconstruction unit 214, the loop filter 220, the decoded picture buffer (DPB) 230, the inter-prediction unit 344, and the intra-prediction unit 354 are also referred to as the “integrated decoder” formation of the video encoder 20.Therefore, the inverse quantization unit 310 may be functionally identical to the inverse quantization unit 110, the inverse transform processing unit 312 may be functionally identical to the inverse transform processing unit 212, the reconstruction unit 314 may be functionally identical to the reconstruction unit 214, the loop filter 320 may be functionally identical to the loop filter 220, and the decoded image buffer 330 may be functionally identical to the decoded image buffer 230. Therefore, the explanations provided for the respective units and functions of the video encoder 20 apply correspondingly to the respective units and functions of the video decoder 30. Entropy Decoding The entropy decoding unit 304 is configured to analyze the bit stream 21 (or, more generally, encoded image data 21) and perform, for example, entropy decoding on the encoded image data 21 to obtain, for example, quantized coefficients 309 and / or decoded encoding parameters (not shown in FIGURE 3), such as any or all inter-prediction parameters (e.g., reference image index and motion vector), intra-prediction parameters (e.g., intra-prediction index or mode), transform parameters, quantization parameters, loop filter parameters, and / or other syntax elements. The entropy decoding unit 304 can be configured to apply the decoding algorithms or schemes corresponding to the encoding schemes described with respect to the entropy coding unit 270 of the encoder 20.The entropy decoding unit 304 can also be configured to provide inter-prediction parameters, intra-prediction parameters, and / or other syntax elements to the 360 ​​mode application unit and other parameters to other units of the decoder 30. The video decoder 30 can receive syntax elements at the video segment level and / or the video block level. In addition to or as an alternative to the respective segments and syntax elements, groups of tiles and / or individual tiles and their respective syntax elements can be received and / or used. Inverse Quantization The inverse quantization unit 310 can be configured to receive quantization parameters (QP) (or inverse quantization-related information in general) and quantized coefficients from the encoded image data 21 (e.g., by analysis and / or decoding, e.g., by the entropy decoding unit 304) and apply inverse quantization to the decoded quantized coefficients 309 based on the quantization parameters to obtain dequantized coefficients 311, which may also be referred to as transform coefficients 311. The inverse quantization process may include the use of a quantization parameter determined by the video encoder 20 for each video block in the video segment (or mosaic or group of mosaics) to determine a degree of quantization and, likewise, a degree of inverse quantization to be applied. Inverse Transform The inverse transform processing unit 312 can be configured to receive dequantized coefficients 311, also referred to as transform coefficients 311, and to apply a transform to the dequantized coefficients 311 to obtain reconstructed residual blocks 213 in the sample domain. The reconstructed residual blocks 213 can also be referred to as transform blocks 213. The transform can be an inverse transform, for example, an inverse DCT, an inverse DST, an inverse integer transform, or a conceptually similar inverse transform process.The inverse transform processing unit 312 can also be configured to receive transform parameters or corresponding information from the encoded image data 21 (e.g., when analyzing and / or decoding, e.g., by the entropy decoding unit 304) to determine the transform to be applied to the dequantized coefficients 311. ZRQRZn / ZZnZ / 3 / YILI ZRQRZn / ZZnZ / q / YIAI Reconstruction The reconstruction unit 314 (e.g., adder or summing unit 314) can be configured to add the reconstructed residual block 313 to the prediction block 365 to obtain a reconstructed block 315 in the sample domain, e.g., by adding the sample values ​​of the reconstructed residual block 313 and the sample values ​​of the prediction block 365. Filtered Loop filter unit 320 (either in the encoding loop or after the encoding loop) is configured to filter the reconstructed block 315 to obtain a filtered block 321, for example, to regulate pixel transitions or otherwise improve video quality. Loop filter unit 320 may comprise one or more loop filters such as an unblocking filter, a sample adaptive offset (SAO) filter, or one or more other filters, for example, a bilateral filter, an adaptive loop filter (ALF), a sharpening filter, a smoothing filter, or a collaborative filter, or any combination thereof. Although loop filter unit 320 is shown in FIGURE 3 as a loop filter, in other configurations, loop filter unit 320 may be implemented as a post-loop filter. Intermediate Memory for Decoded Images The decoded video blocks 321 of an image are then stored in the decoded images buffer 330, which stores the decoded images 331 as reference images for subsequent motion compensation for other images and / or for output display respectively. Decoder 30 is configured to produce the decoded image 311, for example, through output 312, for presentation or display to a user. Prediction The inter-prediction unit 344 may be identical to the inter-prediction unit 244 (in particular to the motion compensation unit), and the intra-prediction unit 354 may be identical to the inter-prediction unit 254 in function. It performs splitting or partitioning and prediction decisions based on the partitioning and / or prediction parameters or respective information received from the encoded image data 21 (e.g., through analysis and / or decoding, e.g., by the entropy decoding unit 304). The mode 360 ​​application unit may be configured to perform block prediction (intra- or inter-prediction) based on reconstructed images, blocks, or respective samples (filtered or unfiltered) to obtain the prediction block 365. When the video segment is encoded as an intra-coded segment (I), the intra-prediction unit 354 of the mode 360 ​​application unit is configured to generate prediction block 365 for an image block of the current video segment based on a signaled intra-prediction mode and previously decoded block data from the current image. When the video image is encoded as an inter-coded segment (i.e., B or P), the inter-prediction unit 344 (e.g., the motion compensation unit) of the mode 360 ​​application unit is configured to produce prediction blocks 365 for a video block of the current video segment based on motion vectors and other syntax elements received from the entropy decoding unit 304. For inter-prediction, prediction blocks can be produced from one of the reference images within one of the reference image lists.The video decoder 30 can construct the reference frame lists, List 0 and List 1, using default construction techniques based on the reference images stored in DPB 330. The same or similar can be requested for or by means of modes that use tile groups (e.g., video tile groups) and / or tiles (e.g., video tiles) in addition to or alternatively to segments (e.g., video segments); for example, a video can be encoded using tile groups and / or I, P, or B tiles. The 360 ​​mode application unit is configured to determine prediction information for a video block of the current video segment by analyzing motion vectors or related information and other syntax elements, and uses the prediction information to produce the prediction blocks for the current video block being decoded.For example, the 360 ​​mode application unit uses some of the received syntax elements to determine a prediction mode (e.g., intra- or inter-prediction) used to encode the video blocks in the video segment, an inter-prediction segment type (e.g., segment B, segment P, or segment GPB), construction information for one or more of the reference picture lists for the segment, motion vectors for each inter-coded video block in the segment, inter-prediction state for each inter-coded video block in the segment, and other information to decode the video blocks in the current video segment.The same or similar may be requested for or by means of methods that use tile groups (e.g., video tile groups) and / or tiles (e.g., video tiles) in addition to or alternatively to segments (e.g., video segments), e.g., a video may be encoded using tile groups and / or I, P or B tiles. The video decoder modes 30 as shown in FIGURE 3 can be configured to partition and / or decode the image using segments (also called video segments), where an image can be partitioned or decoded using one or more (typically non-overlapping) segments, and each segment can comprise one or more blocks (e.g., CTUs). The modes of the video decoder 30 as shown in FIGURE 3 can ZRQRZn / ZZnZ / q / YIAI can be configured to partition and / or decode the image using tile groups (also called video tile groups) and / or tiles (also called video tiles), wherein an image can be partitioned or decoded using one or more tile groups (usually not overlapping), and each tile group can comprise, for example, one or more blocks (for example, CTUs) or one or more tiles, wherein each tile, for example, can be rectangular in shape and can comprise one or more blocks (for example, CTUs), e.g., whole or fractional blocks. Other variations of the video decoder 30 can be used to decode the encoded image data 21. For example, the decoder 30 can produce the output video stream without the loop filtering unit 320. For example, a non-transform-based decoder 30 can inversely quantize the residual signal directly without the inverse transform processing unit 312 for certain blocks or frames. In another implementation, the video decoder 30 can have the inverse quantization unit 310 and the inverse transform processing unit 312 combined into a single unit. It should be understood that, in encoder 20 and decoder 30, a processing result from a current stage can be further processed and then passed to the next stage. For example, after interpolation filtering, motion vector derivation, or loop filtering, an additional operation, such as clipping or shifting, can be performed on the processing result of the interpolation filtering, motion vector derivation, or loop filtering. It should be noted that additional operations can be applied to move vectors derived from the current block (including, but not limited to, affine mode control point move vectors, subblock move vectors in affine, planar, and ATMVP modes, temporary move vectors, and so on). For example, the value of a move vector is restricted to a predefined range according to its representation bit. If the representation bit of the move vector is bitDepth, then the range is -2A(bitDepth-1) to 2A(bitDepth-1)-1, where “A” stands for exponentiation. For example, if bitDepth is set to 16, the range is -32768 to 32767; if bitDepth is set to 18, the range is -131072 to 131071.For example, the value of the derived move vector (e.g., the MVs of four 4x4 subblocks within an 8x8 block) is restricted so that the maximum difference between the integer parts of the four MVs of 4x4 subblocks does not exceed N pixels, such as no more than 1 pixel. Two methods for restricting the move vector according to bitDepth are provided here. Method 1: Remove the overflow MSB (most significant bit) using operations of ZRQRZn / ZZnZ / q / YIAI flow ZRQRZn / ZZnZ / q / YIAI ux— ( mvx+2bitDePth) % 2bitDepth(1) mvx = ( ux >= 2bitDePtb'1) ? (ux - 2bitDePth) : ux(2) uy= ( mvy+2bitDepth) % 2bitDeptb(3) mvy = ( uy >= 2bitDePtb'1) ? (uy - 2bitDePth) : uy(4) where mvx is a horizontal component of a motion vector of an image block or subblock, mvy is a vertical component of a motion vector of an image block or subblock, and ux and uy indicate an intermediate value; For example, if the value of mvx is -32769, after applying formulas (1) and (2), the resulting value is 32767. In the computer system, decimal numbers are stored as two's complement. The two's complement of -32769 is 1,0111,1111,1111,1111 (17 bits), then the MSB is discarded, so the resulting two's complement is 0111,1111,1111,1111 (the decimal number is 32767), which is the same as the result of applying formulas (1) and (2). ux= ( mvpx + mvdx +2bitDeP'h) % 2b¡tDepth(5) mvx = ( ux >= 2bitDePth'1) ? (ux - 2bitDePth) : ux(6) uy= ( mvpy + mvdy +2bitDePth) % 2b¡tDepth(7) mvy = ( uy >= 2bitDePtb'1) ? (oops - 2bitDePth) : oops(8) The operations can be applied during the sum of mvp and mvd, as shown in formula (5) to (8). Method 2: Eliminate the overflow MSB by clipping the value vx = Clip3(-2bitDeP'h-1, 2bitDeP'h-1-1, vx) vy = Clip3(-2bitDeP'h·1, 2bitDePtb·1-1, vy) where vx is a horizontal component of a motion vector of an image block or subblock, vy is a vertical component of a motion vector of an image block or subblock; x, yz correspond respectively to three input values ​​of the MV clipping process, and the definition of the Clip3 function is as follows: rx ; z < x Clip3( x, y, z ) = jy ; z>y (z ; otherwise Figure 4 is a schematic diagram of a video encoding device 400 according to one embodiment of the disclosure. The video encoding device 400 is suitable for implementing the disclosed embodiments as described herein. In one embodiment, the video encoding device 400 may be a decoder such as video decoder 30 in Figure 1A or an encoder such as video encoder 20 in Figure 1A. The video encoding device 400 comprises input ports 410 (or input ports 410) and receiver (Rx) units 420 for receiving data; a processor, logic unit, or central processing unit (CPU) 430 for processing the data; transmitter (Tx) units 440 and output ports 450 (or output ports 450) for transmitting the data; and a memory 460 for storing the data. The video encoding device 400 may also comprise optical-to-electrical (OE) and electrical-to-optical (EO) components coupled to the input ports 410, receiver units 420, transmitter units 440, and output ports 450 for the output or input of optical or electrical signals. The 430 processor is implemented using both hardware and software. It can be implemented as one or more CPU chips, cores (e.g., as a multi-core processor), FPGAs, ASICs, and DSPs. The 430 processor communicates with input ports 410, receiver units 420, receiver units 440, output ports 450, and memory 460. The 430 processor includes an encoding module 470. The encoding module 470 implements the disclosed modes described above. For example, the encoding module 470 implements, processes, prepares, or provides various encoding operations. Therefore, the inclusion of the encoding module 470 substantially enhances the functionality of the video encoding device 400 and transforms the video encoding device 400 into a different state.Alternatively, the 470 encoding module is implemented as instructions stored in memory 460 and executed by the 430 processor. 460 memory can comprise one or more disks, tape drives, and solid-state drives and can be used as an overflow data storage device, to store programs when such programs are selected for execution, and to store instructions and data read during program execution. 460 memory can be, for example, volatile and / or non-volatile and can be read-only memory (ROM), random-access memory (RAM), ternary content addressable memory (TCAM), and / or static random-access memory (SRAM). FIGURE 5 is a simplified block diagram of an apparatus 500 that can be used as either or both of the source device 12 and the destination device 14 of FIGURE 1A according to an exemplary modality. A 502 processor in the 500 device can be a central processing unit. Alternatively, the 502 processor can be any other type of device, or multiple devices, capable of manipulating or processing information that exists now or may be developed in the future. Although the implementations described can be carried out with a single processor, as shown, for example, the 502 processor, advantages in speed and efficiency can be achieved by using more than one processor. A 504 memory in the 500 device can be a read-only memory device ZRQRZn / ZZnZ / q / YIAI ZRQRZn / ZZÜZ / 3 / YILI (ROM) or a random access memory (RAM) device in an implementation. Any other suitable type of storage device may be used as memory 504. Memory 504 may include code and data 506 accessed by the processor 502 using a bus 512. Memory 504 may further include an operating system 508 and application programs 510. The application programs 510 include at least one program that enables the processor 502 to perform the methods described herein. For example, the application programs 510 may include applications 1 through N, which further include a video encoding application that performs the methods described herein. The device 500 may also include one or more output devices, such as a display 518. The display 518 may be, for example, a touch-sensitive display that combines a screen with a touch-sensitive element operable to detect touch inputs. The display 518 may be coupled to the processor 502 via bus 512. Although shown here as a single bus, the Appliance 500's bus 512 can actually consist of multiple buses. Furthermore, secondary storage 514 can be directly connected to the other Appliance 500 components or accessed via a network and can comprise a single integrated unit, such as a memory card, or multiple units, such as multiple memory cards. In this way, the Appliance 500 can be implemented in a wide variety of configurations. As mentioned in the JM Boyce paper “Weighted prediction in the H.264 / MPEG AVC video coding standard”, IEEE International Symposium on Circuits and Systems, May 2004, Canada, pp. 789-792, Weighted Prediction (WP) is a tool particularly useful for encoding fades. The Weighted Prediction (WP) tool has been adopted in the Main and Extended profiles of the H.264 video coding standard to improve coding efficiency by applying a multiplicative weighting factor and an additive offset to the motion-compensated prediction to form a weighted prediction. In explicit mode, a weighting factor and offset can be encoded in the segment header for each allowed reference frame index.In implicit mode, the weighting factors are not hardcoded but are derived based on the relative picture order count (POC) distances of the two reference images. Experimental results measuring the coding efficiency improvement using WP are provided. When encoding fade-to-black sequences, bit rate reductions of up to 67% were achieved. When applied to a single prediction, as in P images, WP is similar to leaky prediction, which has been previously proposed for error resistance. Leaky prediction becomes a special case of WP, with the scale factor limited to the range 0 < a < 1. H.264 WP allows negative scale factors and scale factors greater than one. A scale factor of ZRQRZn / ZZnZ / q / YIAI pixel-by-pixel weighting using an encoded tag field, for efficient compression of covered and uncovered regions. A key difference of the H.264 weighting tool from previous proposals involving weighted prediction for compression efficiency is the association of the reference image index with the weighting factor parameters, allowing efficient signaling of these parameters in a multi-reference image environment. As written in the paper by R. Zhang and G. Cote, “accurate parameter estimation and efficient fade detection for weighted prediction in H.264 video compression,” 15th IEEE International Conference on Image Processing, October 2008, San Diego, California, USA, pp. 2836–2839, the procedure for applying weighted prediction in a real-time encoding system can be formalized as a sequence of steps shown in Figure 6.First, some statistics (611) are generated through video analysis (610). These statistics (611), within a small window, are taken from several previous images up to the current image and are then used to detect fading. Each image is assigned a status value (631) indicating whether the image is in the NORMAL or FADING state. These status values ​​are saved for each image. When encoding an image, if there is a FADING state in the current image or one of its reference images, the WP (Workbench) will be used for this current-reference pair. Statistics from the current image and the corresponding reference image are processed in stage (650) to estimate the WP parameters. These parameters are then passed to the encoding engine (660). Otherwise, normal encoding is performed. As described in the paper by A. Leontañs and A.M. Tourapis, “Weighted prediction methods for improved motion compensation,” presented at the 16th IEEE International Conference on Image Processing (ICIP), November 2009, Cairo, Egypt, pp. 1029–1032, a macroblock in H.264 is divided into macroblock partitions. For each macroblock partition, a reference is selected from each of the available reference lists (often referred to in the specifications as RefPicList): list 0 for Po-code segments and Bola reference list 1 for B-code segments. The references used can be different for each partition. Using these references, a prediction block is generated for each list: P for single-list prediction and Po and Pi for bi-prediction, using motion information with, optionally, subpixel precision.Prediction blocks can be further processed depending on the availability of weighted prediction for the current segment. For P segments, the WP parameters are transmitted in the segment header. For B segments, there are two options. In explicit WP, the parameters are transmitted in the segment header, and in implicit WP, the parameters are derived based on the Picture Order Count (POC) number signaled in the segment header. In this document, we will focus only on explicit WP and how this method could be used to improve compensation performance. ZRQRZn / ZZnZ / q / YIAI movement. Note that in HEVC and VVC, PB is used similarly to macroblock partitioning in AVC. For P or WP segments with a single-list explicit prediction in B segments, the prediction block is drawn from a single reference. Let p be a sample value in the P prediction block. If weighted prediction is not used, then the final inter-prediction sample is f=p. Otherwise, the predicted sample is: _ í ((px ir +1)» log WD)+ o, log WD > 1 [(px + oy), otherwise] The terms w* and ox are the WP gain and shift parameters for the reference list x. The term logWD is transmitted in the bit stream and controls the mathematical precision of the weighted prediction process. For logWD > 1, the above expression is rounded off from zero. Similarly, for bi-prediction, two prediction blocks are considered, one for each reference list. Let po and pi denote samples in each of the two prediction blocks Po and Pi. If weighted prediction is not used, the prediction is performed as follows: f “(A * A +1) · 1 · For weighted bi-prediction, the prediction is performed as: f = ((po o + A γ (logJTAl)) + ( (οθ η- O] +1) > > 1) It is important to note that weighted prediction can compensate for lighting changes, such as an entrance fade, an exit fade, or a cross fade. At the high level in WC, weighted prediction is signaled in SPS, PPS, and segment header. In SPS, the following syntax elements are used for this purpose: -sps_weighted_pred_flag equal to 1 specifies that weighted prediction can be applied to P segments that reference SPS. spsweightedpredflag equal to 0 specifies that weighted prediction is not applied to P segments that reference SPS; -spsweightedbipredflag equal to 1 specifies that weighted prediction can be applied to B segments that reference SPS. sps weighted bipred flag equal to 0 specifies that weighted prediction does not apply to B segments that reference SPS. In PPS, the following syntax elements are used to: ppsweightedpredflag equal to 0 specifies that weighted prediction is not applied to P segments that reference PPS. pps_weighted_pred_flag equal to 1 specifies that weighted prediction is applied to P segments that reference PPS. When ZRQRZn / ZZnZ / q / YIAI spsweightedpredflag is equal to 0, the value of pps weighted pred flag must be equal to 0; -ppsweightedbipredflag equal to 0 specifies that weighted prediction is not applied to B segments that reference PPS. pps_weighted_bipred_flag equal to 1 specifies that weighted prediction is applied to B segments that reference PPS. When sps_weighted_bipred_flag is equal to 0, the value of pps_weighted_bipred_flag must be equal to 0. In the segment header, the weighted prediction parameters are signaled as pred_weight_table() structured as in Table 1 and containing the following elements: Iuma_log2_weight_denom is the base-2 logarithm of the denominator for all luma weighting factors. The value of Iuma_log2_weight_denom must be in the range of 0 to 7, inclusive. delta_chroma_log2_weight_denom is the difference of the base 2 logarithm of the denominator for all chroma weighting factors. When delta_chroma_log2_weight_denom is not shown, it is inferred to be equal to 0. The variable ChromaLog2WeightDenom is derived to be equal to Iuma_log2_weight_denom + delta_chroma_log2_weight_denom and the value must be in the range of 0 to 7, inclusive. luma_weight_IO_flag[i] equal to 1 specifies that the weighting factors for the luma component of list prediction 0 using RefPicList[0][i] are present. luma_weight_IO_flag[i] equal to 0 specifies that these weighting factors are not present. `chroma_weight_IO_flag[i]` equal to 1 specifies that the weighting factors for the chroma prediction values ​​of list prediction 0 using `RefPicList[0][i]` are present. `chroma_weight_IO_flag[i]` equal to 0 specifies that these weighting factors are not present. When `chroma_weight_IO_flag[i]` is not present, it is inferred to be equal to 0. delta_luma_weight_IO[ i ] is the difference of the weighting factor applied to the luma prediction value for list 0 prediction using RefPicList[ 0 ][ i ]. The variable LumaWeightLO[i] is derived to be equal to (1 « Luma_log2_weight_denom) + delta_luma_weight_IO[i]. When luma_weight_IO_flag[i] is equal to 1, the value of delta_luma_weight_IO[i] must be in the interval from -128 to 127, inclusive. When luma_weight_IO_flag[i] is equal to 0, LumaWeightLO[i] is inferred to be equal to 2luma-log2-weight-denom. Iuma_offset_l0[i] is the additive offset applied to the luma prediction value for list 0 prediction using RefPicList[0][i]. The value of luma_offset_IO[i] must be in the range of 128 to 127, inclusive. When luma_weight_IO_flag[i] is equal to 0, luma_offset_IO[i] is inferred to be equal to 0. delta_chroma_weight_IO[ i ][ j ] is the difference of the weighting factor applied to the chroma prediction values ​​for list 0 prediction using RefPicList[ 0 ][ i ] with j equal to 0 for Cb and j equal to 1 for Cr. ZRQRZn / ZZnZ / q / YIAI The variable ChromaWeightLO[i][j] is derived to be equal to (1 « ChromaLog2WeightDenom) + delta_chroma_weight_IO[i][j]. When chromaweightIO_flag[i] is equal to 1, the value of delta_chroma_weight_IO[i][j] should be in the range of -128 to 127, inclusive. When chroma weight IO flag[i] is equal to 0, ChromaWeightLO[i][j] is inferred to be equal to 2Chroma Log2WeightDenom. delta_chroma_offset_IO[i][j] is the difference of the additive offset applied to the chroma prediction values ​​for list prediction 0 using RefPicList[0][i] with j equal to 0 for Cb and j equal to 1 for Cr. The ChromaOffsetLO[ i ][ j ] variable is derived as follows: ChromaOffsetLO[ i ][ j ] = Clip3( -128, 127, ( 128 + delta_chroma_offset_IO[ i ][ j ] (( 128 * ChromaWeightLO[ i ][ j ]) » ChromaLog2WeightDenom ) )) The value of delta_chroma_offset_IO[ i ][ j ] must be in the range of -4 * 128 to 4 * 127, inclusive. When chroma_weight_IO_flag[ i ] is equal to 0, ChromaOffsetLO[ i ][ j ] is inferred to be equal to 0. Iuma_weight_l1_flag[ i ], chroma_weight_l1_flag[ i ], delta_luma_weight_l1[ i ], Iuma_offset_l1 [ i ], delta_chroma_weight_l1 [ i ][ j ] and delta_chroma_offset_l1[ i ][ j ] have the same semantics as luma_weight_IO_flag[ i ], chroma_weight_IO_flag[ i ], delta_luma_weight_IO[ i ], luma_offset_IO[ i ], delta_chroma_weight_IO[ i ][j ] and delta_chroma_offset_IO[ i ][ j ], respectively, with I0, LO, list 0 and ListO replaced by 11, L1, list 1 and Listl, respectively. The variable sumWeightLOFIags is derived to be equal to the sum of luma_weight_IO_flag[ i ] + 2 * chroma_weight_IO_flag[ i ], for i = O..NumRefldxActive[ 0 ] - 1. When slice_type is equal to B, the variable sumWeightLIFIags is derived to be equal to the sum of Iuma_weight_l1_flag[ i ] + 2 * chroma_weight_l1_flag[ i ], for i = 0..NumRefldxActive[ 1 ] 1. It is a requirement of bitstream compliance that, when slice type equals P, sumWeightLOFIags is less than or equal to 24 and when slice_type equals B, the sum of sumWeightLOFIags and sumWeightLI Flags is less than or equal to 24. Table 1. Syntax of weighted prediction parameters pred_weight_table( ) { Descriptor Iuma_log2_weight_denom ue(v) if( ChromaArrayType != 0 ) delta_chroma_log2_weight_denom se(v) for( i = 0; i < NumRefldxActive[ 0 ]; i ++ ) ZRQRZn / ZZnZ / q / YIAI luma_weight_IO_flag[ i ] u(1) if( ChromaArrayType != 0 ) for( i = 0; i < NumRefldxActive[ 0 ]; i++ ) chroma_weight_IO_flag[ i ] u(1) for( i = 0; i < NumRefldxActive[ 0 ]; i++ ) { if( luma_weight_IO_flag[ i ] ) { delta_luma_weight_IO[ i ] se(v) luma_offset_IO[ i ] se(v)} if( chroma_weight_IO_flag[ i ]) for( j = 0; j < 2; j++){ delta_chroma_weight_IO[ i ][j ] se(v) delta_chroma_offset_IO[ i ][j ] se(v)}} if( slice type = = B ) { for( i = 0; i < NumRefldxActive[ 1 ]; i++ ) Iuma_weight_l1_flag[ i ] u(1) if( ChromaArrayType != 0 ) for( i = 0; i < NumRefldxActive[ 1 ]; i++ ) chroma_weight_l1_flag[ i ] u(1) for( i = 0; i < NumRefldxActive[ 1 ]; i++ ) { if( Iuma_weight_l1_flag[ i ] ) { delta_luma_weight_l1[ i ] se(v) Iuma_offset_l1[ i ] se(v)} if( chroma_weight_l1_flag[ i ]) for( j = 0; j < 2; j++ ) { delta_chroma_weight_l1[ i ][ j ] se(v) delta_chroma_offset_l1 [ i ][ j ] se(v)}}}} In a contribution to JVET-O0244 (V. Seregin et al. “AHG17: Zero POC delta in the reference image structure,” 15th JVET meeting, Gothenburg, Sweden), it was noted that in the current draft VVC specification, reference images are signaled in the reference image structure (RPS), where abs_delta_poc_st represents the POC delta value, which can be equal to 0. The RPS can be signaled in the SPS and segment header. This functionality is necessary for ZRQRZn / ZZnZ / 3 / YILI signals different weights for the same reference image, and is potentially necessary if layered scalability is supported with the same POC values ​​used across layers in the access unit. This contribution establishes that repeated reference images are not necessary when weighted prediction is not enabled. Among other things, this contribution proposes rejecting zero delta POC values ​​when weighted prediction is not enabled. Table 2. RBSP (Raw Byte Sequence Payload) Syntax of the _______ sequence parameter set__________________________________________________ seq_parameter_set_rbsp( ) { Descriptor sps_decoding_parameter_set_id u(4) sps_video_parameter_set_id u(4) sps_max_sub_layers_minus1 u(3) s ps_rese rved_ze ro_5b i ts u(5) profile_tier_level( sps_max_sub_layers_minus1 ) gdr_enabled_flag u(1) sps_seq_parameter_set_id ue(v) chroma_format_idc ue(v) if( chroma format idc = = 3 ) separate_colour_plane_flag u(1) pic_width_max_in_luma_samples ue(v) pic_height_max_in_luma_samples ue(v) s u bp ics_p resent_f lag u(1) if( subpics_present_flag ) { max_subpics_minus1 u(8) subp¡cgrid_col_w¡dth_minus1 u(v) subpic_grid_row_height_minus1 u(v) for( i = 0; i < NumSubPicGridRows; i++ ) for( j = 0; j < NumSubPicGridCols; j++ ) subpic grid idx[ i ][ j ] u(v) for( i = 0; I <= NumSubPics; i++ ) { subpic_treated_as_pic_flag[ i ] u(1) loop_filter_across_subpic_enabled_flag[ i ] u(1)}} bit_depth_luma_minus8 ue(v) bit_depth_chroma_minus8 ue(v) min_qp_prime_ts_minus4 ue(v) Iog2_max_pic_order_cnt_lsb_minus4 ue(v) if( sps_max_sub_layers_minus1 > 0 ) ZRQRZn / ZZnZ / 3 / ΥΙΛΙ sps_sub_layer_ordering_info_present_flag u(1) for( i = ( sps_sub_layer_ordering_info_present_flag ? 0 : sps_max_sub_layers_minus1 ); I <= sps_max_sub_layers_minus1; i++ ) { sps_max_dec_pic_buffering_minus1[ i ] ue(v) sps_max_num_reorder_pics[ i ] ue(v) sps_max_latency_increase_plus1[ i ] ue(v)} long_term_ref_pics_flag u(1) inter_layer_ref_pics_present_flag u(1) sps_idr_rpl_present_flag u(1) rpl1_same_as_rplO_flag u(1) for( i = 0; i < !rpl1_same_as_rplO_flag ? 2 : 1; i++ ) { num_ref_pic_lists_in_sps[ i ] ue(v) for( j = 0; j < num_ref_pic_l¡sts_in_sps[ i ]; j++) ref_pic_l¡st_struct( i, j )} if( ChromaArrayType != 0 ) qtbtt_dual_tree_intra_flag u(1) Iog2_ctu_size_m i n us5 u(2) Iog2_min_luma_coding_block_size_minus2 ue(v) partition_constraints_overr¡de_enabled_flag u(1) sps_log2_diff_min_qt_min_cb_intra_slice_luma ue(v) sps_log2_diff_min_qt_min_cb_inter_slice ue(v) sps_max_mtt_hierarchy_depth_inter_slice ue(v) sps_max_mtt_hierarchy_depth_intra_slice_luma ue(v) if( sps max mtt hierarchydepth intra slice luma != 0 ) { s ps_l og2_d iffmaxbtm i n_q t_i ntra_s I i ce_l urna ue(v) s ps_l og2_d iffmaxttm i n_qt_i ntra_s I i ce_l u ma ue(v)} if( sps_max_mtt_hierarchy_depth_¡nter_sl¡ces != 0 ) { s ps_l og2d iffmaxbtm i n_q t_i nte r s | i ce ue(v) s ps_l og2_d iff max tt m i n_qt_i nte r_s I i ce ue(v)} if( qtbtt_dual_tree_intra_flag ) { sps_log2_diff_min_qt_min_cb_intra_slice_chroma ue(v) sps_max_mtt_hierarchy_depth_intra_slice_chroma ue(v) if ( sps_max_mtt_hierarchy_depth_¡ntra_slice_chroma != 0 ) { s p s_l og 2d iff_m ax_b t_m i n_q t_ i n t ra_s lice_chroma ue(v) s p s_l og 2d iff_m axttm i n_q t_¡ n t ra_s I i ce_c h ro m a ue(v) ZRQRZn / ZZnZ / 3 / ΥΙΛΙ }} sps_max_luma_transform_size_64_flag u(1) if( ChromaArrayType != 0 ) { same_qp_table_for_chroma u(1) for( i = 0; i < sameqptableforchroma ? 1 : 3; i++ ) { num_points_in_qp_table_minus1[ i ] ue(v) for( j = 0; j <= num_po¡nts_¡n_qp_table_m¡nus1 [ i ];j++ ) { delta_qp_in_val_minus1[ i ][ j ] ue(v) delta_qp_out_val[ i ][j ] ue(v)}}} sps_weighted_pred_flag u(1) sps_weighted_bipred_flag u(1) sps_sao_enabled_flag u(1) sps_alf_enabled_flag u(1) sps_transform_skip_enabled_flag u(1) if( sps_transform_skip_enabled_flag ) sps_bdpcm_enabled_flag u(1) sps_Joint_cbcr_enabled_flag u(1) sps_ref_wraparound_enabled_flag u(1) if( spsrefwraparoundenabledflag ) sps_ref_wraparound_offset_minus1 ue(v) sps_temporal_mvp_enabled_flag u(1) if( sps_temporal_mvp_enabled_flag ) sps_sbtmvp_enabled_flag u(1) sps_amvr_enabled_flag u(1) sps_bdof_enabled_flag u(1) sps_smvd_enabled_flag u(1) sps_dmvr_enabled_flag u(1) if( spsbdofenabledflag | | spsdmvrenabledflag) sps_bdof_dmvr_slice_present_flag u(1) sps_mmvd_enabled_flag u(1) sps_isp_enabled_flag u(1) sps_mrl_enabled_flag u(1) sps_mip_enabled_flag u(1) if( ChromaArrayType != 0 ) sps_cclm_enabled_flag u(1) if( spscclmenabledflag && chromaformatidc = = 1 ); ZRQRZn / ZZnZ / 3 / ΥΙΛΙ s ps_ccl meo located_c h rom a_f lag u(1) sps_mts_enabled_flag u(1) if( sps_mts_enabled_flag ) { sps_explicit_mts_intra_enabled_flag u(1) sps_explicit_mts_inter_enabled_flag u(1)} sps_sbt_enabled_flag u(1) if( sps sbt enabled flag ) sps_sbt_max_size_64_flag u(1) sps_affine_enabled_flag u(1) if( sps_affine_enabled_flag ) { sps_affine_type_flag u(1) sps_affine_amvr_enabled_flag u(1) sps_affine_prof_enabled_flag u(1)} if( ehroma format ide = = 3 ) sps_palette_enabled_flag u(1) sps_bcw_enabled_flag u(1) sps_ibc_enabled_flag u(1) sps_ciip_enabled_flag u(1) if( sps_mmvd_enabled_flag ) sps_fpel_mmvd_enabled_flag u(1) sps_triangle_enabled_flag u(1) sps_lmcs_enabled_flag u(1) sps_lfnst_enabled_flag u(1) sps_ladf_enabled_flag u(1) if ( sps_ladf_enabled_flag ) { sps_num_ladf_intervals_minus2 u(2) sps_ladf_lowest_interval_qp_offset se(v) for( i = 0; i < sps_num_ladf_intervals_minus2 + 1;i++ ) { sps_ladf_qp_offset[ i ] se(v) sps_ladf_delta_threshold_minus1[ i ] ue(v)}} sps_scaling_list_enabled_flag u(1) h rd_pa ra mete rs_p resent_f lag u(1) if( general_hrd_parameters_present_flag ) { num_units_in_tick u(32) time_scale u(32) su b_l aye r_cp b_param ete rs_p rese nt_f lag u(1); ZRQRZn / ZZnZ / q / YIAI if( sub_layer_cpb_parameters_present_flag ) general_hrd_parameters( 0, sps_max_sub_layers_minus1 ) else general_hrd_parameters( sps_max_sub_layers_m¡nus1, sps max sub layers minusl )} vui_parameters_present_flag u(1) if( vui parameters present flag ) vui_parameters( ) sps_extension_flag u(1) if( sps_extension_flag ) while( more_rbsp_data()) sps_extension_data_flag u(1) rbsp_trailing_bits()} Tabla 3. Sintaxis de estructura de lista de imágenes de referencia ref_pic_list_struct( listldx, rplsldx ) { Descriptor num_ref_entries[ listldx ][ rplsldx ] ue(v) if( long term ref pics flag ) ltrp_in_slice_header_flag[ listldx ][ rplsldx ] u(1) for( i = 0, j = 0; i < num_ref_entries[ listldx ][ rplsldx ]; i++) { if( inter_layer_ref_pics_present_flag ) inter_layer_ref_pic_flag[ listldx ][ rplsldx ][ i ] u(1) if( !¡nter_layer_ref_pics_flag[ listldx ][ rplsldx ][ i ] ) { if( long_term_ref_pics_flag ) st_ref_pic_flag[ listldx ][ rplsldx ][ i ] u(1) if( st_ref_pic_flag[ listldx ][ rplsldx ][ i ] ) { abs_delta_poc_st[ listldx ][ rplsldx ][ i ] ue(v) if( AbsDeltaPocSt[ listldx ][ rplsldx ][ i ] > 0 ) strp_entry_sign_flag[ listldx ][ rplsldx ][ i ] u(1)} else if( !ltrp_in_slice_header_flag[ listldx ][ rplsldx ]) rpls_poc_lsb_lt[ listldx ][ rplsldx ][ j++ ] u(v)} else ilrp_idc[ listldx ][ rplsldx ][ i ] ue(v)}} The syntax structure ref_pic_list_struct( listldx, rplsldx ) can be represented in an SPS or a segment header. Depending on whether the syntax structure is included in a segment header or an SPS, the following applies: ZRQRZn / ZZnZ / 3 / YILI - If presented in a segment header, the syntax structure ref_pic_list_struct( listldx, rplsldx ) specifies the listldx reference image list of the current image (the image containing the segment). - Otherwise (present in an SPS), the syntax structure ref_pic_list_struct( listldx, rplsldx ) specifies a candidate for the referenced image list listldx, and the term the current image in the semantics specified in the remainder of this clause refers to each image that: (1) has one or more segments containing ref_pic_list_dx[ listldx ] equal to an index in the list of syntax structures ref_pic_list_struct( listldx, rplsldx ) included in the SPS, and (2) is in a CVS that references the SPS. num_ref_entries[ listldx ][ rplsldx ] specifies the number of entries in the syntax structure ref_pic_list_struct( listldx, rplsldx ). The value of num_ref_entries[ listldx ][ rplsldx ] must be in the range of 0 to sps_max_dec_pic_buffering_minus1 + 14, inclusive. `Itrp_in_slice_header_flag[ listldx ][ rplsldx ]` equal to 0 specifies that POC LSBs of the LTRP entries in the syntax structure `ref_pic_list_struct( listldx, rplsldx )` are present in the syntax structure `ref_pic_list_struct( listldx, rplsldx ).` `Itrp_in_slice_header_flag[ listldx ][ rplsldx]` equal to 1 specifies that POC LSBs of the LTRP entries in the syntax structure `ref_pic_list_struct( listldx, rplsldx )` are not present in the syntax structure `ref_pic_list_struct( listldx, rplsldx ).` `inter_layer_ref_pic_flag[listldx][rplsldx][i]` equal to 1 specifies that the i-th entry in the syntax structure `iref_pic_list_struct(listldx, rplsldx)` is an ILRP entry. `inter_layer_ref_pic_flag[listldx][rplsldx][i]` equal to 0 specifies that the i-th entry in the syntax structure `ref_pic_list_struct(listldx, rplsldx)` is not an ILRP entry. When not specified, the value of `inter_layer_ref_pic_flag[listldx][rplsldx][i]` is inferred to be 0. st_ref_pic_flag[ listldx ][ rplsldx ][ i ] equal to 1 specifies that the i-th entry in the ref_pic_list_struct( listldx, rplsldx ) syntax structure is a STRP entry. st_ref_pic_flag[ listldx ][ rplsldx ][ i ] equal to 0 specifies that the i-th entry in the ref_pic_list_struct( listldx, rplsldx ) syntax structure is an LTRP entry. When inter_layer_ref_pic_flag[ listldx ][ rplsldx ][ i ] is equal to 0 and st_ref_pic_flag[ listldx ][ rplsldx ][ i ] is not present, the value of st_ref_pic_flag[ listldx ][ rplsldx ][ i ] to be i is inferred to 1. The variable NumLtrpEntries[ listldx ][ rplsldx ] is derived as follows: for( i = 0, NumLtrpEntries[ listldx ][ rplsldx ] = 0; i < num_ref_entries[ listldx ][ rplsldx ]; i++ ) if(!¡nter_layer_ref_p¡c_flag[ listldx ][ rplsldx ][ i ] &&st ! rplsldx ][ i ]) NumLtrpEntries[ listldx ][ rplsldx ]++ ZRQRZn / ZZnZ / q / YIAI abs_delta_poc_st[ listldx ][ rplsldx ][ i ] specifies the value of the variable AbsDeltaPocSt[ listldx ][ rplsldx ][ i ] as follows: if( spsweightedpredflag | | spsweightedbipredflag ) AbsDeltaPocSt[ listldx ][ rplsldx ][ i ] = abs_delta_poc_st[ listldx ][ rplsldx ][ i ] else AbsDeltaPocSt[ listldx ][ rplsldx ][ i ] = abs_delta_poc_st[ listldx ][ rplsldx ][ i ] + 1 The value of abs_delta_poc_st[ listldx ][ rplsldx ][ i ] must be in the range of 0 to 215 - 1, inclusive. strp_entry_sign_flag[ listldx ][ rplsldx ][ i ] equal to 1 specifies that the i-th entry in the syntax structure ref_pic_list_struct( listldx, rplsldx ) has a value greater than or equal to 0. strp_entry_sign_flag[ listldx ][ rplsldx ][ i ] equal to 0 specifies that the i-th entry in the syntax structure ref_pic_list_struct( listldx, rplsldx ) has a value less than 0. When not presented, the value of strp_entry_sign_flag[ listldx ][ rplsldx ][ i ] is inferred to be equal to 1. The list DeltaPocValSt[ listldx ][ rplsldx ] is derived as follows: for( i = 0; i < num_ref_entries[ listldx ][ rplsldx ]; i++ ) if( !¡nter_layer_ref_pic_flag[ listldx ][ rplsldx ][ i ] && st ref pic_flag[ listldx ][ rplsldx ][ i ] ) DeltaPocValSt[ listldx ][ rplsldx ][ i ] = ( strp_entry_sign_flag[ listldx ][ rplsldx ][ i ] ) ? AbsDeltaPocSt[ listldx ][ rplsldx ][ i ] : 0 - AbsDeltaPocSt[ listldx ][ rplsldx ][ i ] rpls_poc_lsb_lt[ listldx ][ rplsldx ][ i ] specifies the value of the image order count modulo MaxPicOrderCntLsb of the image mentioned by the i-th entry in the syntax structure ref_pic_list_struct( listldx, rplsldx ). The length of the syntax element rpls pocIsblt[ listldx ][ rplsldx ][ i ] is Iog2 max pie order cnt Isb minus4 + 4 bits. ilrp_idc[ listldx ][ rplsldx ][ i ] specifies the index, to the list of directly dependent layers, of the ILRP of the i-th entry in the syntax structure ref_pic_list_struct( listldx, rplsldx ) to the list of directly dependent layers. The value of ilrp_idc[ listldx ][ rplsldx ][ i ] must be in the range of 0 to GeneralLayerldx[ nuh_layer_id ] - 1, inclusive. This invention is a method for jointly signaling high-level syntax (HLS) weighted prediction parameters and the reference image list, wherein the reference image list may comprise reference images with the same picture order count (POC) values. These reference images correspond to the same original encoded image but were encoded using different parameters, for example, when different weighted prediction parameters are used. The signaling of weighted prediction indicators may depend on whether the reference list contains such entries. ZRQRZn / ZZnZ / q / YIAI In one embodiment of the invention, the reference image list is restricted to non-zero values ​​when the weighted prediction indicators are equal to 1. However, in the video coding of the prior art, the weighted prediction parameters are signaled after the reference image list signaling. In the following table, it is proposed to reorder these syntax elements and restrict the binarization of the POC delta syntax element based on the values ​​of the weighted prediction indicators. Table 4. RBSP Syntax for Sequence Parameter Set (1st Mode) seq_parameter_set_rbsp() { Descriptor spsdecodingparametersetid u(4) spsvideoparametersetid u(4) sps_max_sub_layers_minus1 u(3) sps_reserved_zero_5bits u(5) profile_tier_level( sps_max_sub_layers_minus1 ) gd r_e na b led_f I ag u(1) sps_seq_parameter_set_id ue(v) chromaformatidc ue(v) if( chroma format idc = = 3 ) separatecolourplaneflag u(1) pic_w¡dth_max_¡n_luma_samples ue(v) pic_he¡ght_max_¡n_luma_samples ue(v) subpics_present_flag u(1) if( subpics_present_flag ) { maxsubpicsminusl u(8) subpic qrid col width minusl u(v) subpic qrid row heiqht minusl u(v) for( i = 0; i < NumSubPicGridRows; i++ ) for( j = 0; j < NumSubPicGridCols; j++ ) subpic_gñd_¡dx[ i ][ j ] u(v) for( i = 0; 1 <= NumSubPics; i++ ) { subpic_treated_as_pic_flag[ i ] u(1) loop_filter_across_subp¡c_enabled_flag[ i ] u(1)}} bit_depth_luma_minus8 ue(v) bit_depth_chroma_minus8 ue(v) m i n_q p_p ñ m e_ts_m i n us4 ue(v) sps_weighted_pred_flag u(1) sps_weighted_bipred_flag u(1) Iog2_max_pic_order_cnt_lsb_minus4 ue(v) ZRQRZn / ZZnZ / q / YIAI if( sps_max_sub_layers_minus1 > 0 ) sps_sub_layer_ordering_info_present_flag u(1) for( i = ( sps_sub_layer_ordering_info_present_flag ? 0 : sps_max_sub_layers_minus1 ); I <= sps_max_sub_layers_minus1; i++ ) { sps_max_dec_pic_buffering_minus1[ i ] ue(v) sps_max_num_reorder_pics[ i ] ue(v) sps_max_latency_increase_plus1 [ i ] ue(v)} longtermrefpicsflag u(1) i n ter I aye rrefpi csp rese nt_f I ag u(1) sps_idr_rpl_present_flag u(1) rpl1_same_as_rpl0_flag u(1) for( i = 0; i < !rpl1_same_as_rpl0_flag ? 2 : 1; i++ ) { num_ref_pic_l¡sts_¡n_sps[ i ] ue(v) for( j = 0; j < num_ref_pic_lists_in_sps[ i ]; j++) ref_pic_list_struct( i, j )} Y el valor de POC delta (la variable AbsDeltaPocSt) se restaura condicionalmente en el lado de decodificador de la siguiente manera: abs_delta_poc_st[ listldx ][ rplsldx ][ i ] específica el valor de la variable AbsDeltaPocSt[ listldx ][ rplsldx ][ i ] de la siguiente manera: if( spsweightedpredflag | | spsweightedbipredflag ) AbsDeltaPocSt[ listldx ][ rplsldx ][ i ] = abs_delta_poc_st[ listldx ][ rplsldx ][ i ] else AbsDeltaPocSt[ listldx ][ rplsldx ][ i ] = abs_delta_poc_st[ listldx ][ rplsldx ][ i ] + 1 The flowchart in FIGURE 7 illustrates the method described above. In step 701, the weighted prediction parameters (specifically, sps_weighted_pred_flag and sps weighted bipred flag) are signaled. Depending on their value, the signaling of the reference image list 702 is performed differently. Specifically, when sps_weighted_pred_flag or sps weighted bipred flag is true, AbsDeltaPocSt is allowed to have a value of 0. Otherwise, AbsDeltaPocSt is restored from the bit stream using the augmented value of absdeltapocst, which rejects null values ​​of AbsDeltaPocSt. ZRQRZn / ZZnZ / q / YIAI In another modality disclosed additionally, the weighted prediction indicators spsweightedpredflag and sps weighted bipred flag are signaled only in the case when at least one reference image list ref_pic_list_struct has at least one AbsDeltaPocSt value equal to zero. Table 5. RBSP Syntax for Sequence Parameter Set (2nd Mode) seq_parameter_set_rbsp() { Descriptor spsdecodingparametersetid u(4) spsvideoparametersetid u(4) sps_max_sub_layers_minus1 u(3) sps_reserved_zero_5bits u(5) profile_tier_level( sps_max_sub_layers_minus1 ) gd r_e na b I e d_f I ag u(1) spsseqparametersetid ue(v) chromaformatidc ue(v) if( chroma format idc = = 3 ) separatecolourplaneflag u(1) pic_width_max_in_luma_samples ue(v) pic_he¡ght_max_in_luma_samples ue(v) subpics_present_flag u(1) if( subpics_present_flag ) { maxsubpicsminusl u(8) subpicgridcolwidthminusl u(v) subpic grid row height minusl u(v) for( i = 0; i < NumSubPicGridRows; i++ ) for( j = 0; j < NumSubPicGridCols; j++ ) subpic_grid_¡dx[ i ][ j ] u(v) for( i = 0; 1 <= NumSubPics;i++ ) { subpic_treated_as_pic_flag[ i ] u(1) loop_filter_across_subp¡c_enabled_flag[ i ] u(1)}} bit_depth_luma_m¡nus8 ue(v) bit_depth_chroma_minus8 ue(v) m i n_q p_p ri m e_ts_m i n us4 ue(v) Iog2_max_pic_order_cnt_lsb_minus4 ue(v) if( sps_max_sub_layers_minus1 > 0 ) sps_sub_layer_ordering_info_present_flag u(1); ZRQRZn / ZZnZ / 3 / ΥΙΛΙ for( i = ( sps_sub_layer_ordering_info_present_flag ? 0 : sps_max_sub_layers_minus1 ); I <= sps_max_sub_layers_minus1; i++ ) { sps_max_dec_pic_buffering_minus1[ i ] ue(v) sps_max_num_reorder_pics[ i ] ue(v) sps_max_latency_increase_plus1 [ i ] ue(v)} I o ng_te rm_ref_p i cs_fl a g u(1) interlayerrefpicspresentflag u(1) sps_idr_rpl_present_flag u(1) RestrictWPFIag = false rpl1_same_as_rpl0_flag u(1) for( i = 0; i < !rpl1_same_as_rpl0_flag ? 2 : 1; i++ ) { num_ref_pic_l¡sts_¡n_sps[ i ] ue(v) for( j = 0; j < num_ref_pic_lists_in_sps[ i ]; j++) ref_pic_list_struct( i, j )} if (¡RestrictWPFIag) { sps_weighted_pred_flag u(1) sps_weighted_bipred_flag u(1)} Tabla 6. Sintaxis ref_pic_list_struct (la 2da modalidad) Ref_pic_list_struct( listldx, rplsldx ) { Descriptor num_ref_entries[ listldx ][ rplsldx ] ue(v) if( long_term_ref_pics_flag ) ltrp_in_slice_header_flag[ listldx ][ rplsldx ] u(1) for( i = 0, j = 0; i < num_ref_entries[ listldx ][ rplsldx ]; i++) { if( inter_layer_ref_pics_present_flag ) inter_layer_ref_pic_flag[ listldx ][ rplsldx ][ i ] u(1) if( !¡nter_layer_ref_pics_flag[ listldx ][ rplsldx ][ i ] ) { if( long term ref pics flag ) st_ref_pic_flag[ listldx ][ rplsldx ][ i ] u(1) if( st_ref_pic_flag[ listldx ][ rplsldx ][ i ] ) { abs_delta_poc_st[ listldx ][ rplsldx ][ i ] ue(v) ZRQRZn / ZZnZ / q / YIAI if( AbsDeltaPocSt[ listldx ][ rplsldx ][ i ] > 0 ) strp_entry_sign_flag[ listldx ][ rplsldx ][ i ] u(1) else RestrictWPFIag = true} else if( !ltrp_in_slice_header_flag[ listldx ][ rplsldx ] ) rpls_poc_lsb_lt[ listldx ][ rplsldx ][ j++ ] u(v)} else ilrp_idc[ listldx ][ rplsldx ][ i ] ue(v)}} Figure 8 illustrates the method disclosed in this modality. According to the coding order defined in Table 5, the reference image list 801 is signaled before the weighted prediction parameters 803 are signaled. The weighted prediction parameters 803 are signaled only when the reference image list contains at least one item with AbsDeltaPocSt equal to 0. This check is performed in step 802 by means of the RestrictWPFIag variable, initialized to false and set to true when the zero value of AbsDeltaPocSt occurs during the check of each item in the reference image list. The following provides an explanation of the applications of the encoding method as well as the decoding method as shown in the modalities mentioned above, and a system that uses them. Figure 9 is a block diagram showing a content delivery system 3100 for performing a content distribution service. This content delivery system 3100 includes a capture device 3102, a terminal device 3106, and optionally a display 3126. The capture device 3102 communicates with the terminal device 3106 via a communication link 3104. The communication link may include the communication channel 13 described above. The communication link 3104 includes, but is not limited to, Wi-Fi, Ethernet, cable, wireless (3G / 4G / 5G), USB, or any combination thereof, or similar. The capture device 3102 generates data and can encode the data using the encoding method shown in the preceding modalities. Alternatively, the capture device 3102 can distribute the data to a streaming server (not shown in the Figures), and the server encodes the data and transmits the encoded data to the terminal device 3106. The capture device 3102 includes, but is not limited to, a camera, smartphone or tablet, computer or laptop, videoconferencing system, PDA, vehicle-mounted device, or a combination thereof, or similar devices. For example, the capture device 3102 can include the source device 12 as described above. When the data includes video, the video encoder 20 included in the capture device 3102 can actually perform the video encoding processing.When the data includes audio (for example, voice), an audio encoder included in the 3102 capture device can perform the audio encoding. In some practical scenarios, the 3102 capture device distributes the encoded audio and video data by multiplexing them together. In other practical scenarios, such as in a videoconferencing system, the encoded audio and video data are not multiplexed. The 3102 capture device distributes the encoded audio and video data separately to the 3106 terminal device. In the content delivery system 3100, the terminal device 310 receives and plays back the encoded data. The terminal device 3106 could be a device with data reception and retrieval capabilities, such as a smartphone or tablet 3108, computer or laptop 3110, network video recorder (NVR) / digital video recorder (DVR) 3112, TV 3114, set-top box (STB) 3116, videoconferencing system 3118, video surveillance system 3120, personal digital assistant (PDA) 3122, vehicle-mounted device 3124, or a combination of any of these, or similar devices capable of decoding the aforementioned encoded data. For example, the terminal device 3106 could include the target device 14 as described above. When the encoded data includes video, priority is given to the video decoder 30 included in the terminal device to perform video decoding.When the encoded data includes audio, priority is given to an audio decoder included in the terminal device to perform the audio decoding processing. For a terminal device with its own display, such as a smartphone or iPad 3108, computer or laptop 3110, network video recorder (NVR) / digital video recorder (DVR) 3112, TV 3114, personal digital assistant (PDA) 3122, or vehicle-mounted device 3124, the terminal device can feed the decoded data to its display. For a terminal device not equipped with a display, such as an STB 3116, videoconferencing system 3118, or video surveillance system 3120, an external display 3126 is connected to it to receive and display the decoded data. When each device in this system performs encoding or decoding, the image encoding device or the image decoding device can be used, as shown in the aforementioned modalities. Figure 10 is a diagram showing a schematic of an example of the 3106 terminal device. After the 3106 terminal device receives a current from the device ZRQRZn / ZZnZ / q / YIAI captures 3102, and the protocol procedure unit 3202 analyzes the stream's transmission protocol. The protocol includes, but is not limited to, Real-Time Streaming Protocol (RTSP), Hypertext Transfer Protocol (HTTP), HTTP Live Streaming Protocol (HLS), MPEG-DASH, Real-Time Transport Protocol (RTP), Real-Time Messaging Protocol (RTMP), or any combination thereof or similar. After the protocol processing unit 3202 processes the stream, a stream file is generated. This file is then sent to a demultiplexing unit 3204. The demultiplexing unit 3204 can separate the multiplexed data into encoded audio data and encoded video data. As described above, for some practical scenarios, such as in a videoconferencing system, the encoded audio data and encoded video data are not multiplexed. In this situation, the encoded data is transmitted to the video decoder 3206 and the audio decoder 3208 without passing through the demultiplexing unit 3204. Through demultiplexing processing, an elementary video stream (ES), an audio ES, and optionally, subtitles are generated. The video decoder 3206, which includes the video decoder 30 as explained in the modes mentioned above, decodes the video ES using the decoding method shown in the modes mentioned above to generate a video frame and feeds this data to the synchronous unit 3212. The audio decoder 3208 decodes the audio ES to generate an audio frame and feeds this data to the synchronous unit 3212. Alternatively, the video frame can be stored in a buffer (not shown in FIGURE 10) before being fed to the synchronous unit 3212. Similarly, the audio frame can be stored in a buffer (not shown in FIGURE 10) before being fed to the synchronous unit 3212. The 3212 synchronous unit synchronizes the video and audio streams and supplies the video / audio to a 3214 video / audio display. For example, the 3212 synchronous unit synchronizes the presentation of video and audio information. This information can be encoded in syntax using timestamps relative to the presentation of the encoded audio and video data and timestamps relative to the delivery of the data stream itself. If the subtitle is included in the stream, the 3210 subtitle decoder decodes the subtitle and synchronizes it with the video frame and the audio frame, and supplies the video / audio / subtitle to a 3216 video / audio / subtitle display. The present invention is not limited to the system mentioned above, and either the image encoding device or the image decoding device in the modalities mentioned above may be incorporated into another system, for example, an automotive system. ZRQRZn / ZZnZ / q / YIAI ZRQRZn / ZZnZ / q / YIAI Figure 11 illustrates the coding method according to the first aspect of this disclosure. The coding method according to the first aspect comprises the following steps: 1101. determine the syntax elements to be encoded, wherein the syntax elements include a reference image list structure and at least one high-level syntax weighted prediction (HLS) parameter; 1102. encode at least one weighted prediction parameter of HLS; and 1103. Encode the reference image list structure following the encoding of at least one HLS weighted prediction parameter. Figure 12 illustrates the coding method according to the second aspect of this disclosure. The coding method according to the second aspect comprises the following steps: 1201. determine the syntax elements to be encoded, wherein the syntax elements include a reference image list structure and at least one high-level syntax weighted prediction (HLS) parameter, wherein a reference image list derived from the reference image list structure comprises reference images having the same image order count (POC) parameter; and 1202.encoding determined syntax elements in an encoding order with a restriction on the binarization of a syntax element that has a later position in the encoding order; wherein, when at least one HLS weighted prediction parameter is encoded after the reference image list structure in the encoding order, the restriction on the binarization of the syntax elements comprises: encoding at least one HLS weighted prediction parameter only when the reference image list has at least one element with a POC delta value equal to zero. Figure 13 illustrates the decoding method according to the third aspect of this disclosure. The decoding method according to the third aspect comprises: 1301. receive a stream of bits; 1302. entropy-decoding the bit stream to obtain syntax elements, wherein the syntax elements comprise a reference image list structure and at least one high-level syntax weighted prediction parameter, HLS, wherein in the syntax elements, at least one HLS weighted prediction parameter is entropy-decoded before the reference image list structure; 1303. Perform prediction based on the syntax elements obtained to obtain a prediction block; 1304. Reconstruct a reconstructed block based on the prediction block; and ZRQRZn / ZZnZ / q / YIAI 1305. Obtain a decoded image based on the reconstructed block. Figure 14 illustrates a decoding method using a decoder in accordance with the fourth aspect of this disclosure. The decoding method in accordance with the fourth aspect comprises: 1401. receive a stream of bits; 1402. entropy-decoding the bit stream to obtain syntax elements, wherein the syntax elements include a reference image list structure and a preset flag, wherein the value of the preset flag indicates whether the syntax elements include at least one high-level syntax weighted prediction (HLS) parameter; 1403. Perform prediction based on the syntax elements obtained to obtain a prediction block; 1404. Reconstruct a reconstructed block based on the prediction block; and 1405. Obtain a decoded image based on the reconstructed block. FIGURE 15 illustrates a decoder according to an eighth aspect of this disclosure. The decoder 1500 comprises: one or more processors 1501 and a non-transient, computer-readable storage medium 1502 coupled to one or more processors 1502 and storing programming for execution by the processors 1501, wherein the programming, when executed by the processors 1501, configures the decoder 1500 to carry out the method according to the third aspect, the first form of implementation of the third aspect, the fourth aspect, or any of the first through fourth forms of implementation of the fourth aspect. FIGURE 16 illustrates a decoder in accordance with a ninth aspect of the present disclosure.The decoder 1600 comprises receiving means 1601 for receiving a bit stream; entropy decoding means 1602 for entropy decoding of the bit stream to obtain syntax elements, wherein the syntax elements comprise a reference image list structure and at least one high-level syntax weighted prediction (HLS) parameter, wherein in the syntax elements, at least one HLS weighted prediction parameter is entropy decoded before the reference image list structure; prediction means 1603 for making the prediction based on the obtained syntax elements to obtain a prediction block; reconstruction means 1604 for reconstructing a reconstructed block based on the prediction block; and acquisition means 1605 for obtaining a decoded image based on the reconstructed block. FIGURE 17 illustrates an encoder according to a tenth aspect of the present disclosure. The encoder 1700 comprises: one or more processors 1701; and a non-transient, computer-readable storage medium 1702 coupled to the processors 1701 and storing programming for execution by the processors 1701, wherein the programming, when executed by the processors 1701, configures the encoder 1700 to carry out the method according to the first aspect, any of the first through seventh forms of implementation of the first aspect or of the second aspect. FIGURE 18 illustrates an encoder according to the eleventh aspect of this disclosure. The encoder 1800 comprises: determination means 1801 for determining the syntax elements to be encoded, wherein the syntax elements include a reference image list structure and at least one high-level syntax (HLS) weighted prediction parameter; and encoding means 1802 for encoding at least one HLS weighted prediction parameter and for encoding the reference image list structure following the encoding of at least one HLS weighted prediction parameter. This disclosure provides the following additional exemplary forms: 1. Exemplary Modality: A method for jointly signaling high-level syntax weighted prediction (HLS) parameters and the reference image list, wherein the reference image list comprises reference images having the same image order count (POC) parameter, the method comprising: determine the syntax elements to be signaled, wherein the syntax elements include a list of reference images and at least one HLS weighted prediction parameter; and signal the determined syntax elements in a coding order with a restriction on the binarization of the syntax element that has a later position in the coding order. 2. Exemplary Modality: A method of exemplary modality 1, wherein at least one HLS weighted prediction parameter includes a sequence parameter set indicator for weighted uni-prediction. 3. Exemplary Mode: A method of exemplary mode 1 or 2, wherein at least one HLS weighted prediction parameter includes a sequence parameter set indicator for weighted uni-prediction. 4. Exemplary Mode: A method of exemplary mode 2, wherein, when at least one HLS weighted prediction parameter is signaled before the reference image list in the encoding order, the restriction on the binarization of syntax elements comprises: When the sequence parameter set indicator for weighted uni-prediction is set to 0, it signals a modified delta POC value for an item in the list of ZRQRZn / ZZnZ / q / YIAI ZRQRZn / ZZnZ / q / YIAI reference images, where the modified POC delta value (absdeltapocst) is less than a POC delta value used in the encoding process (AbsDeltaPocSt). 5. Exemplary Mode: A method of exemplary mode 3, wherein, when at least one HLS weighted prediction parameter is signaled before the reference image list in the encoding order, the restriction on the binarization of syntax elements comprises: when at least one HLS weighted prediction parameter includes the sequence parameter set indicator for weighted bi-prediction, and the sequence parameter set indicator for weighted bi-prediction is set to 0, signal a modified POC delta value for an item in the reference image list, wherein the modified POC delta value (abs_delta_poc_st) is less than a POC delta value used in the encoding process (AbsDeltaPocSt);or when at least one HLS weighted prediction parameter includes the sequence parameter set indicator for weighted bi-prediction and the sequence parameter set indicator for weighted uni-prediction, and at least one of the sequence parameter set indicator for weighted bi-prediction and the sequence parameter set indicator for weighted uni-prediction is set to 0, signal a modified POC delta value for an item in the reference image list, wherein the modified POC delta value (abs_delta_poc_st) is less than a POC delta value used in the encoding process (AbsDeltaPocSt);or when at least one HLS weighted prediction parameter includes the sequence parameter set indicator for weighted bi-prediction and the sequence parameter set indicator for weighted uni-prediction, and both the sequence parameter set indicator for weighted bi-prediction and the sequence parameter set indicator for weighted uni-prediction are set to 0, signal a modified POC delta value for an item in the reference image list, wherein the modified POC delta value (abs_delta_poc_st) is less than a POC delta value used in the encoding process (AbsDeltaPocSt).; 6. Exemplary Mode: A method of exemplary mode 4 or 5, wherein the modified POC delta value is less than the POC delta value used in the coding process by 1. 7. Exemplary Modality: A method of any of exemplary modalities 1 to 3, wherein, when at least one HLS weighted prediction parameter is signaled after the reference image list in the encoding order, the restriction on the binarization of syntax elements comprises: ZRQRZn / ZZnZ / q / YIAI signal at least one HLS weighted prediction parameter only when the reference image list has at least one item with a POC delta value equal to zero. 8. Exemplary Modality: A decoding method using a decoder, comprising: receive a stream of bits; decode by entropy the bit stream to obtain syntax elements, wherein the syntax elements include a reference image list and at least one HLS weighted prediction parameter, wherein in the elements, at least one HLS weighted prediction parameter is presented before the reference image list; perform prediction based on the syntax elements obtained to obtain a prediction block; Reconstruct a reconstructed block based on the prediction block; and obtain a decoded image based on the reconstructed block. 9. Exemplary Modality: A method of exemplary modality 8, wherein at least one HLS weighted prediction parameter includes at least one of a sequence parameter set indicator for uni-weighted prediction and one sequence parameter set indicator for bi-weighted prediction. 10. Exemplary Modality: A decoding method using a decoder, comprising: receive a stream of bits; decode by entropy the bit stream to obtain syntax elements, wherein the syntax elements include a list of reference images and a preset flag, wherein the value of the preset flag indicates whether the syntax elements include at least one HLS weighted prediction parameter; perform prediction based on the syntax elements obtained to obtain a prediction block; Reconstruct a reconstructed block based on the prediction block; and obtain a decoded image based on the reconstructed block. 11. Exemplary Modality: A method of exemplary modality 10, wherein a preset indicator value corresponds to whether the reference image list has at least one item with a POC delta value equal to zero. 12. Exemplary Mode: A method of exemplary mode 11, wherein, when the value of the preset indicator corresponding to the reference image list has at least one element with a POC delta value equal to zero, the syntax elements include at least one HLS weighted prediction parameter; or ZRQRZn / ZZnZ / q / YIAI when the preset indicator value corresponding to the reference image list does not have any element with a POC delta value equal to zero, the syntax elements do not include at least one HLS weighted prediction parameter. 13. Exemplary Modality: A method of any of exemplary modalities 10 to 12, wherein at least one HLS weighted prediction parameter includes at least one of a sequence parameter set indicator for uni-weighted prediction and one sequence parameter set indicator for bi-weighted prediction. 14. Exemplary Modality: A method of any of the exemplary modalities 10 to 13, where the pre-established indicator is RestrictWPFIag as defined in the descriptive memory. 15. Exemplary Modality: An encoder (20) comprising processing circuitry for carrying out the method in accordance with any of exemplary modalities 1 to 7. 16. Exemplary Modality: A decoder (30) comprising processing circuitry for carrying out the method in accordance with any of exemplary modalities 8 to 14. 17. Exemplary Modality: A computer program product comprising program code for performing the method in accordance with any of exemplary modalities 1 to 14. 18. Exemplary Modality: A decoder, comprising: one or more processors; and a computer-readable non-transient storage medium coupled to the processors and storing the programming for execution by the processors, wherein the programming, when executed by the processors, configures the decoder to carry out the method in accordance with any of the exemplary modes 8 to 14. 19. Exemplary Modality: A coder, comprising: one or more processors; and a computer-readable non-transient storage medium coupled to the processors and storing the programming for execution by the processors, wherein the programming, when executed by the processors, configures the encoder to carry out the method in accordance with any of the exemplary modes 1 to 7. 20. Exemplary Mode: A non-transient, computer-readable medium carrying program code that, when executed by a computing device, causes the computing device to perform the method of any of exemplary modes 1 to 14. Mathematical Operators The mathematical operators used in this application are similar to those used in the C programming language. However, the results of integer division and arithmetic shift operations are defined more precisely, and additional operations such as exponentiation and division on real numbers are also defined. Numbering and counting conventions generally start from 0; for example, the first is equivalent to the 0th, the second is equivalent to the 1st, and so on. Arithmetic operators The following arithmetic operators are defined as follows: + Sum Subtraction (as a two-argument operator) or negation (as a unary prefix operator) * Multiplication, including matrix multiplication * Exponentiation Specifies x a the power of y. In other contexts, such notation is used for superscripts not intended for interpretation as exponentiation. I. Division of integers with truncation of the result towards zero. For example, 7 / 4 and -7 / -4 are truncated to 1 and -7 / 4 and 7 / -4 are truncated to -1. Used to denote division in mathematical equations where truncation or rounding is not intended. x Used to denote division in mathematical equations where truncation or rounding is not intended. yf( ) The sum of f( i ) with i taking all integer values ​​from x to e including y. i = X0 / Coefficient. Remainder of x divided by y, defined only for integers xey with x >= 0 and eey > 0. Logical operators The following logical operators are defined as follows: x && y Boolean logic AND of x and x | | y Boolean logic OR of x and Boolean logic “not” x ? y : z If x is TRUE or not equal to 0, evaluate the value of y; otherwise, evaluate the value of z. Relationship operators The following relation operators are defined as follows: > Greater than > = Greater than or equal to < Less than < = Less than or equal to = = Equal to != Not equal to ZRQRZn / ZZnZ / 3 / YILI ZRQRZn / ZZnZ / q / YIAI When a relational operator is applied to a syntax element or variable that has been assigned the value na (not applicable), the value na is treated as a distinct value for the syntax element or variable. The value na is considered not to be equal to any other value. Bitwise operators The following bitwise operators are defined as follows: Bitwise AND. When operating on integer arguments, the operation is performed on a two's complement representation of the integer value. When operating on a binary argument that contains fewer bits than another argument, the shorter argument is extended by adding more significant bits equal to 0. Bitwise OR. When operating on integer arguments, the operation is performed on a two's complement representation of the integer value. When operating on a binary argument that contains fewer bits than another argument, the shorter argument is extended by adding more significant bits equal to 0. LBit is a bitwise exclusive OR. When operating on integer arguments, it operates on a two's complement representation of the integer value. When operating on a binary argument that contains fewer bits than another argument, the shorter argument is extended by adding more significant bits equal to 0. x » y Arithmetic right shift of a two's complement integer representation of x by y binary digits. This function is only defined for non-negative integer values ​​of y. The bits shifted toward the most significant bits (MSBs) as a result of the right shift have a value equal to the MSB of x before the shift operation. x«y Arithmetic left shift of a two's complement integer representation of x by y binary digits. This function is only defined for non-negative integer values ​​of y. Bits shifted towards the least significant bits (LSBs) as a result of the left shift have a value equal to 0. Allocation operators The following arithmetic operators are defined as follows: = Assignment operator + + Increment, i.e., x+ + is equivalent to ax - x + 1; when used on an array index, it evaluates the value of the variable before the increment operation. — Decrement, i.e., x— is equivalent to ax = x - 1; when used on an array index, it evaluates the value of the variable before the decrement operation. + = Increase by the specified amount, i.e., x += 3 is equivalent to ax = x + 3, and x += (-3) is equivalent to ax = x + (-3). ZRQRZn / ZZnZ / 3 / YILI - Decrement by the specified amount, i.e., x -= 3 is equivalent to ax = x-3, and x -= (-3) is equivalent to ax = x - (-3). Interval notation The following notation is used to specify a range of values: x = y..zx takes integer values ​​starting from y up to z, inclusive, with x, y, z being integers and yz being greater than y. Mathematical functions The following mathematical functions are defined: .. / . ( x ; x >= 0 Abs( x ) = t „v' (-x ; x < 0 Asin(x) is the inverse trigonometric sine function, operating on an argument x in the interval from -1.0 to 1.0, inclusive, with an output value in the interval from -tt+2 to π-^2, inclusive, in radian units. Atan( x ) the inverse function of the trigonometric tangent, which operates on an argument x with an output value in the interval from -tt-^2 to π-^-2, even, in radian units x>0 Atan2( y, x ) = Atan Q) -π+Ξ x < 0 && y >= 0 x < 0 && y < 0 x = = 0 && y >= 0 otherwise Ceil( x ) the smallest integer greater than or equal to x. Οϋρ1γ( x ) = Clip3( 0, ( 1 « BitDepthy ) - 1, x ) Clip 1 c( x ) = Clip3( 0,(1« BitDepthc ) - 1, x ) {x ; z < xy; z>yz ; otherwise Cos( x )the trigonometric cosine function that operates on an argument x in radian units. Floor( x ) is the largest integer less than or equal to x. / c + d GetCurrMsb( a, b, c, d ) = jc — d ( c ba >= d / 2 a- b > d / 2 otherwise ZRQRZn / ZZnZ / q / YIAI Ln( x ) the natural logarithm of x (the logarithm base e, where e is the base constant of the natural logarithm 2.718 281 828...). Log2( x ) the base 2 logarithm of x. Log10( x ) the base 10 logarithm dex. ... . . ( x ; x <= y Mm(x, y) = {yx>yy .. , . rx ; x>-y Max(x,y)=[yx <yy Round( x ) = Sign( x ) * Floor( Abs( x ) + 0.5 ) r 1 ; x > 0 Sign(x) = j 0; x = = 0 (-1 ; x < 0 Sin(x) is the trigonometric sine function that operates on an argument x in radian units Sqrt( x ) = Vx Swap( x, y ) = ( y, x ) Tan( x ) the trigonometric tangent function that operates on an argument x in radian units Order of precedence of the operation When an order of precedence in an expression is not explicitly indicated by the use of parentheses, the following rules apply: - Higher precedence operations are evaluated before any lower precedence operations. — Operations with the same precedence are evaluated sequentially from left to right. The following table specifies the precedence of operations from highest to lowest; a higher position in the table indicates higher precedence. For those operators that are also used in the C programming language, the order of precedence used in this Descriptive Memorandum is the same as that used in the C programming language. Table: The precedence of the operation from the highest (at the top of the table) to the lowest (at the bottom of the table) ZRQRZn / ZZnZ / q / YIAI operations (with operands x, y, z) !x, x (as a unary prefix operator) xy x * y, x / y, x * y, x % yx + y, x - y (as a two-argument operator), i=x χ << y, x >> yx < y, x <= y, x > y, x >= yx = = y, x != yx & yx | yx && yx | | yx ? y : z x..y χ = y, x += y, x -= y Text description of logical operations In the text, a statement of logical operations would be mathematically described as follows: if(condition 0) statement 0 otherwise if(condition 1) statement 1 otherwise I* informative comment about the remaining condition *1 statement n could be described as follows: ...as follows / ... the following applies: - If condition 0, statement 0 - Otherwise, if condition 1, statement 1 ZRQRZn / ZZnZ / 3 / YILI - Otherwise (informative comment on the remaining condition), statement n. Each If...Else, if...Otherwise... statement in the text is introduced with...As follows or...The following applies immediately followed by If...The last condition of the If...Else, if...Otherwise... is always an Elsewise...Inserted If...Else, if...Otherwise... statements can be identified by matching...as follows" or...The following applies" with the ending "Otherwise... In the text, a statement of logical operations would be mathematically described as follows: if(condition Oa && condition Ob) statement 0 otherwise if(condition 1a | | condition 1b) statement 1 otherwise statement n could be described as follows: ...as follows / ... the following applies: - If all of the following conditions are true, statement 0: - conditionOa — conditionOb - Otherwise, if one or more of the following conditions are true, statement 1: - condition1a - condition1b - Otherwise, statement n In the text, a statement of logical operations would be mathematically described as follows: if(condition 0) statement 0 if(condition 1) statement 1 could be described as follows: When condition 0, statement 0 When condition 1, statement 1. ZRQRZn / ZZnZ / q / YIAI The modes of, for example, encoder 20 and decoder 30, and the functions described herein, for example, with reference to encoder 20 and decoder 30, may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on a computer-readable medium or transmitted over communication media as one or more instructions or code and executed by a hardware-based processing unit. Computer-readable media may include computer-readable storage media, which corresponds to a tangible medium, such as data storage media, or communication media, including any medium that facilitates the transfer of a computer program from one location to another, for example, according to a communication protocol.Thus, computer-readable media can generally refer to (1) tangible, non-transient, computer-readable storage media, or (2) a communication medium such as a signal or carrier wave. Data storage media can be any available medium that can be accessed by one or more computers or one or more processors to retrieve instructions, codes, and / or data structures for the implementation of the techniques described in this disclosure. A computer program product may include a computer-readable medium. By way of example, and not as a limitation, such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory, or any other medium that can be used to store the desired programming code in the form of instructions or data structures and that can be accessed by a computer. Any connection to such media is also properly referred to as a computer-readable medium.For example, if instructions are transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of a medium. However, it should be understood that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transient media, but rather refer to tangible, non-transient storage media.Disc and compact disc, as used herein, include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc, where discs generally reproduce data magnetically, while compact discs reproduce data optically with a laser. Combinations of the above should also be included within the scope of computer-readable media. ZRQRZn / ZZnZ / 3 / YILI The instructions may be executed by one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. Accordingly, the term "processor," as used herein, may refer to any of the above structures or any other structure suitable for implementing the techniques described herein. Additionally, in some respects, the functionality described herein may be provided within dedicated hardware and / or software modules configured for encoding and decoding, or incorporated into a combined codec. Also, the techniques could be implemented entirely in one or more logic circuits or elements. The techniques in this disclosure can be implemented in a wide variety of devices or appliances, including a wireless mobile phone, an integrated circuit (IC), or an array of ICs (e.g., a chipset). Various components, modules, or units are described in this disclosure to emphasize the functional aspects of devices configured to perform the described techniques, but they do not necessarily require implementation by different hardware units. In fact, as described above, the various units can be combined into a single codec hardware unit or provided by a collection of interoperable hardware units, including one or more processors as described above, along with appropriate software and / or firmware.

Claims

1. A coding method, the method characterized in that it comprises: determining the syntax elements to be coded, wherein the syntax elements include a reference image list structure and at least one high-level syntax weighted prediction parameter, HLS; coding at least one HLS weighted prediction parameter; and coding the reference image list structure following the coding of at least one HLS weighted prediction parameter.

2. The method according to claim 1, characterized in that a reference image list derived from the reference image list structure comprises reference images having the same image order count parameter, POC.

3. The method according to claim 1 or 2, characterized in that at least one HLS weighted prediction parameter comprises at least one of a sequence parameter set indicator for uni-weighted prediction and a sequence parameter set indicator for bi-weighted prediction.

4. The method according to any of claims 1 to 3, characterized in that the encoding of the reference image list structure comprises a restriction on the binarization of at least a part of the reference image list structure.

5. The method according to claim 4, characterized in that the restriction on the binarization of at least a part of the reference image list structure comprises: when the sequence parameter set indicator for weighted uni-prediction is set to 0, encoding a modified POC delta value for an item in the reference image list, wherein the modified POC delta value (abs_delta_poc_st) is less than a POC delta value used in the encoding process (AbsDeltaPocSt).

6. The method according to claim 5, characterized in that the modified POC delta value is less than the POC delta value used in the encoding process by 1.

7. A decoding method using a decoder, characterized in that it comprises: receiving a bit stream; decoding the bit stream to obtain syntax elements, wherein the syntax elements comprise a reference image list structure and at least one high-level syntax weighted prediction parameter, HLS, wherein in the syntax elements, at least one HLS weighted prediction parameter is decoded before the reference image list structure; performing prediction based on the obtained syntax elements to obtain a prediction block; reconstructing a reconstructed block based on the prediction block; and obtaining a decoded image based on the reconstructed block.

8. The method according to claim 7, characterized in that at least one HLS weighted prediction parameter includes at least one of a sequence parameter set indicator for uni-weighted prediction and a sequence parameter set indicator for bi-weighted prediction.

9. The method according to claims 7 or 8, characterized in that the decoding of the bit stream to obtain syntax elements is performed by entropy decoding.

10. The method according to any of claims 7 to 9, characterized in that performing the prediction based on the syntax elements obtained to obtain a prediction block comprises: obtaining an image order count, POC, delta value based on at least one HLS weighted prediction parameter and a syntax element in the reference image list structure; performing prediction based on the POC delta value.

11. The method according to claim 10, characterized in that obtaining a POC delta value based on at least one HLS weighted prediction parameter comprises: determining, based on the value of at least one HLS weighted prediction parameter, whether the POC delta value is allowed to have a value of 0; when it is determined that the POC delta value cannot have a value of 0, resetting the POC delta value using an augmented value of the syntax element in the reference image list structure.

12. The method according to claim 10 or 11, characterized in that the syntax element in the reference image list structure is absdeltapocst; where the value of POC delta is obtained as follows: ZRQRZn / ZZnZ / q / YIAI if( spsweightedpredflag | | sps weighted bipred flag ) AbsDeltaPocSt[ listldx ][ rplsldx ][ i ] = abs_delta_poc_st[ listldx ][ rplsldx ][ i ] else AbsDeltaPocSt[ listldx ][ rplsldx ][ i ] = abs_delta_poc_st[ listldx ][ rplsldx ][ i ] + 1 where AbsDeltaPocSt[ listldx ][ rplsldx ][ i ] is the absolute value of POC delta, abs_delta_poc_st[ listldx ][ rplsldx ][ i ] is the syntax element in the structure of list of reference images.

13. A decoder, characterized in that it comprises: one or more processors; and a computer-readable non-transient storage medium coupled to the processors and storing the programming for execution by the processors, wherein the programming, when executed by the processors, configures the decoder to carry out the method in accordance with any one of claims 7 to 12.

14. An encoder, characterized in that it comprises: one or more processors; and a computer-readable, non-transient storage medium coupled to the processors and storing the programming for execution by the processors, wherein the programming, when executed by the processors, configures the encoder to carry out the method in accordance with any one of claims 1 to 6.

15. A non-transient, computer-readable medium carrying program code that, when executed by a computer device, causes the computer device to perform the method of any one of claims 1 to 6.

16. A non-transient, computer-readable medium carrying program code that, when executed by a computer device, causes the computer device to perform the method of any one of claims 7 to 12.

17. A decoding device, characterized in that it comprises: a non-transient memory storage configured to store video data in the form of a bit stream; and a decoder configured to perform any of the methods according to claims 7 to 12.