WO2023082107A1 - 解码方法、编码方法、解码器、编码器和编解码系统 - Google Patents

解码方法、编码方法、解码器、编码器和编解码系统 Download PDF

Info

Publication number
WO2023082107A1
WO2023082107A1 PCT/CN2021/129862 CN2021129862W WO2023082107A1 WO 2023082107 A1 WO2023082107 A1 WO 2023082107A1 CN 2021129862 W CN2021129862 W CN 2021129862W WO 2023082107 A1 WO2023082107 A1 WO 2023082107A1
Authority
WO
WIPO (PCT)
Prior art keywords
current block
feature information
network
cost
encoding
Prior art date
Application number
PCT/CN2021/129862
Other languages
English (en)
French (fr)
Inventor
徐陆航
Original Assignee
Oppo广东移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to PCT/CN2021/129862 priority Critical patent/WO2023082107A1/zh
Publication of WO2023082107A1 publication Critical patent/WO2023082107A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding

Definitions

  • the embodiments of the present application relate to the field of video encoding and decoding, and more specifically, relate to a decoding method, an encoding method, a decoder, an encoder, and an encoding and decoding system.
  • Digital video compression technology mainly compresses huge digital image and video data to facilitate transmission and storage.
  • Digital video compression standards can save a lot of video data, it is still necessary to pursue better digital video compression technology to reduce digital video.
  • JVET Joint Video Exploration Team
  • VVC Versatile Video Coding
  • Embodiments of the present application provide a decoding method, an encoding method, a decoder, an encoder, and a codec system, which can help improve video codec performance and improve video codec efficiency.
  • a decoding method which includes:
  • intra-frame prediction mode parameter from the code stream, where the intra-frame prediction mode parameter is used to indicate that an intra-frame prediction value is determined using an autoencoder mode;
  • the elements of the first feature information are obtained through processing in a binarization manner.
  • an encoding method which is characterized in that, comprising:
  • a method for training a model including:
  • the first training sample set including a first sample image
  • the autoencoder includes an encoding network and a decoding network, and the encoding network is used to extract the The characteristic information of the current block, the decoding network is used to obtain the predicted value according to the reconstructed pixel value and the characteristic information;
  • the second cost vector determines a second cost vector, wherein the second cost vector includes M cost values, the M cost values are obtained from the N cost values, and M is less than N positive integer;
  • Update parameters of the encoding network and/or the decoding network according to the second cost vector are updated.
  • a decoder including:
  • An acquisition unit configured to acquire an intra-frame prediction mode parameter from a code stream, where the intra-frame prediction mode parameter is used to indicate that an intra-frame prediction value is determined using an autoencoder mode;
  • the acquiring unit is further configured to acquire the first characteristic information of the first current block from the code stream;
  • the obtaining unit is also used to obtain the reconstruction value of the reconstructed pixel
  • the self-encoder includes a decoding network, configured to input the first feature information and the reconstructed value into the decoding network to obtain a first prediction value of the first current block.
  • an encoder including:
  • a processing unit configured to determine a feature information combination of elements of the first current block conforming to the feature information elements output by the encoding network of the self-encoder, wherein the elements of the feature information are determined according to a binarization value method;
  • the processing unit is further configured to compare the feature information combination with a pre-configured intra-frame prediction mode for rate-distortion cost, and determine the intra-frame prediction mode parameter of the first current block;
  • an intra prediction unit configured to determine an intra prediction value of the first current block according to an intra prediction mode parameter of the first current block
  • the prediction mode parameter encoding unit is configured to write the intra-frame prediction mode parameter into a code stream.
  • a device for training a model including:
  • an acquiring unit configured to acquire a first training sample set, the first training sample set including a first sample image
  • An autoencoder configured to input the first training sample set into the autoencoder to obtain a predicted value of the current block of the first sample image, wherein the autoencoder includes an encoding network and a decoding network, The encoding network is used to extract feature information of the current block, and the decoding network is used to obtain the predicted value according to the reconstructed pixel value and the feature information;
  • a processing unit configured to determine a first cost vector according to the predicted value and the original value of the current block, where the first cost vector includes N cost values, and N is a positive integer greater than 1;
  • the processing unit is further configured to determine a second cost vector according to the first cost vector, wherein the second cost vector includes M cost values, and the M cost values are obtained from the N cost values , M is a positive integer less than N;
  • the processing unit is further configured to update parameters of the encoding network and/or the decoding network according to the second cost vector.
  • an electronic device including a processor and a memory.
  • the memory is used to store a computer program
  • the processor is used to call and run the computer program stored in the memory to execute the method in the first aspect or the second aspect or the third aspect above.
  • the eighth aspect provides a codec system, which is characterized by including the decoder of the fourth aspect and the encoder of the fifth aspect.
  • a chip including: a processor, configured to call and run a computer program from a memory, so that a device installed with the chip executes the method of the first aspect or the second aspect or the third aspect above .
  • a computer-readable storage medium for storing a computer program, and the computer program causes a computer to execute the method in the first aspect or the second aspect or the third aspect.
  • a computer program product including computer program instructions, the computer program instructions cause a computer to execute the method of the first aspect or the second aspect or the third aspect above.
  • a twelfth aspect provides a computer program that, when running on a computer, causes the computer to execute the method of the first aspect or the second aspect or the third aspect.
  • the feature information whose data type is a floating-point number output by the coding network of the self-encoder is directly rounded and quantized, Therefore, intra-frame prediction can be performed flexibly, and it is helpful to improve the performance of video coding and decoding, and improve the efficiency of video coding and decoding.
  • Fig. 1 is a schematic block diagram of an encoder provided by an embodiment of the present application
  • Fig. 2 is a schematic block diagram of a decoder provided by an embodiment of the present application.
  • Fig. 3 is an example of the intra prediction mode of H.266/VVC
  • Figure 4 is an example of the process by which MIP generates predicted values
  • FIG. 5 is a schematic diagram of feature information extracted by a coding network according to an embodiment of the present application.
  • FIG. 6 is a schematic diagram of a decoding network obtaining a prediction signal according to an embodiment of the present application.
  • Fig. 7 is a schematic diagram of a Sigmoid activation function
  • Figure 8 is a schematic diagram of another Sigmoid activation function
  • FIG. 9 is a schematic flowchart of a decoding method provided by an embodiment of the present application.
  • FIG. 10 is a schematic flowchart of an encoding method provided by an embodiment of the present application.
  • FIG. 11 is a schematic flow chart of a method for training a model provided by an embodiment of the present application.
  • Fig. 12 is a schematic block diagram of a decoder provided by an embodiment of the present application.
  • Fig. 13 is a schematic block diagram of an encoder provided by an embodiment of the present application.
  • Fig. 14 is a schematic block diagram of an apparatus for training a model provided by an embodiment of the present application.
  • Fig. 15 is a schematic block diagram of an electronic device provided by an embodiment of the present application.
  • the codec framework is a block-based hybrid codec framework adopted by the current unified video codec standard, such as the general codec framework of VTM8.
  • Fig. 1 is a schematic block diagram of an encoder 100 provided by an embodiment of the present application.
  • the encoder 100 may include a prediction unit 110, a transform, a quantization unit 120, an inverse quantization, an inverse transform unit 130, a loop filter unit 140, a decoded picture buffer (Decoded Picture Buffer, DPB) unit 150 and an entropy encoding Unit 160.
  • a prediction unit 110 may include a transform, a quantization unit 120, an inverse quantization, an inverse transform unit 130, a loop filter unit 140, a decoded picture buffer (Decoded Picture Buffer, DPB) unit 150 and an entropy encoding Unit 160.
  • DPB decoded Picture Buffer
  • a video slice, a frame of pictures or a series of pictures will be divided into basic units of coding tree units (coding tree unit, CTU), and further divided into more basic units based on this.
  • Blocks in small coding units (Coding Unit, CU).
  • the CU may also be divided into prediction units (prediction unit, PU), etc., without limitation.
  • the coded block may be transferred to the prediction unit 110 .
  • the prediction unit 110 may include a motion estimation (estimation) and compensation (compensation) unit 111 and an intra prediction unit 112 .
  • Prediction unit 102 may use motion estimation and compensation unit 111 to obtain an inter predictor for a current block (eg, CU).
  • the intra prediction unit 112 may obtain an intra prediction value of the current block, for example, obtain an intra prediction value based on a derived mode.
  • the method of using intra-frame prediction in video coding and decoding technology can help to eliminate the spatial redundancy between adjacent pixels. Due to the strong similarity between adjacent frames in video, the use of inter-frame prediction method in video coding and decoding technology can help to eliminate temporal redundancy between adjacent frames, thereby improving coding efficiency.
  • the prediction unit 110 outputs the predicted value of the current block, and then an adder may be used to calculate the difference between the original value of the current block and the predicted value of the current block, that is, the residual value.
  • the transform and quantization unit 120 may read the residual value and perform one or more transform operations on the residual value to obtain coefficients, further quantize the coefficients and output quantized coefficients (ie levels).
  • the inverse quantization and inverse transformation unit 130 performs scaling operations on the quantization coefficients to output reconstruction coefficients, and may further perform one or more inverse transformations and output residual values.
  • an adder may be used to add the residual value output by the inverse quantization and inverse transform unit 130 and the prediction value of the current block from the prediction unit 110 to calculate a reconstruction value.
  • the reconstructed value may also be output to the prediction unit 110 to be used as an intra prediction reference. After all blocks in the tile are reconstructed, the loop filtering unit 140 performs loop filtering on the reconstructed image.
  • the output of the loop filter unit 140 is decoded images, and these decoded images are buffered into a decoded picture buffer (Decoded Picture Buffer, DPB) unit 150 .
  • the DPB unit 150 outputs decoded images according to timing and control information.
  • the pictures stored in the DPB unit 150 may also be used as a reference for the prediction unit 110 to perform inter prediction or intra prediction.
  • the entropy encoding unit 160 writes the parameters necessary for decoding pictures from the encoder 100 (such as block division information, mode information or parameter information such as prediction, transformation, quantization, entropy encoding, loop filtering, etc.) into the code stream, that is The encoder 100 finally outputs code streams.
  • the encoder 100 may have a processor and a memory including a computer program. When the processor reads and runs the computer program, the encoder 100 reads the input video and generates a corresponding code stream. Additionally, encoder 100 may also be a computing device having one or more chips. These units implemented on the chip as integrated circuits have similar connection and data exchange functions as the corresponding units in FIG. 1 .
  • FIG. 2 is a schematic block diagram of a decoder 200 provided by an embodiment of the present application.
  • the decoder 200 may include: an analysis unit 210 , a prediction unit 220 , a scaling and transformation unit 230 , a loop filter unit 240 and a decoded picture buffer unit 250 .
  • the input code stream of the decoder 200 may be the code stream output by the encoder 100 .
  • the analysis unit 210 analyzes the input code stream, for example, according to the existing information, it analyzes and determines the same block division information as the encoding end, prediction, transformation, quantization, entropy coding, loop filtering and other mode information or parameter information, so as to ensure that the encoding end
  • the obtained reconstructed image is the same as the decoded image obtained by the decoder.
  • the analysis unit 210 sends the acquired information to units in the decoder 200 , such as the prediction unit 220 and the scaling unit 230 .
  • the prediction unit 220 determines a prediction value for a currently decoded block (eg, CU or PU).
  • the prediction unit 220 may include a motion estimation and compensation unit 221 and an intra prediction unit 222 .
  • the prediction unit 220 passes the relevant parameters from the parsing unit 210 to the motion estimation and compensation unit 221 to obtain the inter-frame prediction value; when the intra-frame prediction is indicated
  • the prediction unit 220 transmits the relevant parameters from the parsing unit 210 to the intra prediction unit 222 to obtain an intra prediction value.
  • the scaling and transforming unit 230 performs scaling operations on the quantized coefficients (ie, levels) from the parsing unit 210 to obtain reconstructed coefficients, and performs one or more transform operations to obtain residual values.
  • An adder may be used to perform an addition operation on the predicted value from the prediction unit 220 and the residual value from the scaling and transforming unit 230 to obtain a reconstructed value of the current decoded block.
  • the reconstructed value may also be sent to the prediction unit 220 to be used as a reference for other blocks encoded in intra prediction mode.
  • the loop filtering unit 240 After all blocks in the image are reconstructed, the loop filtering unit 240 performs loop filtering on the reconstructed image.
  • the output of the loop filter unit 240 is a decoded image
  • the decoded image is buffered into the decoded image buffer unit 250 .
  • the decoded image buffer unit 250 outputs the decoded image according to timing and control information.
  • the image stored in the decoded image buffer unit 250 may also be used as a reference for performing inter prediction or intra prediction by the prediction unit 220 .
  • the decoder 200 may have a processor and a memory including a computer program. When the processor reads and runs the computer program, the decoder 200 reads the input code stream and generates a corresponding decoded video. Additionally, decoder 200 may also be a computing device having one or more chips. These units implemented on-chip as integrated circuits have similar connection and data exchange functions as the corresponding units in Figure 2.
  • the current block refers to the current coding block, which refers to the current coding unit CU, or the prediction unit PU, or other coding blocks, and is not limited.
  • the current coding block is usually predicted by means of various angle modes and non-angle modes to obtain a prediction value, which is calculated according to the prediction value and the original block
  • the rate-distortion information is used to filter out the prediction mode of the current coding unit, and then the prediction mode is transmitted to the decoding end through the code stream.
  • the decoding end analyzes the prediction mode, predicts and obtains the predicted image of the current decoding block, and superimposes the residual pixels transmitted through the code stream to obtain the reconstructed image.
  • FIG. 3 shows a schematic diagram of the 67 intra prediction modes of H.266/VVC. Among them, there is a Matrix-weighted Intra Prediction (MIP) mode for the luma component, and a Cross Component Linear Model (CCLM) prediction mode for the chrominance component.
  • MIP Matrix-weighted Intra Prediction
  • CCLM Cross Component Linear Model
  • MIP will select W reconstructed pixels in the row above the block and H reconstructed pixels in the left column as input. If the pixels at these positions have not been reconstructed, the pixels at the unreconstructed positions will be set to a default value, for example, for a 10bit pixel, the default filling value is 512.
  • MIP generates the predicted value mainly based on three steps, as shown in Figure 4, which are: (1) Taking the mean value of the reference pixels, such as a row of pixels above the current block (expressed as bdry top ) and a row of pixels on the left side of the current block Take the mean value of the point (expressed as bdry left ) to obtain the mean value of the reference pixel (expressed as bdry red ); (2) matrix-vector multiplication, such as A k bdry red + b k , where A k is the kth weight that has been trained matrix, b k is the kth bias value of training; (3) linear interpolation upsampling.
  • MIP acts on blocks of size 4x4 to 64x64.
  • the MIP mode will select an appropriate prediction matrix according to the side length of the rectangle. For example, for a rectangle whose short side is 4, there are 16 sets of matrix parameters for selection; for a rectangle with a short side of 8, there are 8 sets of matrix parameters for selection; for other rectangles, there are 6 sets of matrix parameters for selection.
  • MIP will use the optional matrix for prediction, and the index of the matrix with the least cost will be written into the code stream for the decoder to read the matrix parameters for prediction.
  • autoencoder-based intra prediction is ported into legacy codecs as one of the intra prediction modes. Multiple autoencoders can be trained separately for different sizes of encoding blocks.
  • An autoencoder consists of a set of encoding networks ( ga ) and decoding networks ( gs ).
  • FIG. 5 shows a schematic diagram of a process of extracting feature information by using an encoding network
  • FIG. 6 shows a schematic diagram of a process of obtaining a prediction signal by using a decoding network.
  • FIG. 5 and FIG. 6 take a 4 ⁇ 4 block as an example for illustration.
  • the original pixels in the 4 ⁇ 4 block X are preprocessed (including but not limited to mean removal, normalization, rearrangement) to obtain Will Input a nonlinear encoding network g a to obtain feature information (feature) q
  • the nonlinear encoding network g a may include convolutional layers, fully connected layers, and nonlinear activation functions, etc., without limitation.
  • the reconstructed pixel values R around the 4 ⁇ 4 block are preprocessed (including but not limited to mean removal, normalization, rearrangement, etc.) to obtain And the feature information q is input into the nonlinear decoding network g s to get After post-processing (including but not limited to adding mean value, denormalization, rearrangement, etc.), the prediction signal Y is obtained.
  • the nonlinear decoding network g s may include a convolutional layer, a fully connected layer, and a nonlinear activation function, etc., without limitation.
  • the possible feature information combinations are compared with other intra prediction modes for rate-distortion cost, and the mode with the smallest cost is used as the intra prediction selected by the current block model. If the mode with the least cost is an autoencoder mode, it is necessary to further encode the relevant feature information syntax elements.
  • the decoder parses the syntax elements of the current block, and further parses the feature information of the current block from the code stream when the intra prediction mode of the current block is selected from the intra prediction mode of the encoder.
  • the current block is predicted using the decoding network of the autoencoder through the reconstructed pixels around the current block and the decoded feature information to obtain a prediction signal.
  • the data type of the feature information is floating point.
  • the feature information needs to be stored in the code stream, the feature information needs to be quantized into integers.
  • the feature information in the autoencoder training process needs to be as close as possible to the actual use, so the feature information needs to be quantized into integers during the autoencoder training process.
  • the output range of the encoding network can be limited by the activation function.
  • the Sigmoid activation function in Figure 7 can limit the output range of the encoding network between 0 and 1, where the calculation formula of the Sigmoid is as follows:
  • the Sigmoid activation function in Figure 8 can limit the output range of the encoding network between -1 and 1, where the calculation formula of the Sigmoid is as follows:
  • n in the formula (2) is 10.
  • the rounded result can be 0 or 1.
  • one-bit binary symbols can be used to represent them.
  • the one-bit binary symbol can be written into or read from the code stream.
  • the range of -1 to 1 is taken as an example, and the rounded result can be -1, 0 or 1.
  • a one-bit binary symbol can be used to indicate whether the rounded number is 0; if it is not 0, then a one-bit binary symbol can be used to indicate the positive or negative of the rounded number.
  • the one-bit binary symbol or two-bit binary symbol can be written into or read from the code stream. For example, writing or reading 0 means 0, writing or reading 10 means -1, and writing or reading 11 means 1.
  • the output of the activation function may be enlarged or reduced by multiplying a and/or adding b to the output of the activation function.
  • the result output by the Sigmoid activation function in Figure 7 can be multiplied by 2, and the range of the limit can be changed from 0 to 1 to 0 to 2; further, the result output by the Sigmoid activation function can be multiplied by 2 and then subtracted by 1, then you can Change the limit range from 0 to 1 to -1 to 1.
  • Such an operation can make the output of the activation function satisfy a specific encoding method.
  • the output results of the limited value range after the activation function can be rounded in the following two ways:
  • the gradient of method 2) needs to be redefined.
  • the gradient of mode 2) can be defined as 1.
  • the forward propagation can be expressed as the following formula:
  • B(x) represents the integer operation
  • S(x) represents the Sigmoid function
  • the value range of the output of the encoding network needs to be limited by the activation function, and the method 1) or method 2) can only be performed on the output results of the limited range. rounding operation.
  • the embodiment of the present application provides an encoding and decoding scheme, which can adopt a binarization method (also called a binarization rounding method), and the data type output by the encoding network of the self-encoder is a floating-point characteristic information Direct rounding and quantization allow for flexible intra-frame prediction.
  • FIG. 9 shows a schematic flowchart of a decoding method 300 provided by an embodiment of the present application.
  • Method 300 may be applied to a decoder, such as decoder 200 in FIG. 2 . Further, the method 300 may be applied to the intra prediction unit 222 in the decoder 200 . As shown in FIG. 9 , the method 300 includes step 310 to step 340 .
  • the parsing unit 210 in FIG. 2 can obtain the intra prediction mode parameter from the code stream.
  • a prediction mode parameter of the current block may be acquired, and the prediction mode parameter is used to indicate that an autoencoder mode is used to determine an intra-frame prediction value of the current block.
  • the current block may refer to a block currently being coded or a coded block, such as a current CU, a current PU, or others, which is not limited.
  • the current block can also be replaced with "coding block", "block”, “current coding block”, etc., all of which can represent the same or similar meanings.
  • the encoder may determine whether the current block uses an autoencoder mode.
  • the encoder may transmit information indicating whether the current block uses the self-encoder mode in the code stream, that is, the prediction mode parameter.
  • the possible feature information combinations are compared with other intra-frame prediction modes for rate-distortion cost, and the mode with the smallest cost is used as the intra-frame prediction selected by the current block model. If the mode with the least cost is the autoencoder mode, it may be determined that the current block uses the autoencoder to determine the intra-frame prediction value of the current block.
  • the encoder needs to further encode related feature information syntax elements. Otherwise, the encoder determines that the current block does not use the autoencoder mode to predict the intra prediction value of the current block.
  • a decoder may determine whether the current block uses an autoencoder mode. For example, the decoder can obtain the input code stream, and obtain information indicating whether the current block uses the self-encoder mode from the code stream, that is, the prediction mode parameter.
  • the prediction mode parameter is used to indicate that the current block uses an autoencoder mode to determine an intra-frame prediction value of the current block.
  • the prediction mode parameter may indicate that the current block uses other intra-frame prediction modes to determine the intra-frame prediction value of the current block, such as the above-mentioned MIP mode, etc., which are not limited.
  • the elements of the first feature information are obtained by processing (that is, rounding) according to a binarization manner.
  • the parsing unit 210 may further parse the first characteristic information of the first current block from the code stream.
  • the first characteristic information is obtained (for example, at the decoding end) by rounding the characteristic information output from the encoding network of the self-encoder according to a binarization method.
  • the first current block may be a current CU or a current PU, which is not limited.
  • the decoding end may input the first current block (that is, the original pixels of the first current block) into the encoding network of the self-encoder, perform feature extraction on the first current block through the encoding network, and obtain the feature output by the encoding network information, and then round the features output by the encoding network using a binarization method to obtain the above-mentioned first feature information.
  • the first current block that is, the original pixels of the first current block
  • the decoding end may input the first current block (that is, the original pixels of the first current block) into the encoding network of the self-encoder, perform feature extraction on the first current block through the encoding network, and obtain the feature output by the encoding network information, and then round the features output by the encoding network using a binarization method to obtain the above-mentioned first feature information.
  • the encoding network may be a nonlinear encoding network, for example, may include at least one convolutional layer, a fully connected layer, and a nonlinear activation function, etc., without limitation.
  • the first current block may be pre-processed (for example, pre-processed by a first pre-processing module), including but not limited to mean removal, normalization, Rearrangement, etc., are not limited.
  • the process of obtaining feature information by using an encoding network may refer to the description in FIG. 6 .
  • the feature information output by the encoding network is less than 0
  • the feature information less than 0 is rounded by using a binarization method, so that the first feature information can be obtained as -1.
  • the feature information output by the encoding network is greater than or equal to 0
  • the feature information greater than or equal to 0 is rounded by using a binarization method, and the first feature information can be obtained as 1.
  • the binarization method may be the following formula (3):
  • x represents an input value, for example, it may be an output result of an encoding network in an autoencoder
  • f(x) represents an integer result of x, for example, it may be the above-mentioned first feature information.
  • the element of the first feature information can be -1 or 1, where the element is -1 indicating that the feature information output by the encoding network is less than 0, and the element being 1 indicates that the encoding network
  • the output feature information is greater than or equal to 0.
  • the feature information whose data type is a floating-point number output by the encoding network of the self-encoder is directly rounded and quantized, without using the activation function to optimize the output of the encoding network.
  • the value range is limited, so that intra prediction can be performed flexibly.
  • the embodiment of the present application is described by taking the element in the rounding result of the binarization method as -1 or 1 as an example, but the embodiment of the present application is not limited to this, that is, the element can also be other values , such as 0, or 2, -2, etc., all of which fall within the protection scope of the embodiments of the present application.
  • the syntax element obtained after encoding the element of the first characteristic information includes binary code 0 or 1. That is to say, the syntax element of the first feature information obtained from the code stream is binary code 0 or 1.
  • the syntax element of the first feature information being 0 may correspond to an element being -1
  • the syntax element being 1 may correspond to an element being 1, or vice versa, and there is no limitation.
  • the reconstructed pixels include, for example, at least part of pixels in at least one row of pixels above, left, upper left, lower left, and upper right of the first current block.
  • the reconstructed pixels may include reconstructed pixels of the adjacent reference row of the current block, which is not limited in the present application.
  • the decoding network may be a nonlinear decoding network, for example, may include at least one convolutional layer, a fully connected layer, and a nonlinear activation function, etc., without limitation.
  • the reconstructed value can be preprocessed (for example, preprocessed by the second preprocessing module), such as including but not limited to de-meaning, normalization, rearrangement, etc. , without limitation.
  • post-processing (for example, preprocessing by a post-processing module) may be performed on the prediction signal output by the decoding network, including but not limited to mean removal, normalization, rearrangement, etc., without limitation.
  • the process of using the decoding network to obtain the predicted value can refer to the description in FIG. 6 .
  • the feature information whose data type is a floating-point number output by the encoding network of the self-encoder is directly rounded and quantized, and There is no need to use an activation function to limit the value range of the output of the encoding network, so that intra-frame prediction can be performed flexibly, which can help improve the performance of video encoding and decoding, and improve the efficiency of video encoding and decoding.
  • the autoencoder at the decoding end or the encoding end needs to be trained.
  • the above binarization method can be used to round the feature information output by the encoding network in the autoencoder.
  • the first training sample set can be obtained, the first training sample set includes the first sample image; the first training sample set is input into the encoding network in the autoencoder, The characteristic information of the second current block of the first sample image output by the encoding network is obtained. Then, according to the binarization manner, the feature information of the second current block output by the encoding network is rounded to obtain the second feature information of the second current block. Afterwards, the second feature information and the reconstructed values of the reconstructed pixels of the first sample image may be input into a decoding network in the self-encoder to obtain a second predicted value of the second current block. Finally, parameters of the encoding network and/or decoding network may be updated according to the second predicted value and the original value of the second current block. As an example, the second current block may be the current CU or the current PU, which is not limited.
  • the second feature information when the feature information of the second current block output by the encoding network is less than 0, the second feature information is -1; the feature information of the second current block output by the encoding network is When the information is greater than or equal to 0, the second feature information is 1.
  • the binarization manner reference may be made to the description in step 320, and details are not repeated here.
  • the parameters of the encoding network and/or decoding network can be updated according to the above-mentioned second predicted value and the original value of the second current block, using the back propagation algorithm Updating is performed, wherein the gradient of the backpropagation of the binarization method is determined according to the value of the feature information of the second current block output by the encoding network.
  • the feature information of the second current block output by the encoding network is feature information without rounding, that is, feature information before rounding.
  • the gradient of the backpropagation of the binarization method is defined as 0;
  • the gradient of the backpropagation of the binarization method is defined as 1.
  • the gradient of the backpropagation of the binarization method can be the following formula (4):
  • x represents an input value, for example, it may be an output result of an encoding network in an autoencoder
  • f'(x) represents a gradient of backpropagation of f(x).
  • the feature information whose data type is a floating-point number output by the encoding network of the autoencoder can be directly rounded and quantized, so that the autoencoder's
  • the feature information in the training process is close to the actual use, which helps to improve the robustness of the autoencoder.
  • the encoder can decide to continue dividing the current block into easily predictable coding blocks.
  • a content-rich prediction set there are always some coded blocks that are not easy to intra-predict. If these encoding blocks are used as part of the training set, it will often lead to poor performance of the trained network model. Therefore, it is necessary to filter the data in the training set.
  • HEVC encoder can be used to encode the data set, and the blocks of the shape divided by HEVC can be used as candidate training sets.
  • MSE mean square error
  • the gradient descent method is usually used to update the network weight parameters.
  • the network weights are also updated accordingly, and each iteration includes the current weight of the neural network to infer on a part of the training samples, and calculate the error according to the inference result and the loss function, and then perform backpropagation according to the error. update the weights.
  • This part of the samples in the process can be called a batch here.
  • the cost of each sample in a batch is usually added or averaged with the same weight to obtain a scalar cost, and the neural network is trained/tuned according to the scalar cost.
  • the samples in a batch can be screened according to the cost of the samples in the batch, and a part of the samples can be selected to train the autoencoder, that is, update the parameters.
  • the first cost vector may be determined according to the second predicted value of the second current block and the original value of the second current block, where the first cost vector includes N cost values, N is a positive integer greater than 1. Then the second cost vector can be determined according to the first cost vector, wherein the second cost vector includes M cost values, the M cost values are obtained from the above N cost values, and M is a positive integer less than N . Then, parameters of the encoding network and/or the decoding network may be updated according to the second cost vector.
  • N may be the number of samples in the above batch, that is to say, the first cost vector may include the costs of all samples in a batch.
  • the above M cost values may correspond to M samples selected from N samples in a batch. Therefore, in the embodiment of the present application, M samples can be selected from N samples according to the cost of the samples in the training sample set, and the parameters of the autoencoder, such as the decoding network or the encoding network, can be calculated according to the cost vector corresponding to the M samples. renew.
  • the above M cost values are M cost values with less cost among the N cost values.
  • the samples with high cost are not easy to predict, that is, the samples with high cost are not suitable for the samples under the current network structure, so the samples with high cost are taken out from the sample set, and the remaining samples with low cost are used as the training set. Realize the filtering of data in the sample set.
  • the M cost values can be summed or averaged to obtain the scalar cost of the above-mentioned second cost vector, and then according to the scalar cost, the encoding network and/or The parameters of the decoding network are updated.
  • the cost of each sample in the batch is calculated in the forward propagation of each iteration, and the first cost vector l batch can be obtained, which can be expressed as the following formula (5):
  • n is the number of samples in the batch
  • l i represents the cost of the i-th sample
  • 1 ⁇ i ⁇ n a positive integer
  • the n cost values in the first cost vector l batch can be sorted, and a part of samples with higher cost among the n cost values, for example, a part of samples with the highest cost, can be discarded to obtain the second cost vector l′ batch .
  • the first 20% samples with higher cost may be discarded, and 80% samples with lower cost may be retained.
  • the second cost vector l' batch can be expressed as the following formula (6):
  • the scalar cost l sum used to update the network weight can be expressed as the following formula (7):
  • some samples are selected in the training sample set according to the cost of the sample, for example, the cost of the sample corresponding to the smaller cost is selected Vector, which helps to delete samples that are not easy to intra-frame prediction for the neural network in the sample set, that is, samples that are not suitable for the current neural network, thereby helping to improve the accuracy of the intra-frame prediction of the video codec network, It helps to improve the performance of video codec and improve the efficiency of video codec.
  • FIG. 10 shows a schematic flowchart of an encoding method 400 provided by an embodiment of the present application.
  • Method 400 may be applied to an encoder, such as decoder 100 in FIG. 1 . Further, the method 400 may be applied to the intra prediction unit 112 in the encoder 100 . As shown in FIG. 10 , the method 400 includes step 410 to step 450 .
  • the binarization manner may refer to the description above, and will not be repeated here.
  • the combination of feature information conforming to the syntax elements of the feature information output by the encoding network of the self-encoder may refer to various possible feature information after rounding the feature information output by the encoding network according to the binarization method, For example, it can be part or all of all possible feature information.
  • the feature information of the first current block includes 2 elements, and according to the syntax element of the feature information, each element may have a value of 1 or -1
  • the feature information of the first current block Combinations may include at least one of (1,1), (1,-1), (-1,1), (-1,-1).
  • the intra prediction mode corresponding to the minimum rate-distortion cost may be used as the intra prediction mode of the first current block.
  • the intra prediction mode of the first current block at this time may be the self-encoder mode , that is, the above intra-frame prediction mode parameter is used to indicate to use (or according to) the self-encoder mode to determine the intra-frame prediction value.
  • the intra-frame prediction mode of the first current block may be MIP mode at this time, that is, the above-mentioned intra-frame prediction mode parameters are used at this time Yu indicates to use (or according to) the MIP mode to determine the intra prediction value.
  • the embodiment of the present application can determine the syntax elements of the feature information output by the encoding network of the autoencoder of the current block through difference binarization, and determine the combination of feature information of the current block, and then determine according to the combination of feature information
  • the prediction mode parameters of the current block such as whether to use the autoencoder mode for intra-frame prediction, so that intra-frame prediction can be performed flexibly.
  • the frame of the first current block is determined according to the intra-frame prediction mode parameter of the first current block Intra-prediction values can be achieved in the following ways:
  • the first current block may be input into the encoding network of the autoencoder to obtain the encoding network The output feature information; then, according to the binarization method, process the feature information output by the encoding network to obtain the above-mentioned first feature information.
  • feature information corresponding to the minimum rate-distortion cost may be used as the first feature information.
  • the prediction mode parameter and the first feature information may be written into the code stream.
  • the syntax element obtained after encoding the element of the first characteristic information includes binary code 0 or 1. That is to say, the syntax element of the first feature information written in the code stream is binary code 0 or 1.
  • the syntax element corresponding to element-1 written in the code stream of the first feature information is 0, and the syntax element corresponding to element 1 written in the code stream is 1, or vice versa, without limitation.
  • the feature information whose data type is a floating-point number output by the encoding network of the self-encoder is directly rounded and quantized, and There is no need to use an activation function to limit the value range of the output of the encoding network, so that intra-frame prediction can be performed flexibly, which can help improve the performance of video encoding and decoding, and improve the efficiency of video encoding and decoding.
  • the processing of the feature information output by the encoding network in the self-encoder according to the binarization method to obtain the first feature information of the first current block includes:
  • the first feature information is -1;
  • the first feature information is 1.
  • method 400 also includes:
  • the first training sample set including a first sample image
  • the feature information of the second current block output by the encoding network is processed to obtain the second feature information of the second current block ,include:
  • the second characteristic information is -1;
  • the second feature information is 1.
  • updating parameters of the encoding network and/or the decoding network according to the second predicted value and the original value of the second current block includes:
  • the parameters of the encoding network and/or the decoding network are updated using a backpropagation algorithm, wherein the binarization method
  • the gradient of backpropagation is determined according to the value of the feature information of the second current block output by the encoding network.
  • the gradient of the backpropagation of the binarization method is defined as 0 ;
  • the gradient of the backpropagation of the binarization mode is defined as 1.
  • updating parameters of the encoding network and/or the decoding network according to the second predicted value and the original value of the second current block includes:
  • the second cost vector determines a second cost vector, wherein the second cost vector includes M cost values, the M cost values are obtained from the N cost values, and M is less than N positive integer;
  • Update parameters of the encoding network and/or the decoding network according to the second cost vector are updated.
  • the M cost values are the M cost values with smaller costs among the N cost values.
  • the updating parameters of the encoding network and/or the decoding network according to the second cost vector includes:
  • the parameters of the encoding network and/or the decoding network are updated using a backpropagation algorithm.
  • the reconstructed pixels include at least part of pixels in at least one row of pixels above, left, upper left, lower left, and upper right of the first current block.
  • the first current block includes a coding unit CU or a prediction unit PU.
  • the encoding method 400 can obtain a better prediction effect at the encoder and improve the encoding performance, and correspondingly, the corresponding decoding method can also improve the quality of video decoding and restoration at the decoder, thereby improving the decoding performance.
  • the encoding process and the decoding process may use the same preset rules or steps to calculate the intra-frame prediction value of the current block.
  • the training set for training the self-encoder can include the CLIC2020 data set (including 1633 pictures with a resolution of about 2K), the BVI-DVI data set (including 800 video sequences with different resolutions), and the COCO2017 data set (including about 110,000 low-resolution images).
  • the embodiment of this application uses the VVC reference software VTM-13.0 to compress the training set pictures with random quantization parameters ranging from 27 to 47, and the divided ⁇ 32x32 , 32x16, 32x8, 32x4, 16x16, 16x8, 16x4, 8x8, 8x4, 4x4 ⁇ organize the data set, and randomly select 2,000,000 training samples as the training data for the data set divided by each block.
  • the embodiment of the present application adopts the form of a control experiment to compare the performance of the existing autoencoder with the performance of the autoencoder provided in the embodiment of the present application.
  • the binarization method provided by the embodiment of the present application can be implemented on the existing autoencoder, and the training data screening method provided by the embodiment of the present application can be further used to verify the performance improvement that the embodiment of the present application can bring Effect.
  • Table 1 is an example of an encoding network structure in an existing autoencoder.
  • hidden layer index hidden layer type Enter the number of nodes Number of output nodes activation function 0 Fully connected W ⁇ H 256 Leaky relu 1 Fully connected 256 256 Leaky relu 2 Fully connected 256 256 Leaky relu 3 Fully connected 256 2 Sigmoid
  • Table 2 is an example of the encoding network structure in the autoencoder provided in the embodiment of the present application.
  • hidden layer index hidden layer type Enter the number of nodes Number of output nodes activation function 0 Fully connected W ⁇ H 256 Leaky relu 1 Fully connected 256 256 Leaky relu 2 Fully connected 256 256 Leaky relu 3 Fully connected 256 2 none
  • Table 3 is an example of the decoding network structure in the self-encoder, where the decoding network structure can be the decoding network structure in the existing self-encoder, or the decoding network in the self-encoder provided by the embodiment of the present application Structure, that is, in this control experiment, the two autoencoders use the same decoding network structure.
  • W represents the width of the coding block used by the autoencoder
  • H represents the height of the coding block used by the self-encoder
  • N represents the adjacent reference required by the self-encoder
  • the feature information of the continuous distribution score after the Sigmoid activation of its output is rounded up, or added with random distributed noise to round up. Integral, so the last time it encodes the network structure, that is, the activation function of the third layer is Sigmoid.
  • the output of the encoding network structure in the self-encoder provided by the application in Table 2 is rounded using the binarization method provided by the embodiment of the application, so the last layer of the encoding network, that is, the activation of the third layer Function is None.
  • the number of output nodes in the last layer of the coding network structure is 2, which means that the feature information extracted (that is, output) by the coding network is a vector containing 2 elements.
  • the training of the autoencoders in the above-mentioned control experiments were all tested on the above-mentioned training data.
  • the training parameter settings in the following table 4 can be adopted.
  • equation (8) shows the training loss function
  • f(; ⁇ ) represents the calculation output of the self-encoder
  • Y represents the original training value of the current block
  • f(x; ⁇ ) represents the predicted value of the current block predicted by the self-encoder.
  • the training data filters out 80% of the low-cost samples in each batch.
  • the autoencoder can be integrated into the VTM reference software.
  • the decoding process using the self-encoder provided by the embodiment of the present application is the same as the decoding process using the existing encoder.
  • the intra prediction mode selected by the current block is analyzed; when the intra prediction mode selected by the current block is the self-encoder mode, the feature information of the current block can be further analyzed, such as analyzing the feature information Syntax element; in the prediction stage, the feature information and the reconstructed pixels (reconstructed value) around the current block can be input into the decoding network of the trained autoencoder to obtain the predicted value of the current block.
  • Table 5 shows an example of syntax elements in feature information.
  • the grammatical elements of the feature information output by the autoencoder in the embodiment of the present application may be set to be the same as the grammatical elements of the feature information output by the existing autoencoder.
  • Intra_ae_flag indicates whether the current block is selected to use the autoencoder mode. If the self-encoder mode is selected, since the feature information includes 2 elements in the embodiment of the present application, two 1-bit binary codes feature[0] and feature[1] can be further analyzed. For the value of the binary code feature[0] and feature[1], when using the existing rounding method for feature information, such as the rounding method, or the rounding method with random noise, feature[0] Or feature[1] can take the value 0 or 1. When the binarization method provided in the embodiment of the present application is adopted, feature[0] or feature[1] can take a value of -1 or 1.
  • feature information with higher dimensions for example, the feature information contains 3 elements
  • 3 binary codes such as feature[0], feature[1], and feature[2] should be encoded as feature information elements in .
  • various possible feature information combinations can be compared with other intra prediction modes for rate-distortion cost comparison, with the smallest cost
  • the mode of can be used as the intra prediction mode selected by the current block. If the mode with the lowest cost is an autoencoder mode, syntax elements for further encoding of relevant feature information are required, for example, the autoencoder provided by the embodiment of the present application may be used, or the existing autoencoder can obtain feature information.
  • Table 6 shows the comparative reference software VTM-11.0, when using the existing autoencoder (that is, using Sigmoid as the activation function of the encoding network output, the forward propagation of the network is rounded, and the backpropagation gradient is 1), in General test conditions ClassA ⁇ ClassF, performance results on Qp ⁇ 22,27,32,37,42 ⁇ :
  • Table 7 shows the comparative reference software VTM-11.0, when using the autoencoder provided by the embodiment of the present application (that is, without using the Sigmoid activation function, the network forward propagation is rounded to binary rounding), under the general test conditions ClassA ⁇ ClassF, performance results on Qp ⁇ 22,27,32,37,42 ⁇ :
  • Table 8 shows the comparison reference software VTM-11.0, using the autoencoder provided by the embodiment of the present application (that is, not using the Sigmoid activation function, network forward propagation rounding to binary rounding), and training data Screening (for example, the size of each batch is set to 100, take 80% or 80 samples with a small cost value to update the network weight), on the general test conditions ClassA ⁇ ClassF, Qp ⁇ 22,27,32,37,42 ⁇ Performance results for:
  • ClassA to Class H represent test sequences of different resolutions
  • Overall represents the average value of the test values under the test conditions of the row above it
  • the column where Y-PSNR is located represents the performance improvement on the Y component
  • U-PSNR The column where it is located indicates the performance improvement on the U component
  • the column where the V-PSNR is located indicates the performance improvement on the V component
  • EncT indicates the change in encoding time
  • DecT indicates the change in decoding time.
  • the self-encoder provided by the embodiment of the present application can improve the video encoding and decoding performance on each component of YUV, and help reduce the encoding time, so this
  • the feature information output by the encoding network of the self-encoder is rounded by using a binarization method, which can help improve video encoding and decoding performance on the one hand, and improve video encoding efficiency on the other hand.
  • FIG. 11 shows a schematic flowchart of a method 500 for training an autoencoder provided by an embodiment of the present application. As shown in FIG. 11 , the method 500 includes step 510 to step 550 .
  • the M cost values are the M cost values with smaller costs among the N cost values.
  • the updating parameters of the encoding network and/or the decoding network according to the second cost vector includes:
  • the parameters of the encoding network and/or the decoding network are updated using a backpropagation algorithm.
  • the reconstructed pixels include at least part of pixels in at least one row of pixels above, left, upper left, lower left, and upper right of the current block.
  • the current block includes a coding unit CU or a prediction unit PU.
  • sequence numbers of the above-mentioned processes do not mean the order of execution, and the order of execution of the processes should be determined by their functions and internal logic, and should not be used in this application.
  • the implementation of the examples constitutes no limitation. It is to be understood that these ordinal numbers may be interchanged under appropriate circumstances such that the described embodiments of the application can be practiced in sequences other than those illustrated or described.
  • Fig. 12 is a schematic block diagram of a decoder 600 according to an embodiment of the present application.
  • the apparatus 600 is, for example, the decoder 200 in FIG. 2 .
  • the apparatus 600 may include an acquisition unit 610 and an autoencoder 620 .
  • An acquisition unit 610 configured to acquire an intra-frame prediction mode parameter from the code stream, where the intra-frame prediction mode parameter is used to indicate that the intra-frame prediction value is determined using the self-encoder mode;
  • the obtaining unit 610 is further configured to obtain the first characteristic information of the first current block from the code stream;
  • the obtaining unit 610 is also used to obtain the reconstruction value of the reconstructed pixel
  • the self-encoder 620 includes a decoding network, configured to input the first feature information and the reconstructed value into the decoding network to obtain a first prediction value of the first current block.
  • the elements of the first feature information are obtained through binarization.
  • the element of the first feature information is -1 or 1, wherein the element is -1 indicating that the feature information output by the encoding network is less than 0, and the element is 1 indicating that the The feature information output by the encoding network is greater than or equal to 0.
  • the syntax element obtained after encoding the element of the first characteristic information includes binary code 0 or 1.
  • the decoder 600 also includes a model training unit for:
  • the first training sample set including a first sample image
  • model training unit is specifically used for:
  • the second characteristic information is -1;
  • the second feature information is 1.
  • model training unit is specifically used for:
  • the parameters of the encoding network and/or the decoding network are updated using a backpropagation algorithm, wherein the binarization method
  • the gradient of backpropagation is determined according to the value of the feature information of the second current block output by the encoding network.
  • the gradient of the backpropagation of the binarization method is defined as 0 ;
  • the gradient of the backpropagation of the binarization mode is defined as 1.
  • model training unit is specifically used for:
  • the second cost vector determines a second cost vector, wherein the second cost vector includes M cost values, the M cost values are obtained from the N cost values, and M is less than N positive integer;
  • Update parameters of the encoding network and/or the decoding network according to the second cost vector are updated.
  • the M cost values are the M cost values with smaller costs among the N cost values.
  • model training unit is specifically used for:
  • the parameters of the encoding network and/or the decoding network are updated using a backpropagation algorithm.
  • the reconstructed pixels include at least part of pixels in at least one row of pixels above, left, upper left, lower left, and upper right of the first current block.
  • the first current block includes a coding unit CU or a prediction unit PU.
  • the second current block includes a coding unit CU or a prediction unit PU.
  • the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, details are not repeated here.
  • the decoder 600 may correspond to the corresponding subject that executes the method 300 of the embodiment of the present application, and the aforementioned and other operations and/or functions of the various modules in the decoder 600 are respectively in order to realize the For the sake of brevity, the corresponding processes in each method are not repeated here.
  • Fig. 13 is a schematic block diagram of an encoder 700 according to an embodiment of the present application.
  • the device 700 is, for example, the encoder 100 in FIG. 1 .
  • the device 700 may include a processing unit 710 , an intra prediction unit 720 and a prediction mode parameter encoding unit 740 .
  • the processing unit 710 is configured to determine a feature information combination of elements of the first current block conforming to the elements of feature information output by the encoding network of the self-encoder, wherein the elements of the feature information are determined according to a binarization manner.
  • the processing unit 710 is further configured to perform a rate-distortion cost comparison between the feature information combination and a pre-configured intra-frame prediction mode, and determine the intra-frame prediction mode parameter of the first current block;
  • An intra prediction unit 720 configured to determine an intra prediction value of the first current block according to an intra prediction mode parameter of the first current block
  • the prediction mode parameter encoding unit 730 is configured to write the intra-frame prediction mode parameter into a code stream.
  • the intra prediction unit 720 is specifically configured to:
  • the intra-frame prediction mode parameter indicates that the intra-frame prediction value is determined using the self-encoder mode
  • the prediction mode parameter coding unit 730 is specifically configured to write the intra prediction mode parameter and the first feature information into a code stream.
  • the intra prediction unit 720 is specifically configured to:
  • the feature information output by the encoding network is processed to obtain the first feature information.
  • the intra prediction unit 720 is specifically configured to:
  • the feature information corresponding to the minimum rate-distortion cost is used as the first feature information.
  • the intra prediction unit 720 is specifically configured to:
  • the first feature information is -1;
  • the first feature information is 1.
  • the syntax element obtained after encoding the element of the first characteristic information includes binary code 0 or 1.
  • a training unit is also included for:
  • the first training sample set including a first sample image
  • the training unit is specifically used for:
  • the second characteristic information is -1;
  • the second feature information is 1.
  • the training unit is specifically used for:
  • the parameters of the encoding network and/or the decoding network are updated using a backpropagation algorithm, wherein the binarization method
  • the gradient of backpropagation is determined according to the value of the feature information of the second current block output by the encoding network.
  • the gradient of the backpropagation of the binarization method is defined as 0 ;
  • the characteristic information of the second current block output by the encoding network is less than or equal to 1 and greater than or equal to -1, the gradient of the backpropagation of the binarization method is defined as 1.
  • the training unit is specifically used for:
  • the second cost vector determines a second cost vector, wherein the second cost vector includes M cost values, the M cost values are obtained from the N cost values, and M is less than N positive integer;
  • Update parameters of the encoding network and/or the decoding network according to the second cost vector are updated.
  • the M cost values are the M cost values with smaller costs among the N cost values.
  • the training unit is specifically used for:
  • the parameters of the encoding network and/or the decoding network are updated using a backpropagation algorithm.
  • the second current block includes a coding unit CU or a prediction unit PU.
  • the reconstructed pixels include at least part of pixels in at least one row of pixels above, left, upper left, lower left, and upper right of the first current block.
  • the first current block includes a coding unit CU or a prediction unit PU.
  • the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, details are not repeated here.
  • the encoder 700 may correspond to the corresponding body that executes the method 400 of the embodiment of the present application, and the aforementioned and other operations and/or functions of the various modules in the encoder 700 are respectively in order to realize the For the sake of brevity, the corresponding processes in each method are not repeated here.
  • FIG. 14 is a schematic block diagram of an apparatus 800 for training a model according to an embodiment of the present application.
  • the device 800 can be set in the encoder 100 in FIG. 1 or the decoder 200 in FIG. 2, for example.
  • the apparatus 800 may include an acquisition unit 810 , an autoencoder 820 and a processing unit 830 .
  • An obtaining unit 810 configured to obtain a first training sample set, where the first training sample set includes a first sample image
  • Self-encoder 820 configured to input the first training sample set into the self-encoder to obtain the predicted value of the current block of the first sample image, wherein the self-encoder includes an encoding network and a decoding network , the encoding network is used to extract feature information of the current block, and the decoding network is used to obtain the predicted value according to the reconstructed pixel value and the feature information;
  • a processing unit 830 configured to determine a first cost vector according to the predicted value and the original value of the current block, where the first cost vector includes N cost values, and N is a positive integer greater than 1;
  • the processing unit 830 is further configured to determine a second cost vector according to the first cost vector, wherein the second cost vector includes M cost values, and the M cost values are obtained from the N cost values Obtained, M is a positive integer less than N;
  • the processing unit 830 is further configured to update parameters of the encoding network and/or the decoding network according to the second cost vector.
  • the M cost values are the M cost values with smaller costs among the N cost values.
  • processing unit 830 is specifically configured to:
  • the parameters of the encoding network and/or the decoding network are updated using a backpropagation algorithm.
  • the reconstructed pixels include at least part of pixels in at least one row of pixels above, left, upper left, lower left, and upper right of the current block.
  • the current block includes a coding unit CU or a prediction unit PU.
  • the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, details are not repeated here.
  • the device 800 for training a model may correspond to the corresponding body that executes the method 500 of the embodiment of the present application, and the aforementioned and other operations and/or functions of each module in the device 800 for training a model are for realizing For the sake of brevity, the corresponding processes in each method in FIG. 11 will not be repeated here.
  • the functional modules may be implemented in the form of hardware, may also be implemented by instructions in the form of software, and may also be implemented by a combination of hardware and software modules.
  • each step of the method embodiment in the embodiment of the present application can be completed by an integrated logic circuit of the hardware in the processor and/or instructions in the form of software, and the steps of the method disclosed in the embodiment of the present application can be directly embodied as hardware
  • the decoding processor is executed, or the combination of hardware and software modules in the decoding processor is used to complete the execution.
  • the software module may be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, and registers.
  • the storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps in the above method embodiments in combination with its hardware.
  • FIG. 15 is a schematic block diagram of an electronic device 900 provided by an embodiment of the present application.
  • the electronic device 900 may include:
  • a memory 910 and a processor 920 the memory 910 is used to store computer programs and transmit the program codes to the processor 920 .
  • the processor 920 can invoke and run a computer program from the memory 910, so as to implement the method in the embodiment of the present application.
  • the processor 920 may be configured to execute the steps in the above method 300, or the steps in the method 400, or the steps in the method 500 according to the instructions in the computer program.
  • the processor 920 may include but not limited to:
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the memory 910 includes but is not limited to:
  • non-volatile memory can be read-only memory (Read-Only Memory, ROM), programmable read-only memory (Programmable ROM, PROM), erasable programmable read-only memory (Erasable PROM, EPROM), electronically programmable Erase Programmable Read-Only Memory (Electrically EPROM, EEPROM) or Flash.
  • the volatile memory can be Random Access Memory (RAM), which acts as external cache memory.
  • RAM Static Random Access Memory
  • SRAM Static Random Access Memory
  • DRAM Dynamic Random Access Memory
  • Synchronous Dynamic Random Access Memory Synchronous Dynamic Random Access Memory
  • SDRAM double data rate synchronous dynamic random access memory
  • Double Data Rate SDRAM, DDR SDRAM double data rate synchronous dynamic random access memory
  • Enhanced SDRAM, ESDRAM enhanced synchronous dynamic random access memory
  • SLDRAM synchronous connection dynamic random access memory
  • Direct Rambus RAM Direct Rambus RAM
  • the computer program can be divided into one or more modules, and the one or more modules are stored in the memory 910 and executed by the processor 920 to complete the encoding or decoding method.
  • the one or more modules may be a series of computer program instruction segments capable of accomplishing specific functions, and the instruction segments are used to describe the execution process of the computer program in the electronic device 900 .
  • the electronic device 900 may further include:
  • a transceiver 930 which can be connected to the processor 920 or the memory 910 .
  • the processor 920 can control the transceiver 930 to communicate with other devices, specifically, can send information or data to other devices, or receive information or data sent by other devices.
  • Transceiver 930 may include a transmitter and a receiver.
  • the transceiver 930 may further include antennas, and the number of antennas may be one or more.
  • bus system includes not only a data bus, but also a power bus, a control bus and a status signal bus.
  • a decoder including a processor and a memory, the memory is used to store a computer program, and the processor is used to call and run the computer program stored in the memory, so that the decoder performs The decoding method of the above method embodiment.
  • an encoder including a processor and a memory, the memory is used to store a computer program, and the processor is used to call and run the computer program stored in the memory, so that the encoder performs The encoding method of the foregoing method embodiment.
  • a codec system including the above coder and decoder.
  • a computer storage medium on which a computer program is stored, and when the computer program is executed by a computer, the computer can execute the method of the above method embodiment.
  • the embodiments of the present application further provide a computer program product including instructions, and when the instructions are executed by a computer, the computer executes the methods of the foregoing method embodiments.
  • a computer program product or computer program comprising computer instructions stored in a computer readable storage medium.
  • the processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the method of the above method embodiment.
  • the computer program product includes one or more computer instructions.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, e.g. (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) to another website site, computer, server or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center integrated with one or more available media.
  • the available medium may be a magnetic medium (such as a floppy disk, a hard disk, or a magnetic tape), an optical medium (such as a digital video disc (digital video disc, DVD)), or a semiconductor medium (such as a solid state disk (solid state disk, SSD)), etc.
  • B corresponding to A means that B is associated with A.
  • B may be determined from A.
  • determining B according to A does not mean determining B only according to A, and B may also be determined according to A and/or other information.
  • At least one means one or more
  • plural means two or more than two.
  • “and/or” describes the association relationship of associated objects, indicating that there may be three types of relationships, for example, A and/or B, which may indicate: A exists alone, A and B exist simultaneously, and B exists alone, among them A and B can be singular or plural.
  • the character “/” generally indicates that the contextual objects are an “or” relationship.
  • “At least one of the following” or similar expressions refer to any combination of these items, including any combination of single or plural items.
  • At least one item (piece) of a, b, or c can represent: a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, c can be single or multiple .
  • modules and algorithm steps of the examples described in conjunction with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed by hardware or software depends on the specific application and design constraints of the technical solution. Skilled artisans may use different methods to implement the described functions for each specific application, but such implementation should not be regarded as exceeding the scope of the present application.
  • the disclosed devices, devices and methods can be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the modules is only a logical function division. In actual implementation, there may be other division methods.
  • multiple modules or components can be combined or can be Integrate into another system, or some features may be ignored, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or modules may be in electrical, mechanical or other forms.
  • a module described as a separate component may or may not be physically separated, and a component displayed as a module may or may not be a physical module, that is, it may be located in one place, or may also be distributed to multiple network units. Part or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. For example, each functional module in each embodiment of the present application may be integrated into one processing module, each module may exist separately physically, or two or more modules may be integrated into one module.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请实施例提供了一种解码方法、编码方法、解码器、编码器和编解码系统。该解码方法包括:从码流中获取帧内预测模式参数,所述帧内预测模式参数用于指示使用自编码器模式确定帧内预测值;从码流中获取第一当前块的第一特征信息,所述第一特征信息的元素是根据二值化方式进行处理得到的;获取已重建像素的重建值;将所述第一特征信息和所述重建值输入自编码器的解码网络,得到所述第一当前块的第一预测值。通过采用二值化方式,对自编码器的编码网络输出的数据类型为浮点数的特征信息直接进行取整量化,可以灵活的进行帧内预测,并且有助于提高视频编解码性能,以及提升视频编解码的效率。

