A decoding, encoding method, apparatus and device thereof

By classifying permission levels and using predictive reference pixel filling at the encoding and decoding ends, the problem of image information permission protection is solved, ensuring the accuracy and privacy of image information for users with low permission levels.

CN118972599BActive Publication Date: 2025-11-25HANGZHOU HIKVISION DIGITAL TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310561476.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-15
Publication Date
2025-11-25
Estimated Expiration
2043-05-15

AI Technical Summary

Technical Problem

Existing technologies make it difficult to implement permission level classification and privacy protection for image information at the decoding end, resulting in the leakage of high-level permission information to low-level permission users.

Method used

By dividing image frames into permission levels at the encoding end, each processing block is filled with prediction reference pixels of a higher permission level than its corresponding level. The prediction mode information and residual parameter information of processing blocks of the same permission level are encoded to generate a permission bitstream. At the decoding end, when decoding the processing block with the lowest permission level, prediction reference pixels of a higher permission level are filled in to ensure that users with low permission levels cannot view information with high permission levels.

Benefits of technology

This technology ensures that users with lower privilege levels can accurately view image information at their privilege level without disclosing high-privilege information, thus improving the accuracy of image decoding and privacy protection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118972599B_ABST
    Figure CN118972599B_ABST
Patent Text Reader

Abstract

The application provides a decoding and encoding method, device and equipment. The decoding method comprises the following steps: acquiring an image frame code stream of a same frame image, wherein the image frame code stream comprises at least two authority code streams, and different authority code streams correspond to different authority levels; decoding the authority code stream corresponding to the lowest authority level to acquire prediction mode information of each lowest authority level processing block; if the target authority level of a user is the lowest authority level, acquiring, for each lowest authority level processing block, a prediction reference pixel of the lowest authority level processing block; filling the prediction reference pixels of the authority levels higher than the lowest authority level; and predicting a prediction block corresponding to the lowest authority level processing block according to the prediction mode information and the prediction reference pixel of the lowest authority level processing block.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of encoding and decoding technology, and in particular to a decoding and encoding method, apparatus and device thereof. Background Technology

[0002] To save space, images are compressed and encoded before transmission. A complete image encoding process can include transformation, prediction, quantization, entropy coding, filtering, and other processes.

[0003] In some scenarios, it is necessary to set at least two permission levels on the decoding end, and divide the image into permission areas corresponding to different permission levels. Users of any permission level can only view image information within the permission area corresponding to their own permission level.

[0004] Based on this, the present disclosure aims to provide an encoding and decoding scheme that can be applied to the above-mentioned scenarios and has high accuracy. Summary of the Invention

[0005] In view of this, this application provides a decoding and encoding method, apparatus and device that can encode and decode image frames internally divided into different permission areas, so that users of any permission level can only view image information within the permission area corresponding to their own permission level, and the encoding and decoding scheme has high accuracy.

[0006] This application provides a decoding method applied at a decoding end, including:

[0007] Obtain at least two permission streams, with different permission streams corresponding to different permission levels;

[0008] Decode the permission bitstream corresponding to the lowest permission level to obtain the prediction mode information of each lowest permission level processing block;

[0009] If the user's target permission level is the lowest permission level, then for each lowest permission level processing block, obtain the predicted reference pixel for that lowest permission level processing block; and fill in the predicted reference pixels for permission levels higher than the lowest permission level.

[0010] Based on the prediction mode information and prediction reference pixels of the lowest privilege level processing block, the prediction block corresponding to the lowest privilege level processing block is predicted.

[0011] This application provides an encoding method applied at the encoding end, including:

[0012] Acquire an image frame, which is divided into multiple processing blocks, each of which includes at least two processing blocks corresponding to different permission levels.

[0013] For each processing block, obtain the prediction mode information of the processing block and the prediction reference pixels of the processing block, and fill in the prediction reference pixels with a permission level higher than the permission level corresponding to the processing block.

[0014] Based on the processing block and its prediction reference pixel, a prediction block corresponding to the processing block is predicted to determine the prediction mode information of the processing block; based on the processing block and the prediction block, the residual parameter information of the processing block is obtained.

[0015] For each permission level, the prediction mode information and residual parameter information of each processing block corresponding to that permission level are encoded to obtain the permission bitstream corresponding to that permission level.

[0016] The image frame stream, including the permission bitstream corresponding to each permission level, is sent to the decoding end.

[0017] This application provides a decoding device applied at a decoding end, the device comprising:

[0018] The acquisition module acquires at least two permission streams, with different permission streams corresponding to different permission levels.

[0019] The decoding module decodes the permission bitstream corresponding to the lowest permission level and obtains the prediction mode information of each lowest permission level processing block;

[0020] The processing module, if the user's target permission level is the lowest permission level, then for each lowest permission level processing block, obtains the predicted reference pixels for that lowest permission level processing block; and fills in the predicted reference pixels for permission levels higher than the lowest permission level.

[0021] The prediction module predicts the corresponding prediction block based on the prediction mode information and prediction reference pixels of the lowest privilege level processing block.

[0022] This application provides an encoding device for use at an encoding end, the device comprising:

[0023] The acquisition module acquires an image frame, which is divided into multiple processing blocks, including at least two processing blocks corresponding to different permission levels.

[0024] The processing module, for each processing block, obtains the prediction mode information of that processing block and the prediction reference pixels of that processing block, and fills in the prediction reference pixels with a permission level higher than the permission level corresponding to that processing block.

[0025] The prediction module predicts the corresponding prediction block based on the processing block and its prediction reference pixel, thereby determining the prediction mode information of the processing block; and obtains the residual parameter information of the processing block based on the processing block and the prediction block.

[0026] The encoding module encodes the prediction mode information and residual parameter information of each processing block corresponding to each permission level to obtain the permission bitstream corresponding to that permission level.

[0027] The sending module sends the image frame bitstream, including the permission bitstream corresponding to each permission level, to the decoding end.

[0028] This application provides a decoding device, including: a processor and a machine-readable storage medium, wherein the machine-readable storage medium stores machine-executable instructions that can be executed by the processor; the processor is used to execute the machine-executable instructions to implement the above-described decoding method.

[0029] This application provides an encoding terminal device, including: a processor and a machine-readable storage medium, wherein the machine-readable storage medium stores machine-executable instructions that can be executed by the processor; the processor is used to execute the machine-executable instructions to implement the above-described encoding method.

[0030] This application provides an electronic device, including: a processor and a machine-readable storage medium, wherein the machine-readable storage medium stores machine-executable instructions that can be executed by the processor; the processor is used to execute the machine-executable instructions to implement the above-described decoding method or encoding method.

[0031] This application provides a machine-readable storage medium storing a plurality of computer instructions, which, when executed by a processor, implement the above-described decoding or encoding method.

[0032] In the above technical solution, if the image frame includes permission regions corresponding to different permission levels, the image frame is divided into multiple processing blocks. Some of these processing blocks correspond to higher permission levels, and some correspond to lower permission levels. There can be one or more processing blocks corresponding to the same permission level. During the encoding and decoding process, the privacy of image information in processing blocks with higher permission levels relative to those with lower permission levels needs to be considered. That is, it must be ensured that the prediction process of processing blocks with lower permission levels cannot reference prediction reference pixels with higher permission levels. Therefore, at the encoding end, for each processing block, prediction reference pixels with permission levels higher than the corresponding permission level of the processing block need to be padded, and prediction is performed based on the padded prediction reference pixels. The prediction mode information and residual parameter information of each processing block corresponding to the same permission level are encoded to obtain the permission bitstream corresponding to that permission level. The image frame bitstream including the permission bitstream corresponding to each permission level is then sent to the decoding end.

[0033] At the decoding end, after receiving the aforementioned image frame bitstream, at least the permission bitstream corresponding to the lowest permission level can be decoded to obtain the prediction mode information of the lowest permission level processing block. If the user's permission level at the decoding end is the lowest permission level, then for each lowest permission level processing block, the prediction reference pixels in the prediction reference pixels of this lowest permission level processing block need to be filled with prediction reference pixels whose permission level is higher than the lowest permission level. Prediction is then performed based on the prediction mode information of this lowest permission level processing block and the filled prediction reference pixels.

[0034] With the above technical solution, when permission protection is enabled at the decoding end (i.e., privacy protection is provided for image information with a higher permission level than the user at the decoding end), the decoding end will not refer to the prediction reference pixels of non-lowest permission level during the prediction process of the lowest permission level processing block, but will instead fill them in. This ensures the accuracy of the lowest permission level image information displayed to the user by the decoding end without exposing non-lowest permission level image information to the user at the lowest permission level. Attached Figure Description

[0035] Figure 1 This is a schematic diagram of a video encoding framework;

[0036] Figures 2A-2B This is a schematic diagram of a video encoding framework;

[0037] Figure 3 This is a flowchart of a decoding method in one embodiment of this application;

[0038] Figures 4A-4C This is a schematic diagram of horizontal filling in one embodiment of this application;

[0039] Figures 5A-5C This is a schematic diagram of vertical filling in one embodiment of this application;

[0040] Figure 6 This is a schematic diagram of the decoding process of parsing mosaic information at the decoding end in one embodiment of this application;

[0041] Figure 7 This is a flowchart of an encoding method in one embodiment of this application;

[0042] Figure 8A This is a hardware structure diagram of the decoding end device in one embodiment of this application;

[0043] Figure 8B This is a hardware structure diagram of the encoding end device in one embodiment of this application. Detailed Implementation

[0044] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to limit the application. The singular forms “a,” “the,” and “the” used in the embodiments and claims of this application are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to any or all possible combinations including one or more of the associated listed items. It should be understood that although the embodiments of this application may use terms such as first, second, etc., to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, first information may also be referred to as second information, and second information may also be referred to as first information, depending on the context, without departing from the scope of the embodiments of this application. Furthermore, the word “if” as used can be interpreted as “when,” “when,” or “in response to a determination.”

[0045] This section first introduces the video coding framework used in the technical solution provided in this disclosure. See also... Figure 1 The diagram shown is a schematic of the video encoding framework at the encoding end. This video encoding framework can be used to implement the encoding end processing flow of this application. The schematic diagram of the video decoding framework can be compared with... Figure 1 Similarly, the decoding process of this application can be implemented using a video decoding framework.

