GB2640040A - Image coding and decoding - Google Patents
Image coding and decodingInfo
- Publication number
- GB2640040A GB2640040A GB2508092.0A GB202508092A GB2640040A GB 2640040 A GB2640040 A GB 2640040A GB 202508092 A GB202508092 A GB 202508092A GB 2640040 A GB2640040 A GB 2640040A
- Authority
- GB
- United Kingdom
- Prior art keywords
- picture block
- prediction
- processed
- permission level
- picture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The embodiments of the present application relate to the field of image coding and decoding. Provided are an image coding method and apparatus, and an image decoding method and apparatus, which ensure that users who have different permission levels at a decoding end obtain a consistent result of decoding for a low-permission-level region without increasing a transmission code stream. The method comprises: determining a prediction mode for an image block to be processed, and a permission level of the image block to be processed (S401); according to the prediction mode, determining a first reference image block of the image block to be processed (S402); and if the permission level of the first reference image block does not meet a reference condition, prohibiting determining a prediction block of the image block to be processed by using the first reference image block, or determining the prediction block of the image block to be processed by using a second reference image block, which is allowed to be exported (S403).
Description
IMAGE CODING AND DECODING
TECHNICAL FIELD
[0001] The embodiments of the present disclosure relate to the field of picture encoding and decoding technology, and in particular to a picture encoding and decoding method and apparatus.
BACKGROUND
[0002] The field of monitoring has undergone great changes in recent years. Digitalization and high-definition have improved the clarity of pictures in an all-round way. Monitoring equipment is also becoming more and more popular and widely used in transportation, schools, and other public places. However, in order to enable different users to access different regions, it is particularly important to establish a sound video transmission scheme with permission level protection.
[0003] Currently, regions of interesting are generally set, and regions of interesting are configured with high permission levels to restrict the access of users with a low permission level to the regions of interesting. In an encoding and decoding process of video picture transmission, reference between different permission level regions is involved. When a region with a low permission level needs to refer to information of a region with a high permission level for encoding and decoding, how to ensure that users with different permission levels at a decoding device have consistent decoding results for the low permission level region is a key in the technology of encoding and decoding with permission levels.
[0004] The industry has designed a plurality of schemes to ensure that users with different permission levels at the decoding device have consistent decoding results for the low permission level region. One of the schemes is to limit configuration of permission level regions, that is, to set a same permission level for all picture blocks within a slice to avoid the reference between regions with different permission levels. However, this scheme leads to inaccurate configuration of permission level regions, and it is impossible to achieve accurate access to different regions by permission level.
SUMMARY
[0005] The present disclosure provides a picture encoding and decoding method and apparatus, which can accurately access different picture regions by permission level without increasing transmission bitstream, and ensure that users with different permission levels at a decoding device have consistent decoding results for a low permission level region.
[0006] To achieve the above objectives, the embodiments of the present disclosure adopt the following technical solution.
[0007] In a first aspect, the embodiments of the present disclosure provide a picture encoding and decoding method, which includes: determining a prediction mode of a picture block to be processed and a permission level of the picture block to be processed; determining a first reference picture block of the picture block to be processed according to the prediction mode; if a permission level of the first reference picture block does not satisfy a reference condition, prohibiting to determine a prediction block of the picture block to be processed by using the first reference picture block, or determining the prediction block of the picture block to be processed by using a second reference picture block that is allowed to be derived; where the reference condition includes that the permission level is lower than or equal to the permission level of the picture block to be processed, or the permission level is different from the permission level of the picture block to be processed, or the permission level is equal to a minimum permission level, or there is no pixel block with a permission level higher than the permission level of the picture block to be processed within s pixels above, below, left, and right, where s is greater than or equal to 1.
[0008] Through the solution provided in the present disclosure, in a picture encoding/decoding process configured with permission levels, when a picture block (or a pixel) in a region with a low permission level needs to refer to a picture block (or a pixel) with a high permission level, it is prohibited to refer to, or an alternative value of the picture block (or the pixel) with the high permission level that is allowed to be derived (which can be obtained by users with any permission level) is referred to. By using the same operation for reference at the encoding/decoding device, decoding results of users with different permissions at the decoding device for a same low permission level region can be consistent, without the need to transmit compensation values and transmission bitstream is saved.
[0009] In a possible implementation, the second reference picture block is a picture block determined by one or more picture blocks with permission levels satisfying the reference condition among neighboring picture blocks of the first reference picture block.
[0010] In another possible implementation, the second reference picture block is predicted pixel values obtained by decoding the first reference picture block with a minimum user permission level of a decoding device.
100111 In another possible implementation, the second reference picture block is a picture block with default pixel values.
[00121 In this way, if the second reference picture block that is allowed to be derived is used to determine the prediction block of the picture block to be processed (i.e., a picture block that is supported by the permission level of the user at the decoding device and whose predicted pixel values have been determined), according to different user permission levels at the decoding device deploying the processing device, when the permission level of the first reference picture block does not satisfy the reference condition for the same picture block to be processed, the determined second reference picture block is consistent, so as to achieve consistent decoding results of users with different permission levels for the same low permission level region.
[00131 In a possible implementation, the method may also include: if the permission level of the picture block to be processed is a minimum permission level, updating a historical reference list according to prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is a non-minimum permission level, prohibiting to update the historical reference list according to the prediction reference information of the picture block to be processed. Where the historical reference list is configured to indicate motion information of prediction reference information of processed picture blocks. The prediction reference information of the picture block to be processed is configured to indicate a prediction process of the picture block to be processed. The non-minimum permission level is one or more. In this way, only when the picture block to be processed is at the minimum permission level, the historical reference list will be updated to ensure the consistency of decoding the low permission level region by users with different permission levels.
[0014] In another possible implementation, the method may also include: if the permission level of the picture block to be processed is the minimum permission level, updating the historical reference list according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is the non-minimum permission level, updating the historical reference list according to alternative prediction reference information that is allowed to be derived. In this way, if the permission level of the picture block to be processed is the non-minimum permission level, the historical reference list will be updated in a way of the alternative prediction reference information (the alternative prediction reference information that is allowed to be derived can refer to prediction reference information of a picture block that is supported by the permission level of the user at the decoding device and whose predicted pixel values have been determined), to ensure the consistency of decoding the low permission level region by users with different permission levels.
[0015] In another possible implementation, the method may also include: if the permission level of the picture block to be processed is the minimum permission level, updating the historical reference list according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is the non-minimum permission level, updating a temporary historical reference list corresponding to the permission level of the picture block to be processed according to the prediction reference information of the picture block to be processed. In this way, if the permission level of the picture block to be processed is the non-minimum permission level, the temporary historical reference list (not the original historical reference list) corresponding to the permission level of the picture block to be processed can be updated based on the prediction reference information of the picture block to be processed. After processing a picture block with the minimum permission level, the original historical reference list is updated according to the prediction reference information of the picture block with the minimum permission level, to ensure the consistency of decoding the low permission level region by users with different permission levels.
[0016] In another possible implementation, the method may further include: if the permission level of the picture block to be processed is the minimum permission level and the historical reference list is not updated by prediction reference information of a picture block with the non-minimum permission level, updating the historical reference list according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is the minimum permission level and the historical reference list is updated by the prediction reference information of the picture block with the non-minimum permission level, reconstructing the historical reference list according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is the non-minimum permission level, updating the historical reference list according to the prediction reference information of the picture block to be processed. In this way, by configuring only one historical reference list, the historical reference list is also updated for the picture block with the non-minimum permission level. However, when the picture block with the minimum permission level is processed, the historical reference list is reconstructed and updated after initialization, to ensure the consistency of decoding the low permission level region by users with different permission levels.
[0017] In another possible implementation, the method may further include: updating a historical reference list of a permission level region to which the picture block to be processed belongs according to the prediction reference information of the picture block to be processed, where different historical reference lists are constructed for different permission level regions.
[0018] In another possible implementation, different historical reference lists are constructed for some permission level regions. The method may also include: if the permission level region where the picture block to be processed is located is configured with a historical reference list, the historical reference list of the permission level region to which the picture block to be processed belongs is updated according to the prediction reference information of the picture block to be processed. If the permission level region where the picture block to be processed is located is not configured with a historical reference list configured, the historical reference list is constructed or updated according to other possible implementation methods.
[0019] In another possible implementation, the method may further include: if the permission level of the picture block to be processed is higher than a permission level of a previous region, updating the historical reference list according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is lower than the permission level of the previous region, initializing the historical reference list according to alternative prediction reference information.
[0020] In this way, the historical reference list is updated in the different ways mentioned above, the same scheme can be used for both the encoding and the decoding device. The reference manner used for the picture block to be processed is determined by the encoding device, encoded and sent to the decoding device with the bitstream, so that the encoding device and the decoding device adopt the same scheme, to ensure the consistency of decoding the low permission level region by users with different permission levels.
[0021] In a possible implementation, the alternative prediction reference information is default prediction reference information.
[0022] In a possible implementation, the alternative prediction reference information is prediction reference information of a default picture block.
[0023] In a possible implementation, the alternative prediction reference information is prediction reference information of a picture block with a permission level satisfying the reference condition before the picture block to be processed in an encoding and decoding order.
[0024] In a possible implementation, the alternative prediction reference information is prediction reference information derived from prediction reference infonnation of one or more picture blocks with permission levels satisfying the reference condition before the picture block to be processed in the encoding and decoding order.
[0025] In this way, the historical reference list is constructed and updated according to prediction reference information of the picture block with the minimum permission level. After processing a picture block with the non-minimum permission level, the historical reference list is updated according to alternative prediction reference information that is allowed to be derived, to ensure the consistency of decoding the low permission level region by users with different permission levels.
[0026] In a possible implementation, the prediction reference infonnation includes any one of location information, mode information, or frequency; the historical reference list includes any one of: a historical motion information list, a historical intra copy information list, or a historical point prediction information list.
[0027] In a possible implementation, the method may also include: if a permission level of a neighboring spatial picture block used does not satisfy the reference condition, marking that the neighboring spatial picture block does not exist.
[0028] In another possible implementation, if a permission level of a neighboring picture block does not satisfy the reference condition, spatial prediction information of the picture block to be processed parsed and obtained from a bitstream.
[0029] In another possible implementation, if the permission level of the neighboring spatial picture block used does not satisfy the reference condition, the spatial prediction information of the picture block to be processed is derived according to alternative spatial prediction information of a neighboring picture block that is allowed to be derived.
[0030] In this way, through deriving spatial motion information, motion information of the current picture block to be processed is determined by using motion information of surrounding picture blocks neighboring to the picture block to be processed. If the permission level of the hboring spatial picture block used does not satisfy the reference condition, different manner of deriving spatial motion information mentioned above can be used to determine the motion information of the current picture block to be processed. The same scheme can be used at both the encoding device and the decoding device. The reference manner used for the picture block to be processed is determined by the encoding device, encoded and sent to the decoding device with the bitstream, so that the encoding device and the decoding device adopt the same scheme, to ensure the consistency of decoding the low permission level region by users with different permission levels.
[0031] In a possible implementation, the alternative spatial prediction information is default spatial prediction information.
[0032] In another possible implementation, the alternative spatial prediction information is spatial prediction information derived from spatial prediction information of one or more picture blocks with permission levels satisfying the reference condition before the picture block to be processed in an encoding and decoding order.
[0033] In a possible implementation, the method may further include: obtaining permission level configuration information of a picture frame, where the permission level configuration information is configured to indicate a corresponding relationship between a location region in the picture frame and a permission level, and picture blocks in the location region have one or more permission levels; taking a permission level corresponding to a location of a picture block in the picture frame in the permission level configuration information as the permission level of the picture block. In this way, the permission level corresponding to the location of the picture block in the picture frame in the permission level configuration information can be taken as the permission level of the picture block, so that the processing device can perform the restriction operation according to different permission levels.
[0034] In a possible implementation, if intra prediction filter, inter prediction filter, or intra reference pixel filtering is enabled, the first reference picture block is a reference picture block used in filtering.
[0035] In another possible implementation, if cross-component prediction technology is enabled, when the picture block to be processed is a picture block in a first channel, the first channel generates a prediction block of the picture block in the first channel with reference to one or more picture blocks in a second channel and/or a third channel, and the first reference picture block is a picture block in the second channel and/or the third channel.
[0036] In this way, the first reference picture block is the picture block to be referenced when obtaining the prediction block of the picture block to be processed according to the prediction module of the picture block to be processed. The content or location of the first reference picture block may be different under different prediction modules or different scenarios.
[0037] In a possible implementation, the method may also include: if the permission level of the first reference picture block satisfies the reference condition, determining the prediction block of the picture block to be processed by using the first reference picture block.
[0038] In a possible implementation, the method may also include: if the permission level of the first reference picture block does not satisfy the reference condition, determining a target reference manner of the picture block to be processed; where the target reference manner includes: prohibiting to determine the prediction block of the picture block to be processed by using the first reference picture block, or determining the prediction block of the picture block to be processed by using the second reference picture block that is allowed to be derived; the decoding device determines the target reference manner according to indication information in a bitstream, and an encoding device decides to determine the target reference manner. In this way, in the case where the permission level of the first reference picture block does not satisfy the reference condition, different picture blocks can adopt different processing methods in the above determination of the prediction block of the picture block to be processed to obtain the prediction block of the picture block to be processed, the same scheme can be used for both the encoding and the decoding device. The reference manner used for the picture block to be processed is determined by the encoding device, encoded and sent to the decoding device with the bitstream, so that the encoding device and the decoding device adopt the same scheme, to ensure the consistency of decoding the low permission level region by users with different permission levels.
[0039] In a second aspect, the embodiments of the present disclosure provide a picture encoding and decoding apparatus, which includes a determining module and a processing module.
[0040] The determining module is configured to determine a prediction mode of a picture block to be processed and a permission level of the picture block to be processed.
[0041] The determining module is further configured to determine a first reference picture block of the picture block to be processed according to the prediction mode.
[0042] The processing module is configured to: if a permission level of the first reference picture block does not satisfy a reference condition, prohibit to determine a prediction block of the picture block to be processed by using the first reference picture block, or determine the prediction block of the picture block to be processed by using a second reference picture block that is allowed to be derived. Where the reference condition includes that the permission level is lower than or equal to the permission level of the picture block to be processed, or the permission level is different from the permission level of the picture block to be processed, or the permission level is equal to a minimum permission level, or there is no pixel block with a permission level higher than the permission level of the picture block to be processed within s pixels above, below, left, and right, where s is greater than or equal to 1. [0043] In a possible implementation, the second reference picture block is a picture block determined by one or more picture blocks with permission levels satisfying the reference condition among neighboring picture blocks of the first reference picture block. Or, the second reference picture block is predicted pixel values obtained by decoding the first reference picture block with a minimum user permission level of a decoding device. Or, the second reference picture block is a picture block with default pixel values.
[0044] In a possible implementation, the processing module is further configured to: if the permission level of the picture block to be processed is a minimum permission level, update a historical reference list according to prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is a non-minimum permission level, prohibit to update the historical reference list according to the prediction reference information of the picture block to be processed. Where the historical reference list is configured to indicate motion information of prediction reference information of processed picture blocks. The prediction reference information of the picture block to be processed is configured to indicate a prediction process of the picture block to be processed. The non-minimum permission level is one or more.
[0045] In another possible implementation, the processing module is further configured to: if the permission level of the picture block to be processed is the minimum permission level, update the historical reference list according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is the non-minimum permission level, update the historical reference list according to alternative prediction reference information that is allowed to be derived.
[0046] In another possible implementation, the processing module is further configured to: if the permission level of the picture block to be processed is the minimum permission level, update the historical reference list according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is the non-minimum permission level, update a temporary historical reference list corresponding to the permission level of the picture block to be processed according to the prediction reference information of the picture block to be processed.
[0047] In another possible implementation, the processing module is further configured to: if the permission level of the picture block to be processed is the minimum permission level and the historical reference list is not updated by prediction reference information of a picture block with the non-minimum permission level, update the historical reference list according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is the minimum permission level and the historical reference list is updated by the prediction reference information of the picture block with the non-minimum permission level, reconstruct the historical reference list according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is the non-minimum permission level, update the historical reference list according to the prediction reference information of the picture block to be processed.
[0048] In another possible implementation, the processing module is further configured to: update a historical reference list of a permission level region to which the picture block to be processed belongs according to the prediction reference information of the picture block to be processed. Where different historical reference lists are constructed for different permission level regions.
[0049] In another possible implementation, the processing module is further configured to: if the permission level of the picture block to be processed is higher than a permission level of a previous region, update the historical reference list according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is lower than the permission level of the previous region, initialize the historical reference list according to alternative prediction reference information.
[0050] In a possible implementation, the alternative prediction reference information is default prediction reference information. Or, the alternative prediction reference information is prediction reference information of a default picture block. Or, the alternative prediction reference information is prediction reference information of a picture block with a permission level satisfying the reference condition before the picture block to be processed in an encoding and decoding order. Or, the alternative prediction reference information is prediction reference information derived from the prediction reference information of the one or more picture blocks with permission levels satisfying the reference condition before the picture block to be processed in the encoding and decoding order.
[0051] In a possible implementation, the prediction reference information includes any one of: location information, mode information, or frequency. The historical reference list includes any one of: a historical motion information list, a historical intra copy information list, or a historical point prediction information list.
[0052] In a possible implementation, the processing module is further configured to: if a permission level of a neighboring spatial picture block used does not satisfy the reference condition, mark that the neighboring spatial picture block does not exist. Or, the processing module is further configured to: if a permission level of a neighboring picture block does not satisfy the reference condition, parse and obtain spatial prediction information of the picture block to be processed from a bitstream. Or, the processing module is further configured to: if the permission level of the neighboring spatial picture block used does not satisfy the reference condition, derive the spatial prediction information of the picture block to be processed according to alternative spatial prediction information of a neighboring picture block that is allowed to be derived.
[0053] In a possible implementation, the alternative spatial prediction information is default spatial prediction information. Or, the alternative spatial prediction information is spatial prediction information derived from spatial prediction information of one or more picture blocks with permission levels satisfying the reference condition before the picture block to be processed in an encoding and decoding order.
[0054] In a possible implementation, the processing module is further configured to: obtain permission level configuration information of a picture frame, where the permission level configuration information is configured to indicate a corresponding relationship between a location region in the picture frame and a permission level, and picture blocks in the location region have one or more permission levels; take a permission level corresponding to a location of a picture block in the picture frame in the permission level configuration information as the permission level of the picture block.
10055] In a possible implementation, if intra prediction filter, inter prediction filter, or intra reference pixel filtering is enabled, the first reference picture block is a reference picture block used in filtering. If cross-component prediction technology is enabled, when the picture block to be processed is a picture block in a first channel, the first channel generates a prediction block of the picture block in the first channel with reference to one or more picture blocks in a second channel and/or a third channel, and the first reference picture block is a picture block in the second channel and/or the third channel.
[0056] In a possible implementation, the processing module is further configured to: if the permission level of the first reference picture block satisfies the reference condition, determine the prediction block of the picture block to be processed by using the first reference picture block.
[0057] In a possible implementation, the processing module is further configured to: if the permission level of the first reference picture block does not satisfy the reference condition, determine a target reference manner of the picture block to be processed. Where the target reference manner includes: prohibiting to determine the prediction block of the picture block to be processed by using the first reference picture block, or determining the prediction block of the picture block to be processed by using the second reference picture block that is allowed to be derived. The decoding device determines the target reference manner according to indication information in a bitstream, and the encoding device decides to determine the target reference manner.
[0058] In a third aspect, the embodiments of the present disclosure provide an encoder including one or more processors coupled to a memory. The memory is configured to store computer programs or instructions. The one or more processors are configured to execute the computer programs or instructions stored in the memory to cause the encoder to perform the method described in any one of the first aspect and its possible implementations.
[0059] In a fourth aspect, the embodiments of the present disclosure provide a decoder including one or more processors coupled to a memory. The memory is configured to store computer programs or instructions. The one or more processors are configured to execute the computer programs or instructions stored in the memory to cause the decoder to perform the method described in any one of the first aspect and its possible implementations.
[0060] In a fifth aspect, the embodiments of the present disclosure provide a computer program product including program codes for performing the method described in any one of the first aspect and its possible implementations when executed on a computer or processor. [0061] In a sixth aspect, the embodiments of the present disclosure provide an electronic device including the encoder as described in the third aspect or the decoder as described in the fourth aspect.
[0062] In a seventh aspect, the embodiments of the present disclosure provide a computer-readable storage medium including program codes for executing the method described in any one of the first aspect and its possible implementations when executed by a computer device.
[0063] It should be understood that beneficial effects achieved by the technical solution and the corresponding possible implementations in the second to seventh aspects of the embodiments of the present disclosure can refer to technical effects of the first aspect and its corresponding possible embodiments mentioned above, which will not be repeated here.
BRIEF DESCRIPTION OF THE DRAWINGS
[0064] FIG. 1 is a schematic architectural diagram of a codec system provided in an
embodiment of the present disclosure.
[0065] FIG. 2 is a schematic block diagram of an encoder provided in an embodiment of the present disclosure.
[0066] FIG. 3 is a schematic block diagram of a decoder provided in an embodiment of the present disclosure.
[0067] FIG. 4 is a flowchart of a picture encoding and decoding method provided in an embodiment of the present disclosure.
[0068] FIG. 5 is a flowchart of another picture encoding and decoding method provided in an embodiment of the present disclosure.
[0069] FIG. 6 is a schematic diagram of infra prediction modes provided in an embodiment of the present disclosure.
[0070] FIG. 7 is a schematic diagram of a position relationship between left/upper neighboring blocks and a current picture block provided in an embodiment of the present disclosure.
[0071] FIG. 8 is a schematic diagram of surrounding blocks provided in an embodiment of the present disclosure.
[0072] FIG. 9 is a schematic structural diagram of a picture encoding and decoding apparatus provided in an embodiment of the present disclosure.
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0073] The term and/or in this specification describes only an association relationship for describing associated objects and represents that three relationships may exist. For example, A and/or B may represent the following three cases: only A exists, both A and B exist, and only B exists.
[0074] In this specification and the accompanying drawings of the present disclosure, the terms "first", "second", and the like are intended to distinguish different objects, rather than to describe a specific order of the objects. For example, a first prediction mode and a second prediction mode are used to distinguish different prediction modes, rather than to describe a specific order of prediction modes.
[0075] In the embodiments of the present disclosure, words such as "exemplary" or "for example" are used to represent an example, an illustration, or a description. Any embodiment or design solution described as "exemplary" or "for example" in the embodiments of the present disclosure should not be construed as being more preferred or having more advantages than other embodiments or design solutions. Specifically, the use of the words such as "exemplary-or "for example" is intended to present a relative concept in a specific manner.
[0076] In the description of the embodiments of the present disclosure, unless otherwise stated, "a plurality of means two or more. For example, a plurality of picture blocks refers to two or more picture blocks.
[0077] The picture encoding and decoding method provided in the embodiments of the present disclosure can be applied to a process of obtaining a prediction block in a picture encoding process, and can also be applied to a process of obtaining a prediction block in a picture decoding process.
[0078] Firstly, technical terms involved in the embodiments of the present disclosure are introduced.
[0079] Video sequence/picture sequence: a complete picture in a video is generally referred to as a -frame" (picture), and a video composed of many frames in chronological order is referred to as a video sequence, or can be referred to as a picture sequence.
[0080] Video coding technology: a video sequence includes a series of redundancy information such as spatial redundancy, temporal redundancy, visual redundancy, information entropy redundancy, structure redundancy, knowledge redundancy, and importance redundancy. In order to remove redundancy information from the video sequence as much as possible and reduce an amount of data that is used to represent a video, a video coding technology is proposed, to reduce storage space and save transmission bandwidth. The video coding technology is also referred to as a video compression technology.
[0081] Permission level: level information configured to regions in a picture to indicate access permissions. Users at a decoding device can only access information of regions lower or equal to their own permission level.
[0082] Intra prediction: refers to using the reconstructed pixel values of spatial neighboring blocks of the current block (which are in a same frame as the current picture block) for prediction encoding.
[0083] Inter prediction: refers to using reconstructed pixel values of temporal neighboring blocks of the current block (which are in a different picture from the current picture block) for prediction encoding.
[0084] Prediction pixel: refers to a pixel value derived from encoded and decoded pixels, that is, a pixel value in a prediction block of the picture block. A residual can be obtained by a difference between an original pixel and a predicted pixel, and then residual transform quantization and coefficient encoding can be performed. Specifically, the predicted pixel of inter prediction refers to a pixel value of the current picture block derived from a reference picture block in a reference frame (reconstructed pixel frame). Since pixel positions are discrete, it is necessary to obtain a final predicted pixel through interpolation operation. The closer the predicted pixel is to the original pixel, the smaller a residual energy obtained by subtracting them, and the higher the coding compression performance.
[0085] The present disclosure provides a picture encoding and decoding solution. In a picture encoding/decoding process configured with permission levels, when a picture block (or a pixel) in a region with a low permission level needs to refer to a picture block (or a pixel) with a high permission level, it is prohibited to refer to, or an alternative value of the picture block (or the pixel) with the high permission level that is allowed to be derived (which can be obtained by users with any permission level) is referred to. By using the same operation for reference at the encoding/decoding device, decoding results of users with different permissions at the decoding device for a same low permission level region can be consistent. As the scheme proposed in the present disclosure provides a solution of a reference between regions with different permission levels, thus there is no need to forcibly classify certain picture blocks into other permission levels when partitioning picture blocks, and accurate access to different picture regions by permission level can be realized. In the present disclosure, the alternative value that is allowed to be derived is used for reference, achieving consistency in decoding for users with different permission levels, without the need to transmit compensation values and transmission bitstream is saved.
[0086] Next, the implementation environment and application scenarios of the embodiments of the present disclosure are briefly introduced. The video encoding and decoding method provided in the present disclosure can be applied to a video codec system shown in FIG. 1.
[0087] Referring to FIG. 1, a schematic architectural diagram of a codec system (also referred to as an encoding and decoding system) 10 applied in the embodiments of the present disclosure is provided. As shown in FIG. 1, the codec system 10 can include a source device 11 and a destination device 12. The source device 11 is used to encode pictures, so the source device 11 can be referred to as a video encoding device. The destination device 12 is used to decode encoded picture data generated by the source device 11, so the destination device 12 can be referred to as a video decoding device.
[0088] The source device 11 and the destination device 12 can include various devices, including, for example, desktop computers, mobile computing devices, notebook computers (e.g., laptop computers), tablet computers, set-top boxes, mobile phones, televisions, cameras, display devices, digital media players, video game consoles, vehicle-mounted computers, wireless communication devices, and the like.
[0089] In an example, the source device 11 and the destination device 12 in FIG. 1 can be two separate devices, or the source device 11 and the destination device 12 can be the same device, that is, the source device 11 or corresponding functions and the destination device 12 or corresponding functions can be integrated on the same device.
[0090] Communication can be performed between the source device 11 and the destination device 12, for example, the destination device 12 can receive encoded picture data from the source device 11. In an example, there may be one or more communication media between the source device 11 and the destination device 12, through which encoded picture data is transmitted. The one or more communication media may include routers, switches, base stations, or other devices that facilitate communication from the source device 11 to the destination device 12.
[0091] As shown in FIG. 1, the source device 11 includes an encoder 112. In an example, the source device 11 may also include a picture preprocessor 111 and a communication interface 113. The picture preprocessor 111 is used to perform preprocessing on a received picture to be encoded. For example, the preprocessing performed by the picture preprocessor 111 may include retouching, color format conversion (for example, conversion from RGB format to YUV format), color tuning or denoising, and the like. The encoder 112 is used to receive a preprocessed picture and process the preprocessed picture by adopting a relevant prediction mode (for example, a prediction mode in various embodiments herein), thereby providing encoded picture data In some embodiments, the encoder 112 may be used to perform the picture encoding process described in various embodiments below. The communication interface 113 can be used to transmit the encoded picture data to the destination device 12 or any other device (for example, a memory) for storage or direct reconstruction, where other device can be any device used for decoding or storage. The communication interface 113 can also encapsulate the encoded picture data into a suitable format before transmission.
[0092] In an example, the picture preprocessor 111, the encoder 112, and the communication interface 113 mentioned above may be hardware components in the source device 11 or software programs in the source device 11, which is not limited in the embodiments of the present disclosure.
[0093] Continuing as shown in FIG. 1, the destination device 12 includes a decoder 122. In an example, the destination device 12 may also include a communication interface 121 and a picture post-processor 123. The communication interface 121 can be used to receive encoded picture data from the source device 11 or any other source device such as a storage device. The communication interface 121 can also decapsulate the data transmitted by communication interface 113 to obtain the encoded picture data The decoder 122 is used to receive the encoded picture data and output decoded picture data (also referred to as reconstructed picture data). In some embodiments, the decoder 122 may be used to perform the picture decoding process described in the various embodiments below.
[0094] The picture post-processor 123 is used to perform post-processing on the decoded picture data to obtain post-processed picture data. The post-processing performed by the picture post-processing unit 123 may include color format conversion (for example, conversion from YUV format to RGB format), color tuning, retouching or resampling, or any other processing. The picture post-processor 123 may also be used to transmit the post-processed picture data to a display device for display.
[0095] Similarly, in an example, the communication interface 121, the decoder 122, and the picture post-processor 123 mentioned above may be hardware components in the destination device 12 or software programs in the destination device 12, which is not limited in the embodiments of the present disclosure.
[0096] Structures of the encoder and the decoder in FIG. 1 are briefly introduced below.
[0097] Referring to FIG. 2, which shows a schematic block diagram of an example of an encoder 20 for implementing the embodiments of the present disclosure. In FIG. 2, the encoder includes a prediction processing unit 201, a residual calculation unit 202, a transform processing unit 203, a quantization unit 204, an entropy encoding unit 205, a dequantization unit (also referred to as an inverse quantization unit) 206, an inverse transform unit (also referred to as an inverse transform processing unit) 207, a reconstruction unit 208, and a filter unit 209. Optionally, the encoder 20 may also include a buffer and a decoded picture buffer, where the buffer is used to cache reconstructed picture blocks output by the reconstruction unit 208, and the decoded picture buffer is used to cache filtered picture blocks output by the filter unit 209.
[0098] The input of the encoder 20 is a picture block of a picture (which can be referred to as a picture to be encoded), and the picture block can also be referred to as a current picture block, a picture block to be encoded, or a picture block to be processed.
[0099] The encoder 20 may also include a partitioning unit (not shown in FIG. 2) for partitioning the picture to be encoded into a plurality of picture blocks. The encoder 20 is used to encode block by block to complete the encoding of the picture to be encoded, for example, performing the encoding process on each picture block. For example, the partitioning unit can partition the picture according to location information indicating a location region of a target of interesting, so that one picture block only includes a picture region with one permission level.
[0100] The prediction processing unit 201 is used to receive or obtain the picture block (the current picture block to be encoded of the current picture to be encoded, can also be referred to as the current picture block, which can be understood as a true value of the picture block) and reconstructed picture data, and predict the current picture block based on relevant data in the reconstructed picture data to obtain a prediction block of the current picture block. Optionally, the prediction processing unit 201 may include an inter prediction unit, an intra prediction unit, and a mode selection unit. The mode selection unit is used to select an intra prediction mode or an inter prediction mode. If the intra prediction mode is selected, the prediction process is performed by the intra prediction unit. If the inter prediction mode is selected, the prediction process is performed by the inter prediction unit.
[0101] The residual calculation unit 202 is used to calculate a residual between the true value of the picture block and the prediction block of the picture block to obtain a residual block. For example, pixel values of the prediction block are subtracted from pixel values of the picture block pixel by pixel.
[0102] The transform processing unit 203 is used to perform a transform on the residual block, for example, discrete cosine transform (DCT) or discrete sine transform (DST), to obtain transform coefficients in a transform domain. The transform coefficients can also be referred to as transform residual coefficients, which can represent the residual block in the transform domain.
[0103] The quantization unit 204 is used to quantize transform coefficients by applying scalar quantization or vector quantization to obtain quantized transform coefficients, which can also be referred to as quantized residual coefficients. The quantization process can reduce a bit depth associated with some or all of the transform coefficients. For example, n-bit transform coefficients can be rounded down to m-bit transform coefficients 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 scales can be applied to achieve a finer or coarser quantization. A smaller quantization step corresponds to a finer quantization, and a larger quantization step corresponds to a coarser quantization. An appropriate quantization step can be indicated by a quantization parameter (QP).
[0104] The entropy encoding unit 205 is used to encode the quantized residual coefficients or transform coefficients mentioned above, and then arrange the coefficients into units to be decoded in a scanning manner and a grouping manner. The encoded picture data (i.e., units to be decoded) is output in a form of an encoded bitstream. Then, the encoded picture data can be transmitted to the decoder, or can be stored and subsequently transmitted to the decoder or used for retrieval. The entropy encoding unit 205 can also be used to encode other syntax elements of the current picture block, such as encoding the prediction mode into the bitstream, encoding reference manner indication information into the bitstream. Entropy coding algorithms include but are not limited to variable length coding (VLC) algorithms, context adaptive VLC (CAVLC) algorithms, arithmetic coding algorithms, context adaptive binary arithmetic coding (CABAC) algorithms, syntax-based context-adaptive binary arithmetic coding (SBAC) algorithms, and probability interval partitioning entropy (PIPE) algorithms. [0105] The dequantization unit 206 is used to dequantize the quantized coefficients mentioned above to obtain dequantized coefficients. The dequantization is an inverse application of the quantization unit 204, for example, an inverse quantization scheme of the quantization scheme applied by the quantization unit 204 is applied based on or using a same quantization step as the quantization unit 204. The dequantized coefficients can also be referred to as dequantized residual coefficients.
[0106] The inverse transform unit 207 is used to perform inverse transform on the dequantized coefficients mentioned above. It should be understood that the inverse transform is an inverse application of the transform processing unit 203. For example, the inverse transform may include inverse discrete cosine transform (DCT) or inverse discrete sine transform (DST) to obtain an inverse transform block in a pixel domain (or referred to as a sample domain). The inverse transform block can also be referred to as an inverse transform dequantized block or an inverse transform residual block.
[0107] The reconstruction unit 208 is used to add the inverse transform block (i.e., the inverse transform residual block) to the prediction block to obtain a reconstructed block in the sample domain. The reconstruction unit 208 can be a summer, for example, adding sample values (i.e., pixel values) of the residual block to sample values of the prediction block. The reconstructed block output by the reconstruction unit 208 can be subsequently used to predict other picture blocks, for example, used in intra prediction mode.
[0108] The filter unit 209 (or referred to as "filter" for short) is used to filter the reconstructed block to obtain a filtered block, thereby smoothly performing pixel transform or improving picture quality. The filter unit can be a loop filter unit, intended to represent one or more loop filters, for example, a deblocking filter, a sample-adaptive offset (SAO) filter, or other filters, for example, a bilateral filter, an adaptive loop filter (ALF), a sharpening or smoothing filter, or a collaborative filter. Optionally, the filtered block output by the filter unit 209 can be subsequently used to predict other picture blocks, for example, used in inter prediction mode.
[0109] Specifically, in the embodiments of the present disclosure, the encoder 20 is used to implement the picture encoding and decoding method described in the following embodiments.
[0110] Referring to FIG. 3, which shows a schematic block diagram of an example of a decoder 30 for implementing the embodiments of the present disclosure. The decoder 30 is used to receive, for example, encoded picture data (i.e., an encoded bitstream, for example, an encoded bitstream including picture blocks and associated syntax elements) encoded by the encoder 20 to obtain a decoded picture. The decoder 30 includes an entropy decoding unit 301, a dequantization unit 302, an inverse transform unit 303, a prediction processing unit 304, a reconstruction unit 305, and a filter unit 306. In some examples, the decoder 30 may perform decoding passes that are generally inverse to the encoding passes by the encoder 20 described in FIG. 2. In an example, the decoder 30 may also include a buffer and a decoded picture buffer, where the buffer is used to cache reconstructed picture blocks output by the reconstruction unit 305, and the decoded picture buffer is used to cache filtered picture blocks output by the filter unit 306.
[0111] The entropy decoding unit 301 is used to perform entropy decoding on encoded picture data to obtain quantized coefficients and/or decoded encoding parameters (for example, decoding parameters may include any one or all of inter prediction parameters, intra prediction parameters, filter parameters, and/or other syntax elements). The entropy decoding unit 301 is also used to forward the decoded encoding parameters to the prediction processing unit 304, so that the prediction processing unit can perform the prediction process based on the encoding parameters to obtain a prediction block of the current picture block.
[0112] The function of the dequantization unit 302 can be the same as that of the dequantization unit 206 of the encoder 20, used for dequantization of the quantized coefficients decoded by the entropy decoding unit 301.
[0113] The function of the inverse transform unit 303 can be the same as that of the inverse transform unit 207 of the encoder 20, and the function of the reconstruction unit 305 (e.g., a summer) can be the same as that of the reconstruction unit 208 of the encoder 20, used to perform inverse transform (for example, inverse DCT, inverse integer transform, or conceptually similar inverse transform process) on the dequantized coefficients mentioned above to obtain an inverse transform block (also referred to as an inverse transform residual block), which is the residual block of the current picture block in the pixel domain.
101141 The prediction processing unit 304 is used to receive or obtain encoded picture data (for example, the encoded bitstream of the current picture block) and reconstructed picture data. The prediction processing unit 301 can also receive or obtain prediction-related parameters and/or information about the selected prediction mode (i.e., decoded encoding parameters) from, for example, the entropy decoding unit 302, and predict the current picture block based on related data in the reconstructed picture data and the decoded encoding parameters to obtain the prediction block of the current picture block. Optionally, the prediction processing unit 304 may include an inter prediction unit, an intra prediction unit, and a mode selection unit. The mode selection unit is used to select the intra prediction mode or the inter prediction mode. If the intra prediction mode is selected, the prediction process is performed by the intra prediction unit. If the inter prediction mode is selected, the prediction process is performed by the inter prediction unit.
101151 The reconstruction unit 305 is used to add the inverse transform block (i.e., inverse transform residual block) to the prediction block to obtain a reconstructed block in the sample domain, for example, adding sample values of the inverse transform residual block to sample values of the prediction block.
101161 The filter unit 306 is used to filter the reconstructed block to obtain a filtered block, which is a decoded picture block.
[0117] Specifically, in the embodiments of the present disclosure, the prediction processing unit 201/the prediction processing unit 304 is used to implement the picture encoding and decoding method described in the following embodiments.
[0118] It should be understood that in the encoder 20 and the decoder 30 of the embodiments of the present disclosure, a processing result for a certain link can also be further processed and output to the next link.
[0119] On the one hand, an embodiment of the present disclosure provides a picture encoding and decoding method, which is performed by a processing device. The processing device can be the aforementioned encoder 20 to perform the encoding process. Or, the processing device can be the aforementioned decoder 30 to perform the decoding process. Further, the processing device can be the aforementioned prediction processing unit 201 or prediction processing unit 304 to perform the prediction process.
[01201 The processing object in the embodiment of the present disclosure is a picture block. The partitioning manner and size of the picture block can be realized with reference to the video compression coding standard, which is not limited in the embodiments of the present disclosure.
101211 As mentioned above, in order to achieve accurate access to different picture regions by permission level, users at the decoding device can only access picture regions with permission levels lower than or equal to their own permissions. When performing block partitioning, the encoding device selects an appropriate block partitioning scheme so that a partitioned picture block is only located in a region of one permission level. If there are regions of a plurality of permission levels in the currently partitioned picture block, the current picture block will continue to be partitioned until the partitioned picture block is only located in the region of one permission level.
[01221 The picture region of one permission level can be a coding unit (CU), a largest coding unit (LCU), a picture slice (for example, a slice, a tile, a patch), or a frame level, etc., which is not limited in the embodiments of the present disclosure. A picture block can be an LCU, a CU, a prediction unit (PU), or others.
101231 The processing device traverses picture blocks in a picture frame and processes them one by one in a certain order. In the following embodiments, the currently processed picture block is referred to as the picture block to be processed. The processing process of the processing device for each picture block to be processed is the same. In the following embodiments, only the processing process for one picture block to be processed is described, and the others will not be repeated one by one.
101241 It should be noted that when the processing device is deployed at the decoding device, different users have different permission levels, and the processing device can correctly decode those that are lower than or equal to a user's permission and obtain their true pixel values. For picture blocks with permission levels higher than the user's permission, decoding may not be performed, or an error pixel value record may be obtained by decoding. 101251 For example, for a user with a low permission level, when the current picture block to be processed is a picture block with a high permission level, decoding may not be performed and can be skipped directly, or error pixel values of the current picture block to be processed can be obtained by decoding as predicted pixel values of the picture block with the high permission level. The predicted pixel values are not true pixel values.
[01261 As shown in FIG. 4, the picture encoding and decoding method may include S401 to 5403.
[0127] In 5401, the processing device determines a prediction mode of a picture block to be processed and a permission level of the picture block to be processed.
[0128] The prediction mode of the picture block to be processed includes inter prediction and/or intra prediction. For the specific content of inter prediction and intra prediction, reference can be made to the video compression coding standard, and the embodiments of the present disclosure will not be repeated.
[0129] In an example, the processing device is deployed at the encoding device (i.e., the aforementioned source device 11 or encoder 112), and the prediction mode of the picture block to be processed can be determined through decision-making. The decision-making content is not limited in the embodiments of the present disclosure.
[0130] In an example, the processing device is deployed at the decoding device (i.e., the aforementioned destination device 12 or decoder 122). Indication information indicating the prediction mode of the picture block to be processed can be obtained from decoded syntax elements in the bitstream to obtain the prediction mode of the picture block to be processed. [0131] Specifically, the permission level of the picture block depends on a location region of the picture block in the picture frame. Location regions in the picture frame are configured with different permission levels according to requirements. The method provided in the embodiment of the present disclosure may also include a process of determining permission levels of different regions in the picture frame.
[0132] In an example, the process of determining the permission levels of different regions in the picture frame can include: obtaining permission level configuration information of the picture frame, which is used to indicate a corresponding relationship between location regions in the picture frame and permission levels.
[0133] The permission level configuration information can be configured and input by the user. The encoding/decoding device can obtain the permission level configuration information input by the user. Or, the encoding device can obtain the permission level configuration information input by the user, encode and send it to the decoding device. The decoding device can parse the bitstream to obtain the permission level configuration information. Or, the encoding device can obtain the permission level configuration information input by the user, then determine the permission level of each picture block, encode the permission level of the picture block and send it to the decoding device. The decoding device can parse the bitstream to obtain the permission level of the picture block. [0134] In an example, the permission level configuration information can be shown in Table 1.
region coordinate range permission level (the larger the number, the higher the level) region a level 1 region b level 2 [01351 Further, after determining the permission levels of different regions in the picture frame, the processing device can take a permission level corresponding to a location of a picture block in the picture frame in the permission level configuration information as the permission level of the picture block. Specifically, the processing device can determine the location of the picture block according to coordinates of the picture block, and then determine the permission level of the picture block.
[0136] For example, for determining the permission level of the picture block to be processed in 5401, the processing device can take the permission level corresponding to the location of a picture block to be processed in the picture frame in the permission level configuration information as the permission level of the picture block to be processed.
[0137] For example, if the processing device is deployed at the decoding device, for determining the permission level of the picture block to be processed in 5401, the processing device can parse the bitstream to obtain the permission level of the picture block to be processed.
[01381 In 5402, the processing device determines a first reference picture block of the picture block to be processed according to the prediction mode of the picture block to be processed.
[01391 The processing device can determine a reference picture block of the picture block to be processed according to provisions of the video compression coding standard, a prediction module of the picture block to be processed, and the location of the picture block to be processed. The reference picture block is referred to as the first reference picture block in the embodiment of the present disclosure. The process of determining the first reference picture block of the picture block to be processed is not limited in the embodiments of the present disclosure.
[0140] In a possible implementation, in intra prediction, the first reference picture block is a picture block in the picture frame where the picture block to be processed is located.
[01411 In another possible implementation, in inter prediction, the first reference picture block is a picture block in a reference picture frame of the picture block to be processed. [0142] In an example, in inter prediction, the video compression coding standard specifies a search area for the picture block, which includes a reference frame of the picture block and picture blocks allowed to be referenced in the reference frame. In 5402, the processing device can select an optimal reference picture block, that is, the first reference picture block, in the search area according to the prediction module of the picture block to be processed.
101431 In another possible implementation, when intra prediction filter, inter prediction filter, or intra reference pixel filtering is enabled, the first reference picture block can be a reference picture block used in filtering.
101441 In another possible implementation, if cross-component prediction technology is enabled, when the picture block to be processed is a picture block in a first channel, the first channel generates a prediction block of the picture block in the first channel with reference to one or more picture blocks in a second channel and/or a third channel, and the first reference picture block is a picture block in the second channel and/or the third channel.
101451 It should be noted that the first reference picture block is the picture block to be referenced when obtaining the prediction block of the picture block to be processed according to the prediction module of the picture block to be processed. The content or location of the first reference picture block may be different under different prediction modules or different scenarios. The embodiments of the present disclosure do not specifically limit the content or location of the first reference picture block, nor do they specifically limit the process of determining the first reference picture block.
101461 In an example, the first reference picture block is a picture block whose prediction block has been determined before the picture block to be processed in an encoding and decoding order.
101471 In S403, if a permission level of the first reference picture block does not satisfy a reference condition, it is prohibited to determine the prediction block of the picture block to be processed by using the first reference picture block, or the prediction block of the picture block to be processed is determined by using a second reference picture block that is allowed to be derived 10148] In an example, the above reference condition can include that the permission level is lower than or equal to the permission level of the picture block to be processed, or the permission level is different from the permission level of the picture block to be processed, or the permission level is equal to a minimum permission level, or there is no pixel block with a permission level higher than the permission level of the picture block to be processed within s pixels above, below, left, and right, where s is greater than or equal to 1. The content of the reference condition is not limited in the embodiments of the present disclosure.
[0149] For example, if the current picture block is n/m, then there is no pixel block with a permission level higher than the permission level of the picture block to be processed within (n+s)/(m+s), which satisfies the reference condition.
[0150] The two schemes are described in detail below, namely, it is prohibited to determine the prediction block of the picture block to be processed by using the first reference picture block, and the prediction block of the picture block to be processed is determined by using the second reference picture block that is allowed to be derived.
[0151] The first scheme: it is prohibited to determine the prediction block of the picture block to be processed by using the first reference picture block.
[0152] Specifically, the first scheme is equivalent to restricting the reference to the picture block that does not satisfy the reference condition. In the first scheme, the picture block to be processed can be processed by using the processing manner of there being no reference picture block spec fied in the video compression coding standard, which will not be repeated here.
[0153] Further, in the first scheme, the first reference picture block can be marked as unavailable or not allowed to be referenced.
[0154] The second scheme: the prediction block of the picture block to be processed is determined by using the second reference picture block that is allowed to be derived: [0155] The second reference picture block that is allowed to be derived refers to a picture block that is supported by the permission level of the user at the decoding device and whose predicted pixel values have been determined. For users with different permission levels at the decoding device, the second reference picture block corresponding to the same first reference picture block is the same: [0156] In an example, the second reference picture block may include, but is not limited to, any of the following situations: [0157] Case 1: the second reference picture block is a picture block determined by one or more picture blocks with permission levels satisfying the reference condition among neighboring picture blocks of the first reference picture block.
[0158] In a possible implementation, the second reference picture block can be a picture block with a permission level satisfying the reference condition among neighboring picture blocks of the first reference picture block. Or it can be understood that the second reference picture block can be a picture block with a permission level satisfying the reference condition among neighboring picture blocks of the first reference picture block: [0159] The neighboring picture blocks can be surrounding picture blocks, and the specific content can be configured according to actual requirements, which is not limited in the embodiments of the present disclosure.
[01601 In an example, neighboring picture blocks can be left picture blocks, upper picture blocks, upper left picture blocks, or others.
[01611 In another possible implementation, the second reference picture block can be a picture block obtained by calculating one or more picture blocks with permission levels satisfying the reference condition among neighboring picture blocks of the first reference picture block.
[0162] The calculation can be superposition of default pixel values or others, and the content of the calculation is not limited in the embodiments of the present disclosure.
[01631 Case 2: the second reference picture block is predicted pixel values obtained by decoding the first reference picture block with a minimum user permission level of the decoding device.
[0164] In case 2, the predicted pixel values obtained by decoding the first reference picture block with the minimum user permission level of the decoding device are not true pixel values of the first reference picture block, that is, the decoding error value described above. [01651 Case 3: the second reference picture block is a picture block with default pixel values.
[01661 The default values can be determined according to actual requirements, which is not limited in the embodiments of the present disclosure.
[0167] It should be noted that for different user permission levels at the decoding device deploying the processing device, when the permission level of the first reference picture block does not satisfy the reference condition for the same picture block to be processed, the determined second reference picture block is consistent, so as to achieve consistent decoding results of users with different permission levels for the same low permission level region. [01681 Further, in an example, when the processing device is deployed at the encoding device, the second reference picture block that is allowed to be derived can be used to determine a temporary prediction block of the picture block to be processed. If a residual between the temporary prediction block and the picture block to be processed is less than a threshold, the temporary prediction block is used as the prediction block of the picture to be processed. If the residual between the temporary prediction block and the picture block to be processed is greater than the threshold, it is determined that the reference picture block of the picture block to be processed is unavailable, and the first scheme mentioned above is adopted to determine the prediction block of the picture block to be processed.
[0169] Specifically, in the second scheme, the processing device determines the prediction block of the picture block to be processed by predicting the current picture block to be processed based on the second reference picture block (related data in reconstructed picture data) to obtain the prediction block of the current picture block to be processed. The specific process will not be repeated in the present disclosure.
[0170] Through the scheme proposed in the present disclosure, a solution of a reference between regions with different permission levels is provided. Thus, there is no need to forcibly classify certain picture blocks into other permission levels when partitioning picture blocks, and accurate access to different picture regions by permission level can be realized. In the present disclosure, the alternative value that is allowed to be derived is used for reference, achieving consistency in decoding the low permission level region for users with different permission levels, without the need to transmit compensation values and saving transmission bitstream.
[0171] Further, as shown in FIG. 5, after 5402, the method provided by the embodiment of the present disclosure may further include S404.
[0172] In 5404, if the permission level of the first reference picture block satisfies the reference condition, the prediction block of the picture block to be processed is determined by using the first reference picture block.
[0173] Specifically, in S404, the processing device determines the prediction block of the picture block to be processed by predicting the current picture block to be processed based on the first reference picture block (related data in reconstructed picture data) to obtain the prediction block of the current picture block to be processed. The specific process will not be repeated in the present disclosure.
[0174] In a possible implementation, any of the schemes in S403 can be selected according to actual requirements to obtain the prediction block of the picture block to be processed, and the same scheme can be used at both the encoding device and the decoding device.
101751 In another possible implementation, in the case where the permission level of the first reference picture block does not satisfy the reference condition, different processing manners in S403 can be adopted for different picture blocks to obtain the prediction block of the picture block to be processed, and the same scheme can be used at both the encoding device and the decoding device. The reference manner used for the picture block to be processed is determined by the encoding device, encoded and sent to the decoding device with the bitstream, so that the encoding device and the decoding device adopt the same scheme. Correspondingly, as shown in FIG. 5, the method provided in the embodiment of the
present disclosure may further include S405.
[0176] In 5405, if the permission level of the first reference picture block does not satisfy the reference condition, a target reference manner of the picture block to be processed is determined.
[0177] The target reference manner includes: prohibiting to determine the prediction block of the picture block to be processed by using the first reference picture Nock, or determining the prediction block of the picture block to be processed by using the second reference picture block that is allowed to be derived.
[0178] Specifically, the decoding device determines the target reference manner according to indication information in the bitstream, and the encoding device decides to determine the target reference manner.
[0179] After 5405, 5403 is executed according to the target reference manner.
[0180] Further, after S403, the method provided by the embodiment of the present disclosure can also record a historical reference list, which is used to indicate motion information or frequency information of prediction reference information of processed picture blocks. The historical reference list is used as a reference for inter prediction of subsequent picture blocks.
[0181] The historical reference list may include any of the following lists: a historical motion information list, a historical intra copy information list, or a historical point prediction information list.
[0182] As shown in FIG. 5, the method provided in the embodiment of the present disclosure may further include S406.
[0183] In S406, the historical reference list is updated.
[0184] Specifically, the implementation of updating the historical reference list provided in the embodiment of the present disclosure may include, but is not limited to, any of the following schemes.
[0185] Scheme 1: the historical reference list is updated only according to the prediction reference information of the picture block with a minimum permission level. The historical reference list is not updated according to the prediction reference information of the picture block with a non-minimum permission level.
[0186] The non-minimum permission level is one or more.
[0187] The prediction reference information of the picture block is used to indicate a prediction process of the picture block to be processed.
[0188] In an example, the prediction reference information may include any of the following information: location information, mode information, or frequency. Of course, the content of the prediction reference information can be configured according to actual requirements, which is not limited in the embodiments of the present disclosure.
[0189] In scheme 1, after the aforementioned 5403, 5406 can be specifically implemented as follows: if the permission level of the picture block to be processed is the minimum permission level, the historical reference list is updated according to prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is the non-minimum permission level, it is prohibited to update the historical reference list according to the prediction reference information of the picture block to be processed.
[0190] It is prohibited to update the historical reference list according to the prediction reference information of the picture block to be processed, which can be understood as keeping the historical reference list unchanged.
[0191] Scheme 2: the historical reference list is constructed and updated according to prediction reference information of a picture block with the minimum permission level; after processing a picture block with the non-minimum permission level, the historical reference list is updated as the historical reference list within the permission according to prediction reference information of the picture block with the non-minimum permission level; after processing a picture block with the minimum permission level, the original historical reference list is updated according to the prediction reference information of the picture block with the minimum permission level.
[0192] In scheme 2, a temporary historical reference list is configured for each non-minimum permission level region. The temporary historical reference list is used for inter prediction of picture blocks in the permission level region. It should be understood that a plurality of historical reference lists are recorded in scheme 2.
[0193] In scheme 2, after the aforementioned 5403, 5406 can be specifically implemented as follows: if the permission level of the picture block to be processed is the minimum permission level, the historical reference list is updated according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is the non-minimum permission level, a temporary historical reference list corresponding to the permission level of the picture block to be processed is updated according to the prediction reference information of the picture block to be processed.
[0194] Scheme 3: the historical reference list is constructed and updated according to prediction reference information of a picture block with the minimum permission level; after processing a picture block with the non-minimum permission level, the historical reference list is updated according to prediction reference information of the picture block with the non-minimum permission level; after processing a picture block with the minimum permission level, the historical reference list is initialized, and the historical reference list is reconstructed according to the prediction reference information of the picture block with the minimum permission level.
[0195] In scheme 3, only one historical reference list is configured, and the historical reference list is also updated for the picture block with the non-minimum permission level. However, when the picture block with the minimum permission level is processed, the historical reference list is reconstructed and updated after initialization.
[0196] In scheme 3, after the aforementioned S403, S406 can be specifically implemented as follows: if the permission level of the picture block to be processed is the minimum permission level and the historical reference list is not updated by the prediction reference information of the picture block with the non-minimum permission level, the historical reference list is updated according to the prediction reference information of the picture block to be processed. If the permission level of the picture block to be processed is the minimum permission level and the historical reference list is updated by the prediction reference information of the picture block with the non-minimum permission level, the historical reference list is reconstructed according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is the non-minimum permission level, the historical reference list is updated according to the prediction reference information of the picture block to be processed.
[0197] Scheme 4: different historical reference lists are constructed for different permission level regions.
[0198] In scheme 4, a historical reference list is configured for each permission level region. The historical reference list is used for inter prediction of picture blocks in the permission level region. The picture block to be processed is used to update the historical reference list corresponding to the permission level of the picture block.
[0199] In scheme 4, after the aforementioned 5403, 5406 can be specifically implemented as: the historical reference list of the permission level region to which the picture block to be processed belongs is updated according to the prediction reference information of the picture block to be processed.
[0200] Scheme 5: different historical reference lists are constructed for some permission level regions.
[0201] In scheme 5, a historical reference list is configured for each of some permission level regions. The historical reference list is used for inter prediction of picture blocks in the permission level region. The picture block to be processed is used to update the historical reference list corresponding to the permission level of the picture block.
[0202] In scheme 5, after the aforementioned S403, S406 can be specifically implemented as follows: if the permission level region where the picture block to be processed is located is configured with a historical reference list, the historical reference list of the permission level region to which the picture block to be processed belongs is updated according to the prediction reference information of the picture block to be processed. If the permission level region where the picture block to be processed is located is not configured with a historical reference list configured, the historical reference list is constructed or updated according to other schemes.
[0203] Scheme 6: the historical reference list is constructed and updated according to prediction reference information of a picture block with the minimum permission level. After processing a picture block with the non-minimum permission level, the historical reference list is updated according to alternative prediction reference information that is allowed to be derived.
[0204] The alternative prediction reference information that is allowed to be derived can refer to prediction reference information of a picture block that is supported by the permission level of the user at the decoding device and whose predicted pixel values have been determined.
[0205] In a possible implementation, the alternative prediction reference information can be default prediction reference information.
[0206] The default prediction reference information can be pre-configured fixed information or dynamically generated fixed information, which is not limited by the embodiments of the present disclosure.
[0207] In another possible implementation, the alternative prediction reference information can be prediction reference information of a default picture block.
[0208] The default picture block can be a pre-specified picture block, and the specific location of the default picture block is not limited in the embodiments of the present disclosure.
[0209] In an example, the default picture block can be a picture block with the minimum permission level.
[0210] In another possible implementation, the alternative prediction reference information is prediction reference information of a picture block with a permission level satisfying the reference condition before the picture block to be processed in an encoding and decoding order.
[0211] In another possible implementation, the alternative prediction reference information is prediction reference information derived from prediction reference information of one or more picture blocks with permission levels satisfying the reference condition before the picture block to be processed in the encoding and decoding order.
[0212] In scheme 6, after the aforementioned 5403, 5406 can be specifically implemented as follows: if the permission level of the picture block to be processed is the minimum permission level, the historical reference list is updated according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is the non-minimum permission level, the historical reference list is updated according to alternative prediction reference information that is allowed to be derived.
[0213] Scheme 7: if the permission level of the picture block to be processed is higher than a permission level of a previous region, the historical reference list is updated according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is lower than the permission level of the previous region, the historical reference list is initialized according to alternative prediction reference information that is allowed to be derived.
[0214] It should be noted that, for updating the historical reference list in S406, the reference basis for updating the historical reference list is provided in the embodiment of the present disclosure. The specific update process can refer to the video compression coding standard.
[0215] In an example, the historical intra copy information list and the historical reference list can be updated with reference to section 9.5.6.7 of the video compression coding standard AVS3. The process can be as follows.
[0216] Example 1: the reference list is a historical motion information list, used for inter prediction, and consists of motion information of prediction units. After decoding of the current prediction unit is completed, if one of the following conditions is satisfied, the operation of updating the historical motion information list will not be performed.
[0217] Condition 1: the current prediction unit is an affine prediction unit or an angular weighted prediction unit.
[0218] Condition 2: a coding unit subtype of the current encoding unit is 13 Skip Mvap' or ' P Direct Mvap'or '13 Skip Mvap' or 13 Direct Mvap'.
[0219] Condition 3: the coding unit subtype of the current encoding unit is 'P_Skip_Etmvp' or '13 Direct Etmvp' or 'B Skip Etmvp' or B_ Direct Etmvp'.
[0220] Condition 4: the coding unit subtype of the current encoding unit is 13 Skip SbTemporal' or 'P Direct SbTemporal' or 'B Skip SbTemporal' or B Direct SbTemporal'.
[0221] Condition 5: When NumOfHmvpCand is greater than 0, the historical motion information list HmvpCandList is updated according to motion information of the current prediction block, BgcFlag, and Bgclndex; otherwise, the operation defined in this clause will not be performed.
[0222] Specifically, the method for updating the historical motion information list is as follows: a, hmvpindex is initialized to 0.
b, if CntHmvp is equal to 0, motion information, BgcFlag, and Bgclndex in HmvpCandList[CntHmvp] are equal to motion information, BgcFlag, and Bgclndex of the current prediction unit, respectively, and CntliMvp is increased by 1.
c, otherwise, it is determined whether the motion information of the current prediction block is the same as FlmvpCandList[hmypIndex].
If the motion information is the same, step d) is executed, otherwise, hmvpindex is increased by 1; if hmvpindex is less than CntHmvp, step c) is executed, otherwise, step d) is executed.
d, if hmvpindex is less than CntHmvp, then: i, from hmvpindex to CntHmvp-1, let HmvpCandList[i] equal to HmvpCandList[i+1]; motion information, BgcFlag, and Bgclndex in HmvpCandList[CntHmvp-1] are equal to the motion information, BgcFlag, and Bgclndex of the current prediction unit, respectively.
e, if hmvpindex is equal to CntHmvp and CntHmvp is equal to NumOfHmvpCand, then: i is from 0 to CntHmvp-1, let HmvpCandList[i] equal to HmvpCandList[i+1]; the motion information, BgcFlag, and Bgclndex in HmvpCandList[CntHmyp-1] are equal to the motion information, BgcFlag, and Bgclndex of the current prediction unit, respectively.
f, if hmvpindex is equal to CntHmvp and CntHmvp is less than NumOfHmvpCand, then motion information, BgcFlag, and Bgclndex in HmvpCandList[CntHmvp] are equal to the motion information, BgcFlag, and Bgclndex of the current prediction unit, respectively, and CntHmvp is increased by 1.
[0223] Example 2: the reference list is a historical intra copy information list, used for block copy intra prediction or intra string copy prediction, and consists of intra copy information.
[0224] Historical intra copy information in the historical intra copy information list is referred to as IntraHmvpCandList[X], including a displacement vector intraMvCandX, a position (xCandX, yCandX), a size sizeCandX, and a repetition count cntCandX.
[0225] Let intraCur be intra copy information of the current block, including a displacement vector intraMvCur, a position (xCur, yCur), a size sizeCur, and a repetition count cntCur. The method for updating the historical intra copy information list can be: a) Both X and cntCur are initialized to 0.
b) If CntlntraHmvp is equal to 0, then IntraHmvpCandList[CntlntraHmvp] is intra prediction motion information of the current prediction unit, and CntlntraHmvp is incresed by 1 to end the update process of this clause.
c) Otherwise, it is determined whether the intra prediction motion information of the current prediction block and IntraHmvpCandList[X] are the same according to whether intraMvCur and intraMvCandX are equal, 1) If intraMvCur and intraMvCandX are the same, step d) is executed; otherwise, X is increased by 1.
2) If X is less than CntlntraHmvp, step c) is executed; otherwise, step e) is executed.
d) cntCur is equal to the value of cntCandX plus 1. If sizeCur is less than sizeCandX, then xCur, yCur, and sizeCur are equal to xCandx, yCandx, and sizeCandX, respectively.
e) If X is less than CntIntraHmvp, then: 1) i is from X to CntlntraHmvp-1, let IntraHmvpCandList[i] equal to IntraHmvpCandLi st[i +1]; 2) TntraHmvpCandList[CntIntraHmvp-1] is equal to the intra prediction motion information of the current prediction unit.
1) Otherwise, if X is equal to CntlntraHmvp and CntlntraHmvp is equal to Num0fIntraHmvpCand, then: 1) i is from 0 to CntlntraHmvp-1, let IntraHmvpCandList[i] equal to IntraHmvpCandList[i+1]; 2) IntraHmvpCandList[CntIntraHmvp-1] is equal to the intra prediction motion information of the current prediction unit.
Otherwise, if X is equal to CntlntraHmvp and CntlntraHmvp is less than NumOtIntraHmvpCand, then IntraHmvpCandList[CntIntraHmvp] is equal to the intra prediction motion information of the current prediction unit, and CntlntraHmvp is incresed by 1.
102261 Example 3: the reference list is a historical point prediction information list, used for a non-ordinary string submode, and consists of point prediction information lists of prediction units.
102271 After decoding of the current encoding unit is completed, if the current encoding unit adopts a intra string copy prediction non-ordinary string submode and (IscNum0fNewPv+IscNumotReusedPv) is not equal to 0, then the historical point prediction information list PrevPpinfoList is updated according to the point prediction information list Pp InfoLi st of the current encoding unit, and lists PrevFopYonly, PrevEvsDpbReactivedYonly, PrevCompLumaFeq0ccurPos, and PrevEvsDpbIndex are updated; otherwise, the operation defined in this clause will not be performed.
102281 Let PrevPvBufSize equal to a total number of point vectors in the historical point prediction information list, PvBufSize equal to a total number of point vectors in the point prediction information list of the current encoding unit, and tnapPvBuf[i], tmpFlag[i], tmpEvsDpbIndex[i], tmpEvsDpbReactivedYonly[i], and tmpCompLumaFreq0ccurPos[i] (i = 0=27) are temporary buffers for point prediction information. The steps for updating the historical point prediction information list in string copy prediction mode can be: tmpindex = 0; for (k=0; k<PrevPvBufSize; k++) if (PrevPpInfoList[k][0] != -1 && PrevPpinfoList[k][1] I= -1) tinpPvBuf[tm p Index] [0] = PrevPpInfoLi st [k] [0] tmpPvButitmpIndex][1] = PrevPpInfoList[k][1] tmpFlag[tmpIndex]= PrevFopYonly[k] tmpEvsDpbIndex[tmpIndex]= PrevEvsDpbIndex[k] tmpEvsDpbReactivatedYonly[tmpIndex] = PrevEvsDpbReactivatedYonly[k] tmpCompLumaFreq0ccurPos[tmpindex] = PrevCompLumaFreq0ccurPos[k] tmpIndex++ PrevPvBufSize = Min(28, PvNum + tmpindex) for (k=0; k<PrevPvBufSize; k++) if (k <PvBufSize) PrevPpInfoLi st[k] [0] = PpInfoLi st[k] [0] PrevPpInfoLi st[k] [1] = PpInfoLi st[k] [1] PrevFopYonly[k] = FopYonly[k] PrevEvsDpbIndex[k] = EvsDpbIndex[k] PrevCompLumaFreq0ccurPos[k] = CompLumaFreq0ccurPos[k] PrevEvsDpbReactivatedYonly[k] = EvsDpbReactivatedYonly[k] else l PrevPpInfoList[k][0] = tmpPvBuf[k-PvNum][0] PrevPpInfoList[k][1] = tmpPvButik-PvNum][1] PrevFopYonly[k] = tmpFlag[k-PvNum] PrevEvsDpbIndex[k] = tmpEysDpbIndex[k-PvNum] PrevCompLumaFreq0ccurPos[k] = tmpCompLumaFreq0ccurPos[k-PvNum] PrevEvsDpbReactivatedYonly[k] = tmpEvsDpbReactivatedYonly[k-PvNum] [0229] Point vectors used by the current encoding unit are all stored in the point prediction information list PpinfoList. The point vectors in PpInfoList consist of two parts. One part is from the historical point prediction information list PrevPpInfoList[28][2]. The number of point vectors in the historical point prediction information list should not greater than 28. The other part is point vectors newly appearing in the current encoding unit.
[0230] If the current encoding unit uses an ordinary string submode, a sum of a number of matched strings, a number of non-exactly-matched strings including at least one matched sample, a number of unmatched samples, and IscPartNumSplit should be less than or equal to a quarter of a number of samples of the current coding unit. Otherwise, if the current encoding unit uses a non-ordinary string submode, a sum of a number of equivalent strings, a number of unit base vector strings, a number of unmatched samples, and IscPartNumSplit should be less than or equal to a quarter of the number of samples of the current coding unit. 102311 Further, after S403, spatial motion information is derived in the method provided in the embodiment of the present disclosure. Deriving the spatial motion information refers to determining motion information of the current picture block to be processed by using motion information of surrounding picture blocks neighboring to the picture block to be processed. For P frames and B frames in intra prediction and inter prediction, through deriving spatial motion information, motion information of the current picture block to be processed is determined by using motion information of surrounding picture blocks neighboring to the picture block to be processed.
[0232] As shown in FIG. 5, the method provided in the embodiment of the present disclosure may further include S407.
[0233] In 5407, spatial motion information is derived.
[0234] Specifically, the specific implementation of deriving the spatial motion information provided in the embodiment of the present disclosure may include, but is not limited to, any of the following schemes.
[0235] Scheme a: if a permission level of a neighboring spatial picture block used does not satisfy the reference condition, it is marked that the neighboring spatial picture block does not exist. That is, there is no neighboring spatial picture block that can derive spatial motion information for the picture block to be processed.
[0236] Scheme b: if a permission level of a neighboring picture block does not satisfy the reference condition, spatial prediction information of the picture block to be processed is parsed and obtained from the bitstream.
[0237] Scheme c: if the permission level of the neighboring spatial picture block used does not satisfy the reference condition, the spatial prediction information of the picture block to be processed is derived according to alternative spatial prediction information of a neighboring picture block that is allowed to be derived.
[0238] The alternative spatial prediction information of the neighboring picture block that is allowed to be derived can refer to spatial prediction information of a picture block that is supported by the permission level of the user at the decoding device and whose predicted pixel values have been determined.
[0239] In a possible implementation, the alternative spatial prediction information is default spatial prediction information.
[0240] The default spatial prediction information can be pre-configured fixed information or dynamically generated fixed information, which is not limited by the embodiments of the present disclosure.
[0241] In another possible implementation, the default spatial prediction information can be spatial prediction information of a default picture block.
[0242] In a possible implementation, the alternative spatial prediction information is spatial prediction information derived from spatial prediction information of one or more picture blocks with permission levels satisfying the reference condition before the picture block to be processed in an encoding and decoding order.
[0243] It should be noted that, for deriving the spatial prediction information in S407, the reference basis for deriving the spatial prediction information is provided in the embodiment of the present disclosure. The specific deriving process can refer to the video compression coding standard.
[0244] In an example, spatial prediction information can be derived with reference to the method for deriving spatial motion information in section 9.5.7.8.3 of the video compression coding standard AVS3. The process can be as follows.
[0245] Example 1: a method for deriving spatial motion information of a P picture. The method for deriving motion information, BgcFlag, and Bgclndex is as follows: a) If among neighboring luma prediction blocks F, G, C, A, B, and D of a luma prediction block of the current prediction unit (the spatial position relationship of neighboring blocks as shown in FIG. 8), a number of prediction blocks with a prediction reference mode of 'PRED List0' is greater than or equal to 1, then the neighboring luma prediction blocks are sequentially scanned in the order of F, G, C, A, B, and D to obtain a first scanned prediction block with the prediction reference mode of 'PRED List0', and a LO motion vector and a LO reference index of a spatial motion information storage unit of the prediction block are respectively taken as a LO motion vector mvE0 and a LO reference index refIndexL0 of the current prediction unit.
b) Otherwise, the LO motion vector mvE0 of the current prediction unit is a zero vector, and the value of the LO reference index refIndexL0 of the current prediction unit is equal to 0.
c) The value of interPredRefMode is equal to 'PRED List0', the value of reflndexLl is equal to -I, mvEl is a zero vector, and values of BgcFlag and Bgclndex are both set to 0.
[0246] Example 2: method 1 for deriving spatial motion information of a B picture. The method 1 for deriving motion information, BgcFlag, and Bgclndex is as follows: a) If among neighboring luma prediction blocks F, G, C, A, B, and D of a luma prediction block of the current prediction unit, a number of prediction blocks with a prediction reference mode of 'PRED List01' is greater than or equal to 1, then the neighboring luma prediction blocks are sequentially scanned in the order of F, G, C, A, B, and D to obtain a first scanned prediction block with the prediction reference mode of 'PRED List01', a LO motion vector and a Ll motion vector of a spatial motion information storage unit of the prediction block are respectively taken as a LO motion vector mvE0 and a Ll motion vector mvEl of the current prediction unit, and a LO reference index and a L1 reference index of the spatial motion information storage unit are respectively taken as a LO reference index refIndexL0 and a LI reference index reflndexLl of the current prediction unit. At the same time, BgcFlag and Bgclndex of the spatial motion information storage unit are denoted as BgcFlagX and BgclndexX, and values of BgcFlag and BgcIndex of the current prediction unit are respectively (BgcFlagX && !InterPcFlag) and (BgclndexX && !InterPcFlag).
b) Otherwise, if among the neighboring luma prediction blocks F, G, C, A, B, and D of the luma prediction block of the current prediction unit, a number of prediction blocks with a prediction reference mode of 'PRED List0' is greater than or equal to 1, and a number of prediction blocks with a prediction reference mode of 'PRED Listl' is greater than or equal to I, then the neighboring luma prediction blocks are sequentially scanned in the order of F, G, C, A, B, and D to obtain a first scanned prediction block with the prediction reference mode of 'FRED List0' and a first scanned prediction block with the prediction reference mode of 'PRED Listl'. A LO motion vector and a LO motion index of a spatial motion information storage unit of the prediction block with the prediction reference mode of 'PRED_List0' are taken as a LO motion vector mvEO and a LO motion index reflndexLO of the current prediction unit. A Ll motion vector and a L1 reference index of a spatial motion information storage unit of the prediction block with the prediction reference mode of 'PRED_Listl' are taken as a LI motion vector mvEl and a Ll reference index refIndexL0 of the current prediction unit. And, BgcFlag and BgcIndex of the current prediction unit are both set to O. c) Otherwise, the LO motion vector mvE0 and the LI motion vector mvEl of the current prediction unit are both zero vectors, and values of the LO reference index reflndexLO and the Ll reference index refindexL1 of the current prediction unit are both equal to 0, and BgcFlag and BgcIndex of the current prediction unit are both set to 0.
d) The value of interPredRefMode is equal to 'FRED List01'.
102471 Example 3: method 2 for deriving spatial motion information of a B picture. The method 2 for deriving motion information, BgcFlag, and BgcIndex is as follows: a) If among neighboring luma prediction blocks F, G, C, A, B, and D of a luma prediction block of the current prediction unit, a number of prediction blocks with a prediction reference mode of 'PRED Listl' is greater than or equal to 1, then the neighboring luma prediction blocks are sequentially scanned in the order of F, G, C, A, B, and D to obtain a first scanned prediction block with the prediction reference mode of 'PRED List'', and a Ll motion vector and a Ll reference index of a spatial motion information storage unit of the prediction block are taken as a L1 motion vector mvEl and a LI reference index refIndexL I of the current prediction unit.
b) Otherwise, if among neighboring luma prediction blocks F, G, C, A, B, and D of the luma prediction block of the current prediction unit, a number of prediction blocks with a prediction reference mode of 'PRED List01' is greater than or equal to 1, then the neighboring luma prediction blocks are sequentially scanned in the order of D, B, A, C, G, and F to obtain a first scanned prediction block with the prediction reference manner of 'PRED List01', and a Ll motion vector and a Ll reference index of a spatial motion information storage unit of the prediction block are taken as a L1 motion vector mvEl and a LI reference index refIndexL I of the current prediction unit.
c) Otherwise, the Ll motion vector mvEl of the current prediction unit is a zero vector, and the value of the LI reference index refIndexL1 of the current prediction unit is equal to O. d) The value of interPredRefiVlode is equal to 'MED Listl the value of refindexL0 is equal to -I, mvEO is a zero vector, and values of BgcFlag and Bgclndex are both set to 0.
[0248] Example 4: method 3 for deriving spatial motion information of a B picture. The method 3 for deriving motion information, BgcFlag, and Bgclndex is as follows: a) If among neighboring luma prediction blocks F, G, C, A, B, and D of a luma prediction block of the current prediction unit, a number of prediction blocks with a prediction reference mode of 'MED List0' is greater than or equal to 1, then the neighboring luma prediction blocks are sequentially scanned in the order of F, G, C, A, B, and D to obtain a first scanned prediction block with the prediction reference mode of WED List0', and a LO motion vector and a LO reference index of a spatial motion information storage unit of the prediction block are taken as a LO motion vector mvEO and a LO reference index refIndexL0 of the current prediction unit.
b) Otherwise, if among neighboring luma prediction blocks F, G, C, A, B, and D of the luma prediction block of the current prediction unit, a number of prediction blocks with a prediction reference mode of PRED_List01' is greater than or equal to 1, then the neighboring luma prediction blocks are sequentially scanned in the order of D, B, A, C, G, and F to obtain a first scanned prediction block with the prediction reference manner of 'MED List01', and a LO motion vector and a LO reference index of a spatial motion information storage unit of the prediction block are taken as a LO motion vector mvEO and a LO reference index refIndexL0 of the current prediction unit.
c) Otherwise, the LO motion vector mvEO of the current prediction unit is a zero vector, and the value of the LO reference index refIndexL0 of the current prediction unit is equal to 0 d) The value of interPredRefiVIode is equal to 'PRED ListO', the value of refIndexL1 is equal to -1, mvEl is a zero vector, and values of BgcFlag and Bgclndex are both set to 0.
[0249] The solution provided in the present disclosure will be described by specific examples.
[0250] Example 1:
[0251] In intra prediction, there are a total of 33 intra prediction modes in audio video coding standard 2 (AVS2), including 30 angle modes and 3 special modes, which are coded by 2 most possible mode (MPM) and the remaining modes are coded by 5-bit fixed length. To support more refined angle prediction, angle prediction modes have been expanded to 62 in audio video coding standard 3 (AVS3). As shown in the schematic diagram of intra prediction modes of FIG. 6, solid lines represent original angle prediction modes, and dashed lines represent newly added angle modes. Numbers of the original angle modes remain unchanged, and the newly added angle modes are numbered from 34 to 65. When a permission level of a corresponding reference pixel in a certain prediction direction is high, and other low permission level regions refer to this direction for prediction, reference is prohibited or an alternative value that is allowed to be derived is used as a reference for prediction.
[0252] Example 2:
[0253] A MPM list is derived by using spatial information, and the prediction mode of the current block can be derived according to the MPM list. The MPM list stores the prediction mode of left/upper neighboring blocks. Fig. 7 illustrates a position relationship between the left/upper neighboring blocks and the current picture block. If the left/upper neighboring blocks do not exist or are equal, the list will be filled with one or two fixed modes. If a permission level of a neighboring block of the current picture block is higher than or not equal to the permission level of the current picture block, when constructing spatial information and deriving, it is forbidden to derive the prediction module of the current picture block according to the prediction mode of the left/upper neighboring blocks, or the prediction module of the current picture block is derived according to a prediction module of a substitute picture block of the left/upper neighboring blocks.
[0254] Example 3:
[0255] In the scene of intra reference pixel filtering (IRPF), the design idea of intra reference pixel filtering in the second stage of AVS3 is to determine a group (including two filters) of candidate filters according to an area size of a block where a current pixel is located. When the area is less than or equal to Thd Area=64 luma pixels, a first group of candidate filters is selected; otherwise, a second group of candidate filters is selected. Further, according to a position P (PP 0) of the current pixel in the current block, if P is less than a N-th row or a N-th column (counting from a 0-th row, a 0-th column), a first candidate filter is selected from the determined group of candidate filters; otherwise, a second candidate filter is selected.
[0256] The first group of filters is ff3, f2), and the second group of filters is {f2, fl 1. The luma component N=1 (that is, the first filter in the group is selected for pixels in the first row and the first column, and the second filter is selected for the remaining pixels), and a chroma component N=2 (that is, the first filter in the group is selected for pixels in first and second rows and first and second columns, and the second filter is selected for the remaining pixels). The above fl, f2, f3, and f4 are four different filters.
[0257] When in intra reference pixels, there are some pixels with permission levels being higher than or not equal to the permission level of the prediction block of the current picture block, the reference is prohibited or alternative values that are allowed to be derived are used as references for prediction.
[0258] Example 4:
[0259] In the scene of intra prediction filter (IPF), spatial correlation can be effectively enhanced through prediction filter, thereby improving the accuracy of intra prediction. IPF uses reference pixels in URB to filter intra prediction blocks. There are three types of filters in IPF, namely, horizontal 2-tap filter (1), vertical 2-tap filter (2), and 3-tap filter (3) that filters both horizontal and vertical directions. During filtering, when permission levels of reference pixels corresponding to different filters are higher than or not equal to the permission level of the current picture block, the reference is prohibited or alternative values that are allowed to be derived are referred to.
[0260] Example 5:
[0261] The solution of the present disclosure is applied in two-step cross-component prediction code (TSCPM) and extended prediction from multiple cross-components (EPMC). [0262] TSCPM is an inter-component prediction technique that removes redundancy between components by exploring linear relationships between different components. TSCPM is executed in two steps: firstly, a co-located luma block is used to generate a temporary prediction block with a same size through parameters a and p, and secondly, downsampling is performed to obtain a predicted value of a chroma component.
[0263] Firstly, according to the availability of pixels in neighboring blocks, 4 available pixel pairs can be obtained by three cases. a and p are calculated through the 4 available pixel pairs. After obtaining a and f3, based on a linear relationship between luma and chroma, a chroma prediction value is derived by reconstructing pixels from luma. Therefore, when obtaining an available pixel point, it is necessary to consider the permission level of the pixel. When the permission level of the pixel is higher than or equal to the permission level of the current block, the pixel can be marked as unavailable or replaced with another pixel. When marked as unavailable, the value of the pixel is as follows.
[0264] When selecting 4 pairs of available pixels, it is necessary to consider the availability of upper pixels and left pixels, which can be divided into the following three cases.
[0265] Case A: if pixels on both right upper side and right left side of the current block are "available", two pixel pairs are selected from the upper side and two pixel pairs are selected from the left side.
[0266] Case B: if only pixels on the upper side of the current block is available, all 4 pixel pairs are selected from the right upper side, and selected position widths are: 0/4, 1/4, 2/4, 3/4.
[0267] Case C: if only pixels on the left side of the current block is available, all 4 pixel pairs are selected from the right left side, and selected positions are heights: 0/4, 1/4, 2/4, and 3/4.
[0268] For the above case A, enhanced TSCPM proposes two enhancement modes, namely TSCPM _T and TSCPM L. [0269] One mode: 4 pixel pairs only come from the right upper side (TSCPM T).
[0270] Another mode: 4 pixel pairs only come from the right left side (TSCPM L).
[0271] Example 6:
[0272] In history based motion vector prediction (HMVP) technology, 8 motion information candidates are copied from previous encoding blocks to a first input first output (FIFO) queue. The FIFO queue is constantly updated in a first input first output manner. If a motion candidate in the FIFO is the same as motion information just encoded, this duplicate candidate will be removed first, and motion information of the current encoding unit will be added at the end of the FIFO. If the motion information of the current encoding unit is different from motion information of any candidate in the FIFO, a first candidate in the FIFO will be removed, and the latest motion information will be added to the end of the FIFO to ensure that 8 latest motion candidates are always retained in the FIFO. If the permission level of the current encoding unit (a picture block to be processed) is not the minimum permission level, available candidates of the candidate list will not used to updated the list, or a different candidate list will be constructed for each permission level.
[0273] Example 7:
[0274] A candidate motion vector list of angular weighted prediction (AWP) is constructed by motion vectors of neighboring blocks (spatial neighboring blocks). Reference weight values of surrounding positions (integer pixel positions and sub-pixel positions) of the current block are firstly set, a weight value corresponding to each pixel position is obtained by the angle prediction method, and then two different inter prediction values are weighted by obtained weights.
[0275] Reference weight configuration is a distribution function of reference weight values obtained according to reference weight index values, and is performed with an 8 equal division point position of an effective length of a reference weight as a reference point. The effective length of the reference weight is calculated from a predicted angle and a size of the current block. The angle is divided into 4 zones, and a formula derived by weights pixel-wise varies slightly depending on the region where the angle is located. The block size of the current block is denoted as MXN, where M is width, N is height, X is log2 (an absolute value of a slope of the weight prediction angle), and Y is weight prediction position.
[0276] 1) Taking angle 0 and angle 1 located in angle partition 0 as an example, the derivation process is as follows: The effective length of the reference weight ValidLength is calculated, ValidLenth = (N + (M >> X)) « 1.
The reference weight ReferenceWeights[x] is set, where x ranges from 0 to ValidLength -I.
FirstPos = (ValidLength >> 1) -6 + Y * ((ValidLength -1) >> 3) ReferenceWeights[x] = Clip3(0, 8, x -FirstPos) The weight SampleWeight[x][y] is derived pixel by pixel. ;SampleWeight[x][y] = ReferenceWeights[(y « 1) + ((x « 1) >> X)] [0277] 2) The chroma weight is derived as: The derivation of the chroma weight directly takes an upper left corner position corresponding to the 2 x 2 luma weight. The block size of the current block is denoted as MXN, where M is width and N is height, then the value range of x is 0-(M/2-1), and the value range of y is 0-(N/2-1). ;SampleWeightChroma[x][y] = SampleWeight[x >> l][y >> 1]. ;[0278] The motion vector storage scheme of the angular weighted mode is related to angle zones. The block size of the current block is denoted as MXN, where M is width, N is height, X is log2 (an absolute value of a slope of the weight prediction angle), and Y is the weight prediction position. Taking angle 0 and angle 1 located in angle zone 0 as an example, the motion vector storage scheme is as follows: The effective length of the reference weight ValidLength is calculated, ValidLenth = (N + (M >> X)) << 1. ;For each 4x4 block of the current block, the center position is denoted as (x, y). ;FirstPos = (ValidLength >> 1) -6 + Y * ((ValidLength -1) >> 3).
If (y << 1) + ((x << 1) >> X) is greater than or equal to FirstPos, first motion information is stored; otherwise, second motion information is stored.
[0279] Angular weighted prediction requires two unidirectional motion vectors for weighted prediction. The unidirectional motion vector is selected from a unidirectional candidate motion vector list according to an index in the bitstream. The candidate motion vector list is constructed by motion vectors of surrounding blocks, as shown in FIG. 8. Each block is given a sequence number in advance. The specific process of constructing the candidate motion vector list is as follows.
[0280] The surrounding blocks are added to the list in an order of T, F, G, C, A, B, and D and the duplicate is checked (worst case: 18 unidirectional duplicate checks). When the permission level of a neighboring block is higher than or not equal to the permission level of the current picture block, neighboring block information is marked as unavailable when constructing candidate motion vectors for the current block, or default value information is used to replace the neighboring block information to construct the list. The list is constructed according to the following scheme when constructing the list.
[0281] If motion information of LO of a T temporal block is available, the motion information of LO is used for scaling to obtain motion information. If the motion information of LO of the temporal block is unavailable, motion information of L I of the temporal block is used for scaling to obtain the motion information.
[0282] For a spatial block, if motion information of the current block is unidirectional, the unidirectional motion information is directly extracted and the duplicate is checked. If the motion information of the current block is bidirectional, the bidirectional motion information is cropped to unidirectional motion information according to the parity of the number and the duplicate is checked. If the list is not full, a scale scheme is performed at most 4 times according to first motion information in the unidirectional or bidirectional list.
[0283] It should be noted that the above examples are only examples to illustrate the solution provided by the present disclosure, and do not constitute a limitation on application scenarios of the solution of the present disclosure.
[0284] FIG. 9 is a schematic structural diagram of a picture encoding and decoding apparatus 90 provided in an embodiment of the present disclosure. The picture encoding and decoding apparatus 90 includes a determining module 901 and a processing module 902. [0285] The determining module 901 is configured to determine a prediction mode of a picture block to be processed and a permission level of the picture block to be processed. In an example, the determining module 901 can be used to support the picture encoding and decoding apparatus 90 to perform the process of S401 in FIG. 4 or FIG. 5.
[0286] In a possible implementation, the determining module 901 can also be configured to determine a first reference picture block of the picture block to be processed according to the prediction mode of the picture block to be processed. In an example, the determining module 901 can be used to support the picture encoding and decoding apparatus 90 to perform the process of S402 in FIG. 4 or FIG. 5.
[0287] In a possible implementation, the determining module 901 can also be configured to, if a permission level of the first reference picture block does not satisfy a reference condition, determine a target reference manner of the picture block to be processed. The target reference manner includes: prohibiting to determine the prediction block of the picture block to be processed by using the first reference picture block, or determining the prediction block of the picture block to be processed by using a second reference picture block that is allowed to be derived. In an example, module 901 can be used to support the picture encoding and decoding apparatus 90 to perform the process of S405 in FIG. 5.
[0288] The processing module 902 is configured to, if the permission level of the first reference picture block does not satisfy the reference condition, prohibit to determine the prediction block of the picture block to be processed by using the first reference picture block, or determine the prediction block of the picture block to be processed by using a second reference picture block that is allowed to be derived. In an example, the processing module 901 can be used to support the picture encoding and decoding apparatus 90 to perform the process of 5403 in FIG. 4 or FIG. 5.
[0289] In a possible implementation, the processing module 902 can also be configured to, if the permission level of the first reference picture block satisfies the reference condition, determine the prediction block of the picture block to be processed by using the first reference picture block. In an example, the processing module 902 can be used to support the picture encoding and decoding apparatus 90 to perform the process of S404 in FIG. 5.
[0290] Further, the processing module 902 can also be configured to update a historical reference list. In an example, the processing module 902 can be used to support the picture encoding and decoding apparatus 90 to perform the process of S406 in FIG. 5.
[0291] In a possible implementation, the processing module 902 is also configured to, if the permission level of the picture block to be processed is a minimum permission level, update a historical reference list according to prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is a non-minimum permission level, prohibit to update the historical reference list according to the prediction reference information of the picture block to be processed; where the historical reference list is configured to indicate motion information of prediction reference information of processed picture blocks, the prediction reference information of the picture block to be processed is configured to indicate a prediction process of the picture block to be processed, and the non-minimum permission level is one or more.
102921 In another possible implementation, the processing module 902 is also configured to, if the permission level of the picture block to be processed is the minimum permission level, update the historical reference list according to the prediction reference information of the picture block to be processed, if the permission level of the picture block to be processed is the non-minimum permission level, update the historical reference list according to alternative prediction reference information that is allowed to be derived.
[02931 In another possible implementation, the processing module 902 is also configured to, if the permission level of the picture block to be processed is the minimum permission level, update the historical reference list according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is the non-minimum permission level, update a temporary historical reference list corresponding to the permission level of the picture block to be processed according to the prediction reference information of the picture block to be processed.
[02941 In another possible implementation, the processing module 902 is also configured to, if the permission level of the picture block to be processed is the minimum permission level and the historical reference list is not updated by prediction reference information of a picture block with the non-minimum permission level, update the historical reference list according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is the minimum permission level and the historical reference list is updated by the prediction reference information of the picture block with the non-minimum permission level, reconstruct the historical reference list according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is the non-minimum permission level, update the historical reference list according to the prediction reference information of the picture block to be processed.
[0295] In another possible implementation, the processing module 902 is also configured to, update a historical reference list of a permission level region to which the picture block to be processed belongs according to the prediction reference information of the picture block to be processed, where different historical reference lists are constructed for different permission level regions.
[0296] In another possible implementation, the processing module 902 is also configured to: if the permission level of the picture block to be processed is higher than a permission level of a previous region, update the historical reference list according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is lower than the permission level of the previous region, initialize the historical reference list according to alternative prediction reference information.
[0297] Further, the processing module 902 can also be configured to derive spatial motion information. For example, the processing module 902 can be used to support the picture encoding and decoding apparatus 90 to perform the process of S407 in FIG. 5.
[0298] In a possible implementation, the processing module 902 is also configured to, if a permission level of a neighboring spatial picture block used does not satisfy the reference condition, mark that the neighboring spatial picture block does not exist.
[0299] In a possible implementation, the processing module 902 is also configured to, if a permission level of a neighboring picture block does not satisfy the reference condition, parse and obtain spatial prediction information of the picture block to be processed from a bitstream.
[0300] In a possible implementation, the processing module 902 is also configured to, if the permission level of the neighboring spatial picture block used does not satisfy the reference condition, derive the spatial prediction information of the picture block to be processed according to alternative spatial prediction information of a neighboring picture block that is allowed to be derived.
[0301] In the above embodiments, all or some of the foregoing embodiments may be implemented by using software, hardware, firmware, or any combination thereof When software is used to implement the embodiments, all or some of the embodiments may be implemented in a form of a computer program product. The computer program product includes one or more computer program instructions. When the computer program instructions are loaded and executed on a computer, the procedures or functions according to the embodiments of this application are all or partially generated. The computer may be a general-purpose computer, a dedicated computer, a computer network, or another programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or may be transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a web site, computer, server, or data center to another web site, computer, server, or data center in a wired (for example, a coaxial cable, an optical fiber, or a digital subscriber line (DSL)) or wireless (for example, infrared, radio, and microwave, or the like) manner. The computer-readable storage medium may be any usable medium accessible by the computer, or a data storage device, such as a server or a data center, integrating one or more usable media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a digital video disc (DVD)), a semiconductor medium (for example, a solid-state drive (SSD)), or the like.
[0302] Based on the foregoing descriptions of embodiments, a person skilled in the art may clearly understand that, for the purpose of convenient and brief description, division into the foregoing functional modules is used as an example for illustration. In actual application, the foregoing functions can be allocated to different modules and implemented based on a requirement, that is, an internal structure of an apparatus is divided into different functional modules to implement all or some of the functions described above. For a specific working process of the foregoing system, apparatus, and unit, refer to a corresponding process in the foregoing method embodiments, and details are not described herein again.
[0303] In the several embodiments provided in this application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the described apparatus embodiment is merely an example. For example, division into the modules or units is merely logical function division and may be other division in actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or may not be performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented by using some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.
[0304] The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, and may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of the embodiments. [0305] In addition, functional units in embodiments of the present disclosure may be integrated into one processing unit, each of the units may exist alone physically, or two or more units are integrated into one unit. The integrated unit may be implemented in a form of hardware, or may be implemented in a form of a software functional unit.
[0306] When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, the integrated unit may be stored in a computer readable storage medium. Based on such an understanding, the technical solutions of the present disclosure essentially, or the part contributing to the prior art, or all or a part of the technical solutions may be implemented in a form of a software product. The computer software product is stored in a storage medium and includes several instructions for instructing a computer device (which may be a personal computer, a server, a network device, or the like) to perform all or some of the operations of the methods described in embodiments of the present disclosure. The foregoing storage medium includes any medium that can store program code, such as a flash memory, a removable hard disk, a read-only memory, a random access memory, a magnetic disk, or an optical disc.
[03071 The foregoing descriptions are merely embodiments of the present disclosure, but are not intended to limit the protection scope of the present disclosure. Any variation or replacement within the technical scope disclosed in the present disclosure shall fall within the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure shall be subject to the protection scope of the claims.
Claims (16)
- CLAIMS1. A picture encoding and decoding method, comprising: determining a prediction mode of a picture block to be processed and a permission level of the picture block to be processed; determining a first reference picture block of the picture block to be processed according to the prediction mode; if a permission level of the first reference picture block does not satisfy a reference condition, prohibiting to determine a prediction block of the picture block to be processed by using the first reference picture block, or determining the prediction block of the picture block to be processed by using a second reference picture block that is allowed to be derived; wherein the reference condition comprises that the permission level is lower than or equal to the permission level of the picture block to be processed, or the permission level is different from the permission level of the picture block to be processed, or the permission level is equal to a minimum permission level, or there is no pixel block with a permission level higher than the permission level of the picture block to be processed within s pixels above, below, left, and right, wherein s is greater than or equal to 1.
- 2. The method according to claim 1, wherein, the second reference picture block is a picture block determined by one or more picture blocks with permission levels satisfying the reference condition among neighboring picture blocks of the first reference picture block; or the second reference picture block is predicted pixel values obtained by decoding the first reference picture block with a minimum user permission level of a decoding device; or the second reference picture block is a. picture block with default pixel values.
- 3. The method according to claim 1, further comprising: if the permission level of the picture block to be processed is a minimum permission level, updating a historical reference list according to prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is a non-minimum permission level, prohibiting to update the historical reference list according to the prediction reference information of the picture block to be processed; wherein the historical reference list is configured to indicate motion information of prediction reference information of processed picture blocks, the prediction reference information of the picture block to be processed is configured to indicate a prediction process of the picture block to be processed, and the non-minimum permission level is one or more; or if the permission level of the picture block to be processed is the minimum permission level, updating the historical reference list according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is the non-minimum permission level, updating the historical reference list according to alternative prediction reference information that is allowed to be derived; or if the permission level of the picture block to be processed is the minimum permission level, updating the historical reference list according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is the non-minimum permission level, updating a temporary historical reference list corresponding to the permission level of the picture block to be processed according to the prediction reference information of the picture block to be processed; or updating a historical reference list of a permission level region to which the picture block to be processed belongs according to the prediction reference information of the picture block to be processed, wherein different historical reference lists are constructed for different permission level regions; or if the permission level of the picture block to be processed is higher than a permission level of a previous region, updating the historical reference list according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is lower than the permission level of the previous region, initializing the historical reference list according to alternative prediction reference information.
- 4. The method according to claim 3, wherein, the alternative prediction reference information is default prediction reference information; or the alternative prediction reference information is prediction reference information of a default picture block; or the alternative prediction reference information is prediction reference information of a picture block with a permission level satisfying the reference condition before the picture block to be processed in an encoding and decoding order; or the alternative prediction reference information is prediction reference information derived from prediction reference information of one or more picture blocks with permission levels satisfying the reference condition before the picture block to be processed in the encoding and decoding order.
- 5. The method according to claim 3, wherein, the prediction reference information comprises any one of: location information, mode information, or frequency; the historical reference list comprises any one of: a historical motion information list, a historical intra copy information list, or a historical point prediction information list.
- 6. The method according to any one of claims 1 to 5, further comprising: if a permission level of a neighboring spatial picture block used does not satisfy the reference condition, marking that the neighboring spatial picture block does not exist; or if a permission level of a neighboring picture block does not satisfy the reference condition, parsing and obtaining spatial prediction information of the picture block to be processed from a bitstream; or if the permission level of the neighboring spatial picture block used does not satisfy the reference condition, deriving the spatial prediction information of the picture block to be processed according to alternative spatial prediction information of a neighboring picture block that is allowed to be derived.
- 7. The method according to claim 6, wherein, the alternative spatial prediction information is default spatial prediction information; o the alternative spatial prediction information is spatial prediction information derived from spatial prediction information of one or more picture blocks with permission levels satisfying the reference condition before the picture block to be processed in an encoding and decoding order.
- 8. The method according to any one of claims 1-5, further comprising: obtaining permission level configuration information of a picture frame, wherein the permission level configuration information is configured to indicate a corresponding relationship between a location region in the picture frame and a permission level, and picture blocks in the location region have one or more permission levels; taking a permission level corresponding to a location of a picture block in the picture frame in the permission level configuration information as the permission level of the picture block.
- 9. The method according to any one of claims 1-5, wherein, if intra prediction filter, inter prediction filter, or intra reference pixel filtering is enabled, the first reference picture block is a reference picture block used in filtering; if cross-component prediction technology is enabled, when the picture block to be processed is a picture block in a first channel, the first channel generates a prediction block of the picture block in the first channel with reference to one or more picture blocks in a second channel and/or a third channel, and the first reference picture block is a picture block in the second channel and/or the third channel.
- 10. The method according to any one of claims 1-5, further comprising: if the permission level of the first reference picture block satisfies the reference condition, determining the prediction block of the picture block to be processed by using the first reference picture block.
- 11. The method according to any one of claims 1-5, further comprising: if the permission level of the first reference picture block does not satisfy the reference condition, determining a target reference manner of the picture block to be processed; wherein the target reference manner comprises: prohibiting to determine the prediction block of the picture block to be processed by using the first reference picture block, or determining the prediction block of the picture block to be processed by using the second reference picture block that is allowed to be derived; a decoding device determines the target reference manner according to indication information in a bitstream, and an encoding device decides to determine the target reference manner.
- 12. A picture encoding and decoding apparatus, comprising a determining module and a processing module; wherein, the determining module is configured to determine a prediction mode of a picture block to be processed and a permission level of the picture block to be processed; the determining module is further configured to determine a first reference picture block of the picture block to be processed according to the prediction mode; the processing module is configured to: if a permission level of the first reference picture block does not satisfy a reference condition, prohibit to determine a prediction block of the picture block to be processed by using the first reference picture block, or determine the prediction block of the picture block to be processed by using a second reference picture block that is allowed to be derived; wherein the reference condition comprises that the permission level is lower than or equal to the permission level of the picture block to be processed, or the permission level is different from the permission level of the picture block to be processed, or the permission level is equal to a minimum permission level, or there is no pixel block with a permission level higher than the permission level of the picture block to be processed within s pixels above, below, left, and right, wherein s is greater than or equal to 1.
- 13. The apparatus according to claim 12, wherein the second reference picture block is a picture block determined by one or more picture blocks with permission levels satisfying the reference condition among neighboring picture blocks of the first reference picture block; or the second reference picture block is predicted pixel values obtained by decoding the first reference picture block with a minimum user permission level of a decoding device; or the second reference picture block is a picture block with default pixel values; the processing module is further configured to: if the permission level of the picture block to be processed is a minimum permission level, update a historical reference list according to prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is a non-minimum permission level, prohibit to update the historical reference list according to the prediction reference information of the picture block to be processed; wherein the historical reference list is configured to indicate motion information of prediction reference information of processed picture blocks, the prediction reference information of the picture block to be processed is configured to indicate a prediction process of the picture block to be processed, and the non-minimum permission level is one or more; or, the processing module is further configured to: if the permission level of the picture block to be processed is the minimum permission level, update the historical reference list according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is the non-minimum permission level, update the historical reference list according to alternative prediction reference information that is allowed to be derived; or, the processing module is further configured to: if the permission level of the picture block to be processed is the minimum permission level, update the historical reference list according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is the non-minimum permission level, update a temporary historical reference list corresponding to the permission level of the picture block to be processed according to the prediction reference information of the picture block to be processed; or, the processing module is further configured to: update a historical reference list of a permission level region to which the picture block to be processed belongs according to the prediction reference information of the picture block to be processed, wherein different historical reference lists are constructed for different permission level regions; or, the processing module is further configured to: if the permission level of the picture block to be processed is higher than a permission level of a previous region, update the historical reference list according to the prediction reference information of the picture block to be processed; if the permission level of the picture block to be processed is lower than the permission level of the previous region, initialize the historical reference list according to alternative prediction reference information; the alternative prediction reference information is default prediction reference information; or the alternative prediction reference information is prediction reference information of a default picture block; or the alternative prediction reference information is prediction reference information of a picture block with a permission level satisfying the reference condition before the picture block to be processed in an encoding and decoding order; or the alternative prediction reference information is prediction reference information derived from the prediction reference information of the one or more picture blocks with permission levels satisfying the reference condition before the picture block to be processed in the encoding and decoding order; the prediction reference information comprises any one of: location information, mode information, or frequency; the historical reference list comprises any one of: a historical motion information list, a historical intra copy information list, or a historical point prediction information list; the processing module is further configured to: if a permission level of a neighboring spatial picture block used does not satisfy the reference condition, mark that the neighboring spatial picture block does not exist; or, the processing module is further configured to: if a permission level of a neighboring picture block does not satisfy the reference condition, parse and obtain spatial prediction information of the picture block to be processed from a bitstream; or, the processing module is further configured to: if the permission level of the neighboring spatial picture block used does not satisfy the reference condition, derive the spatial prediction information of the picture block to be processed according to alternative spatial prediction information of a neighboring picture block that is allowed to be derived; the alternative spatial prediction information is default spatial prediction information; or the alternative spatial prediction information is spatial prediction information derived from spatial prediction information of one or more picture blocks with permission levels satisfying the reference condition before the picture block to be processed in an encoding and decoding order; the processing module is further configured to: obtain permission level configuration information of a picture frame, wherein the permission level configuration information is configured to indicate a corresponding relationship between a location region in the picture frame and a permission level, and picture blocks in the location region have one or more permission levels; take a permission level corresponding to a location of a picture block in the picture frame in the permission level configuration information as the permission level of the picture block; if intra prediction filter, inter prediction filter, or intra reference pixel filtering is enabled, the first reference picture block is a reference picture block used in filtering; if cross-component prediction technology is enabled, when the picture block to be processed is a picture block in a first channel, the first channel generates a prediction block of the picture block in the first channel with reference to one or more picturc blocks in a second channel and/or a third channel, and the first reference picture block is a picture block in the second channel and/or the third channel; the processing module is further configured to: if the permission level of the first reference picture block satisfies the reference condition, determine the prediction block of the picture block to be processed by using the first reference picture block; the processing module is further configured to: if the permission level of the first reference picture block does not satisfy the reference condition, determine a target reference manner of the picture block to be processed; wherein the target reference manner comprises: prohibiting to determine the prediction block of the picture block to be processed by using the first reference picture block, or determining the prediction block of the picture block to be processed by using the second reference picture block that is allowed to be derived; a decoding device determines the target reference manner according to indication information in a bitstream, and an encoding device decides to determine the target reference manner.
- 14. An encoder, comprising one or more processors coupled to a memory; wherein, the memory is configured to store computer programs or instructions; and the one or more processors are configured to execute the computer programs or instructions stored in the memory to cause the encoder to perform the method according to any one of claims 1 to 11.
- 15. A decoder,comprising one or more processors coupled to a memory; wherein, the memory is configured to store computer programs or instructions; and the one or more processors are configured to execute the computer programs or instructions stored in the memory to cause the decoder to perform the method according to any one of claims 1 to 11.
- 16. A computer-readable storage medium comprising program codes which, when executed by a computer device, perform the method according to any one of claims 1 to 11.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211422461.9A CN118042158A (en) | 2022-11-14 | 2022-11-14 | Image encoding and decoding method and device |
| PCT/CN2024/072091 WO2024104503A1 (en) | 2022-11-14 | 2024-01-12 | Image coding and decoding |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| GB202508092D0 GB202508092D0 (en) | 2025-07-09 |
| GB2640040A true GB2640040A (en) | 2025-10-08 |
Family
ID=90984605
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| GB2508092.0A Pending GB2640040A (en) | 2022-11-14 | 2024-01-12 | Image coding and decoding |
Country Status (3)
| Country | Link |
|---|---|
| CN (3) | CN120568073A (en) |
| GB (1) | GB2640040A (en) |
| WO (1) | WO2024104503A1 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118784850B (en) * | 2024-07-02 | 2025-06-20 | 格兰菲智能科技股份有限公司 | Decoding method, device, computer equipment, storage medium and computer program product |
| CN120128721A (en) * | 2025-04-03 | 2025-06-10 | 北京裕宽科技有限公司 | Ultra-high-definition video image compression coding method and system based on AVS2 |
Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101389005A (en) * | 2007-09-11 | 2009-03-18 | 华为技术有限公司 | A method and device for blocking a specific position of an image |
| US20150023407A1 (en) * | 2012-06-25 | 2015-01-22 | Sony Corporation | Image decoding device, image decoding method, image encoding device, and image encoding method |
| US20150245059A1 (en) * | 2014-02-21 | 2015-08-27 | Panasonic Corporation | Image decoding method, image encoding method, image decoding apparatus, and image encoding apparatus |
| JP2016005235A (en) * | 2014-06-19 | 2016-01-12 | 三菱電機株式会社 | Image encoding device, image decoding device, image encoding method, and image decoding method |
| CN110036640A (en) * | 2016-12-14 | 2019-07-19 | 深圳市大疆创新科技有限公司 | System and method for supporting video bitstream switching |
| CN111416981A (en) * | 2019-01-07 | 2020-07-14 | 华为技术有限公司 | Video image decoding and encoding method and device |
| US20210195238A1 (en) * | 2018-06-18 | 2021-06-24 | Industry Academy Cooperation Foundation Of Sejong University | Method and apparatus for encoding/decoding image |
| US20210392339A1 (en) * | 2020-06-10 | 2021-12-16 | Kt Corporation | Method and apparatus for encoding/decoding a video signal, and a recording medium storing a bitstream |
| WO2022078339A1 (en) * | 2020-10-18 | 2022-04-21 | 腾讯科技(深圳)有限公司 | Reference pixel candidate list constructing method and apparatus, device and storage medium |
-
2022
- 2022-11-14 CN CN202510884188.9A patent/CN120568073A/en active Pending
- 2022-11-14 CN CN202211422461.9A patent/CN118042158A/en active Pending
- 2022-11-14 CN CN202510886943.7A patent/CN120568074A/en active Pending
-
2024
- 2024-01-12 WO PCT/CN2024/072091 patent/WO2024104503A1/en not_active Ceased
- 2024-01-12 GB GB2508092.0A patent/GB2640040A/en active Pending
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101389005A (en) * | 2007-09-11 | 2009-03-18 | 华为技术有限公司 | A method and device for blocking a specific position of an image |
| US20150023407A1 (en) * | 2012-06-25 | 2015-01-22 | Sony Corporation | Image decoding device, image decoding method, image encoding device, and image encoding method |
| US20150245059A1 (en) * | 2014-02-21 | 2015-08-27 | Panasonic Corporation | Image decoding method, image encoding method, image decoding apparatus, and image encoding apparatus |
| JP2016005235A (en) * | 2014-06-19 | 2016-01-12 | 三菱電機株式会社 | Image encoding device, image decoding device, image encoding method, and image decoding method |
| CN110036640A (en) * | 2016-12-14 | 2019-07-19 | 深圳市大疆创新科技有限公司 | System and method for supporting video bitstream switching |
| US20210195238A1 (en) * | 2018-06-18 | 2021-06-24 | Industry Academy Cooperation Foundation Of Sejong University | Method and apparatus for encoding/decoding image |
| CN111416981A (en) * | 2019-01-07 | 2020-07-14 | 华为技术有限公司 | Video image decoding and encoding method and device |
| US20210392339A1 (en) * | 2020-06-10 | 2021-12-16 | Kt Corporation | Method and apparatus for encoding/decoding a video signal, and a recording medium storing a bitstream |
| WO2022078339A1 (en) * | 2020-10-18 | 2022-04-21 | 腾讯科技(深圳)有限公司 | Reference pixel candidate list constructing method and apparatus, device and storage medium |
Also Published As
| Publication number | Publication date |
|---|---|
| CN120568074A (en) | 2025-08-29 |
| WO2024104503A1 (en) | 2024-05-23 |
| CN118042158A (en) | 2024-05-14 |
| GB202508092D0 (en) | 2025-07-09 |
| CN120568073A (en) | 2025-08-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12075037B2 (en) | Predicting filter coefficients from fixed filters for video coding | |
| CN111183645B (en) | Position-dependent prediction combining in video coding | |
| US11044473B2 (en) | Adaptive loop filtering classification in video coding | |
| US11611757B2 (en) | Position dependent intra prediction combination extended with angular modes | |
| US11343533B2 (en) | Coding method, device, system with merge mode | |
| CN113170212B (en) | Decoding method, device and system with merging mode | |
| TW201713116A (en) | Reference picture list construction in intra block copy mode | |
| US12149680B2 (en) | Coding method, device, system with merge mode | |
| US11750835B2 (en) | Coding method, device, system with merge mode | |
| CN117597927A (en) | Video codec using multi-directional intra prediction | |
| GB2640040A (en) | Image coding and decoding | |
| CN114071158A (en) | Method, device and device for constructing motion information list in video codec | |
| CN119183659A (en) | Image encoding/decoding method, device and recording medium storing bit stream | |
| CN116636218A (en) | Video Codec Using Multidirectional Intra Prediction | |
| CN111869215A (en) | Restricted long-distance motion vector prediction method and device | |
| KR20240125959A (en) | Code prediction for block-based video coding | |
| KR20240137627A (en) | Code prediction for block-based video coding | |
| WO2023123736A1 (en) | Communication method, apparatus, device, system, and storage medium | |
| US20240414375A1 (en) | Sign prediction for block-based video coding | |
| CN121264039A (en) | Method and apparatus for filtered intra block copying | |
| CN120530627A (en) | Video encoding and decoding method, device, equipment, system, and storage medium | |
| CN119316619A (en) | Coding and decoding method and device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 789A | Request for publication of translation (sect. 89(a)/1977) |
Ref document number: 2024104503 Country of ref document: WO |