Description

解码方法、编码方法、解码器、编码器和编解码系统 技术领域
本申请实施例涉及视频编解码领域,并且更具体地,涉及解码方法、编码方法、解码器、编码器和编解码系统。
背景技术
数字视频压缩技术主要是将庞大的数字影像视频数据进行压缩,以便于传输以及存储等。随着互联网视频的激增以及人们对视频清晰度的要求越来越高,尽管已有的数字视频压缩标准能够节省不少视频数据,但目前仍然需要追求更好的数字视频压缩技术,以减少数字视频传输的带宽和流量压力。
目前,联合视频研究组(Joint Video Exploration Team,JVET)提出了下一代视频编码标准H.266/多功能视频编码(Versatile Video Coding,VVC)。如何进一步提高视频编解码的性能是亟待解决的问题。
发明内容
本申请实施例提供了一种解码方法、编码方法、解码器、编码器和编解码系统,能够有助于提高视频编解码性能,以及提升视频编解码的效率。
第一方面,提供了一种解码方法,该方法包括:
从码流中获取帧内预测模式参数,所述帧内预测模式参数用于指示使用自编码器模式确定帧内预测值;
从所述码流中获取第一当前块的第一特征信息;
获取已重建像素的重建值;
将所述第一特征信息和所述重建值输入自编码器的解码网络,得到所述第一当前块的第一预测值。
可选的,所述第一特征信息的元素是根据二值化方式进行处理得到的。
第二方面,提供了一种编码方法,其特征在于,包括:
确定第一当前块的符合自编码器的编码网络输出的特征信息的元素的特征信息组合,其中,所述特征信息的元素是根据二值化取值方式确定的;
对所述特征信息组合与预先配置的帧内预测模式进行率失真代价比较,确定所述第一当前块的帧内预测模式参数;
根据所述第一当前块的帧内预测模式参数,确定所述第一当前块的帧内预测值;
将所述帧内预测模式参数写入码流。
第三方面,提供了一种训练模型的方法,包括:
获取第一训练样本集,所述第一训练样本集包括第一样本图像;
将所述第一训练样本集输入自编码器,得到所述第一样本图像的当前块的预测值,其中,所述自编码器包括编码网络和解码网络,所述编码网络用于提取所述当前块的特征信息,所述解码网络用于根据已重建像素值和所述特征信息,得到所述预测值;
根据所述预测值和所述当前块的原始值,确定第一代价向量,其中,所述第一代价向量中包括N个代价值,N为大于1的正整数;
根据所述第一代价向量,确定第二代价向量,其中所述第二代价向量包括M个代价值,所述M个代价值是从所述N个代价值中获取的,M为小于N的正整数;
根据所述第二代价向量,对所述编码网络和/或所述解码网络的参数进行更新。
第四方面,提供了一种解码器,包括:
获取单元,用于从码流获取帧内预测模式参数,所述帧内预测模式参数用于指示使用自编码器模式确定帧内预测值;
所述获取单元还用于从所述码流中获取第一当前块的第一特征信息;
所述获取单元还用于获取已重建像素的重建值;
自编码器,包括解码网络,用于将所述第一特征信息和所述重建值输入所述解码网络,得到所述第一当前块的第一预测值。
第五方面,提供了一种编码器,包括:
处理单元,用于确定第一当前块的符合自编码器的编码网络输出的特征信息的元素的特征信息组合,其中,所述特征信息的元素是根据二值化取值方式确定的;
所述处理单元还用于对所述特征信息组合与预先配置的帧内预测模式进行率失真代价比较,确定所述第一当前块的帧内预测模式参数;
帧内预测单元,用于根据所述第一当前块的帧内预测模式参数,确定所述第一当前块的帧内预测值;
预测模式参数编码单元,用于将所述帧内预测模式参数写入码流。
第六方面,提供了一种训练模型的装置,包括:
获取单元,用于获取第一训练样本集,所述第一训练样本集包括第一样本图像;
自编码器,用于将所述第一训练样本集输入所述自编码器,得到所述第一样本图像的当前块的预测值,其中,所述自编码器包括编码网络和解码网络,所述编码网络用于提取所述当前块的特征信息,所述解码网络用于根据已重建像素值和所述特征信息,得到所述预测值;
处理单元,用于根据所述预测值和所述当前块的原始值,确定第一代价向量,其中,所述第一代价向量中包括N个代价值,N为大于1的正整数;
所述处理单元还用于根据所述第一代价向量,确定第二代价向量,其中所述第二代价向量包括M个代价值,所述M个代价值是从所述N个代价值中获取的,M为小于N的正整数;
所述处理单元还用于根据所述第二代价向量,对所述编码网络和/或所述解码网络的参数进行更新。
第七方面,提供了一种电子设备,包括处理器和存储器。该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,执行上述第一方面或第二方面或第三方面中的方法。
第八方面,提供了一种编解码系统,其特征在于,包括第四方面的解码器和第五方面的编码器。
第九方面,提供了一种芯片,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如上述第一方面或第二方面或第三方面的方法。
第十方面,提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序使得计算机执行上述第一方面或第二方面或第三方面中的方法。
第十一方面,提供了一种计算机程序产品,包括计算机程序指令,所述计算机程序指令使得计算机执行上述第一方面或第二方面或第三方面的方法。
第十二方面,提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面或第三方面的方法。
通过上述技术方案,在使用自编码器模式确定帧内预测值时,通过采用二值化取整方式,对自编码器的编码网络输出的数据类型为浮点数的特征信息直接进行取整量化,从而可以灵活的进行帧内预测,并且有助于提高视频编解码性能,以及提升视频编解码的效率。
附图说明
图1是本申请实施例提供的编码器的示意性框图;
图2是本申请实施例提供的解码器的示意性框图;
图3是H.266/VVC的帧内预测模式的一个示例;
图4是MIP生成预测值的过程的一个示例;
图5是根据本申请实施例的编码网络提取特征信息的一个示意图;
图6是根据本申请实施例的解码网络获取预测信号的一个示意图;
图7是一种Sigmoid激活函数的一个示意图;
图8是另一种Sigmoid激活函数的一个示意图;
图9是本申请实施例提供的一种解码方法的示意性流程图;
图10是本申请实施例提供的一种编码方法的示意性流程图;
图11是本申请实施例提供的一种训练模型的方法的示意性流程图;
图12是本申请实施例提供的一种解码器的示意性框图;
图13是本申请实施例提供的一种编码器的示意性框图;
图14是本申请实施例提供的一种训练模型的装置的示意性框图;
图15是本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。针对本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请适用于视频编解码领域。首先,结合图1和图2对本申请实施例的可适用的编解码框架进行说明。其中,该编解码框架为目前统一的视频编解码标准采用的基于块的混合编解码框架,例如 VTM8的通用编解码框架。
图1是本申请实施例提供的编码器100的示意性框图。如图1所示,编码器100可以包括预测单元110、变换、量化单元120、反量化、逆变换单元130、环路滤波单元140、解码图片缓存(Decoded Picture Buffer,DPB)单元150和熵编码单元160。
可选的,在编码器100中,一个视频片,一帧图片或一系列图片会被划分成以编码树单元(coding tree unit,CTU)的基本单元,以此为基础进一步被划分成以更小的编码单元(Coding Unit,CU)为单位的块。CU可能还会被划分预测单元(prediction unit,PU)等,不做限定。编码块可以被传送到预测单元110。通常,预测单元110可以包括运动估计(estimation)和补偿(compensation)单元111和帧内预测单元112组成。预测单元102可使用运动估计和补偿单元111获取当前块(例如CU)的帧间预测值。帧内预测单元112可使用获取当前块的帧内预测值,例如基于导出模式方式获取帧内预测值等。
由于视频的一个帧中的相邻像素之间存在很强的相关性,在视频编解码技术中使用帧内预测的方法能够有助于消除相邻像素之间的空间冗余。由于视频中的相邻帧之间存在着很强的相似性,在视频编解码技术中使用帧间预测方法能够有助于消除相邻帧之间的时间冗余,从而提高编码效率。
预测单元110输出当前块的预测值,之后可以使用加法器计算当前块的原始值和当前块的预测值之间的差值,即残差值。变换、量化单元120可以读取残差值并对残差值执行一个或多个变换操作以获取系数,进一步对系数进行量化并输出量化系数(即水平)。反量化、逆变换单元130对量化系数执行缩放操作以输出重构系数,进一步可以执行一个或多个逆变换并输出残差值。然后,可以使用加法器对反量化、逆变换单元130输出的残差值和来自预测单元110的当前块的预测值相加而计算出重建值。还可以将重建值输出到预测单元110以用作帧内预测参考。在图像片中的所有块被重建之后,环路滤波单元140对重建图像执行环路滤波。
环路滤波单元140的输出是解码图像,这些解码图像缓存至解码图片缓存(Decoded Picture Buffer,DPB)单元150。DPB单元150根据时序和控制信息输出解码图像。这里,存储在DPB单元150中的图片还可用作预测单元110执行帧间预测或帧内预测的参考。最后熵编码单元160将来自编码器100中解码图片所必需的参数(比如块划分信息,预测、变换、量化、熵编码、环路滤波等模式信息或者参数信息等)写入码流中,即编码器100最终输出码流。
进一步地,编码器100可以是具有处理器和包括计算机程序的存储器。当处理器读取并运行计算机程序时,编码器100读取输入视频并生成对应的码流。另外,编码器100还可以是具有一个或多个芯片的计算设备。在芯片上实现为集成电路的这些单元具有与图1中相应单元类似的连接和数据交换功能。
图2是本申请实施例提供的一种解码器200的示意性框图。如图2所示,该解码器200可以包括:解析单元210、预测单元220、缩放、变换单元230、环路滤波单元240和解码图片缓存单元250。
其中,解码器200的输入码流可以是编码器100所输出的码流。解析单元210对输入码流进行解析,例如根据已有信息进行分析确定与编码端相同的块划分信息,预测、变换、量化、熵编码、环路滤波等模式信息或者参数信息,从而保证编码端获得的重建图像和解码端获得的解码图像相同。解析单元210将获取的信息发送到解码器200中的单元,例如预测单元220和缩放单元230。
预测单元220确定当前解码块(例如CU或PU)的预测值。这里,预测单元220可以包括运动估计和补偿单元221和帧内预测单元222。具体地,当指示帧间解码模式用于对当前解码块进行解码时,预测单元220将来自解析单元210的相关参数传递到运动估计和补偿单元221以获取帧间预测值;当指示帧内预测模式用于对当前解码块进行解码时,预测单元220将来自解析单元210的相关参数传送到帧内预测单元222以获取帧内预测值。
缩放、变换单元230对来自解析单元210的量化系数(即水平)执行缩放操作以获取重构系数,并执行一个或多个变换操作以获取残差值。可以使用加法器对来自预测单元220的预测值和来自缩放、变换单元230的残差值执行相加操作以获取当前解码块的重建值。重建值还可以发送到预测单元220以用作在帧内预测模式下编码的其它块的参考。
在图像中的所有块被重建之后,环路滤波单元240对重建图像执行环路滤波。这里,环路滤波单元240的输出是解码图像,解码图像缓存至解码图像缓存单元250。解码图像缓存单元250根据时序和控制信息输出解码图像。存储在解码图像缓存单元250中的图像还可用作通过预测单元220执行帧间预测或帧内预测的参考。
进一步地,解码器200可以是具有处理器和包括计算机程序的存储器。当处理器读取并运行计算机程序时,解码器200读取输入码流并生成对应的解码视频。另外,解码器200还可以是具有一个或多个芯片的计算设备。在芯片上实现为集成电路的这些单元具有与图2中相应单元类似的连接和数据 交换功能。
需要说明的是,以上结合图1或图2描述了基于块的混合编码框架下的视频编解码器的基本流程,该编解码框架或基本流程仅用于说明本申请实施例而非限定。例如,随着技术的发展,该框架或流程的一些模块或步骤可能会被优化。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
在本申请实施例中,当前块(current block)即当前编码块,指的是当前编码单元CU,或预测单元PU,或者其他编码块,不做限定。
为便于更好的理解本申请实施例,对本申请实施例涉及的帧内预测模式进行说明。
在编码器100的帧内预测单元112或解码器200的帧内预测单元222中,通常借助各种角度模式与非角度模式对当前编码块进行预测得到预测值,根据预测值与原始块计算得到的率失真信息,筛选出当前编码单元的预测模式,后将该预测模式经码流传输到解码端。解码端解析出预测模式,预测得到当前解码块的预测图像并叠加经码流传输而来的残差像素,即可得到重建图像。经过历代的数字视频编解码标准发展,非角度模式保持相对稳定,有均值模式和平面(Planar)模式;角度模式则随着数字视频编解码标准的演进而不断增加,以国际数字视频编码标准H系列为例,H.264/AVC标准仅有8种角度预测模式和1种非角度预测模式;H.265/HEVC扩展到33种角度预测模式和2种非角度预测模式;在H.266/VVC中,帧内预测模式有Planar模式,DC模式和65种角度模式,图3示出了H.266/VVC的67中帧内预测模式的示意图。其中,对于亮度分量有矩阵加权帧内预测(Matrix-weighted Intra Prediction,MIP)模式,对于色度分量,有交叉分量线性模型(Cross Component Linear Model,CCLM)预测模式。
在MIP技术中,对于一个宽度为W,高度为H的矩形预测块,MIP会选取该块上方一行的W个重建像素点和左侧一列的H个重建像素点作为输入。如果这些位置的像素还未被重建,则未重建位置的像素会被置为默认值,例如对于10bit的像素,填充的默认值为512。MIP产生预测值主要基于三个步骤,如图4所示,分别是:(1)参考像素取均值,比如对当前块上方的一行像素点(表示为bdry top)和当前块左侧的一行像素点(表示为bdry left)取均值得到参考像素均值(表示为bdry red);(2)矩阵向量相乘,比如A k·bdry red+b k,其中,A k是训练好的第k个权重矩阵,b k是训练的第k个偏置值;(3)线性插值上采样。
MIP作用于4x4至64x64大小的块。对于一个长方形的预测块,MIP模式会根据矩形边长来选择合适的预测矩阵。例如,对于短边为4的矩形,共有16套矩阵参数供选择;对于短边为8的矩形,共有8套矩阵参数供选择;其他矩形,共有6套矩阵参数供选择。MIP会利用供选择的矩阵进行预测,代价最小的一个矩阵的索引将会写入码流供解码端读取矩阵参数用于预测。
在一些实施例中,将基于自编码器的帧内预测作为帧内预测模式的一种移植进传统编解码器。针对不同大小的编码块可以分别训练出多种自编码器。
为便于更好的理解本申请实施例,下面对本申请实施例涉及的自编码器进行说明。
自编码器包括一组编码网络(g a)和解码网络(g s)。图5示出了利用编码网络提取特征信息的过程的一个示意图,图6示出了利用解码网络得到预测信号的过程的一个示意图。其中,图5和图6以一个4×4的块为例进行说明。
如图5所示,4×4的块X中的原始像素经过预处理(包括但不限于去均值、归一化、重排列)得到
Figure PCTCN2021129862-appb-000001
Figure PCTCN2021129862-appb-000002
输入非线性的编码网络g a得到特征信息(feature)q,非线性编码网络g a可以包括卷积层、全连接层和非线性激活函数等,不做限定。如图6所示,4×4的块周围已重建的像素值R经过预处理(包括但不限于去均值、归一化、重排列等)得到
Figure PCTCN2021129862-appb-000003
和特征信息q输入非线性的解码网络g s得到
Figure PCTCN2021129862-appb-000004
Figure PCTCN2021129862-appb-000005
经过后处理(包括但不限于加均值,去归一化,重排列等)得到预测信号Y。非线性解码网络g s可以包括卷积层,全连接层和非线性激活函数等,不做限定。
在编码端,在符合解码端所描述的语法元素设计的情况下,将可能的特征信息组合与其他帧内预测模式一同进行率失真代价比较,代价最小的模式作为当前块所选中的帧内预测模式。如果代价最小的模式为自编码器模式,则需要进一步编码相关的特征信息语法元素。
在解码端,解码器解析当前块的语法元素,当解析到当前块的帧内预测模式选中自编码器帧内预测模式时,进一步从码流中解析出当前块的特征信息。在解码的预测阶段,通过当前块周围的已重建像素与解码出的feature信息对当前块使用自编码器的解码网络进行预测,得到预测信号。
在自编码器的处理过程中,特征信息的数据类型为浮点型。但是,在使用自编码器进行编解码时,由于特征信息需要存入码流,因此特征信息需要量化为整数。考虑到网络的鲁棒性,需要自编码器训练过程中的特征信息尽可能与实际使用时相近,因此在自编码器训练过程中需要将特征信息量化为整数。
作为一种可能的实现方式,可以通过激活函数限制编码网络的输出范围。一个示例,图7中的Sigmoid激活函数可以将编码网络的输出范围限制在0~1之间,其中该Sigmoid的计算公式如下:
Figure PCTCN2021129862-appb-000006
另一个示例,图8中的Sigmoid激活函数可以将编码网络的输出范围限制在-1~1之间,其中该Sigmoid的计算公式如下:
Figure PCTCN2021129862-appb-000007
其中,对于图8,公式(2)中的n取值为10。
以连续分布的,经过图7中的Sigmoid激活函数输出的范围为0~1的浮点数为例,取整结果可为0或1。对于这样的取整后的数,可以使用一位二元符号表示。并且,该一位二元符号可以写入码流或从码流中读取。
以连续分布的,经过图8中Sigmoid激活函数输出的范围为-1~1的浮点数为例,取整结果可为-1,0或1。对于这样的取整后的数,可以首先用一位二元符号表示取整后的数是否为0;若不是0,则再用一位二元符号表示该取整后的数的正负。并且,该一位二元符号或二位二元符号可以写入码流或从码流中读取。例如编写或读取0表示0,编写或读取10表示-1,编写或读取11表示1。
在一些实施例中,可以通过对激活函数的输出乘a和/或加b的形式,对激活函数的输出进行放大或缩小。例如可以在图7中的Sigmoid激活函数输出的结果上乘2,则可以使限制的范围从0~1变为0~2;进一步可以在该Sigmoid激活函数输出的结果上乘2后减1,则可以使限制的范围从0~1变为-1~1。这样的操作可以使激活函数的输出满足特定的编码方法。
作为一种可能的实现方式,可以对经过激活函数后的限定取值范围的输出结果通过如下两种方式取整:
1)通过加上随机分布的(-0.5,05)的噪声;
2)对浮点数进行四舍五入取整。
在上述两种取整方式的反向传播过程中,方式2)的梯度需要进行重新定义。通常,可以将方式2)的梯度定义为1。示例性的,以Sigmoid激活函数限制编码网络的输出范围为例,正向传播可以表示为如下公式:
Figure PCTCN2021129862-appb-000008
反向传播可以表示为如下公式:
B′(x)=S′(x)             (4)
其中,B(x)表示取整数运算,S(x)表示Sigmoid函数,
Figure PCTCN2021129862-appb-000009
表示四舍五入运算。可以看到,在公式(4)中,反向传播时B(x)的梯度为S(x)的梯度,即S′(x)·1。
可以看到,上述取整方式1)和方式2)中,需要通过激活函数对编码网络的输出的取值范围进行限定,并且只能在限定范围的输出结果上执行方式1)或方式2)的取整操作。另外,本申请实施例提供了一种编解码方案,可以采用二值化方式(也可以称为二值化取整方式),对自编码器的编码网络输出的数据类型为浮点数的特征信息直接进行取整量化,从而可以灵活地进行帧内预测。
以下结合附图详细描述本申请实施例提供的编码方法和解码方法。
图9示出了本申请实施例提供的一种解码方法300的示意性流程图。方法300可以应用于解码器,例如图2中的解码器200。进一步的,方法300可以应用于解码器200中的帧内预测单元222。如图9所示,方法300包括步骤310至步骤340。
310,从码流中获取帧内预测模式参数,所述帧内预测模式参数用于指示使用自编码器模式确定帧内预测值。
示例性的,可以由图2中的解析单元210从码流中获取帧内预测模式参数。例如,可以获取当前块的预测模式参数,该预测模式参数用于指示使用自编码器模式确定该当前块的帧内预测值。本申请实施例中,当前块可以指当前正在进行编码的块或编码块,例如当前CU、当前PU或其他等,不做限定。当前块也可以替换为“编码块”、“块”、“当前编码块”等,均可以表示相同或相似的含义。
在一些实施例中,编码器可以确定当前块是否使用自编码器模式。可选的,编码器可以在码流中传输指示当前块是否使用自编码器模式的信息,即预测模式参数。示例性的,在符合解码端所描述的语法元素设计的情况下,将可能的特征信息组合与其他帧内预测模式一同进行率失真代价比较,代价最小的模式作为当前块所选中的帧内预测模式。如果代价最小的模式为自编码器模式,则可以确定当前块使用自编码器确定当前块的帧内预测值。可选的,编码器还需要进一步编码相关的特征信息语法元素。否则,编码器确定当前块不使用自编码器模式来预测当前块的帧内预测值。
在一些实施例中,解码器可以确定当前块是否使用自编码器模式。例如,解码器可以获取输入码 流,并从该码流中获取指示当前块是否使用自编码器模式的信息,即预测模式参数。本申请书实施例中,预测模式参数用于指示当前块使用自编码器模式确定当前块的帧内预测值。在另一些实施例中,预测模式参数可以指示当前块使用其他帧内预测模式确定当前块的帧内预测值,例如上文中的MIP模式等,不做限定。
320,从所述码流中获取第一当前块的第一特征信息。可选的,所述第一特征信息的元素是根据二值化方式进行处理(即取整)得到的。
示例性的,当解码器在确定第一当前块的预测模式参数指示使用自编码器模式确定帧内预测值时,解析单元210可以进一步从码流中解析第一当前块的第一特征信息。本申请实施例中,该第一特征信息是(比如解码端)根据二值化方式对自编码器的编码网络输出的特征信息进行取整得到的。作为示例,第一当前块可以为当前CU,或当前PU,不做限定。
示例性的,解码端可以将第一当前块(即第一当前块的原始像素)输入自编码器的编码网络,通过该编码网络对第一当前块进行特征提取,得到该编码网络输出的特征信息,然后对该编码网络输出的特征使用二值化方式进行取整,得到上述第一特征信息。
作为示例,编码网络可以为非线性编码网络,例如可以包括至少一个卷积层、全连接层和非线性激活函数等,不做限定。可选的,在将第一当前块输入编码网络之前,可以对该第一当前块进行预处理(比如通过第一预处理模块进行预处理),例如包括但不限于去均值、归一化、重排列等,不做限定。作为示例,利用编码网络得到特征信息的过程可以参见图6中的描述。
在一些可选的实施例中,在编码网络输出的特征信息小于0的情况下,使用二值化方式对该小于0的特征信息进行取整,可以得到第一特征信息为-1。
在编码网络输出的特征信息大于或等于0的情况下,使用二值化方式对该大于或等于0的特征信息进行取整,可以得到第一特征信息为1。
示例性的,该二值化方式可以为下述公式(3):
Figure PCTCN2021129862-appb-000010
其中,x表示输入值,例如可以为自编码器中的编码网络的输出结果,f(x)表示对x的取整结果,例如可以为上述第一特征信息。
也就是说,本申请实施例中,该第一特征信息的元素可以为-1或1,其中,该元素为-1表示编码网络输出的特征信息小于0,该元素为1表示所述编码网络输出的特征信息大于或等于0。
因此,本申请实施例中,通过采用二值化方式,对自编码器的编码网络输出的数据类型为浮点数的特征信息直接进行取整量化,而不需要使用激活函数对编码网络的输出的取值范围进行限制,从而可以灵活的进行帧内预测。
需要说明的是,本申请实施例以二值化方式中取整结果中的元素为-1或1为例进行描述,但是本申请实施例并不限于此,即该元素还可以为其他取值,例如0,或者2,-2等,这些都落入本申请实施例的保护范围。
在一些可选的实施例中,对所述第一特征信息的元素编码后得到的语法元素包括二元码0或1。也就是说,从码流中得到的第一特征信息的语法元素为二元码0或1。示例性的,第一特征信息的语法元素为0可以对应元素为-1,语法元素为1可以对应元素为1,或者反之,不做限定。
330,获取已重建像素的重建值。
示例性的,已重建像素例如包括第一当前块的上方、左侧、左上、左下、右上方的至少一行像素中的至少部分像素点。
在一些示例中,已重建像素可以包括当前块的邻近的参考行的重建像素,本申请对此不做限定。
340,将所述第一特征信息和所述重建值输入自编码器的解码网络,得到所述第一当前块的第一预测值。
示例性的,解码网络可以为非线性解码网络,例如可以包括至少一个卷积层、全连接层和非线性激活函数等,不做限定。可选的,在获取已重建像素的重建值后,可以对该重建值进行预处理(例如通过第二预处理模块进行预处理),例如包括但不限于去均值、归一化、重排列等,不做限定。可选的,对于解码网络输出的预测信号,可以进行后处理(例如通过后处理模块进行预处理),例如包括但不限于去均值、归一化、重排列等,不做限定。作为示例,利用解码网络得到预测值的过程可以参见图6中的描述。
因此,本申请实施例在使用自编码器模式确定帧内预测值时,通过采用二值化方式,对自编码器的编码网络输出的数据类型为浮点数的特征信息直接进行取整量化,而不需要使用激活函数对编码网络的输出的取值范围进行限制,从而可以灵活的进行帧内预测,进而可以有助于提高视频编解码性能,以及提升视频编解码的效率。
在一些可选的实施例中,在使用自编码器进行帧内预测之前,需要对解码端或编码端的自编码器进行训练。在训练自编码器的过程中,可以使用上述二值化方式,对自编码器中的编码网络输出的特征信息进行取整。
作为训练自编码器的一种可能的实现方式,可以获取第一训练样本集,该第一训练样本集包括第一样本图像;将该第一训练样本集输入自编码器中的编码网络,得到该编码网络输出的第一样本图像的第二当前块的特征信息。然后,根据二值化方式,对编码网络输出的第二当前块的特征信息进行取整,得到第二当前块的第二特征信息。之后,可以将该第二特征信息和第一样本图像的已重建像素的重建值输入自编码器中的解码网络,得到第二当前块的第二预测值。最后,可以根据第二预测值和第二当前块的原始值,对编码网络和/或解码网络的参数进行更新。作为示例,第二当前块可以为当前CU,或当前PU,不做限定。
在一些可选的实施例中,在编码网络输出的第二当前块的特征信息小于0的情况下,上述第二特征信息为-1;在上述编码网络输出的所述第二当前块的特征信息大于或等于0的情况下,所述第二特征信息为1。具体的,二值化方式可以参考步骤320中的描述,不再赘述。
在一些可选的实施例中,作为一种参数进行更新的方式,可以根据上述第二预测值和第二当前块的原始值,利用反向传播算法,对编码网络和/或解码网络的参数进行更新,其中,该二值化方式的反向传播的梯度是根据所述编码网络输出的所述第二当前块的特征信息的取值确定的。这里,该编码网络输出的第二当前块的特征信息是未进行取整的特征信息,即取整之前的特征信息。
作为一种可能的实现方式,在编码网络输出的第二当前块的取整前的特征信息大于1或小于-1的情况下,该二值化方式的反向传播的梯度定义为0;在编码网络输出的第二当前块的取整前的特征信息小于或等于1,且大于或等于-1的情况下,该二值化方式的反向传播的梯度定义为1。
示例性的,该二值化方式的反向传播的梯度可以为下述公式(4):
Figure PCTCN2021129862-appb-000011
其中,x表示输入值,例如可以为自编码器中的编码网络的输出结果,f′(x)表示f(x)的反向传播的梯度。
在上述公式(4)中,为了防止在x>1或x<-1时,反向传播的梯度f′(x)过大导致的一次更新的参数过多,可以通过定义f′(x)=0来截断参数的更新,从而提高网络的鲁棒性。
因此,本申请实施例在训练自编码器的过程中,通过二值化方式,可以对自编码器的编码网络输出的数据类型为浮点数的特征信息直接进行取整量化,使得自编码器的训练过程中的特征信息与实际使用时接近,从而有助于提高自编码器的鲁棒性。
在一些实施例中,对于图像中某一个位置的编码块,如果其包含的细节没有明显的特征,那么该编码块是不易预测的。作为一种方式,编码器可以决策当前块继续划分为易于预测的编码块。但是,对于一个内容丰富的预测集,总有一些编码块是不易于帧内预测的。如果这些编码块作为训练集的一部分,往往会导致训练出的网络模型的效果不佳。因此,需要对训练集中的数据进行筛选。
现有一种训练数据筛选的方法,对于划分出的形状(例如不同尺寸)的块的训练集,可以使用HEVC编码器对数据集进行编码,对HEVC划分出的该形状的块作为候选的训练集。计算候选训练集的过程中,对HEVC选中的帧内预测模式预测出的编码块与该编码块的原始块之间的均方误差(Mean Squared Error,MSE)进行统计。在该方法中,认为MSE较大的块不易预测,从而将大于平均MSE的块从数据集中取出,将剩下的块作为训练集。该方法在一定程度上可以有效取出对于传统的帧内预测模式而言难以预测的块。但是,这些块对于包含神经网络的编解码架构而言未必难以预测。
示例性的,神经网络在训练的过程中,通常采用梯度下降法对网络权重参数进行更新。通过训练每迭代一次,网络权重也随之更新,而每一次迭代包含了神经网络当前权重在一部分训练样本上进行推断,并根据该推断结果和损失函数计算误差,进而根据误差进行反向传播来对权重更新。这里该过程中的该部分样本可以称为一个batch。其中根据网络前向传播的计算误差通常将一个batch中的每个样本的代价以同样的权重相加或求均值,从而得到一个标量代价,并根据该标量代价对神经网络进行训练/调优。
在一些可选的实施例中,可以根据一个batch中的样本的代价,对该batch中的样本进行筛选,选择其中一部分样本对自编码器的进行训练,即参数更新。
作为一种可能的实现方式,可以根据上述第二当前块的第二预测值和该第二当前块的原始值,确定第一代价向量,其中,该第一代价向量中包括N个代价值,N为大于1的正整数。然后可以根据该第一代价向量,确定第二代价向量,其中该第二代价向量包括M个代价值,该M个代价值是从上述N个代价值中获取的,M为小于N的正整数。然后,可以根据该第二代价向量,对编码网络和/或解码网络的参数进行更新。
示例性的,N可以为上述一个batch中的样本的数量,也就是说,第一代价向量中可以包括一个batch中所有样本的代价。进一步的,上述M个代价值可以对应从一个batch中的N个样本中选择的M个样本。因此,本申请实施例可以根据训练样本集中样本的代价,从N个样本中选择M个样本,并根据该M个样本对应的代价向量,对自编码器,比如解码网络或编码网络的参数进行更新。
作为一种可能的实现方式,上述M个代价值是N个代价值中代价较小的M个代价值。这里,可以认为代价大的样本不易预测,即代价大的样本不适用于当前网络结构下的样本,因此将代价较大的样本从样本集中取出,剩下的代价较小的样本作为训练集,实现对样本集中数据的筛选。
作为一种可能的实现方式,可以对该M个代价值进行求和或求平均值,得到上述第二代价向量的标量代价,然后根据该标量代价,利用反向传播算法对编码网络和/或所述解码网络的参数进行更新。
作为一个示例,在每次迭代的前向传播中计算batch中每个样本的代价,可以得到第一代价向量l batch,可以表示为如下公式(5):
l batch=[l 1,l 2,…,l n] T           (5)
其中,n为batch中样本的数量,l i表示第i个样本的代价,1≤i≤n,i为正整数。
然后,可以将第一代价向量l batch中的n个代价值进行排序,并舍弃该n个代价值中代价较大的一部分样本,例如代价最大的一部分样本,得到第二代价向量l′ batch。例如,可以在该n个代价值中舍弃代价较大的前20%的样本,保留代价较小的80%的样本。此时,第二代价向量l′ batch可以表示为如下公式(6):
l′ batch=[l 1′,l 2′,…,l 0.8×n′] T         (6)
此时,用于更新网络权重的标量代价l sum可表示为如下公式(7):
Figure PCTCN2021129862-appb-000012
因此,本申请实施例通过在自编码器的编码网络和/或解码网络的参数进行迭代更新的过程中,根据样本的代价在训练样本集中筛选部分样本,例如选择较小代价对应的样本的代价向量,从而有助于在样本集中删除对于神经网络而言不易于帧内预测的样本,即不适用于当前神经网络的样本,从而有助于提高视频编解码网络的帧内预测的准确性,有助于提高视频编解码性能,以及提升视频编解码的效率。
图10示出了本申请实施例提供的一种编码方法400的示意性流程图。方法400可以应用于编码器,例如图1中的解码器100。进一步的,方法400可以应用于编码器100中的帧内预测单元112。如图10所示,方法400包括步骤410至步骤450。
410,确定第一当前块的符合自编码器的编码网络输出的特征信息的元素的特征信息组合,其中,所述特征信息的元素是根据二值化方式确定的。
示例性的,二值化方式可以参见上文中的描述,不再赘述。
示例性的,符合自编码器的编码网络输出的特征信息的语法元素的特征信息组合,可以指符合根据二值化方式对编码网络输出的特征信息进行取整后的各种可能的特征信息,例如可以是所有可能的特征信息的部分或全部。作为一个具体的示例,当第一当前块的特征信息包括2个元素,且根据该特征信息的语法元素,每个元素的可能取值为1或-1时,该第一当前块的特征信息组合可能包括(1,1)、(1,-1)、(-1,1)、(-1,-1)中的至少一种。
420,对所述特征信息组合与预先配置的帧内预测模式进行率失真代价比较,确定所述第一当前块的帧内预测模式参数。例如,可以根据最小率失真代价对应的帧内预测模式作为第一当前块的帧内预测模式。
在一些实施例中,当最小率失真代价对应特征信息组合时,由于特征信息组合是自编码器模式下的特征信息组合,因此此时第一当前块的帧内预测模式可以为自编码器模式,即此时上述帧内预测模式参数用于指示使用(或根据)自编码器模式确定帧内预测值。
在另一些实施例中,当最小率失真代价对应其他帧内预测模式,例如MIP模式时,此时第一当前块的帧内预测模式可以为MIP模式,即此时上述帧内预测模式参数用于指示使用(或根据)MIP模式确定帧内预测值。
430,根据所述第一当前块的帧内预测模式参数,确定所述第一当前块的帧内预测值。
440,将所述帧内预测模式参数写入码流。
因此,本申请实施例可以通过差异二值化的方式,确定当前块的自编码器的编码网络输出的特征信息的语法元素,并确定当前块的特征信息组合,进而根据该特征信息组合,确定当前块的预测模式参数,例如是否使用自编码器模式进行帧内预测,从而可以灵活的进行帧内预测。
在一些可选的实施例中,在上述帧内预测模式参数指示使用自编码器模式确定帧内预测值的情况 下,根据第一当前块的帧内预测模式参数,确定第一当前块的帧内预测值,可以通过以下方式实现:
获取该第一当前块的第一特征信息,该第一特征信息是根据所述二值化方式进行处理得到的;
获取已重建像素的重建值;
将所述第一特征信息和所述重建值,输入自编码器的解码网络,得到所述第一当前块的第一预测值。
在一些可选的实施例中,作为获取所述第一当前块的第一特征信息的一种实现方式,可以将该第一当前块输入所述自编码器的编码网络,得到所述编码网络输出的特征信息;然后根据二值化方式,对所述编码网络输出的特征信息进行处理得到上述第一特征信息。
在一些可选的实施例中,作为获取所述第一当前块的第一特征信息,可以将最小率失真代价对应的特征信息作为上述第一特征信息。
在一些可选的实施例中,作为将所述帧内预测模式参数写入码流的一种可能的实现方式,可以将该预测模式参数和第一特征信息写入码流。在一些可选的实施例中,对所述第一特征信息的元素编码后得到的语法元素包括二元码0或1。也就是说,写入码流中的第一特征信息的语法元素为二元码0或1。示例性的,第一特征信息的元素-1写入码流对应的语法元素为0,元素1写入码流对应的语法元素为1,或者反之,不做限定。
因此,本申请实施例在使用自编码器模式确定帧内预测值时,通过采用二值化方式,对自编码器的编码网络输出的数据类型为浮点数的特征信息直接进行取整量化,而不需要使用激活函数对编码网络的输出的取值范围进行限制,从而可以灵活的进行帧内预测,进而可以有助于提高视频编解码性能,以及提升视频编解码的效率。
在一些可选的实施例中,所述根据二值化方式,对自编码器中的编码网络输出的特征信息进行处理得到所述第一当前块的第一特征信息,包括:
在自编码器中的编码网络输出的特征信息小于0的情况下,所述第一特征信息为-1;
在自编码器中的编码网络输出的特征信息大于或等于0的情况下,所述第一特征信息为1。
在一些可选的实施例中,方法400还包括:
获取第一训练样本集,所述第一训练样本集包括第一样本图像;
将所述第一训练样本集输入所述编码网络,得到所述编码网络输出的第一样本图像的第二当前块的特征信息;
根据所述二值化方式,对所述编码网络输出的所述第二当前块的特征信息进行处理,得到所述第二当前块的第二特征信息;
将所述第二特征信息和所述第一样本图像的已重建像素的重建值输入所述解码网络,得到所述第二当前块的第二预测值;
根据所述第二预测值和所述第二当前块的原始值,对所述编码网络和/或所述解码网络的参数进行更新。
在一些可选的实施例中,所述根据所述二值化方式,对所述编码网络输出的所述第二当前块的特征信息进行处理,得到所述第二当前块的第二特征信息,包括:
在所述编码网络输出的所述第二当前块的特征信息小于0的情况下,所述第二特征信息为-1;
在所述编码网络输出的所述第二当前块的特征信息大于或等于0的情况下,所述第二特征信息为1。
在一些可选的实施例中,所述根据所述第二预测值和所述第二当前块的原始值,对所述编码网络和/或所述解码网络的参数进行更新,包括:
根据所述第二预测值和所述第二当前块的原始值,利用反向传播算法,对所述编码网络和/或所述解码网络的参数进行更新,其中,所述二值化方式的反向传播的梯度是根据所述编码网络输出的所述第二当前块的特征信息的取值确定的。
在一些可选的实施例中,在所述编码网络输出的所述第二当前块的特征信息大于1或小于-1的情况下,所述二值化方式的反向传播的梯度定义为0;
在所述编码网络输出的所述第二当前块的特征信息小于或等于1,且大于或等于-1的情况下,所述二值化方式的反向传播的梯度定义为1。
在一些可选的实施例中,所述根据所述第二预测值和所述第二当前块的原始值,对所述编码网络和/或所述解码网络的参数进行更新,包括:
根据所述第二预测值和所述第二当前块的原始值,确定第一代价向量,其中,所述第一代价向量中包括N个代价值,N为大于1的正整数;
根据所述第一代价向量,确定第二代价向量,其中所述第二代价向量包括M个代价值,所述M 个代价值是从所述N个代价值中获取的,M为小于N的正整数;
根据所述第二代价向量,对所述编码网络和/或所述解码网络的参数进行更新。
在一些可选的实施例中,所述M个代价值是所述N个代价值中代价较小的M个代价值。
在一些可选的实施例中,所述根据所述第二代价向量,对所述编码网络和/或所述解码网络的参数进行更新,包括:
对所述M个代价值进行求和或求平均值,得到所述第二代价向量的标量代价;
根据所述标量代价,利用反向传播算法对所述编码网络和/或所述解码网络的参数进行更新。
在一些可选的实施例中,所述已重建像素包括所述第一当前块的上方、左侧、左上、左下、右上方的至少一行像素中的至少部分像素点。
在一些可选的实施例中,所述第一当前块包括编码单元CU或预测单元PU。
需要说明的是,本申请实施例中,编码方法400的具体流程或相关术语可以参见上文中解码方法300的流程或术语,这里不再赘述。通过本申请实施例提供的编码方法在编码器能够得到一个较好的预测效果,提高编码性能,并且相应的,对应的该解码方法在解码器也能够改善视频解码恢复质量,从而提高解码性能。示例性的,编码过程和解码过程可以使用相同的预设规则或者步骤,计算出当前块的帧内预测值。
下面详细描述本申请实施例提供的编解码方法的一个具体例子。应注意,下面的例子仅仅是为了帮助本领域技术人员理解和实现本发明的实施例,而非限制本发明实施例的范围。本领域技术人员可以根据这里给出的例子进行等价变换或修改,这样的变换或修改仍然应落入本发明实施例的范围内。
示例性的,对自编码器进行训练的训练集可以包括CLIC2020数据集(包括1633张分辨率大约2K的图片)、BVI-DVI数据集(包括800个不同分辨率的视频序列),以及COCO2017数据集(包括约11万张低分辨率的图片)。
需要说明的是,为了得到不同大小的帧内预测块的划分,本申请实施例使用VVC参考软件VTM-13.0对训练集图片采用27~47的随机量化参数进行的压缩,对划分出的{32x32,32x16,32x8,32x4,16x16,16x8,16x4,8x8,8x4,4x4}进行数据集的整理,每种块划分出的数据集随机取2000000个训练样本作为训练数据。
还需要说明的是,本申请实施例采用了对照试验的形式,对现有的自编码器的性能和本申请实施例提供的自编码器的性能进行了对比。例如,可以在现有的自编码器上实施本申请实施例提供的二值化方法,以及进一步采用本申请实施例提供的训练数据筛选的方法,以验证本申请实施例能够带来的性能提升效果。
以下结合表1、表2和表3描述该对照试验中的自编码器的网络结构。其中,表1为现有的自编码器中的编码网络结构的一个示例。
表1
隐藏层索引 隐藏层类型 输入节点数 输出节点数 激活函数
0 全连接(fully connection) W×H 256 Leaky relu
1 全连接(fully connection) 256 256 Leaky relu
2 全连接(fully connection) 256 256 Leaky relu
3 全连接(fully connection) 256 2 Sigmoid
表2为本申请实施例提供的自编码器中的编码网络结构的一个示例。
表2
隐藏层索引 隐藏层类型 输入节点数 输出节点数 激活函数
0 全连接(fully connection) W×H 256 Leaky relu
1 全连接(fully connection) 256 256 Leaky relu
2 全连接(fully connection) 256 256 Leaky relu
3 全连接(fully connection) 256 2
表3为自编码器中的解码网络结构的一个示例,其中该解码网络结构可以为现有的自编码器中的解码网络结构,还可以为本申请实施例提供的自编码器中的解码网络结构,也就是说,在该对照试验中,二种自编码器采用相同的解码网络结构。
表3
Figure PCTCN2021129862-appb-000013
在上述表1、表2和表3中,W表示该自编码器使用的编码块的宽,H表示该自编码器使用的编码块的高,N表示该自编码器使用需要的邻近的参考行的数量,输入节点中的“×2”表示分别需要2倍的宽和高的重建像素。
需要说的是,对于表1中的现有的自编码器中编码网络结构,对其输出进行Sigmoid激活后的连续分布分的特征信息采用四舍五入进行取整,或加上随机分布的噪声进行取整,因此其编码网络结构的最后一次,即第3层激活函数为Sigmoid。而对表2中的本申请提供的自编码器中的编码网络结构的输出采用本申请实施例提供的二值化方式进行取整,因此该编码网络的最后一层,即第3层的激活函数为无。
另外,在表1和表2中,编码网络结构的最后一层的输出节点数为2,表示该编码网络提取(即输出)的特征信息为包含2个元素的向量。
以下描述该对照试验中采用的训练参数设定。
为控制变量,上述对照试验中自编码器的训练均试验上述训练数据。示例性的,可以采用如下表4中的训练参数设定。
表4
Figure PCTCN2021129862-appb-000014
作为一个示例,公式(8)示出了训练损失函数
Figure PCTCN2021129862-appb-000015
的一个示例:
Figure PCTCN2021129862-appb-000016
其中,f(;θ)表示自编码器的计算输出,Y表示当前块的原始训练值,f(x;θ)表示经过自编码器预测出的当前块的预测值。这里,训练数据筛选出每个batch中的80%代价低的样本。
在自编码器训练完成之后,可以将自编码器集成到VTM参考软件。示例性的,在VTM解码端,采用本申请实施例提供的自编码器进行解码的过程与采用现有的及编码器进行解码的过程相同。例如,在解析码流阶段,解析当前块选中的帧内预测模式;当当前块选中的帧内预测模式为自编码器模式时,可以进一步解析该当前块的特征信息,比如解析该特征信息的语法元素;在预测阶段,可以将特征信息与当前块周边的重建像素(重建值)输入训练好的自编码器的解码网络得到当前块的预测值。
表5示出了特征信息中的语法元素的一个示例。在该对照试验中,可以设置本申请实施例的自编码器输出的特征信息的语法元素与现有的自编码器输出的特征信息的语法元素相同。
表5
Figure PCTCN2021129862-appb-000017
其中,Intra_ae_flag表示当前块是否选中使用自编码器模式。若选中自编码器模式,由于本申请实施例中该特征信息包含2个元素,因此可以进一步解析2个1位二元码feature[0]和feature[1]。对于该二元码feature[0]和feature[1]的取值,当采用现有的对特征信息的取整方法,比如四舍五入取整方法,或者加随机噪声的取整方法,feature[0]或feature[1]可以取值为0或1。当采用本申请实施例提供的二值化方法,则feature[0]或feature[1]可取值为-1或1。
在另一些实施例中,若采用维度更高的特征信息,例如特征信息包含3个元素,则应编码feature[0],feature[1],feature[2]等3个二元码作为特征信息中的元素。具体的,与参考特征信息包含2个二元码的元素的类似,不再赘述。
示例性的,在VTM编码端,在符合解码端所描述的特征信息的语法元素设计的情况下,可以将各种可能的特征信息组合与其他帧内预测模式一同进行率失真代价比较,代价最小的模式可以作为当前块所选中的帧内预测模式。如果代价最小的模式为自编码器模式,则需要进一步编码相关的特征信息的语法元素,例如可以参与本申请实施例提供的自编码器,或现有的自编码器获取特征信息。
以下,结合表6至表8,描述各技术方案产生的有益效果。
表6示出了对比参考软件VTM-11.0,采用现有的自编码器(即使用Sigmoid作为编码网络输出的激活函数、网络前向传播取整为四舍五入、反向传播梯度为1)时,在通用测试条件ClassA~ClassF,Qp{22,27,32,37,42}上的性能结果:
表6
Figure PCTCN2021129862-appb-000018
表7示出了对比参考软件VTM-11.0,采用本申请实施例提供的自编码器(即不经过使用Sigmoid激活函数、网络前向传播取整为二值化取整)时,在通用测试条件ClassA~ClassF,Qp{22,27,32,37,42}上的性能结果:
表7
Figure PCTCN2021129862-appb-000019
表8示出了对比参考软件VTM-11.0,采用本申请实施例提供的自编码器(即不经过使用Sigmoid激活函数、网络前向传播取整为二值化取整),以及对训练数据进行筛选(例如每个batch的大小设置为100,取80%即80个代价值较小的样本更新网络权重),在通用测试条件ClassA~ClassF,Qp{22,27,32,37,42}上的性能结果:
表8
Figure PCTCN2021129862-appb-000020
其中,上述ClassA至Class H代表不同分辨率的测试序列,Over all表示对其上面行的测试条件下的测试值的平均值,Y-PSNR所在列表示在Y分量上的性能提升,U-PSNR所在列表示在U分量上的性能提升,V-PSNR所在列表示在V分量上的性能提升,EncT表示编码时间变化,DecT表示解码时间变化。
对比上述表6和表7,可以看到本申请实施例提供的自编码器相对现有的自编码器,能够提高YUV各个分量上的视频编解码性能,并且有助于降低编码时间,因此本申请实施例通过采用二值化方式,对自编码器的编码网络输出的特征信息进行取整,一方面可以有助于提高视频编解码性能,另一方面还可以有助于提高视频编码效率。
进一步的,对比上述表7和表8,可以看到当采用本申请实施例提供的对训练数据进行筛选的方法,可以进一步提高YUV各个分量上的视频编解码性能,以及降低编码时间,因此本申请实施例通过根据代价较小的样本更新网络权重,能够进一步有助于提高视频编解码性能,以及视频编码效率。
图11示出了本申请实施例提供的一种训练自编码器的方法500的示意性流程图。如图11所示,方法500包括步骤510至步骤550。
510,获取第一训练样本集,所述第一训练样本集包括第一样本图像。
520,将所述第一训练样本集输入自编码器,得到所述第一样本图像的当前块的预测值,其中,所述自编码器包括编码网络和解码网络,所述编码网络用于提取所述当前块的特征信息,所述解码网络用于根据已重建像素值和所述特征信息,得到所述预测值。
530,根据所述预测值和所述当前块的原始值,确定第一代价向量,其中,所述第一代价向量中包括N个代价值,N为大于1的正整数。
540,根据所述第一代价向量,确定第二代价向量,其中所述第二代价向量包括M个代价值,所述M个代价值是从所述N个代价值中获取的,M为小于N的正整数。
550,根据所述第二代价向量,对所述编码网络和/或所述解码网络的参数进行更新。
在一些可选的实施例中,所述M个代价值是所述N个代价值中代价较小的M个代价值。
在一些可选的实施例中,所述根据所述第二代价向量,对所述编码网络和/或所述解码网络的参数进行更新,包括:
对所述M个代价值进行求和或求平均值,得到所述第二代价向量的标量代价;
根据所述标量代价,利用反向传播算法对所述编码网络和/或所述解码网络的参数进行更新。
在一些可选的实施例中,所述已重建像素包括所述当前块的上方、左侧、左上、左下、右上方的至少一行像素中的至少部分像素点。
在一些可选的实施例中,所述当前块包括编码单元CU或预测单元PU。
需要说明的是,本申请实施例中,训练模型的方法的具体流程可以参见上述编码方法300中对模型的训练过程的描述,这里不再赘述。
以上结合附图详细描述了本申请的具体实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。应理解这些序号在适当情况下可以互换,以便描述的本申请的实施例能够以除了在图示或描述的那些以外的顺序实施。
上文结合图1至图11,详细描述了本申请的方法实施例,下文结合图12至图15,详细描述本申请的装置实施例。
图12是本申请实施例的解码器600的示意性框图。该装置600例如图2中的解码器200。如图12所示,所述装置600可包括获取单元610和自编码器620。
获取单元610,用于从码流中获取帧内预测模式参数,所述帧内预测模式参数用于指示使用自编码器模式确定帧内预测值;
所述获取单元610还用于从所述码流中获取第一当前块的第一特征信息;
所述获取单元610还用于获取已重建像素的重建值;
所述自编码器620,包括解码网络,用于将所述第一特征信息和所述重建值输入所述解码网络,得到所述第一当前块的第一预测值。
在一些可选的实施例中,所述第一特征信息的元素是根据二值化方式进行处理得到的。
在一些可选的实施例中,所述第一特征信息的元素为-1或1,其中,所述元素为-1表示所述编码网络输出的特征信息小于0,所述元素为1表示所述编码网络输出的特征信息大于或等于0。
在一些可选的实施例中,对所述第一特征信息的元素编码后得到的语法元素包括二元码0或1。
在一些可选的实施例中,解码器600还包括模型训练单元,用于:
获取第一训练样本集,所述第一训练样本集包括第一样本图像;
将所述第一训练样本集输入所述编码网络,得到所述编码网络输出的第一样本图像的第二当前块的特征信息;
根据所述二值化方式,对所述编码网络输出的所述第二当前块的特征信息进行处理,得到所述第二当前块的第二特征信息;
将所述第二特征信息和所述第一样本图像的已重建像素的重建值输入所述解码网络,得到所述第二当前块的第二预测值;
根据所述第二预测值和所述第二当前块的原始值,对所述编码网络和/或所述解码网络的参数进行更新。
在一些可选的实施例中,模型训练单元具体用于:
在所述编码网络输出的所述第二当前块的特征信息小于0的情况下,所述第二特征信息为-1;
在所述编码网络输出的所述第二当前块的特征信息大于或等于0的情况下,所述第二特征信息为1。
在一些可选的实施例中,模型训练单元具体用于:
根据所述第二预测值和所述第二当前块的原始值,利用反向传播算法,对所述编码网络和/或所述解码网络的参数进行更新,其中,所述二值化方式的反向传播的梯度是根据所述编码网络输出的所述第二当前块的特征信息的取值确定的。
在一些可选的实施例中,在所述编码网络输出的所述第二当前块的特征信息大于1或小于-1的情 况下,所述二值化方式的反向传播的梯度定义为0;
在所述编码网络输出的所述第二当前块的特征信息小于或等于1,且大于或等于-1的情况下,所述二值化方式的反向传播的梯度定义为1。
在一些可选的实施例中,模型训练单元具体用于:
根据所述第二预测值和所述第二当前块的原始值,确定第一代价向量,其中,所述第一代价向量中包括N个代价值,N为大于1的正整数;
根据所述第一代价向量,确定第二代价向量,其中所述第二代价向量包括M个代价值,所述M个代价值是从所述N个代价值中获取的,M为小于N的正整数;
根据所述第二代价向量,对所述编码网络和/或所述解码网络的参数进行更新。
在一些可选的实施例中,所述M个代价值是所述N个代价值中代价较小的M个代价值。
在一些可选的实施例中,模型训练单元具体用于:
对所述M个代价值进行求和或求平均值,得到所述第二代价向量的标量代价;
根据所述标量代价,利用反向传播算法对所述编码网络和/或所述解码网络的参数进行更新。
在一些可选的实施例中,所述已重建像素包括所述第一当前块的上方、左侧、左上、左下、右上方的至少一行像素中的至少部分像素点。
在一些可选的实施例中,所述第一当前块包括编码单元CU或预测单元PU。
在一些可选的实施例中,所述第二当前块包括编码单元CU或预测单元PU。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,在该实施例中解码器600可以对应于执行本申请实施例的方法300的相应主体,并且解码器600中的各个模块的前述和其它操作和/或功能分别为了实现图9中的各个方法中的相应流程,为了简洁,在此不再赘述。
图13是本申请实施例的编码器700的示意性框图。该装置700例如图1中的编码器100。如图13所示,所述装置700可包括处理单元710、帧内预测单元720和预测模式参数编码单元740。
处理单元710用于确定第一当前块的符合自编码器的编码网络输出的特征信息的元素的特征信息组合,其中,所述特征信息的元素是根据二值化方式确定的。
处理单元710还用于对所述特征信息组合与预先配置的帧内预测模式进行率失真代价比较,确定所述第一当前块的帧内预测模式参数;
帧内预测单元720,用于根据所述第一当前块的帧内预测模式参数,确定所述第一当前块的帧内预测值;
预测模式参数编码单元730,用于将所述帧内预测模式参数写入码流。
在一些可选的实施例中,帧内预测单元720具体用于:
在所述帧内预测模式参数指示使用自编码器模式确定帧内预测值的情况下,获取所述第一当前块的第一特征信息,所述第一特征信息是根据所述二值化方式进行处理得到的;
获取已重建像素的重建值;
将所述第一特征信息和所述重建值,输入自编码器的解码网络,得到所述第一当前块的第一预测值。
预测模式参数编码单元730,具体用于将所述帧内预测模式参数和所述第一特征信息写入码流。
在一些可选的实施例中,帧内预测单元720具体用于:
将所述第一当前块输入所述自编码器的编码网络,得到所述编码网络输出的特征信息;
根据所述二值化方式,对所述编码网络输出的特征信息进行处理得到所述第一特征信息。
在一些可选的实施例中,帧内预测单元720具体用于:
将最小率失真代价对应的特征信息作为所述第一特征信息。
在一些可选的实施例中,帧内预测单元720具体用于:
在所述编码网络输出的特征信息小于0的情况下,所述第一特征信息为-1;
在所述编码网络输出的特征信息大于或等于0的情况下,所述第一特征信息为1。
在一些可选的实施例中,对所述第一特征信息的元素编码后得到的语法元素包括二元码0或1。
在一些可选的实施例中,还包括训练单元,用于:
获取第一训练样本集,所述第一训练样本集包括第一样本图像;
将所述第一训练样本集输入所述自编码器的编码网络,得到所述编码网络输出的第一样本图像的第二当前块的特征信息;
根据所述二值化方式,对所述编码网络输出的所述第二当前块的特征信息进行处理,得到所述第二当前块的第二特征信息;
将所述第二特征信息和所述第一样本图像的已重建像素的重建值输入所述自编码器的解码网络,得到所述第二当前块的第二预测值;
根据所述第二预测值和所述第二当前块的原始值,对所述编码网络和/或所述解码网络的参数进行更新。
在一些可选的实施例中,训练单元具体用于:
在所述编码网络输出的所述第二当前块的特征信息小于0的情况下,所述第二特征信息为-1;
在所述编码网络输出的所述第二当前块的特征信息大于或等于0的情况下,所述第二特征信息为1。
在一些可选的实施例中,训练单元具体用于:
根据所述第二预测值和所述第二当前块的原始值,利用反向传播算法,对所述编码网络和/或所述解码网络的参数进行更新,其中,所述二值化方式的反向传播的梯度是根据所述编码网络输出的所述第二当前块的特征信息的取值确定的。
在一些可选的实施例中,在所述编码网络输出的所述第二当前块的特征信息大于1或小于-1的情况下,所述二值化方式的反向传播的梯度定义为0;在所述编码网络输出的所述第二当前块的特征信息小于或等于1,且大于或等于-1的情况下,所述二值化方式的反向传播的梯度定义为1。
在一些可选的实施例中,训练单元具体用于:
根据所述第二预测值和所述第二当前块的原始值,确定第一代价向量,其中,所述第一代价向量中包括N个代价值,N为大于1的正整数;
根据所述第一代价向量,确定第二代价向量,其中所述第二代价向量包括M个代价值,所述M个代价值是从所述N个代价值中获取的,M为小于N的正整数;
根据所述第二代价向量,对所述编码网络和/或所述解码网络的参数进行更新。
在一些可选的实施例中,所述M个代价值是所述N个代价值中代价较小的M个代价值。
在一些可选的实施例中,训练单元具体用于:
对所述M个代价值进行求和或求平均值,得到所述第二代价向量的标量代价;
根据所述标量代价,利用反向传播算法对所述编码网络和/或所述解码网络的参数进行更新。
在一些可选的实施例中,所述第二当前块包括编码单元CU或预测单元PU。
在一些可选的实施例中,所述已重建像素包括所述第一当前块的上方、左侧、左上、左下、右上方的至少一行像素中的至少部分像素点。
在一些可选的实施例中,所述第一当前块包括编码单元CU或预测单元PU。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,在该实施例中编码器700可以对应于执行本申请实施例的方法400的相应主体,并且编码器700中的各个模块的前述和其它操作和/或功能分别为了实现图10中的各个方法中的相应流程,为了简洁,在此不再赘述。
图14是本申请实施例的训练模型的装置800的示意性框图。该装置800例如可以设置在图1中的编码器100,或图2中的解码器200中。如图14所示,所述装置800可包括获取单元810、自编码器820和处理单元830。
获取单元810,用于获取第一训练样本集,所述第一训练样本集包括第一样本图像;
自编码器820,用于将所述第一训练样本集输入所述自编码器,得到所述第一样本图像的当前块的预测值,其中,所述自编码器包括编码网络和解码网络,所述编码网络用于提取所述当前块的特征信息,所述解码网络用于根据已重建像素值和所述特征信息,得到所述预测值;
处理单元830,用于根据所述预测值和所述当前块的原始值,确定第一代价向量,其中,所述第一代价向量中包括N个代价值,N为大于1的正整数;
所述处理单元830还用于根据所述第一代价向量,确定第二代价向量,其中所述第二代价向量包括M个代价值,所述M个代价值是从所述N个代价值中获取的,M为小于N的正整数;
所述处理单元830还用于根据所述第二代价向量,对所述编码网络和/或所述解码网络的参数进行更新。
在一些可选的实施例中,所述M个代价值是所述N个代价值中代价较小的M个代价值。
在一些可选的实施例中,所述处理单元830具体用于:
对所述M个代价值进行求和或求平均值,得到所述第二代价向量的标量代价;
根据所述标量代价,利用反向传播算法对所述编码网络和/或所述解码网络的参数进行更新。
在一些可选的实施例中,所述已重建像素包括所述当前块的上方、左侧、左上、左下、右上方的至少一行像素中的至少部分像素点。
在一些可选的实施例中,所述当前块包括编码单元CU或预测单元PU。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,在该实施例中训练模型的装置800可以对应于执行本申请实施例的方法500的相应主体,并且训练模型的装置800中的各个模块的前述和其它操作和/或功能分别为了实现图11中的各个方法中的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的装置和系统。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
如图15是本申请实施例提供的电子设备900的示意性框图。
如图15所示,该电子设备900可包括:
存储器910和处理器920,该存储器910用于存储计算机程序,并将该程序代码传输给该处理器920。换言之,该处理器920可以从存储器910中调用并运行计算机程序,以实现本申请实施例中的方法。
例如,该处理器920可用于根据该计算机程序中的指令执行上述方法300中的步骤,或方法400中的步骤,或方法500中的步骤。
在本申请的一些实施例中,该处理器920可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器910包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器910中,并由该处理器920执行,以完成本申请提供的编码或解码方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在该电子设备900中的执行过程。
可选的,如图15所示,该电子设备900还可包括:
收发器930,该收发器930可连接至该处理器920或存储器910。
其中,处理器920可以控制该收发器930与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器930可以包括发射机和接收机。收发器930还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备900中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
根据本申请的一个方面,提供了一种解码器,包括处理器和存储器,该存储器用于存储计算机程序,该处理器用于调用并运行所述存储器中存储的计算机程序,使得所述解码器执行上述方法实施例的解码方法。
根据本申请的一个方面,提供了一种编码器,包括处理器和存储器,该存储器用于存储计算机程序,该处理器用于调用并运行所述存储器中存储的计算机程序,使得所述编码器执行上述方法实施例的编码方法。
根据本申请的一个方面,提供了一种编解码系统,包括上述编码器和解码器。
根据本申请的一个方面,提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被 计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
根据本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法实施例的方法。
换言之,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
应理解,在本申请实施例中,“与A对应的B”表示B与A相关联。在一种实现方式中,可以根据A确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
在本申请的描述中,除非另有说明,“至少一个”是指一个或多个,“多个”是指两个或多于两个。另外,“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
还应理解,本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。
还应理解,说明书中与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。