[0046] See Figure 1As shown, a video coding framework can include modules such as prediction, transform, quantization, entropy encoder, inverse quantization, inverse transform, reconstruction, and filtering. At the encoding end, the cooperation between these modules enables the processing flow. Similarly, a video decoding framework can include modules such as prediction, transform, quantization, entropy decoder, inverse quantization, inverse transform, reconstruction, and filtering. At the decoding end, the cooperation between these modules enables the processing flow.

[0047] Prediction includes intra-frame prediction and inter-frame prediction. Intra-frame prediction uses prediction reference pixels around the current processing block to make predictions and remove spatial redundancy. Inter-frame prediction uses prediction reference pixels on the temporal reference frame to make predictions and remove temporal redundancy.

[0048] A transformation linearly maps the residual information in the spatial domain to the transform domain (such as the frequency domain), aiming to concentrate energy and remove frequency domain correlations in the signal. Theoretically, the transformation matrix is ​​invertible and does not introduce signal loss.

[0049] Quantization is a "many-to-one" mapping process that is irreversible and will result in signal loss. However, it has the advantage of significantly reducing the range of signal values, allowing the encoder to provide a good approximation of the original signal with a small number of symbols, thereby improving the compression ratio.

[0050] Entropy coding is a lossless coding method based on the principle of information entropy. It transforms a series of element symbols used to represent a video sequence (such as transform coefficients and mode information) into a binary bitstream, removing the statistical redundancy of these video element symbols.

[0051] The filtering module enhances the reconstructed image, aiming to make it closer to the original image while reducing the effects of blockiness and ringing artifacts, thereby improving the quality of the reconstructed image.

[0052] Furthermore, numerous encoding tools have been proposed for various modules at the encoding end, and each tool often has multiple modes. The optimal encoding tool for different video sequences often differs. Therefore, during the encoding process, Rate-Distortion Optimization (RDO) is typically used to compare the encoding performance of different tools or modes to select the best mode. After determining the optimal tool or mode, the decision information is transmitted by encoding marker information in the bitstream. Although this method introduces higher encoding complexity, it can adaptively select the optimal mode combination for different content to achieve optimal encoding performance. At the decoding end, the relevant mode information is obtained by directly parsing the marker information, resulting in a relatively small impact on complexity.

[0053] The following is combined with Figure 2A and Figure 2B The framework structure of the encoding and decoding ends is further described below. See also Figure 2A The diagram shown illustrates a schematic block diagram for implementing an example of an encoding end. Figure 2A In this architecture, the encoding end includes a prediction processing unit, a residual calculation unit, a transform processing unit, a quantization unit, an encoding unit, an inverse quantization unit (also called an inverse quantization unit), an inverse transform processing unit (also called an inverse transform processing unit), a reconstruction unit (or reconstruction unit), and a filter unit. In one example, the encoding end may also include a buffer and a decoded image buffer, wherein the buffer is used to buffer the reconstructed blocks output by the reconstruction unit, and the decoded image buffer is used to buffer the filtered reconstructed blocks output by the filter unit.

[0054] The input to the encoding end (also called the encoder) is a processing block of an image (which can be referred to as the image to be encoded). The encoding end also includes a segmentation unit (not shown in the figure), which is used to segment the image to be encoded into multiple processing blocks. The encoding end is used to encode block by block to complete the encoding of the image to be encoded; for example, it performs the encoding process for each processing block. The prediction processing unit is used to receive or acquire the processing block and the reconstructed image data, and to predict the current block based on the relevant data in the reconstructed image data to obtain the prediction block corresponding to the processing block. The prediction processing unit includes an inter-frame prediction unit, an intra-frame prediction unit, and a mode selection unit. The mode selection unit is used to select either the intra-frame prediction mode or the inter-frame prediction mode. If the intra-frame prediction mode is selected, the intra-frame prediction unit performs the prediction process; if the inter-frame prediction mode is selected, the inter-frame prediction unit performs the prediction process.

[0055] The residual calculation unit calculates the residual between the true value of the processed block and the corresponding prediction block to obtain the residual block. For example, the residual calculation unit can subtract the pixel value of the prediction block from the pixel value of the processed block pixel by pixel. The transform processing unit performs a transform on the residual block, such as a discrete cosine transform (DCT) or a discrete sine transform (DST), to obtain transform coefficients in the transform domain. These transform coefficients, also known as transform residual coefficients, represent the residual block in the transform domain. The quantization unit quantizes the transform coefficients by applying scalar quantization or vector quantization to obtain quantized transform coefficients, also known as quantized residual coefficients. The quantization process can reduce the bit depth associated with some or all of the transform coefficients. For example, during quantization, n-bit transform coefficients are rounded down to m-bit transform coefficients, where n is greater than m. The degree of quantization is modified by adjusting the quantization parameter (QP). For example, for scalar quantization, different scales are applied to achieve finer or coarser quantization. Smaller quantization step sizes correspond to finer quantization, while larger quantization step sizes correspond to coarser quantization. The appropriate quantization step size is indicated by the quantization parameter (QP).

[0056] The encoding unit encodes the quantized residual coefficients to output encoded image data (i.e., the encoding result of the current processing block) as an encoded bitstream. This encoded bitstream is then transmitted to the decoder, or stored for later transmission to the decoder or for retrieval. The encoding unit can also encode other syntax elements of the current processing block, such as encoding the prediction mode into the bitstream. Encoding algorithms include, but are not limited to, variable-length coding (VLC), context-adaptive VLC (CAVLC), arithmetic coding, context-adaptive binary arithmetic coding (CABAC), syntax-based context-adaptive binary arithmetic coding (SBAC), and probability interval partitioning entropy (PIPE).

[0057] The dequantization unit is used to dequantize the aforementioned quantized coefficients to obtain dequantized coefficients. This dequantization is the reverse application of the aforementioned quantization unit; for example, it applies an inverse quantization scheme based on or using the same quantization step size as the quantization unit, using the inverse quantization scheme applied by the quantization unit. The dequantized coefficients can also be called dequantized residual coefficients. The inverse transform processing unit is used to perform an inverse transform on the aforementioned dequantized coefficients. It should be understood that this inverse transform is the reverse application of the aforementioned transform processing unit. For example, the inverse transform may include an inverse discrete cosine transform (DCT) or an inverse discrete sine transform (DST) to obtain an inverse transform block in the pixel domain (or sample domain). The inverse transform block can also be called an inverse-transformed dequantized block or an inverse transform residual block. The reconstruction unit 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 can be a summer, such as adding the sample values ​​(i.e., pixel values) of the residual block to the sample values ​​of the prediction block. The reconstructed blocks output by the reconstruction unit can be subsequently used to predict other processing blocks, for example, in intra-frame prediction mode.

[0058] A filter unit (or simply "filter") is used to filter reconstructed blocks to facilitate pixel transformation or improve image quality. A filter unit can be a loop filter unit, intended to represent one or more loop filters. For example, a filter unit can be a deblocking filter, a sample-adaptive offset (SAO) filter, or other filters such as a bilateral filter, an adaptive loop filter (ALF), a sharpening or smoothing filter, or a collaborative filter. In one example, the filtered block output by this filter unit can be subsequently used to predict other processed blocks, for example, in inter-frame prediction mode, without limitation.

[0059] See Figure 2B The diagram illustrates a schematic block diagram of an example of a decoding end (also referred to as a decoder) for implementing embodiments of this application. The decoder receives, for example, encoded image data (i.e., an encoded bitstream, for example, an encoded bitstream including processing blocks and associated syntax elements) encoded by an encoder to obtain a decoded image. The decoder includes a decoding unit, an inverse quantization unit, an inverse transform processing unit, a prediction processing unit, a reconstruction unit, and a filter unit. In some instances, the decoder can perform substantially the same functions as... Figure 2A The encoder describes the decoding iterations as the inverse of the encoding iterations. In one example, the decoder may also include a buffer and a decoded image buffer, wherein the buffer is used to buffer the reconstructed blocks output by the reconstruction unit, and the decoded image buffer is used to buffer the filtered reconstructed blocks output by the filter unit.

[0060] The decoding unit performs decoding on the encoded image data to obtain quantized coefficients and / or decoded encoding parameters (e.g., decoding parameters may include any one or all of inter-frame prediction parameters, intra-frame prediction parameters, filter parameters, and / or other syntax elements). The decoding unit also forwards the decoded encoding parameters to the prediction processing unit, which performs a prediction process based on the encoding parameters. The dequantization unit functions similarly to the encoder's dequantization unit, performing dequantization (i.e., inverse quantization) on the quantized coefficients decoded by the decoding unit. The inverse transform processing unit functions similarly to the encoder's inverse transform processing unit, and the reconstruction unit (e.g., a summer) functions similarly to the encoder's reconstruction unit, performing an inverse transform on the quantized coefficients (e.g., inverse DCT, inverse integer transform, or a conceptually similar inverse transform process) to obtain an inverse transform block (also called an inverse transform residual block), which is the residual block of the current encoding unit in the pixel domain.

[0061] A prediction processing unit is used to receive or acquire encoded image data (e.g., the encoded bitstream of the current coding unit) and reconstructed image data. The prediction processing unit can also receive or acquire prediction-related parameters and / or information about the selected prediction mode (i.e., decoded encoding parameters) from, for example, a decoding unit, and perform prediction on the current coding unit based on the related data in the reconstructed image data and the decoded encoding parameters to obtain the prediction block of the current coding unit. In one example, the prediction processing unit may include an inter-frame prediction unit, an intra-frame prediction unit, and a mode selection unit. The mode selection unit is used to select either an intra-frame prediction mode or an inter-frame prediction mode. If an intra-frame prediction mode is selected, the intra-frame prediction unit performs the prediction process; if an inter-frame prediction mode is selected, the inter-frame prediction unit performs the prediction process.

[0062] The reconstruction unit adds the inverse transform block (i.e., the inverse transform residual block) to the prediction block to obtain the reconstructed block in the sample domain, such as by adding the sample values ​​of the inverse transform residual block to the sample values ​​of the prediction block. The filter unit is used to filter the reconstructed block.

[0063] It should be understood that in encoders and decoders, the processing results of a certain stage can be further processed and output to the next stage. For example, after interpolation filtering, motion vector derivation or filtering, the processing results of the corresponding stage can be further clipped or shifted.

[0064] It's also important to note that an image frame can be divided into different permission zones based on user access levels. For example, if two permission levels are set, an image frame can be divided into two permission zones; if five permission levels are set, an image frame can be divided into five permission zones. The purpose of setting different permission zones could be, for example, the need for image information security. Specifically, an image might include license plate information, partial human body areas, text information, screen information, etc. If users of all permission levels could view this image information, it would pose a security risk. Therefore, it's necessary to classify image information according to user permission levels, ensuring that users with lower permission levels cannot view image information above their own permission level, while users with higher permission levels can view image information at or below their own permission level.

[0065] To achieve the above objectives, since the scope of the permission region can be irregular, the image frame can be divided into M*N image blocks to define its boundaries. Each image block can include one or more pixels. This allows us to determine which image blocks are covered by each permission region. It's easy to understand that the smaller the granularity of the image blocks, the more precise the definition of the permission region. Based on the permission region to which each image block belongs, its permission level can be marked. The permission level of each pixel depends on the permission level marked on the image block to which that pixel belongs.

[0066] In the encoding and decoding process of image frames, the basic processing object is called a processing block. For example, an image frame can be divided into multiple processing blocks (a processing block can be denoted as a CU). For a single processing block, the permission levels of the pixels within it are not necessarily the same. Generally, if a processing block contains pixels with different permission levels, it can be determined whether the processing block can be further divided. If it can be further divided, it is then determined whether the divided processing blocks still contain pixels with different permission levels. If a processing block that cannot be further divided contains pixels with different permission levels, then the highest relative permission level among these permission levels is marked as the permission level of this processing block. After obtaining the reconstructed blocks corresponding to the processing blocks, the reconstructed blocks can be filtered. Usually, multiple reconstructed blocks can be combined into an image frame or into a large processing block (a large processing block can be denoted as an LCU), and the image frame or the large processing block is then filtered pixel by pixel.

[0067] In the specific implementation of the scheme, if the image frame includes permission regions corresponding to different permission levels, the image frame is divided into multiple processing blocks. Some of these processing blocks correspond to higher permission levels, while others correspond to lower permission levels. There can be one or more processing blocks corresponding to the same permission level. During the encoding and decoding process, the privacy of image information in processing blocks with higher permission levels relative to those with lower permission levels needs to be considered. That is, it must be ensured that the prediction process of processing blocks with lower permission levels cannot reference prediction reference pixels with higher permission levels. Therefore, at the encoding end, for each processing block, the prediction reference pixels of that processing block need to be padded with prediction reference pixels whose permission level is higher than that of the corresponding permission level. Prediction is then performed based on the padded prediction reference pixels. The prediction mode information and residual parameter information of each processing block corresponding to the same permission level are encoded to obtain the permission bitstream corresponding to that permission level. The image frame bitstream including the permission bitstream corresponding to each permission level is then sent to the decoding end.

[0068] At the decoding end, after receiving the aforementioned image frame bitstream, at least the permission bitstream corresponding to the lowest permission level can be decoded to obtain the prediction mode information of the lowest permission level processing block. If the user's permission level at the decoding end is the lowest permission level, then for each lowest permission level processing block, the prediction reference pixels in the prediction reference pixels of this lowest permission level processing block need to be filled with prediction reference pixels whose permission level is higher than the lowest permission level. Prediction is then performed based on the prediction mode information of this lowest permission level processing block and the filled prediction reference pixels.

[0069] With the above technical solution, when permission protection is enabled at the decoding end (i.e., privacy protection is provided for image information with a higher permission level than the user at the decoding end), the decoding end will not refer to the prediction reference pixels of non-lowest permission level during the prediction process of the lowest permission level processing block, but will instead fill them in. This ensures the accuracy of the lowest permission level image information displayed to the user by the decoding end without exposing non-lowest permission level image information to the user at the lowest permission level.

[0070] The decoding and encoding methods are described in detail below with reference to several specific embodiments.

[0071] Example 1: This embodiment of the present disclosure proposes a decoding method, applied at the decoding end, see [link to example]. Figure 3 As shown, it includes the following steps:

[0072] S300: Obtain at least two authorized bitstreams.

[0073] Different permission bitstreams correspond to different permission levels. These at least two permission bitstreams can be obtained by encoding processing blocks of different permission levels in the same frame image, or they can be obtained by encoding processing blocks of different permission levels in a large processing unit (LCU).

[0074] It's easy to understand that in the entropy coding process, if the information to be encoded corresponding to processing blocks with different permission levels is sent to the same entropy encoder for encoding, it is easy to encounter a situation where different processing blocks with different permission levels are encoded continuously. This will bring additional overhead and lead to poor encoding performance. Therefore, the information to be encoded corresponding to each processing block with the same permission level (such as prediction mode information, residual blocks, etc.) can be sent to the same entropy encoder for encoding. Different permission levels correspond to different entropy encoders, so that the permission bitstreams output by different entropy encoders correspond to different permission levels.

[0075] S302: Decode the permission bitstream corresponding to the lowest permission level to obtain the prediction mode information of each lowest permission level processing block.

[0076] Since the image information of the lowest permission level area can be exposed to users of any permission level, the decoding end can perform the decoding steps for the permission bitstream corresponding to the lowest permission level, regardless of the user's permission level.

[0077] Specifically, the permission bitstream corresponding to the lowest permission level can be fed into the entropy decoder corresponding to the lowest permission level to obtain the parsing information for the lowest permission level. Then, permission level marker information (used to indicate the permission level of different processing blocks in the same image frame), prediction mode information of each lowest permission level processing block, and residual parameter information of each lowest permission level block can be parsed from this parsing information. Then, on the one hand, the corresponding residual (or residual block) can be obtained based on the residual parameter information of the lowest permission level block; on the other hand, the corresponding prediction block can be obtained based on the prediction mode information of each lowest permission level block, and thus the reconstructed block corresponding to each lowest permission level block can be obtained.

[0078] S304: If the user's target permission level is the lowest permission level, then for each lowest permission level processing block, obtain the predicted reference pixel of that lowest permission level processing block.

[0079] S306: Fill in the predicted reference pixels with a permission level higher than the lowest permission level.

[0080] S308: Based on the prediction mode information and prediction reference pixels of the lowest privilege level processing block, predict the prediction block corresponding to the lowest privilege level processing block.

[0081] It is easy to understand that in the process of predicting a processing block, it is usually necessary to refer to the set of prediction reference pixels around the processing block (usually the upper boundary row buffer and the left boundary column buffer). However, in the scenario in which this disclosure is applied, it is necessary to consider that pixels with lower permission levels should not be exposed to users with higher permission levels. Therefore, when performing steps S304-S306, it is necessary to consider the relationship between the permission level of the user at the decoding end and the permission level corresponding to the processing block to be predicted.

[0082] Specifically, if the user's target permission level is the lowest permission level, then when predicting the prediction block for the lowest permission level processing block, no pixels with permission levels other than the lowest permission level can be referenced. Therefore, it is necessary to pad the prediction reference pixels in the lowest permission level processing block's prediction reference pixel set with permission levels higher than the lowest permission level. This padding process involves replacing the original prediction reference pixels with a padding pixel. Since the padding pixel does not involve original image information from non-lowest permission levels, privacy leaks can be avoided.

[0083] Furthermore, if the user's target permission level is not the minimum permission level, then for each non-minimum permission level processing block, the non-minimum permission level processing block can be decoded (usually fed into the entropy decoder corresponding to the non-minimum permission level) to obtain the information to be parsed for that non-minimum permission level. From this information, the prediction mode information and residual parameter information of the minimum permission level processing block can be parsed. Next, the prediction reference pixels of the non-minimum permission level processing block are obtained, and prediction reference pixels with permission levels higher than the non-minimum permission level are filled in. Then, based on the prediction mode information and prediction reference pixels of the non-minimum permission level processing block, the prediction block corresponding to the non-minimum permission level processing block is predicted. Then, on the one hand, the corresponding residual (or residual block) can be obtained based on the residual parameter information of the non-minimum permission level block; on the other hand, the corresponding prediction block can be obtained based on the prediction mode information of the non-minimum permission level block, thus obtaining the reconstructed block corresponding to the non-minimum permission level block.

[0084] With only two permission levels, there is only one non-minimum permission level. With three or more permission levels, there are at least two non-minimum permission levels. For each processing block of each non-minimum permission level, a corresponding prediction block needs to be obtained. Similarly, during the prediction process, the prediction reference pixel set of the current processing block needs to be filled with prediction reference pixels whose permission level is higher than that of the corresponding non-minimum permission level.

[0085] After obtaining the prediction mode information and the padded prediction reference pixel set for each processing block, the prediction block corresponding to that processing block can be obtained.

[0086] It should be noted that the user's permission level at the decoding end is recorded as the target permission level. The decoding end typically only decodes bitstreams with permission levels no higher than the target permission level, and will not decode bitstreams with permission levels higher than the target permission level. The reconstructed blocks for processing blocks with permission levels higher than the target permission level are actually obtained by using padded pixel blocks. It's easy to understand that when padded pixel blocks are used as reconstructed blocks, the reconstructed blocks will not include the original image information of processing blocks with permission levels higher than the target level, thus avoiding the exposure of privacy to users with the target permission level.

[0087] Here, Example 2 is proposed to explain how the decoding end obtains the permission levels of different processing blocks in the same image frame in Example 1.

[0088] Example 2:

[0089] In one example, permission level marker information can be obtained based on the permission bitstream corresponding to the lowest permission level. This permission level marker information is used to indicate the permission levels of different processing blocks within the same image frame. It is easy to understand that regardless of the user's permission level at the decoding end, the permission bitstream of the lowest permission level needs to be decoded. Therefore, encoding the permission level division information of different processing blocks into the permission bitstream of the lowest permission level ensures that the decoding end obtains the permission levels of different processing blocks.