Claims (46)

  1. 一种解码方法,其特征在于,包括:
    从码流中获取帧内预测模式参数,所述帧内预测模式参数用于指示使用自编码器模式确定帧内预测值;
    从所述码流中获取第一当前块的第一特征信息;
    获取已重建像素的重建值;
    将所述第一特征信息和所述重建值输入自编码器的解码网络,得到所述第一当前块的第一预测值。
  2. 根据权利要求1所述的方法,其特征在于,所述第一特征信息的元素是根据二值化方式进行处理得到的。
  3. 根据权利要求1或2所述的方法,其特征在于,所述第一特征信息的元素为-1或1,其中,所述元素为-1表示自编码器的编码网络输出的特征信息小于0,所述元素为1表示自编码器的编码网络输出的特征信息大于或等于0。
  4. 根据权利要求1-3任一项所述的方法,其特征在于,对所述第一特征信息的元素编码后得到的语法元素包括二元码0或1。
  5. 根据权利要求2所述的方法,其特征在于,所述二值化方式的反向传播的梯度是根据所述自编码器的编码网络输出的当前块的特征信息的取值确定的。
  6. 根据权利要求5所述的方法,其特征在于,在所述编码网络输出的当前块的特征信息大于1或小于-1的情况下,所述二值化方式的反向传播的梯度定义为0;
    在所述编码网络输出的当前块的特征信息小于或等于1,且大于或等于-1的情况下,所述二值化方式的反向传播的梯度定义为1。
  7. 根据权利要求1-6任一项所述的方法,其特征在于,还包括:
    获取第一训练样本集,所述第一训练样本集包括第一样本图像;
    将所述第一训练样本集输入所述自编码器的编码网络,得到所述编码网络输出的第一样本图像的第二当前块的特征信息;
    根据二值化方式,对所述编码网络输出的所述第二当前块的特征信息进行处理,得到所述第二当前块的第二特征信息;
    将所述第二特征信息和所述第一样本图像的已重建像素的重建值输入所述自编码器的解码网络,得到所述第二当前块的第二预测值;
    根据所述第二预测值和所述第二当前块的原始值,对所述编码网络和/或所述解码网络的参数进行更新。
  8. 根据权利要求7所述的方法,其特征在于,所述根据二值化方式,对所述编码网络输出的所述第二当前块的特征信息进行处理,得到所述第二当前块的第二特征信息,包括:
    在所述编码网络输出的所述第二当前块的特征信息小于0的情况下,所述第二特征信息的元素为-1;
    在所述编码网络输出的所述第二当前块的特征信息大于或等于0的情况下,所述第二特征信息的元素为1。
  9. 根据权利要求7或8所述的方法,其特征在于,所述根据所述第二预测值和所述第二当前块的原始值,对所述编码网络和/或所述解码网络的参数进行更新,包括:
    根据所述第二预测值和所述第二当前块的原始值,利用反向传播算法,对所述编码网络和/或所述解码网络的参数进行更新,其中,所述二值化方式的反向传播的梯度是根据所述编码网络输出的所述第二当前块的特征信息的取值确定的。
  10. 根据权利要求9所述的方法,其特征在于,在所述编码网络输出的所述第二当前块的特征信息大于1或小于-1的情况下,所述二值化方式的反向传播的梯度定义为0;
    在所述编码网络输出的所述第二当前块的特征信息小于或等于1,且大于或等于-1的情况下,所述二值化方式的反向传播的梯度定义为1。
  11. 根据权利要求7-10任一项所述的方法,其特征在于,所述根据所述第二预测值和所述第二当前块的原始值,对所述编码网络和/或所述解码网络的参数进行更新,包括:
    根据所述第二预测值和所述第二当前块的原始值,确定第一代价向量,其中,所述第一代价向量中包括N个代价值,N为大于1的正整数;
    根据所述第一代价向量,确定第二代价向量,其中所述第二代价向量包括M个代价值,所述M个代价值是从所述N个代价值中获取的,M为小于N的正整数;
    根据所述第二代价向量,对所述编码网络和/或所述解码网络的参数进行更新。
  12. 根据权利要求11所述的方法,其特征在于,所述M个代价值是所述N个代价值中代价较小的M个代价值。
  13. 根据权利要求11或12所述的方法,其特征在于,所述根据所述第二代价向量,对所述编码网络和/或所述解码网络的参数进行更新,包括:
    对所述M个代价值进行求和或求平均值,得到所述第二代价向量的标量代价;
    根据所述标量代价,利用反向传播算法对所述编码网络和/或所述解码网络的参数进行更新。
  14. 根据权利要求7-13任一项所述的方法,其特征在于,所述第二当前块包括编码单元CU或预测单元PU。
  15. 根据权利要求1-14任一项所述的方法,其特征在于,所述已重建像素包括所述第一当前块的上方、左侧、左上、左下、右上方的至少一行像素中的至少部分像素点。
  16. 根据权利要求1-15任一项所述的方法,其特征在于,所述第一当前块包括编码单元CU或预测单元PU。
  17. 一种编码方法,其特征在于,包括:
    确定第一当前块的符合自编码器的编码网络输出的特征信息的元素的特征信息组合,其中,所述特征信息的元素是根据二值化方式确定的;
    对所述特征信息组合与预先配置的帧内预测模式进行率失真代价比较,确定所述第一当前块的帧内预测模式参数,其中,所述帧内预测模式参数用于指示使用自编码器模式确定帧内预测值;
    根据所述第一当前块的帧内预测模式参数,确定所述第一当前块的帧内预测值;
    将所述帧内预测模式参数写入码流。
  18. 根据权利要求17所述的方法,其特征在于,所述根据所述第一当前块的帧内预测模式参数,确定所述第一当前块的帧内预测值,包括:
    在所述帧内预测模式参数指示使用自编码器模式确定帧内预测值的情况下,获取所述第一当前块的第一特征信息,所述第一特征信息的元素是根据所述二值化方式进行处理得到的;
    获取已重建像素的重建值;
    将所述第一特征信息和所述重建值,输入自编码器的解码网络,得到所述第一当前块的第一预测值;
    其中,所述将所述帧内预测模式参数写入码流,包括:
    将所述帧内预测模式参数和所述第一特征信息写入码流。
  19. 根据权利要求18所述的方法,其特征在于,所述获取所述第一当前块的第一特征信息,包括:
    将所述第一当前块输入所述自编码器的编码网络,得到所述编码网络输出的特征信息;
    根据所述二值化方式,对所述编码网络输出的特征信息进行处理得到所述第一特征信息。
  20. 根据权利要求18所述的方法,其特征在于,所述获取所述第一当前块的第一特征信息,包括:
    将最小率失真代价对应的特征信息作为所述第一特征信息。
  21. 根据权利要求19所述的方法,其特征在于,所述根据所述二值化方式,对所述编码网络输出的特征信息进行处理得到所述第一特征信息,包括:
    在所述编码网络输出的特征信息小于0的情况下,所述第一特征信息的元素为-1;
    在所述编码网络输出的特征信息大于或等于0的情况下,所述第一特征信息的元素为1。
  22. 根据权利要求21所述的方法,其特征在于,对所述第一特征信息的元素编码后得到的语法元素包括二元码0或1。
  23. 根据权利要求17-22任一项所述的方法,其特征在于,所述二值化方式的反向传播的梯度是根据所述自编码器的编码网络输出的当前块的特征信息的取值确定的。
  24. 根据权利要求23所述的方法,其特征在于,在所述编码网络输出的当前块的特征信息大于1或小于-1的情况下,所述二值化方式的反向传播的梯度定义为0;
    在所述编码网络输出的当前块的特征信息小于或等于1,且大于或等于-1的情况下,所述二值化方式的反向传播的梯度定义为1。
  25. 根据权利要求18-22任一项所述的方法,其特征在于,还包括:
    获取第一训练样本集,所述第一训练样本集包括第一样本图像;
    将所述第一训练样本集输入所述自编码器的编码网络,得到所述编码网络输出的第一样本图像的第二当前块的特征信息;
    根据所述二值化方式,对所述编码网络输出的所述第二当前块的特征信息进行处理,得到所述第 二当前块的第二特征信息;
    将所述第二特征信息和所述第一样本图像的已重建像素的重建值输入所述自编码器的解码网络,得到所述第二当前块的第二预测值;
    根据所述第二预测值和所述第二当前块的原始值,对所述编码网络和/或所述解码网络的参数进行更新。
  26. 根据权利要求25所述的方法,其特征在于,所述根据所述二值化方式,对所述编码网络输出的所述第二当前块的特征信息进行处理,得到所述第二当前块的第二特征信息,包括:
    在所述编码网络输出的所述第二当前块的特征信息小于0的情况下,所述第二特征信息的元素为-1;
    在所述编码网络输出的所述第二当前块的特征信息大于或等于0的情况下,所述第二特征信息的元素为1。
  27. 根据权利要求25或26所述的方法,其特征在于,所述根据所述第二预测值和所述第二当前块的原始值,对所述编码网络和/或所述解码网络的参数进行更新,包括:
    根据所述第二预测值和所述第二当前块的原始值,利用反向传播算法,对所述编码网络和/或所述解码网络的参数进行更新,其中,所述二值化方式的反向传播的梯度是根据所述编码网络输出的所述第二当前块的特征信息的取值确定的。
  28. 根据权利要求27所述的方法,其特征在于,在所述编码网络输出的所述第二当前块的特征信息大于1或小于-1的情况下,所述二值化方式的反向传播的梯度定义为0;
    在所述编码网络输出的所述第二当前块的特征信息小于或等于1,且大于或等于-1的情况下,所述二值化方式的反向传播的梯度定义为1。
  29. 根据权利要求25-28任一项所述的方法,其特征在于,所述根据所述第二预测值和所述第二当前块的原始值,对所述编码网络和/或所述解码网络的参数进行更新,包括:
    根据所述第二预测值和所述第二当前块的原始值,确定第一代价向量,其中,所述第一代价向量中包括N个代价值,N为大于1的正整数;
    根据所述第一代价向量,确定第二代价向量,其中所述第二代价向量包括M个代价值,所述M个代价值是从所述N个代价值中获取的,M为小于N的正整数;
    根据所述第二代价向量,对所述编码网络和/或所述解码网络的参数进行更新。
  30. 根据权利要求29所述的方法,其特征在于,所述M个代价值是所述N个代价值中代价较小的M个代价值。
  31. 根据权利要求29或30所述的方法,其特征在于,所述根据所述第二代价向量,对所述编码网络和/或所述解码网络的参数进行更新,包括:
    对所述M个代价值进行求和或求平均值,得到所述第二代价向量的标量代价;
    根据所述标量代价,利用反向传播算法对所述编码网络和/或所述解码网络的参数进行更新。
  32. 根据权利要求25-31任一项所述的方法,其特征在于,所述第二当前块包括编码单元CU或预测单元PU。
  33. 根据权利要求18所述的方法,其特征在于,所述已重建像素包括所述第一当前块的上方、左侧、左上、左下、右上方的至少一行像素中的至少部分像素点。
  34. 根据权利要求17-33任一项所述的方法,其特征在于,所述第一当前块包括编码单元CU或预测单元PU。
  35. 一种训练模型的方法,其特征在于,包括:
    获取第一训练样本集,所述第一训练样本集包括第一样本图像;
    将所述第一训练样本集输入自编码器,得到所述第一样本图像的当前块的预测值,其中,所述自编码器包括编码网络和解码网络,所述编码网络用于提取所述当前块的特征信息,所述解码网络用于根据已重建像素值和所述特征信息,得到所述预测值;
    根据所述预测值和所述当前块的原始值,确定第一代价向量,其中,所述第一代价向量中包括N个代价值,N为大于1的正整数;
    根据所述第一代价向量,确定第二代价向量,其中所述第二代价向量包括M个代价值,所述M个代价值是从所述N个代价值中获取的,M为小于N的正整数;
    根据所述第二代价向量,对所述编码网络和/或所述解码网络的参数进行更新。
  36. 根据权利要求35所述的方法,其特征在于,所述M个代价值是所述N个代价值中代价较小的M个代价值。
  37. 根据权利要求35或36所述的方法,其特征在于,所述根据所述第二代价向量,对所述编码 46网络和/或所述解码网络的参数进行更新,包括:
    对所述M个代价值进行求和或求平均值,得到所述第二代价向量的标量代价;
    根据所述标量代价,利用反向传播算法对所述编码网络和/或所述解码网络的参数进行更新。
  38. 根据权利要求35-37任一项所述的方法,其特征在于,所述已重建像素包括所述当前块的上方、左侧、左上、左下、右上方的至少一行像素中的至少部分像素点。
  39. 根据权利要求36-38任一项所述的方法,其特征在于,所述当前块包括编码单元CU或预测单元PU。
  40. 一种解码器,其特征在于,包括:
    获取单元,用于从码流获取帧内预测模式参数,所述帧内预测模式参数用于指示使用自编码器模式确定帧内预测值;
    所述获取单元还用于从所述码流中获取第一当前块的第一特征信息;
    所述获取单元还用于获取已重建像素的重建值;
    自编码器,包括解码网络,用于将所述第一特征信息和所述重建值输入所述解码网络,得到所述第一当前块的第一预测值。
  41. 一种编码器,其特征在于,包括:
    处理单元,用于确定第一当前块的符合自编码器的编码网络输出的特征信息的元素的特征信息组合,其中,所述特征信息的元素是根据二值化取值方式确定的;
    所述处理单元还用于对所述特征信息组合与预先配置的帧内预测模式进行率失真代价比较,确定所述第一当前块的帧内预测模式参数,所述帧内预测模式参数用于指示使用自编码器模式确定帧内预测值;
    帧内预测单元,用于根据所述第一当前块的帧内预测模式参数,确定所述第一当前块的帧内预测值;
    预测模式参数编码单元,用于将所述帧内预测模式参数写入码流。
  42. 一种编解码系统,其特征在于,包括如权利要求40所述的编码器和如权利要求41所示的解码器。
  43. 一种训练模型的装置,其特征在于,包括:
    获取单元,用于获取第一训练样本集,所述第一训练样本集包括第一样本图像;
    自编码器,用于将所述第一训练样本集输入所述自编码器,得到所述第一样本图像的当前块的预测值,其中,所述自编码器包括编码网络和解码网络,所述编码网络用于提取所述当前块的特征信息,所述解码网络用于根据已重建像素值和所述特征信息,得到所述预测值;
    处理单元,用于根据所述预测值和所述当前块的原始值,确定第一代价向量,其中,所述第一代价向量中包括N个代价值,N为大于1的正整数;
    所述处理单元还用于根据所述第一代价向量,确定第二代价向量,其中所述第二代价向量包括M个代价值,所述M个代价值是从所述N个代价值中获取的,M为小于N的正整数;
    所述处理单元还用于根据所述第二代价向量,对所述编码网络和/或所述解码网络的参数进行更新。
  44. 一种电子设备,其特征在于,包括处理器和存储器;
    所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,使得所述电子设备执行如权利要求1-39任一项所述的方法。
  45. 一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1-39任一项所述的方法。
  46. 一种计算机程序产品,其特征在于,包括计算机程序代码,当所述计算机程序代码被电子设备运行时,使得所述电子设备执行权利要求1-39中任一项所述的方法。