[0090] If the user permission level at the decoding end is not the lowest permission level, then when decoding each permission bitstream that is not the lowest permission level, the permission level division information of the different processing blocks mentioned above can be used to determine which processing blocks are the processing blocks corresponding to this permission level when decoding the permission bitstream of this permission level, thereby obtaining the prediction mode information and residual parameter information of these processing blocks.

[0091] In other examples, a first type of permission level marker information can be obtained based on the permission bitstream corresponding to the lowest permission level. This first type of permission level marker information is used to indicate the permission level of the lowest permission level processing block in the same image frame. A second type of permission level marker information can be obtained based on the permission bitstream corresponding to a non-lowest permission level. This second type of permission level marker information is used to indicate the permission level of the non-lowest permission level processing block in the same image frame.

[0092] In other words, for different permission bitstreams corresponding to different permission levels, this permission bitstream only encodes the permission level division information of the processing blocks corresponding to this permission level. This makes it convenient for the decoding end to determine which processing blocks correspond to the permission level when it needs to decode the permission bitstream corresponding to any permission level, thereby obtaining the prediction mode information and residual parameter information of these processing blocks.

[0093] Here, in addition to the description of the context model used by the different entropy decoders in Example 1, Example 3 is proposed.

[0094] Example 3:

[0095] As mentioned earlier, different entropy encoders are used to encode and different entropy decoders are used to decode processing blocks with different permission levels. If each entropy encoder and entropy decoder uses an independent context model, the number of context models that need to be maintained will increase as the permission level increases. However, the storage cost of context models is high, which will bring high costs to the encoding and decoding process.

[0096] Therefore, in some examples, the entropy decoders (and entropy encoders) corresponding to different permission levels use the same context model for decoding. The entropy decoder (and entropy encoder) corresponding to the lowest permission level updates the same context model after decoding (and encoding), while the entropy decoders (and entropy encoders) corresponding to permission levels higher than the lowest permission level do not update the same context model after decoding (and encoding).

[0097] In this way, the number of context models that need to be maintained can be greatly reduced to improve encoding and decoding performance, while not violating the principle that "image information with higher privilege levels should not be exposed to users with lower privilege levels".

[0098] In some examples, entropy decoders (and entropy encoders) corresponding to different permission levels can use different context models for decoding (and encoding). The context model used by the entropy decoder (and entropy encoder) corresponding to the lowest permission level includes the complete set of elements, while the context model used by the entropy decoder (and entropy encoder) corresponding to permission levels higher than the lowest permission level includes a partial set of elements. Multiple elements in the context model used by the entropy decoder (and entropy encoder) corresponding to permission levels other than the highest permission level can be merged to obtain a partial set of elements.

[0099] In another example, the entropy decoder for the lowest privilege level uses a context model for decoding, while the entropy decoder for non-lowest privilege levels uses bypass coding instead of a context model.

[0100] In this way, the storage cost of the context model can be reduced to some extent.

[0101] Furthermore, several more specific implementations of the prediction process in Example 1 are proposed, namely Examples 4-6. It should also be noted that since the prediction process for processing blocks with the lowest permission level is similar in principle to the prediction process for processing blocks with non-lowest permission levels, only the permission level of the prediction reference pixels to be filled differs, for ease of description, any permission level will be referred to as the set permission level. That is, the set permission level includes both the lowest permission level and non-lowest permission levels. The prediction process will be explained using the set permission level as an example.

[0102] Example 4:

[0103] When performing intra-frame prediction, the step of filling the reference pixels with a permission level higher than the set permission level includes: if there are upper boundary row reference pixels and / or left boundary column reference pixels of the processing block with the set permission level, then the missing reference pixels in the reference cache are filled with fixed pixels, and / or, the reference cache is filled with reference pixels with a permission level higher than the set permission level; if there are no upper boundary row reference pixels and left boundary column reference pixels of the processing block with the set permission level, then the reference cache is filled with fixed pixels.

[0104] Specifically, the reference cache can be filled with other predicted reference pixels (with permission levels not higher than the set permission level) surrounding the predicted reference pixels with permission levels higher than the set permission level in the reference cache.

[0105] Specifically, the intra-frame prediction process includes:

[0106] S401: Export the prediction pattern. Construct a reference list based on the model information of surrounding blocks, and solve the prediction pattern based on the reference list and the permission bitstream corresponding to the set permission level.

[0107] S402: Intra-frame prediction requires reference pixels, namely row buffers and column buffers (the row prediction reference pixel buffer at the upper boundary of the current processing block and the column prediction reference pixel buffer at the left boundary), to determine whether the prediction reference pixels above and to the left of the current prediction block are available. "Available" means that the current processing block is not the first processing block closest to the upper boundary, or not the first processing block closest to the left boundary. "Unavailable" means that the current processing block is the first processing block closest to both the upper and left boundaries.

[0108] S404: If the result of the judgment in S402 is unavailable, then the predicted reference pixels are filled with fixed pixels. The fixed pixels can be preset according to the actual situation.

[0109] S406: If the determination result in S402 is available, then the missing predicted reference pixels in the reference cache are filled with fixed pixels; the predicted reference pixels in the reference cache with permission levels higher than the set permission level are filled with fixed pixels.

[0110] S408: Use the predicted reference pixels in the filled reference buffer to determine the prediction block corresponding to the current processing block.

[0111] S410: After obtaining the reconstructed block corresponding to the current processing block, the reference cache needs to be updated so that when the next processing block is used as the current processing block again, the reference cache used is its own upper boundary row prediction reference pixel cache and left boundary column prediction reference pixel cache.

[0112] The filling of predicted reference pixels in the reference cache with permission levels higher than the set permission level can be done using fixed pixels or by filling based on other predicted reference pixels (with permission levels not higher than the set permission level) surrounding the pixel to be filled. For the row cache, the filling scheme can include the following:

[0113] Horizontal padding: Other predictive reference pixels with permission levels lower than the set permission level that are directly adjacent to the predictive reference pixel to be filled are used as padding pixels. See also Figure 4A Using pixel A on the left edge of the four prediction reference pixels on the right that do not need to be filled, fill the four prediction reference pixels on the left that need to be filled.

[0114] Horizontal DC Fill: The fill pixel is calculated by averaging the values ​​of other adjacent predicted reference pixels with permission levels lower than the set permission level. See also... Figure 4B Using the average value E of the four predictive reference pixels on the right that do not need to be filled, fill the four predictive reference pixels on the left that need to be filled.

[0115] Horizontal gradient fill: The fill pixel is calculated by weighting and summing the adjacent predicted reference pixels (those with lower permission levels than the set permission level) to obtain the fill pixel. See also Figure 4C The weighted sum of the four predictive reference pixels on the right that do not need to be filled, F1, F2, F3, and F4 (with weights of a, b, c, and d, and different weights resulting in different F1, F2, F3, and F4), is used to fill the four predictive reference pixels on the left that need to be filled.

[0116] For column caching, the following filling schemes can be used:

[0117] Vertical fill: Other predictive reference pixels with a permission level lower than the set permission level that are directly adjacent to the predictive reference pixel to be filled are used as fill pixels. See also Figure 5A Use pixel A, the left edge of the four prediction reference pixels below that do not need to be filled, to fill the four prediction reference pixels above that need to be filled.

[0118] Vertical DC Fill: The fill pixel is calculated by averaging the values ​​of other adjacent predicted reference pixels with permission levels lower than the set permission level. See also... Figure 5B Using the average value E of the four upper predictive reference pixels that do not need to be filled, fill the four lower predictive reference pixels that need to be filled.

[0119] Vertical gradient fill: The fill pixel is calculated by weighting and summing the adjacent predicted reference pixels (those with lower permission levels than the set permission level) to obtain the fill pixel. See also Figure 5C Using the weighted sum of the four prediction reference pixels above that do not need to be filled, F1, F2, F3, and F4 (the different weight values ​​used result in different F1, F2, F3, and F4), the four prediction reference pixels below that need to be filled are filled respectively.

[0120] After determining whether reconstructed pixels from surrounding blocks are available, the reconstructed pixels in the first row (or second row) above and the first column (or second column) to the left of the current prediction unit are used as reference pixels, as shown in the figure below. If surrounding pixels are unavailable, a filling scheme is used to fill the unavailable areas.

[0121] Example 5:

[0122] When performing intra-frame prediction, the steps of filling in prediction reference pixels with a permission level higher than the set permission level include:

[0123] After obtaining the reconstructed block corresponding to the set permission level processing block, if the set permission level is the lowest permission level, then the upper boundary row prediction reference pixels and the left boundary column prediction reference pixels of the set permission level processing block are updated based on the reconstructed block; if the set permission level is not the lowest permission level, then the upper boundary row prediction reference pixels and the left boundary column prediction reference pixels of the set permission level processing block are not updated.

[0124] Specifically, the intra-frame prediction process may include:

[0125] S501: Export the prediction pattern. Construct a reference list based on the model information of surrounding blocks, and solve the prediction pattern based on the reference list and the permission bitstream corresponding to the set permission level.

[0126] S502: Intra-frame prediction requires reference pixels, namely row buffers and column buffers (the row prediction reference pixel buffer at the upper boundary of the current processing block and the column prediction reference pixel buffer at the left boundary), to determine whether the prediction reference pixels above and to the left of the current prediction block are available. "Available" here means that the current processing block is not the first processing block closest to the upper boundary, or not the first processing block closest to the left boundary. "Unavailable" means that the processing block is the first processing block closest to both the upper and left boundaries.

[0127] S504: If the result of the judgment in S502 is unavailable, then the predicted reference pixels are filled with fixed pixels. The fixed pixels can be preset according to the actual situation.

[0128] S506: If the judgment result in S502 is available, then fill the missing predicted reference pixels in the reference pixels.

[0129] S508: Use the predicted reference pixels in the filled reference buffer to determine the prediction block corresponding to the current processing block.

[0130] S510: After obtaining the reconstructed block corresponding to the current processing block, if the set permission level is the lowest permission level, the reference cache needs to be updated; if the set permission level is not the lowest permission level, the reference cache does not need to be updated.

[0131] In this way, regardless of the current processing block's permission level, a reference cache filled with fixed values ​​or a reference cache including the boundary row and column pixels of the lowest permission level is always used for prediction, which will not violate the principle that "image information of higher permission levels should not be exposed to users of lower permission levels".

[0132] Example 6:

[0133] In the case of performing inter-frame prediction, the step of filling prediction reference pixels with a permission level higher than a set permission level includes: determining a reference block for prediction, wherein the reference block includes a spatial reference block or a temporal reference block with a permission level not higher than the set permission level; for each prediction reference pixel in the reference block, if the permission level corresponding to the prediction reference pixel is higher than the set permission level, then filling the prediction reference pixel with filling pixels.

[0134] Specifically, the inter-frame prediction process may include:

[0135] S601: Construct a reference list. Inter-frame prediction can construct a reference list using current spatial motion information, temporal motion information, or historical spatial motion information.

[0136] If a reference list is to be constructed by acquiring airspace motion information, the permission level of the current processing block is compared with the permission level of the adjacent processing block. If the permission level of the current processing block is higher than or equal to the permission level of the adjacent processing block, the adjacent processing block can be used to construct the reference list; if the permission level of the current processing block is lower than the permission level of the adjacent processing block, the adjacent processing block cannot be used to construct the reference list.

[0137] If time-domain motion information is acquired to construct a reference list, the permission level of the current processing block is compared with the permission level of the time-domain reference block. If the permission level of the current processing block is higher than or equal to the permission level of the time-domain reference block, the time-domain reference block can be used to construct the reference list; if the permission level of the current processing block is lower than the permission level of the time-domain reference block, the time-domain reference block cannot be used to construct the reference list.

[0138] If a reference list is constructed based on historical motion information in the airspace, then if the current processing block's permission level is not the lowest permission level, the motion prediction information of the current processing block cannot be used to construct the reference list.

[0139] S602: Based on the prediction mode information parsed from the permission bitstream corresponding to the set permission level, obtain the motion information of the prediction block corresponding to the current processing block from the reference list.

[0140] S603: Obtain the set of predicted reference pixels from the corresponding reference block based on the motion information of the predicted block.

[0141] S604: Fill the reference pixel set with predicted reference pixels whose permission level is higher than the set permission level.

[0142] In step S604, the filling pixel can be determined based on the predicted reference pixels in the upper boundary row and left boundary column of the set permission level processing block, where the permission level is not higher than the set permission level. Alternatively, the filling pixel can be determined based on the predicted reference pixels in the reference block where the permission level is not higher than the set permission level. Furthermore, the filling pixel can be determined based on the predicted reference pixels in the upper boundary row and left boundary column of the set permission level processing block, and also based on the predicted reference pixels in the reference block where the permission level is not higher than the set permission level. For example, the filling pixel can be obtained by weighted summing the predicted reference pixels in the upper boundary row and left boundary column of the set permission level processing block, and also based on the predicted reference pixels in the reference block where the permission level is not higher than the set permission level.

[0143] Furthermore, regarding the filtering operation involved in Example 1, Example 7 is proposed for detailed explanation.

[0144] Example 7:

[0145] In one example, for each reconstructed pixel in the reconstructed block corresponding to each processing block, a filter reference pixel corresponding to that reconstructed pixel can be obtained; if there is a filter reference pixel with a higher permission level than the permission level corresponding to that reconstructed pixel, then the filter reference pixel with a higher permission level than the permission level corresponding to that reconstructed pixel is filled, and the reconstructed pixel is filtered according to the filled filter reference pixel; or, the reconstructed pixel is not filtered.

[0146] In the step of filling the filter reference pixels with a higher permission level than the permission level corresponding to the reconstructed pixel, the filling pixels can be calculated based on other filter reference pixels around the filter reference pixels with a higher permission level than the permission level corresponding to the reconstructed pixel, and used to filter the reconstructed pixel.

[0147] In the step of filling the filter reference pixel with a permission level higher than the permission level corresponding to the reconstructed pixel, the reconstructed pixel can also be used as a fill pixel to fill the filter reference pixel with a permission level higher than the permission level corresponding to the reconstructed pixel. This fill pixel is used to filter the reconstructed pixel.

[0148] In another example, one or more blocks to be filtered can be obtained by combining the reconstructed blocks corresponding to each processing block; for each block to be filtered, multiple sub-blocks to be filtered are divided within it; for each sub-block to be filtered, the lowest permission level among the permission levels corresponding to each pixel to be filtered in the sub-block is taken as the permission level corresponding to the sub-block to be filtered; it is determined whether the permission levels of the filtering reference pixels corresponding to each pixel to be filtered in the sub-block to be filtered are all no higher than the permission level corresponding to the sub-block to be filtered; if so, the sub-block to be filtered is filtered based on the filtering reference pixels corresponding to each pixel to be filtered in the sub-block to be filtered; if not, the sub-block to be filtered is not filtered.

[0149] In one example, for each reconstructed pixel in the reconstructed block corresponding to each processing block, the filter reference pixel corresponding to that reconstructed pixel can be obtained; if there is a filter reference pixel whose permission level is not equal to the permission level corresponding to that reconstructed pixel, the reconstructed pixel is not filtered.

[0150] In one example, one or more blocks to be filtered can be obtained by combining the reconstructed blocks corresponding to each processing block; for each block to be filtered, multiple sub-blocks to be filtered are divided within the block; for each sub-block to be filtered, the lowest permission level among the permission levels corresponding to each pixel to be filtered in the sub-block is taken as the permission level corresponding to the sub-block to be filtered; it is determined whether the permission levels of the filtering reference pixels corresponding to each pixel to be filtered in the sub-block to be filtered are all not equal to the permission level corresponding to the sub-block to be filtered; if so, the sub-block to be filtered is filtered based on the filtering reference pixels corresponding to each pixel to be filtered in the sub-block to be filtered; if not, the sub-block to be filtered is not filtered.

[0151] Furthermore, regarding the step in Example 1 of obtaining the filling pixel block corresponding to each processing block with a permission level higher than the target permission level, Example 8 is proposed for explanation.

[0152] Example 8:

[0153] For users with lower access levels, decoding at the decoding end is impossible to obtain image information with higher access levels. Therefore, when decoding the access-sensitive bitstream, if a user with a lower access level parses a processing block with a higher access level, they need to skip that processing block and fill the corresponding reconstructed block with a fixed value, or interpolate and fill the corresponding reconstructed block based on the pixels surrounding that processing block. This approach results in a poor visual effect for users with lower access levels. To improve the visual experience for users with lower access levels, mosaic information for each image information with a non-lowest access level can be encoded in the access-sensitive bitstream corresponding to the lowest access level. In this way, the decoding end can parse the mosaic information of image information with a higher access level than the target access level from the access-sensitive bitstream corresponding to the lowest access level, and fill the reconstructed block of the processing block with a higher access level than the target access level with the mosaic information, allowing the user to see the mosaic content of the higher access level image information, thus improving the user's visual experience. The specific solution is as follows:

[0154] A flag indicating whether mosaic information needs to be parsed can be designed into the image frame bitstream. If the permission level of the current processing block is higher than the target permission level of the decoding end, then mosaic information needs to be parsed. The mosaic information is encoded by transmitting an average value in 4x4 units, with the average value code length less than or equal to the image bit width. Taking a YUV420 sequence as an example, each 4x4 block contains one 4x4 luma block and two 2x2 chroma blocks. Therefore, each 4x4 privacy region transmits one 4x4 luma average value and two 2x2 chroma average values. The average value code length is n. If the permission level of the current processing block is not higher than the target permission level of the decoding end, then mosaic information does not need to be parsed.

[0155] See Figure 6As shown, after decoding the permission bitstream corresponding to the lowest permission level, the decoding end obtains the corresponding information to be parsed. First, it parses the permission level marker information, which indicates the permission level of different processing blocks within the same image frame. Then, it determines whether each processing block can be further divided. If it can, the block is further divided, and the permission level marker information is re-acquired. If each processing block cannot be further divided, the permission level of each block is obtained based on the permission level marker information. For processing blocks with the lowest permission level, prediction mode information and residual parameter information are directly parsed from the information to be parsed. For processing blocks with non-lowest permission levels, the mosaic information corresponding to this block is parsed. Then, if the non-lowest permission level is not higher than the target permission level, the mosaic information is not used; instead, the prediction mode information and residual parameter information are parsed from the information to be parsed to generate the reconstructed block. If the non-lowest permission level is not higher than the target permission level, the mosaic information is used to fill the reconstructed block.

[0156] In one example, mosaic information corresponding to each processing block with a permission level higher than the target permission level can be obtained based on the permission bitstream corresponding to the lowest permission level, and used as filling pixel blocks.

[0157] In another example, a mosaic stream can be acquired, decoded, and at least one mosaic information can be obtained. Different mosaic blocks correspond to different permission levels. For each permission level that is higher than the target permission level, the mosaic information corresponding to that permission level is used as the filling pixel block corresponding to each processing block of that permission level.

[0158] Additionally, for mosaic information, the encoding end can use a separate entropy encoder to encode the mosaic information into a mosaic bitstream. This mosaic bitstream is then placed in a separate address and concatenated before the corresponding permission bitstream for non-lowest permission levels. The decoding end parses the address of the mosaic information corresponding to each non-lowest permission level from the permission bitstream for the lowest permission level, thus obtaining the corresponding mosaic information.

[0159] Alternatively, at the encoding end, the mosaic information can be encoded using the lowest-level entropy encoder. Specifically, for processing blocks that are not at the lowest-level, the mosaic information is first encoded using the lowest-level entropy encoder, and then the corresponding real image information is encoded using the entropy encoder corresponding to the non-lowest-level. At the decoding end, users with the lowest-level permissions normally parse the mosaic information from the permission stream corresponding to the lowest-level permissions. Users with non-lowest-level permissions first parse the mosaic information corresponding to the non-lowest-level permissions from the permission stream corresponding to the lowest-level permissions, but discard this mosaic information and continue to parse the corresponding real image information from the permission stream corresponding to the non-lowest-level permissions to generate the reconstructed image.