PCT/CN2021/129862 2021-11-10 2021-11-10 解码方法、编码方法、解码器、编码器和编解码系统 WO2023082107A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/129862 WO2023082107A1 (zh) 2021-11-10 2021-11-10 解码方法、编码方法、解码器、编码器和编解码系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/129862 WO2023082107A1 (zh) 2021-11-10 2021-11-10 解码方法、编码方法、解码器、编码器和编解码系统

Publications (1)

Publication Number Publication Date
WO2023082107A1 true WO2023082107A1 (zh) 2023-05-19

Family

ID=86334960

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/129862 WO2023082107A1 (zh) 2021-11-10 2021-11-10 解码方法、编码方法、解码器、编码器和编解码系统

Country Status (1)

Country Link
WO (1) WO2023082107A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116600119A (zh) * 2023-07-18 2023-08-15 腾讯科技(深圳)有限公司 视频编码、解码方法、装置、计算机设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017036370A1 (en) * 2015-09-03 2017-03-09 Mediatek Inc. Method and apparatus of neural network based processing in video coding
CN109076217A (zh) * 2016-05-02 2018-12-21 索尼公司 图像处理装置和图像处理方法
CN110892723A (zh) * 2017-07-06 2020-03-17 三星电子株式会社 用于编码或解码图像的方法和装置
CN111131834A (zh) * 2019-12-30 2020-05-08 上海交通大学 可逆自编码器、编解码方法以及图像压缩方法、装置
US20200160565A1 (en) * 2018-11-19 2020-05-21 Zhan Ma Methods And Apparatuses For Learned Image Compression
CN112673625A (zh) * 2018-09-10 2021-04-16 华为技术有限公司 混合视频以及特征编码和解码

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017036370A1 (en) * 2015-09-03 2017-03-09 Mediatek Inc. Method and apparatus of neural network based processing in video coding
CN109076217A (zh) * 2016-05-02 2018-12-21 索尼公司 图像处理装置和图像处理方法
CN110892723A (zh) * 2017-07-06 2020-03-17 三星电子株式会社 用于编码或解码图像的方法和装置
CN112673625A (zh) * 2018-09-10 2021-04-16 华为技术有限公司 混合视频以及特征编码和解码
US20200160565A1 (en) * 2018-11-19 2020-05-21 Zhan Ma Methods And Apparatuses For Learned Image Compression
CN111131834A (zh) * 2019-12-30 2020-05-08 上海交通大学 可逆自编码器、编解码方法以及图像压缩方法、装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116600119A (zh) * 2023-07-18 2023-08-15 腾讯科技(深圳)有限公司 视频编码、解码方法、装置、计算机设备和存储介质
CN116600119B (zh) * 2023-07-18 2023-11-03 腾讯科技(深圳)有限公司 视频编码、解码方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN109997361B (zh) 用于视频译码的低复杂度符号预测
KR101941955B1 (ko) 재귀적 블록 파티셔닝
CN110710217B (zh) 用于对最后有效系数标志进行代码化的方法和设备
CN103782598A (zh) 用于无损编码的快速编码方法
CN113766249B (zh) 视频编解码中的环路滤波方法、装置、设备及存储介质
WO2021203394A1 (zh) 环路滤波的方法与装置
CN108924559A (zh) 从视频数据的位流解码多个编码单位的方法
CN111742552B (zh) 环路滤波的方法与装置
CN117596413A (zh) 视频处理方法及装置
CN111246206A (zh) 一种基于自编码器的光流信息压缩方法及装置
CN111669588B (zh) 一种超低时延的超高清视频压缩编解码方法
WO2023279961A1 (zh) 视频图像的编解码方法及装置
US11323714B2 (en) Method and device for context-adaptive binary arithmetic coding a sequence of binary symbols representing a syntax element related to video data
WO2023039859A1 (zh) 视频编解码方法、设备、系统、及存储介质
WO2023082107A1 (zh) 解码方法、编码方法、解码器、编码器和编解码系统
CN115956363A (zh) 用于后滤波的内容自适应在线训练方法及装置
WO2022116085A1 (zh) 编码方法、解码方法、编码器、解码器以及电子设备
CN114257810B (zh) 上下文模型的选择方法、装置、设备及存储介质
CN115836525A (zh) 用于从多个交叉分量进行预测的方法和系统
CN116114246B (zh) 帧内预测平滑滤波器系统及方法
WO2023141970A1 (zh) 解码方法、编码方法、解码器、编码器和编解码系统
WO2023131221A2 (zh) 图像编解码的方法、装置及存储介质
US20240144439A1 (en) Filtering method and apparatus, computer-readable medium
WO2023024115A1 (zh) 编码方法、解码方法、编码器、解码器和解码系统
US20240015336A1 (en) Filtering method and apparatus, computer-readable medium, and electronic device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21963563

Country of ref document: EP

Kind code of ref document: A1