[0160] Alternatively, fixed mosaic information can be set at the encoding / decoding end for different non-minimum permission levels. Instead of encoding, the mosaic information is added to the image header. This way, the decoding end can obtain (without decoding) the mosaic information corresponding to different non-minimum permission levels from the image header for use.

[0161] More specifically, the image header can contain one or more sets of mosaic information indexes. The decoding end obtains the index from the image header, finds the permission level of mosaic information corresponding to the reconstruction block that needs to be filled, and obtains the corresponding mosaic information.

[0162] The image header contains multiple sets of mosaic information, each corresponding to a different permission level. These multiple sets of mosaic information can also correspond to a single permission level. Once the decoding end has determined the permission level corresponding to the reconstructed block that needs to be filled, it can obtain one or more sets of mosaic information and select the appropriate mosaic information to fill the reconstructed block.

[0163] Furthermore, regarding the method of obtaining at least two authorized bitstreams in Example 1, Example 9 is proposed for illustration:

[0164] Example 9:

[0165] In some examples, image frame bitstreams of the same image frame can be obtained. These bitstreams are composed of at least two permission bitstreams, each with a start code to distinguish it from other permission bitstreams. During encoding, permission bitstreams corresponding to different permission levels can be concatenated into a single frame bitstream based on frame level, according to the order of permission levels. Before concatenation, each permission bitstream has a separate start code. During decoding, the position of each permission bitstream within the image frame bitstream is found according to its respective start code, and the different permission bitstreams are parsed.

[0166] In other examples, at least two independent permission bitstreams corresponding to the same image frame can be obtained, with different permission bitstreams stored in addresses corresponding to different permission levels. During encoding, different permission bitstreams are not concatenated; each permission bitstream is stored separately in the address corresponding to its respective frame. Each permission bitstream has a start code representing the frame it belongs to, used to store the address of the corresponding frame. During decoding, based on the currently targeted permission level, the corresponding address is found to retrieve the permission bitstream for parsing.

[0167] Furthermore, this disclosure provides for Embodiment 10.

[0168] Example 10:

[0169] The knowledge base frames used in the encoding and decoding process may also include image information within permission regions other than the lowest permission level. For privacy protection, during encoding, the reference to image information within the lowest permission level can be restricted. Only the information corresponding to the lowest permission level processing block in the knowledge base frame can be encoded. Thus, the lowest permission level-corresponding permission bitstream cannot parse out image information within the permission regions outside the lowest permission level. At the decoding end, only the lowest permission level-corresponding permission bitstream can parse out image information within the lowest permission level-corresponding permission region. Although the location of the non-lowest permission level-corresponding permission region can be perceived, the image information within it cannot be obtained. Therefore, the reconstructed block for the non-lowest permission level will naturally not include non-lowest permission level-corresponding image information, thereby protecting privacy.

[0170] Alternatively, before encoding the knowledge base frame at the encoding end, the non-lowest permission level regions can be removed, and then the entropy encoder corresponding to the lowest permission level can be used to encode the knowledge base frame. In this way, at the decoding end, the image information within the lowest permission level region can be normally parsed from the permission bitstream corresponding to the lowest permission level, but the location of non-lowest permission level regions cannot be detected. The resulting reconstructed blocks of non-lowest permission levels will naturally not include non-lowest permission level image information, thus protecting privacy.

[0171] In other words, for the decoding end, the knowledge base frame bitstream is acquired; the knowledge base frame bitstream is decoded to obtain the permission level of the processing blocks in the knowledge base frame, the lowest permission level processing block is determined, and the prediction mode information of the lowest permission level processing block is obtained. Alternatively, for the decoding end, the knowledge base frame bitstream is acquired; the knowledge base frame bitstream is decoded, and the permission level of each processing block in the knowledge base frame does not need to be parsed from the bitstream; the lowest permission level processing block is directly determined, and the prediction mode information of the lowest permission level processing block is obtained. Or, the knowledge base frame bitstream is decoded to obtain the prediction mode information of the lowest permission level processing block.

[0172] Example 11:

[0173] This disclosure provides a flowchart of an encoding method, such as... Figure 7 As shown, it includes:

[0174] S700: Acquire image frames.

[0175] The image frame is divided into multiple processing blocks, and the multiple processing blocks include at least two processing blocks corresponding to different permission levels.

[0176] S702: For each processing block, obtain the prediction mode information of the processing block and the prediction reference pixels of the processing block, and fill in the prediction reference pixels with a permission level higher than the permission level corresponding to the processing block.

[0177] S704: Based on the processing block and its prediction reference pixel, predict the prediction block corresponding to the processing block to determine the prediction mode information of the processing block; based on the processing block and the prediction block, obtain the residual parameter information of the processing block.

[0178] S706: For each permission level, the prediction mode information and residual parameter information of each processing block corresponding to that permission level are encoded to obtain the permission bitstream corresponding to that permission level.

[0179] S708: Sends the image frame bitstream, including the permission bitstream corresponding to each permission level, to the decoding end.

[0180] In the description of the decoding operation in Examples 1-10 above, the difference between the encoding and decoding operations was also described. In addition, the decoding process can be understood as the reverse process of the encoding process, so the encoding process will not be described again.

[0181] Based on the same concept as the above method, this application also proposes a decoding device, which is applied at the decoding end, and the device includes:

[0182] The device, applied at the decoding end, includes:

[0183] The acquisition module acquires the image frame bitstream of the same frame image, wherein the image frame bitstream includes at least two permission bitstreams, and different permission bitstreams correspond to different permission levels;

[0184] The decoding module decodes the permission bitstream corresponding to the lowest permission level and obtains the prediction mode information of each lowest permission level processing block;

[0185] The processing module, if the user's target permission level is the lowest permission level, then for each lowest permission level processing block, obtains the predicted reference pixels for that lowest permission level processing block; and fills in the predicted reference pixels for permission levels higher than the lowest permission level.

[0186] The prediction module predicts the corresponding prediction block based on the prediction mode information and prediction reference pixels of the lowest privilege level processing block.

[0187] In some embodiments, the decoding module is further configured to:

[0188] Based on the permission bitstream corresponding to the lowest permission level, permission level marker information is obtained. The permission level marker information is used to indicate the permission level of different processing blocks in the same image frame.

[0189] or

[0190] Based on the permission bitstream corresponding to the lowest permission level, a first type of permission level marker information is obtained, which is used to indicate the permission level of the lowest permission level processing block in the same image frame; based on the permission bitstream corresponding to the non-lowest permission level, a second type of permission level marker information is obtained, which is used to indicate the permission level of the non-lowest permission level processing block in the same image frame.

[0191] In some embodiments, the decoding module is further configured to:

[0192] If the target permission level is higher than the minimum permission level, then for each non-minimum permission level processing block, the non-minimum permission level processing block is decoded to obtain the prediction mode information of the minimum permission level processing block.

[0193] Obtain the predicted reference pixels for the non-lowest permission level processing block, and fill in the predicted reference pixels with permission levels higher than the non-lowest permission level.

[0194] Based on the prediction mode information and prediction reference pixels of the non-lowest privilege level processing block, the prediction block corresponding to the non-lowest privilege level processing block is predicted.

[0195] In some embodiments, the apparatus further includes: a reconstruction module, which obtains the residual corresponding to each processing block whose permission level is not higher than the target permission level; and obtains the reconstructed block corresponding to the processing block based on the predicted block and the residual corresponding to each processing block whose permission level is not higher than the target permission level.

[0196] In some embodiments, entropy decoders corresponding to different permission levels use the same context model for decoding. The entropy decoder corresponding to the lowest permission level updates the same context model after decoding, while the entropy decoder corresponding to permission levels higher than the lowest permission level does not update the same context model after decoding.

[0197] or

[0198] The entropy decoders corresponding to different permission levels use different context models for decoding. The entropy decoder corresponding to the lowest permission level uses a context model that includes the complete set of elements, while the entropy decoder corresponding to permission levels higher than the lowest permission level uses a context model that includes a partial set of elements.

[0199] or

[0200] The entropy decoder corresponding to the lowest privilege level uses the context model for decoding, while the entropy decoder corresponding to non-lowest privilege levels uses bypass coding for decoding.

[0201] In some embodiments, the set permission level includes a minimum permission level or a non-minimum permission level. When performing intra-frame prediction, the step of filling in prediction reference pixels with permission levels higher than the set permission level includes:

[0202] If there are upper boundary row predicted reference pixels and / or left boundary column predicted reference pixels for the processing block with a set permission level, then the missing predicted reference pixels in the reference cache are filled with fixed pixels, and / or the predicted reference pixels in the reference cache with a permission level higher than the set permission level are filled.

[0203] If there are no upper boundary row prediction reference pixels and left boundary column prediction reference pixels for the permission level processing block, then the reference cache is filled with fixed pixels.

[0204] In some embodiments, the processing module is configured to populate the reference cache with predicted reference pixels whose permission level is higher than a set permission level, including:

[0205] The reference cache is filled with predicted reference pixels whose permission level is higher than the set permission level, based on the predicted reference pixels surrounding the predicted reference pixels in the reference cache.

[0206] In some embodiments, the set permission level includes a minimum permission level or a non-minimum permission level. When performing intra-frame prediction, the step of filling in prediction reference pixels with permission levels higher than the set permission level includes:

[0207] After obtaining the reconstructed block corresponding to the set permission level processing block, if the set permission level is the lowest permission level, then the upper boundary row prediction reference pixels and the left boundary column prediction reference pixels of the set permission level processing block are updated based on the reconstructed block; if the set permission level is not the lowest permission level, then the upper boundary row prediction reference pixels and the left boundary column prediction reference pixels of the set permission level processing block are not updated.

[0208] In some embodiments, the set permission level includes a minimum permission level or a non-minimum permission level. When performing inter-frame prediction, the step of filling in prediction reference pixels with permission levels higher than the set permission level includes:

[0209] Determine reference blocks for prediction, wherein the reference blocks include spatial reference blocks or temporal reference blocks with a permission level not higher than a set permission level;

[0210] For each predicted reference pixel in the reference block, if the permission level corresponding to the predicted reference pixel is higher than the set permission level, then the predicted reference pixel is filled with padding pixels.

[0211] In some embodiments, the step of determining the filled pixels includes:

[0212] The filling pixels are determined based on the predicted reference pixels in the upper boundary row and left boundary column of the processing block with a set permission level, where the permission level is not higher than the set permission level.

[0213] or

[0214] The filling pixels are determined based on the predicted reference pixels in the reference block whose permission level is not higher than the set permission level;

[0215] or

[0216] The filling pixels are determined based on the predicted reference pixels in the upper boundary row and left boundary column of the processing block with a set permission level, which have a permission level not higher than the set permission level, and based on the predicted reference pixels in the reference block with a permission level not higher than the set permission level.

[0217] In some embodiments, the reconstruction module is further configured to determine the reconstruction block corresponding to the processing block based on the filling pixel block corresponding to each processing block with a permission level higher than the target permission level.

[0218] In some embodiments, the apparatus further includes a filtering module, configured to obtain a filtering reference pixel corresponding to each reconstructed pixel of a reconstructed block corresponding to each processing block; if there is a filtering reference pixel with a permission level higher than the permission level corresponding to the reconstructed pixel, then fill the filtering reference pixel with a permission level higher than the permission level corresponding to the reconstructed pixel, and filter the reconstructed pixel according to the filled filtering reference pixel; or, not filter the reconstructed pixel.

[0219] In some embodiments, the filtering module is specifically used to: combine one or more blocks to be filtered based on the reconstruction blocks corresponding to each processing block; divide each block to be filtered into multiple sub-blocks to be filtered; for each sub-block to be filtered, take the lowest permission level among the permission levels corresponding to each pixel to be filtered in the sub-block as the permission level corresponding to the sub-block to be filtered; determine whether the permission levels of the filtering reference pixels corresponding to each pixel to be filtered in the sub-block to be filtered are all not higher than the permission level corresponding to the sub-block to be filtered; if so, filter the sub-block to be filtered based on the filtering reference pixels corresponding to each pixel to be filtered in the sub-block to be filtered; if not, do not filter the sub-block to be filtered.

[0220] In some embodiments, the step of obtaining the padding pixel block corresponding to each processing block with a permission level higher than the target permission level includes:

[0221] Based on the permission bitstream corresponding to the lowest permission level, obtain the mosaic information corresponding to each processing block with a permission level higher than the target permission level, and use it as a fill pixel block;

[0222] or

[0223] Obtain a mosaic stream, which includes at least one mosaic information block, with different mosaic blocks corresponding to different permission levels. For each permission level whose permission level is higher than the target permission level, use the mosaic information corresponding to that permission level as the fill pixel block for each processing block corresponding to that permission level.

[0224] In some embodiments, the image frame bitstream is formed by concatenating the at least two authorized bitstreams, each authorized bitstream having a start code for distinguishing it from other authorized bitstreams;

[0225] or

[0226] The image frame bitstream includes at least two independent permission bitstreams, with different permission bitstreams stored in addresses corresponding to different permission levels.

[0227] In some embodiments, the decoding module is further configured to: acquire a knowledge base frame bitstream; decode the knowledge base frame bitstream to acquire the permission level of the processing block in the knowledge base frame, determine the lowest permission level processing block, and acquire the prediction mode information of the lowest permission level processing block; or, decode the knowledge base frame bitstream to acquire the prediction mode information of the lowest permission level processing block.

[0228] This disclosure also provides an encoding device for use at an encoding end, the device comprising:

[0229] The acquisition module acquires an image frame, which is divided into multiple processing blocks, including at least two processing blocks corresponding to different permission levels.

[0230] The processing module, for each processing block, obtains the prediction mode information of that processing block and the prediction reference pixels of that processing block, and fills in the prediction reference pixels with a permission level higher than the permission level corresponding to that processing block.

[0231] The prediction module predicts the corresponding prediction block based on the processing block and its prediction reference pixel, thereby determining the prediction mode information of the processing block; and obtains the residual parameter information of the processing block based on the processing block and the prediction block.

[0232] The encoding module encodes the prediction mode information and residual parameter information of each processing block corresponding to each permission level to obtain the permission bitstream corresponding to that permission level.

[0233] The sending module sends the image frame bitstream, including the permission bitstream corresponding to each permission level, to the decoding end.

[0234] In some embodiments, entropy encoders corresponding to different permission levels use the same context model for encoding. The entropy encoder corresponding to the lowest permission level updates the same context model after encoding, while the entropy encoder corresponding to permission levels higher than the lowest permission level does not update the same context model after encoding.

[0235] or

[0236] The entropy encoders corresponding to different permission levels use different context models for encoding. The entropy encoder corresponding to the lowest permission level uses a context model that includes the complete set of elements, while the entropy encoder corresponding to permission levels higher than the lowest permission level uses a context model that includes a partial set of elements.

[0237] or

[0238] The entropy encoder corresponding to the lowest privilege level uses a context model for encoding, while the entropy encoder corresponding to non-lowest privilege levels uses bypass encoding.

[0239] In some embodiments, the apparatus further includes:

[0240] The reconstruction module determines the corresponding reconstruction block for each processing block.

[0241] The filtering module obtains a filtering reference pixel for each reconstructed pixel corresponding to the reconstructed block. If there is a filtering reference pixel with a higher permission level than the permission level corresponding to the reconstructed pixel, the filtering reference pixel with a higher permission level than the permission level corresponding to the reconstructed pixel is filled, and the reconstructed pixel is filtered according to the filled filtering reference pixel; or, the reconstructed pixel is not filtered.

[0242] This disclosure also provides a decoding device, see [link to relevant documentation]. Figure 8A As shown, it includes: a processor and a machine-readable storage medium, the machine-readable storage medium storing machine-executable instructions that can be executed by the processor; the processor is used to execute the machine-executable instructions to implement the above-described decoding method.

[0243] Provide an encoding end device, see [link to documentation] Figure 8B As shown, it includes: a processor and a machine-readable storage medium, the machine-readable storage medium storing machine-executable instructions that can be executed by the processor; the processor is used to execute the machine-executable instructions to implement the above-described encoding method.

[0244] An electronic device is provided, comprising: a processor and a machine-readable storage medium, the machine-readable storage medium storing machine-executable instructions executable by the processor; the processor is configured to execute the machine-executable instructions to implement the above-described decoding method or encoding method.

[0245] A machine-readable storage medium is provided, wherein a plurality of computer instructions are stored on the machine-readable storage medium, and when the computer instructions are executed by a processor, the above-described decoding method or encoding method is implemented.

[0246] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. This application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Embodiments of this application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0247] The above description is merely an embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principle of this application should be included within the scope of the claims of this application.

Claims

1. A decoding method, characterized in that, Applied to the decoding end, including: Obtain at least two permission streams, with different permission streams corresponding to different permission levels; Decode the permission bitstream corresponding to the lowest permission level to obtain the prediction mode information of each lowest permission level processing block; If the user's target permission level is the lowest permission level, then for each lowest permission level processing block, obtain the prediction reference pixel of the lowest permission level processing block; fill in the prediction reference pixels of permission levels higher than the lowest permission level; and predict the corresponding prediction block based on the prediction mode information and prediction reference pixels of the lowest permission level processing block. If the target permission level is higher than the minimum permission level, then for each non-minimum permission level processing block, the non-minimum permission level processing block is decoded to obtain the prediction mode information of the non-minimum permission level processing block; the prediction reference pixel of the non-minimum permission level processing block is obtained, and the prediction reference pixels with a permission level higher than the non-minimum permission level are filled in; based on the prediction mode information and prediction reference pixels of the non-minimum permission level processing block, the prediction block corresponding to the non-minimum permission level processing block is predicted. Among them, the entropy decoder corresponding to the lowest permission level uses the context model for decoding.

2. The method as described in claim 1, characterized in that, Also includes: Based on the permission bitstream corresponding to the lowest permission level, permission level marker information is obtained. The permission level marker information is used to indicate the permission level of different processing blocks in the same image frame. or Based on the permission bitstream corresponding to the lowest permission level, a first type of permission level marker information is obtained, which is used to indicate the permission level of the lowest permission level processing block in the same image frame; based on the permission bitstream corresponding to the non-lowest permission level, a second type of permission level marker information is obtained, which is used to indicate the permission level of the non-lowest permission level processing block in the same image frame.

3. The method as described in claim 1, characterized in that, Also includes: Obtain the residual for each processing block whose permission level is no higher than the target permission level; Based on the prediction block and residual corresponding to each processing block whose permission level is not higher than the target permission level, the reconstruction block corresponding to that processing block is obtained.

4. The method as described in claim 1, characterized in that, The entropy decoders corresponding to different permission levels use the same context model for decoding. The entropy decoder corresponding to the lowest permission level updates the same context model after decoding, while the entropy decoder corresponding to permission levels higher than the lowest permission level does not update the same context model after decoding. or The entropy decoders corresponding to different permission levels use different context models for decoding. The entropy decoder corresponding to the lowest permission level uses a context model that includes the complete set of elements, while the entropy decoder corresponding to permission levels higher than the lowest permission level uses a context model that includes a partial set of elements. or The entropy decoder corresponding to the lowest privilege level uses the context model for decoding, while the entropy decoder corresponding to non-lowest privilege levels uses bypass coding for decoding.

5. The method according to any one of claims 1, 2, and 4, characterized in that, Setting the permission level includes either the lowest permission level or a non-lowest permission level. When performing intra-frame prediction, the step of filling in prediction reference pixels with a permission level higher than the set permission level includes: If there are upper boundary row predicted reference pixels and / or left boundary column predicted reference pixels for the processing block with a set permission level, then the missing predicted reference pixels in the reference cache are filled with fixed pixels, and / or, the predicted reference pixels in the reference cache with a permission level higher than the set permission level are filled. If there are no upper boundary row prediction reference pixels and left boundary column prediction reference pixels for the permission level processing block, then the reference cache is filled with fixed pixels.

6. The method as described in claim 5, characterized in that, The reference cache is filled with predicted reference pixels whose permission level is higher than the set permission level, including: The reference cache is filled with predicted reference pixels whose permission level is higher than the set permission level, based on the predicted reference pixels surrounding the predicted reference pixels in the reference cache.

7. The method according to any one of claims 1, 2, and 4, characterized in that, Setting the permission level includes either the lowest permission level or a non-lowest permission level. When performing intra-frame prediction, the step of filling in prediction reference pixels with a permission level higher than the set permission level includes: After obtaining the reconstructed block corresponding to the set permission level processing block, if the set permission level is the lowest permission level, then the upper boundary row prediction reference pixels and the left boundary column prediction reference pixels of the set permission level processing block are updated based on the reconstructed block; if the set permission level is not the lowest permission level, then the upper boundary row prediction reference pixels and the left boundary column prediction reference pixels of the set permission level processing block are not updated.

8. The method according to any one of claims 1, 2, and 4, characterized in that, Setting the permission level includes either the lowest permission level or a non-lowest permission level. When performing inter-frame prediction, the step of filling in prediction reference pixels with permission levels higher than the set permission level includes: Determine reference blocks for prediction, wherein the reference blocks include spatial reference blocks or temporal reference blocks with a permission level not higher than a set permission level; For each predicted reference pixel in the reference block, if the permission level corresponding to the predicted reference pixel is higher than the set permission level, then the predicted reference pixel is filled with padding pixels.

9. The method as described in claim 8, characterized in that, The steps for determining the fill pixels include: The filling pixels are determined based on the predicted reference pixels in the upper boundary row and left boundary column of the processing block with a set permission level, provided that the permission level is not higher than the set permission level; or The filling pixels are determined based on the predicted reference pixels in the reference block whose permission level is not higher than the set permission level; or The filling pixels are determined based on the predicted reference pixels in the upper boundary row and left boundary column of the processing block with a set permission level, which have a permission level not higher than the set permission level, and based on the predicted reference pixels in the reference block with a permission level not higher than the set permission level.

10. The method as described in claim 3, characterized in that, Also includes: Based on the filling pixel blocks corresponding to each processing block with a permission level higher than the target permission level, the corresponding reconstruction block is determined.

11. The method as described in claim 10, characterized in that, Also includes: For each reconstructed pixel in the reconstructed block corresponding to each processing block, obtain the filter reference pixel corresponding to that reconstructed pixel; If there is a filter reference pixel with a higher permission level than the permission level corresponding to the reconstructed pixel, then the filter reference pixel with a higher permission level than the permission level corresponding to the reconstructed pixel is filled, and the reconstructed pixel is filtered based on the filled filter reference pixel; or, the reconstructed pixel is not filtered.

12. The method as described in claim 10, characterized in that, Also includes: Based on the reconstruction blocks corresponding to each processing block, one or more blocks to be filtered are obtained by combining them. For each block to be filtered, divide the block into multiple sub-blocks to be filtered. For each sub-block to be filtered, the lowest permission level among the permission levels corresponding to each pixel to be filtered in the sub-block is taken as the permission level corresponding to the sub-block to be filtered. Determine whether the permission level of the filter reference pixel corresponding to each pixel in the sub-block to be filtered is not higher than the permission level corresponding to the sub-block to be filtered; if so, filter the sub-block to be filtered based on the filter reference pixel corresponding to each pixel in the sub-block to be filtered; if not, do not filter the sub-block to be filtered.

13. The method as described in claim 10, characterized in that, The steps for obtaining the padding pixel blocks corresponding to each processing block with a permission level higher than the target permission level include: Based on the permission bitstream corresponding to the lowest permission level, obtain the mosaic information corresponding to each processing block with a permission level higher than the target permission level, and use it as a fill pixel block; or Acquire the mosaic bitstream, decode the mosaic bitstream to obtain at least one mosaic information, and different mosaic blocks correspond to different permission levels; for each permission level whose permission level is higher than the target permission level, use the mosaic information corresponding to the permission level as the filling pixel block corresponding to each processing block of the permission level.

14. The method according to any one of claims 1, 2, and 4, characterized in that, Obtain at least two authorized bitstreams, including: Obtain the image frame bitstream of the same image frame, wherein the image frame bitstream is formed by concatenating the at least two authorized bitstreams, and each authorized bitstream has a start code for distinguishing it from other authorized bitstreams; or Obtain at least two independent permission bitstreams corresponding to the same image frame, and store the different permission bitstreams in addresses corresponding to different permission levels.

15. The method according to any one of claims 1, 2, and 4, characterized in that, Also includes: Obtain the knowledge base frame stream; The knowledge base frame stream is decoded to obtain the permission level of the processing block in the knowledge base frame, the lowest permission level processing block is determined, and the prediction mode information of the lowest permission level processing block is obtained; or, the knowledge base frame stream is decoded to obtain the prediction mode information of the lowest permission level processing block.

16. An encoding method, characterized in that, Applied to the encoding end, including: Acquire an image frame, which is divided into multiple processing blocks, each of which includes at least two processing blocks corresponding to different permission levels. For each processing block, obtain the prediction mode information of the processing block and the prediction reference pixels of the processing block, and fill in the prediction reference pixels with a permission level higher than the permission level corresponding to the processing block. Based on the processing block and its prediction reference pixel, a prediction block corresponding to the processing block is predicted to determine the prediction mode information of the processing block; based on the processing block and the prediction block, the residual parameter information of the processing block is obtained. For each permission level, the prediction mode information and residual parameter information of each processing block corresponding to that permission level are encoded to obtain the permission bitstream corresponding to that permission level. Send the image frame bitstream, including the permission bitstream corresponding to each permission level, to the decoding end; Among them, the entropy encoder corresponding to the lowest permission level uses a context model for encoding.

17. The method as described in claim 16, characterized in that, The entropy encoders corresponding to different permission levels use the same context model for encoding. The entropy encoder corresponding to the lowest permission level updates the same context model after encoding, while the entropy encoders corresponding to permission levels higher than the lowest permission level do not update the same context model after encoding. or, The entropy encoders corresponding to different permission levels use different context models for encoding. The entropy encoder corresponding to the lowest permission level uses a context model that includes the complete set of elements, while the entropy encoder corresponding to permission levels higher than the lowest permission level uses a context model that includes a partial set of elements. or, The entropy encoder corresponding to the lowest privilege level uses a context model for encoding, while the entropy encoder corresponding to non-lowest privilege levels uses bypass encoding.

18. The method as described in claim 16, characterized in that, Also includes: For each processing block, determine the corresponding reconstruction block; For each reconstructed pixel corresponding to the reconstructed block, obtain the filter reference pixel corresponding to that reconstructed pixel; If there is a filter reference pixel with a higher permission level than the permission level corresponding to the reconstructed pixel, then the filter reference pixel with a higher permission level than the permission level corresponding to the reconstructed pixel is filled, and the reconstructed pixel is filtered based on the filled filter reference pixel; or, the reconstructed pixel is not filtered.

19. A decoding device, characterized in that, The device, applied at the decoding end, includes: The acquisition module acquires at least two permission streams, with different permission streams corresponding to different permission levels. The decoding module decodes the permission bitstream corresponding to the lowest permission level and obtains the prediction mode information of each lowest permission level processing block; The processing module, if the user's target permission level is the lowest permission level, then for each lowest permission level processing block, obtains the predicted reference pixels for that lowest permission level processing block; and fills in the predicted reference pixels for permission levels higher than the lowest permission level. The prediction module predicts the corresponding prediction block based on the prediction mode information and prediction reference pixels of the lowest privilege level processing block. If the target permission level is higher than the minimum permission level, then for each non-minimum permission level processing block, the non-minimum permission level processing block is decoded to obtain the prediction mode information of the non-minimum permission level processing block; the prediction reference pixel of the non-minimum permission level processing block is obtained, and the prediction reference pixels with a permission level higher than the non-minimum permission level are filled in; based on the prediction mode information and prediction reference pixels of the non-minimum permission level processing block, the prediction block corresponding to the non-minimum permission level processing block is predicted. Among them, the entropy decoder corresponding to the lowest permission level uses the context model for decoding.

20. An encoding device, characterized in that, Applied to the encoding end, the device includes: The acquisition module acquires an image frame, which is divided into multiple processing blocks, including at least two processing blocks corresponding to different permission levels. The processing module, for each processing block, obtains the prediction mode information of that processing block and the prediction reference pixels of that processing block, and fills in the prediction reference pixels with a permission level higher than the permission level corresponding to that processing block. The prediction module predicts the corresponding prediction block based on the processing block and its prediction reference pixel, thereby determining the prediction mode information of the processing block; and obtains the residual parameter information of the processing block based on the processing block and the prediction block. The encoding module encodes the prediction mode information and residual parameter information of each processing block corresponding to each permission level to obtain the permission bitstream corresponding to that permission level. The sending module sends the image frame bitstream, including the permission bitstream corresponding to each permission level, to the decoding end; Among them, the entropy encoder corresponding to the lowest permission level uses a context model for encoding.

21. A decoding device, characterized in that, include: A processor and a machine-readable storage medium, the machine-readable storage medium storing machine-executable instructions that can be executed by the processor; The processor is configured to execute machine-executable instructions to implement the method according to any one of claims 1-15.

22. An encoding terminal device, characterized in that, include: A processor and a machine-readable storage medium, the machine-readable storage medium storing machine-executable instructions that can be executed by the processor; The processor is configured to execute machine-executable instructions to implement the method of any one of claims 16-18.

23. An electronic device, characterized in that, include: A processor and a machine-readable storage medium, the machine-readable storage medium storing machine-executable instructions that can be executed by the processor; The processor is configured to execute machine-executable instructions to implement the method of any one of claims 1-15, or the method of any one of claims 16-18.

24. A machine-readable storage medium, characterized in that, The machine-readable storage medium stores a plurality of computer instructions, which, when executed by a processor, implement the method of any one of claims 1-15, or the method of any one of claims 16-18.

Citation Information

Patent Citations

  • Image decoding device, image decoding method, image encoding device, and image encoding method

    CN104170384A

  • Encoding / decoding method and device

    CN108833921A