WO2019227491A1 - Procédés de codage et de décodage, dispositifs de codage et de décodage - Google Patents

Procédés de codage et de décodage, dispositifs de codage et de décodage Download PDF

Info

Publication number
WO2019227491A1
WO2019227491A1 PCT/CN2018/089673 CN2018089673W WO2019227491A1 WO 2019227491 A1 WO2019227491 A1 WO 2019227491A1 CN 2018089673 W CN2018089673 W CN 2018089673W WO 2019227491 A1 WO2019227491 A1 WO 2019227491A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
frame
long
type
term reference
Prior art date
Application number
PCT/CN2018/089673
Other languages
English (en)
Chinese (zh)
Inventor
李蔚然
郑萧桢
Original Assignee
深圳市大疆创新科技有限公司
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 深圳市大疆创新科技有限公司 filed Critical 深圳市大疆创新科技有限公司
Priority to PCT/CN2018/089673 priority Critical patent/WO2019227491A1/fr
Priority to CN201880011426.3A priority patent/CN110366851B/zh
Publication of WO2019227491A1 publication Critical patent/WO2019227491A1/fr

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one

Definitions

  • the present application relates to the field of image processing, and in particular, to an encoding and decoding method and an encoding and decoding device.
  • Some existing technologies can use each image in the video to construct a high-quality specific reference image containing the background content of the scene, called a long-term reference image. That is, the specific reference image can be used as a reference image for inter prediction for a relatively long period of time.
  • the background portion of the current image to be encoded / decoded can be used to reduce residual information of inter prediction by referring to the long-term reference image, thereby improving encoding efficiency.
  • the long-term reference picture is not an encoded / decoded picture, but an artificially constructed picture.
  • the long-term reference image includes multiple image blocks, and any one image block is taken from a certain encoded / decoded image. Different image blocks in the long-term reference image may be taken from different encoded / decoded images. After the encoding / decoding of a certain frame is completed, the long-term reference image can be updated based on the encoded / decoded image.
  • the video stream may include, for example, TV programs, webcasts, local movies Wait.
  • a random access point RAP
  • the characteristics of the random access point make it possible for the decoder to ensure that frames with a display order after the random access point can be decoded normally.
  • the random access point is not considered when updating the long-term reference image, but the update is based on the encoded / decoded image, it may cause that the frames in the display order after the random access point cannot be decoded normally. If the existing encoding / decoding technology for random access points is used when updating the long-term reference image, the encoding / decoding efficiency may be low.
  • the application provides an encoding and decoding method and an encoding and decoding device, which can improve encoding / decoding efficiency.
  • an encoding method including: encoding a first type frame, wherein in the encoding order, there are N second type frames that need to be inter-frame encoded after the first type frame, the N number
  • the display order of the second type frame is before the first type frame, where N is a positive integer; at least one second type frame of the N second type frames is inter-frame coded according to the long-term reference image; After the inter-frame encoding of at least one second type frame among the N second type frames is completed, the currently used long-term reference image is replaced.
  • a decoding method including: decoding a first type frame, wherein, in the decoding order, there are N second type frames that need to be inter-frame decoded after the first type frame, and the N The display order of the second type frame is before the first type frame, where N is a positive integer; at least one second type frame of the N second type frames is inter-frame decoded according to the long-term reference image; After the inter-frame decoding of at least one second type frame among the N second type frames is completed, the currently used long-term reference image is replaced.
  • an encoding device including: at least one memory for storing computer-executable instructions; at least one processor, alone or collectively, for: accessing the at least one memory and executing the computer-executable Instructions to implement the following operations: encoding a first type frame, where there are N second type frames that need to be inter-frame encoded after the first type frame in the encoding order, and the N second type frames have The display order is before the first type frame, where N is a positive integer; at least one second type frame of the N second type frames is inter-frame encoded according to the long-term reference image; After inter-coding of at least one second-type frame in the second-type frame, the currently used long-term reference image is replaced.
  • a decoding device including: at least one memory for storing computer-executable instructions; at least one processor, alone or collectively, for: accessing the at least one memory and executing the computer-executable Instructions to implement the following operations: decoding a first type frame, wherein, in the decoding order, there are N second type frames that need to be inter-frame decoded after the first type frame, and the N second type frames are The display order is before the first type frame, where N is a positive integer; at least one second type frame of the N second type frames is inter-frame decoded according to the long-term reference image; After the inter-frame decoding of at least one of the second type frames, the long-term reference image currently used is replaced.
  • a computer-readable storage medium on which instructions are stored, and when the instructions are run on the computer, the computer is caused to execute the encoding method of the first aspect.
  • a computer-readable storage medium on which instructions are stored, and when the instructions are run on the computer, the computer is caused to execute the decoding method of the first aspect.
  • This application only replaces the current use after completing the inter-frame encoding / decoding of at least one second type frame among the N second type frames in which the encoding / decoding order is after the first type frame and the display order is before the first type frame.
  • Long-term reference image so that at least one second type frame can refer to the long-term reference image before the first type frame, which can improve encoding / decoding efficiency.
  • FIG. 1 is a schematic diagram of an embodiment of out-of-order encoding in the present application.
  • FIG. 2 is a schematic flowchart of an embodiment of a video encoding method according to the present application.
  • FIG. 3 is a schematic diagram of a relationship between an image block in a current to-be-encoded image and an image block in a long-term reference image.
  • FIG. 4 is a schematic diagram showing a relationship between multiple images and a long-term reference image in a video.
  • FIG. 5 is a schematic flowchart of another embodiment of a video encoding method according to the present application.
  • FIG. 6 is a schematic diagram of a video decoding method according to another embodiment of the present application.
  • FIG. 7 is a schematic flowchart of another embodiment of a video decoding method according to the present application.
  • FIG. 8 is a schematic flowchart of an encoding method according to an embodiment of the present application.
  • FIG. 9 is a schematic flowchart of an encoding method according to an embodiment of the present application.
  • FIG. 10 is a schematic flowchart of a decoding method according to an embodiment of the present application.
  • FIG. 11 is a schematic flowchart of a decoding method according to another embodiment of the present application.
  • FIG. 12 is a schematic flowchart of a decoding method according to another embodiment of the present application.
  • FIG. 13 is a schematic block diagram of an encoding device according to an embodiment of the present application.
  • FIG. 14 is a schematic block diagram of an encoding device according to another embodiment of the present application.
  • FIG. 15 is a schematic block diagram of a decoding device according to an embodiment of the present application.
  • FIG. 16 is a schematic block diagram of a decoding device according to another embodiment of the present application.
  • a video is made up of multiple images.
  • different images in the video can use different prediction methods.
  • the image can be divided into an intra-prediction image and an inter-prediction image, where the inter-prediction image includes a forward-prediction image and a bi-prediction image.
  • I picture is an intra prediction picture, also called a key frame;
  • P picture is a forward prediction picture, that is, a P picture or I picture that has been previously encoded / decoded is used as a reference picture;
  • B picture is a bidirectional prediction picture, that is, The front and back images are used as reference images.
  • An implementation method is to encode / decode the multiple pictures to generate a group of pictures (GOP) after encoding / decoding.
  • the GOP consists of an I picture and multiple B pictures (or bidirectional prediction). Picture) and / or P picture (or forward prediction picture).
  • the decoder When the decoder is playing, it reads the GOP one by one, decodes it, reads the picture, and then renders it.
  • images of different resolutions can be encoded / decoded by dividing the image into multiple small blocks, that is, the image can be divided into multiple image blocks.
  • the image can be divided into any number of image blocks.
  • the image can be divided into an array of m ⁇ n image blocks.
  • the image block may have a rectangular shape, a square shape, a circular shape, or any other shape.
  • An image block can have any size, such as p ⁇ q pixels.
  • Each image block can have the same size and / or shape.
  • two or more image blocks may have different sizes and / or shapes.
  • An image block may or may not have any overlapping portions.
  • the image block is referred to as a macroblock or a maximum coding unit (LCU) in some encoding / decoding standards.
  • a macroblock For the H.264 standard, an image block is called a macroblock, and its size can be 16 ⁇ 16 pixels.
  • HEVC high efficiency video coding
  • an image block is called a maximum coding unit, and its size can be 64 ⁇ 64 pixels.
  • an image block may not be a macro block or a maximum coding unit, but a portion containing a macro block or a maximum coding unit, or at least two complete macro blocks (or maximum coding units). Contains at least one complete macro block (or maximum coding unit) and a portion of one macro block (or maximum coding unit), or contains at least two complete macro blocks (or maximum coding unit) and some macro blocks (or maximum coding) Unit). In this way, after the image is divided into a plurality of image blocks, these image blocks in the image data can be encoded / decoded separately.
  • the encoding process includes prediction, transformation, quantization, and entropy encoding.
  • prediction includes two types of intra prediction and inter prediction, the purpose of which is to remove redundant information of the current image block to be encoded by using prediction block data.
  • Intra prediction uses the information of the frame image to obtain prediction block data.
  • Inter prediction uses the information of the reference image to obtain prediction block data.
  • the process includes dividing the current to-be-encoded image into several to-be-encoded image blocks, and then dividing the to-be-encoded image block into several sub-image blocks; then, for each sub-image block , Search the reference image for the image block that most closely matches the current sub-image block as the predicted image block, and the relative displacement between the predicted image block and the current sub-image block is the motion vector; thereafter, the sub-image block and the predicted image block are Subtract the corresponding pixel values to get the residual.
  • the residuals corresponding to the obtained sub-image blocks are combined to obtain the residuals of the image blocks to be encoded.
  • a correlation matrix may be used to remove the correlation of the residuals of the image blocks, that is, the redundant information of the image blocks is removed in order to improve the coding efficiency.
  • the transformation of the data block in the image block usually uses two-dimensional transformation, that is, the residual information of the data block is multiplied with an N ⁇ M transformation matrix and its transposition matrix at the encoding end, and the transformation coefficient is obtained after multiplication. . Transform coefficients are quantized to obtain quantized coefficients. Finally, the quantized coefficients are entropy-coded to obtain an entropy-coded bitstream.
  • the entropy-coded bitstream and the encoded coding mode information such as information such as the intra prediction mode and the motion vector (or motion vector residual), are stored or sent to the decoding end.
  • the entropy-decoded bitstream is obtained and the entropy decoding is performed to obtain the corresponding residual; the predicted image block corresponding to the image block is found according to the decoded motion vector, intra prediction and other information; according to the predicted image block and the residual Get the value of each pixel in the current sub-image block.
  • a reference image may be constructed to improve the similarity between the reference image and the current image to be encoded / decoded.
  • the short-term reference image is a concept corresponding to the long-term reference image.
  • the short-term reference image exists in the reference image buffer for a period of time. After the decoded reference image after the short-term reference image is moved into and out of the reference image buffer, the short-term reference image is removed from the reference image buffer.
  • the reference image buffer may also be referred to as a reference image list buffer, a reference image list, a reference frame list buffer, or a reference frame list, etc., which are collectively referred to herein as a reference image buffer.
  • a specific type of encoding / decoding scene in the video content in which the background does not change, only the foreground in the video changes or moves.
  • video surveillance belongs to this type of scene.
  • the surveillance camera In a video surveillance scene, the surveillance camera is usually stationary or only moves slowly, and it can be considered that the background is basically unchanged.
  • objects such as people or cars that are captured in video surveillance lenses often move or change, and it can be considered that the foreground changes frequently.
  • a specific reference image can be constructed, and the specific reference image contains only high-quality background information.
  • the specific reference image may be a long-term reference image, and may also be referred to as a composite reference frame.
  • the long-term reference image includes multiple image blocks, and any one image block is taken from a decoded image. Different image blocks in the long-term reference image may be taken from different decoded images.
  • the background portion of the current image to be encoded / decoded can be referred to the long-term reference image, thereby reducing the residual information of inter prediction, thereby improving encoding / decoding efficiency.
  • the long-term reference picture (or a part of the data in the long-term reference picture) always exists in the reference picture buffer.
  • the long-term reference picture (or a part of the data in the long-term reference picture) is not affected by the decoded reference picture in the reference picture buffer.
  • the long-term reference image (or a part of the data in the long-term reference image) will be removed from the reference image buffer only when the decoder sends an update instruction operation.
  • Short-term reference pictures and long-term reference pictures may be called differently in different standards.
  • short-term reference pictures are called short-term in H.264 / advanced video coding (AVC) or H.265 / HEVC.
  • Reference frames (short-term references), and long-term reference images are referred to as long-term references.
  • AVC advanced video coding
  • Reference frames (short-term references), and long-term reference images are referred to as long-term references.
  • the long-term reference image is called For the background frame (background picture).
  • standards such as VP8 and VP9 long-term reference images are called golden frames.
  • the long-term reference image may also be obtained by the foregoing image block structure obtained from a plurality of decoded images, which is not limited in the embodiments of the present application. It should be understood that the long-term reference image in each embodiment of the present application may be an image that is not output.
  • Sequential encoding / decoding means that the encoding / decoding sequence is consistent with the display sequence.
  • the structure of the low-delay code stream is: I0, P1, P2, P3, P4, P5, etc. (where I frame is the intra encoding / decoding frame, and P frame is the previous Encode / decode frames between reference frames, the numbers represent the display order), the display order corresponding to this encoding / decoding structure is also I0, P1, P2, P3, P4, P5 ...
  • FIG. 1 is a schematic diagram of an embodiment of out-of-order encoding / decoding in the present application.
  • frames in the display order may be encoded / decoded first, and frames in the display order may be encoded / decoded later.
  • the coding / decoding sequence of the hierarchical-B code structure is: I0, P8, B4, B2, B1, B3, B6, B5, B7, P16, B12, B10, B9, B11, B14, B13, B13, B15, etc.
  • the B frame is a bidirectional reference inter-reference frame.
  • the corresponding display order is I0, B1, B2, B3, B4, B5, B6, B7, P8, B9, B10, B11, B12, B13, B14, B15, P16 ...
  • Random access in image sequences is generally divided into two categories.
  • the short-term reference image in the reference image buffer is completely cleared at the random access point, and the reconstructed image of the random access point is used to replace the long-term reference image. If there is a frame after the random access point in the display order before the random access point, it will be discarded without decoding.
  • this first type of random access point is called Instantaneous Decoder Refresh (IDR).
  • the short-term reference image in the reference image buffer at the random access point will not be immediately cleared, and the frames encoded / decoded after the random access point and displayed before the random access point can still be used.
  • Short-term reference frames before the random access point if they exist in the reference image buffer. Frames that are displayed after the random access point must be used as frames for short-term reference frames. .
  • the reconstructed image of the second type of random access point is also used to replace the long-term reference image. In some standards, this second type of random access point is called Clean Random Access (CRA).
  • CRA Clean Random Access
  • the short-term reference images in the reference image buffer are not immediately emptied.
  • the frames encoded / decoded after the random access point and displayed in order before the random access point can still use the reference image before the random access point (if it exists in the reference image buffer) for inter-frame encoding / decoding.
  • Frames that are encoded / decoded after the random access point and are displayed after the random access point use frames in the reference image buffer that are displayed after the random access point (including the random access point) as the reference image for inter-frame encoding / decoding.
  • the long-term reference image remains unchanged after the second-type random access point is encoded and before the next frame of the second-type random access point is encoded / decoded, that is, the long-term reference image is not The reconstructed image of the second type of random access point is replaced. At least one frame of image coded after the second type of random access point can use this long-term reference image that has not been replaced for inter-frame coding / decoding.
  • the code-stream structure of hierarchical-B After encoding a random access point, there are still several frames that need to be encoded before the random access point. When encoding these frames whose display order is before the random access point, it is necessary to maintain and continue to maintain the reference image buffer. After encoding all frames whose display order is before the random access point, maintain and delete the reference image buffer. All short-term reference images displayed in order before the random access point.
  • the reference image buffer needs to be maintained and continued to be maintained.
  • the reference image buffer is adjusted to delete all short-term reference images whose display order is before the random access point. If the random access function of the random access point is used, frames whose display order is before the random access point are not decoded, and the reference image buffer is also retained at this time. Until the frames whose display order is after the random access point are decoded, all reference images whose display order is before the random access point are deleted, and then the reference image buffer is decoded and maintained.
  • the processing method of short-term reference images when setting random access points is different from those of the short-term reference image.
  • the short-term reference image is a reconstructed image of a decoded image, and the long-term reference image is synthesized through some mechanism, that is, the long-term reference image is obtained by using block-level refresh.
  • long-term reference images can be continuously updated during the encoding / decoding process.
  • the random access point problem is not considered when updating the long-term reference image, but the update is based on the encoded / decoded image, then It may cause that the frames whose display order is after the random access point cannot be decoded normally. If the existing encoding / decoding technology for random access points is used when updating the long-term reference image, the encoding / decoding efficiency may be low.
  • FIG. 2 is a schematic flowchart of an embodiment of a video encoding method of the present application.
  • the method of updating a long-term reference image is performed by an image processing apparatus, and the image processing apparatus may be various types of chips for image processing, an image processor, and the like.
  • the method includes:
  • a current image to be encoded can be used as a reference image
  • an image block can be used to update a long-term reference image
  • a specific image block in the long-term reference image is updated according to the image block, where the image block is the current to-be-encoded image.
  • An image block in an image. The position of a specific image block in a long-term reference image is determined by the position of the image block in the current image to be encoded.
  • determining that the current image to be encoded may be used as a reference image may occur before encoding the image to be encoded. In this way, according to the determination result, it can be determined that each image block in the image to be encoded satisfies a condition for updating the long-term reference image when encoding or after encoding.
  • determining that the current image to be encoded can be used as a reference image, or it can occur when encoding or after encoding each image block in the image to be encoded, that is, when encoding each image block or after encoding, first determining the image block
  • the current image can be used as a reference image, and when it can be determined as a reference image, it can be determined that the image block can be used to update the long-term reference image.
  • the I-picture and the P-picture can be used as reference pictures for inter-prediction of other pictures
  • the current image to be encoded is determined as the reference image.
  • some B-pictures (or bi-predictive pictures) can also be used as reference pictures for inter-prediction of other pictures. For example, in hierarchical B (hierarchical B) technology, lower-level B-pictures can be used as reference. Frames are used. Therefore, when it is determined that the current image to be encoded is this part of the B image, it can also be determined that the current image to be encoded can be used as a reference image.
  • the encoding end is still in a video parameter set (VPS), a sequence parameter set (SPS), and a sequence header.
  • VPS video parameter set
  • SPS sequence parameter set
  • RCS reference picture configuration set
  • the judgment image block may be used to update a long-term reference image, and the judgment may be performed by using pixel information of the image block. For example, when it is determined that the content difference between an image block and a block at the same position in a previously encoded image is small, the image block is considered to contain background content and can be used to update a long-term reference image. Of course, there are other methods that can be used to determine which image patches are available for updating long-term reference images.
  • FIG. 3 is a schematic diagram of a relationship between an image block in a current image to be encoded and an image block in a long-term reference image.
  • the image blocks 210 and 220 in the current to-be-encoded image shown in FIG. 3 are image blocks satisfying a preset condition, where the position of the image block 210 in the current to-be-encoded image is the same as the position of the image block 110 in the long-term reference image.
  • the positions of the image block 220 in the current image to be encoded and the image 120 in the long-term reference image are the same.
  • the position in the long-term reference image is offset by a preset offset value from the position of the image block in the current image to be encoded.
  • updating a specific image block in the long-term reference image according to the image block may be to replace the current pixel value of the specific reference block with the pixel value of the image block for processing, and the processing may be based on the pixels of the image block.
  • the value is averaged with the pixel value of an image block in the long-term reference image, or a weighted average is performed according to the pixel value of the image block and the pixel value of the image block in the long-term reference image, where the coefficient of the weighted average is a preset value or Parsed in the code stream.
  • the pixel value of the image block it may be the original pixel value of the image block or the reconstructed pixel value of the image block.
  • the image information of an image that is not used as a reference image is not used in the encoding and decoding process of other images during the encoding and decoding process.
  • the image block in the current to-be-encoded image is considered to update the long-term reference image, thereby avoiding the construction process of the long-term reference image and not being used as the reference image. The definition of the image violates the situation.
  • the image that is not used as a reference image may not be decoded when it is decoded, thereby speeding up the decoding speed of the video code stream and achieving Variable frame rate playback of video content.
  • the long-term reference image cannot be updated when discarded parts cannot be used as the reference image.
  • the currently to-be-encoded image is not an image that can be used as a reference image, it is determined that the image block is not used to update the long-term reference image.
  • an image block can be used to update a long-term reference image based on the pixel value of the image block and the pixel value of the encoded block, where the encoded block refers to the image at a specific position in the encoded image that is located before the current image to be encoded.
  • the coded block refers to a coded image located in a previous frame (or the first two frames) of the currently-coded image.
  • the specific position may be the same position as the image block in the current image to be encoded, or the position of the image block in the current image to be encoded plus a preset offset value.
  • an image block when determining that an image block can be used to update a long-term reference image based on pixel information of the image block and pixel information of an encoded block, specifically determining that the image block can be used to update a long-term reference image according to at least one of the following:
  • the total number of pixels of the chroma component of the image block and / or the coded block is the total number of pixels of the chroma component of the image block and / or the coded block.
  • the difference between the pixel values of the luminance components between the image block and the coded block may be the distribution of the difference between the pixel values of the luminance components of the image block and the second coded block at the same positions, respectively.
  • the pixel value difference of the chrominance component between the image block and the coded block may be the distribution of the difference in pixel values of the chrominance components of the image block and the second coding block at the same positions, respectively, and may be an image The sum of the difference between the pixel values of the chroma components of the block and the second coding block at the same positions, respectively. It can also be the average value of the chroma components of the image block at each pixel and the chroma components of the coded block at each pixel. The difference of the mean.
  • the image block can be used to update the long-term reference image according to the pixel value difference of the luminance component between the image block and the coded block. Specifically, it can be based on the pixel value difference of the luminance component between the image block and the second coded block. The sum of the absolute value of the image block can be used to update the long-term reference image.
  • the image block can be used to update the long-term reference image according to the pixel value difference of the chrominance component between the image block and the coded block. Specifically, it can be based on the pixel value of the chrominance component between the image block and the second coded block.
  • the sum of the absolute value of the difference judgment image block can be used to update the long-term reference image.
  • the image block can be used to update the long-term reference image according to the pixel value difference of the luminance component between the image block and the coded block
  • the condition that the image block needs to satisfy includes: the number of specific pixels in the image block is less than the first threshold.
  • the specific pixel is a pixel whose pixel value difference in the first color channel from the pixel at the same position in the coded block is not less than the second threshold.
  • an image is stored according to three components, which are Y (luminance), U (chrominance 1), and V (chrominance 2).
  • the first color channel is a Y channel.
  • the coded block is an image block that is located in the previous frame (or the first two frames) of the current image to be encoded, and whose position is the same as the position of the image block, or the position is compared to the image block in the current image to be encoded.
  • the pixel difference between the Y component of the encoded block and the Y component of the image block at the same arbitrary position is Dist. Wherein, when Dist is not less than the second threshold, the pixels in the image block corresponding to the Dist are specific pixels.
  • the first threshold value may be a preset value, or the total number of pixels of the Y component of the image block and a preset value.
  • the product of the proportions is not limited here.
  • the image block can be used to update the long-term reference image according to the pixel value difference of the luminance component between the image block and the coded block
  • the condition that the image block needs to satisfy includes: a difference in pixel value of a luminance component between the image block and the coded block is less than a third threshold.
  • the third threshold value may be a preset value or an image block
  • the product of the total number of pixels of the Y component and a preset ratio is not limited here.
  • the image block can be used to update the long-term reference image according to the pixel value difference between the chrominance components between the image block and the coded block
  • the condition that the image block needs to satisfy includes: a difference between pixel values of chrominance components between the image block and the coded block is less than a fourth threshold.
  • the pixel value difference between the chrominance components between the image block and the coded block is smaller than the fourth threshold, and may be the pixel value difference between the U component between the image block and the coded block is less than the fourth threshold, or the image
  • the pixel value difference between the V component between the block and the second encoding block is less than the fourth threshold, or the pixel value difference between the U component between the image block and the encoded block is less than a preset value, and the image block and the The pixel value difference of the V component between the coding blocks is smaller than another preset value.
  • the fourth threshold may be a preset value or an image block.
  • the product of the total number of pixels of the luminance component (or chrominance component) and a preset ratio is not limited here.
  • the long-term reference is made according to all graphics blocks of the currently-to-be-encoded image. All image blocks of the image are updated.
  • the entire image blocks of the image to be encoded may refer to all image blocks after the encoding and reconstruction of the current image to be encoded, or may refer to all original image blocks of the current to-be-encoded image.
  • all image blocks in the long-term reference image may be replaced with all image blocks of the current image to be encoded.
  • all image blocks in the current to-be-encoded image are processed with certain image blocks to replace all image blocks in the long-term reference image.
  • the process may be averaging or weighted averaging the pixel values of all image blocks in the current-to-code image. There are no restrictions here.
  • the number of image blocks in the current to-be-encoded image that can be used to update the long-term reference image may be one or more than one. In some embodiments, the number of image blocks in the current to-be-encoded image that can be used to update the long-term reference image may be unlimited, that is, all image blocks in the current to-be-encoded image that meet the conditions that can be used to update the long-term reference image are used. For updating long-term reference images.
  • the number of image blocks that can be used to update the long-term reference image is large.
  • the number of image blocks that can be used to update the long-term reference image in the current image to be encoded can be limited to Greater than M, the M is an integer not less than 1.
  • the long-term reference image is updated according to each determined image block.
  • M image blocks are selected from the determined image blocks, and the long-term reference image is updated according to the M image blocks.
  • the value of M corresponding to the current image to be encoded is determined based on the type of the current image to be encoded.
  • the value of M corresponding to the current image to be encoded is different.
  • the currently-to-be-encoded image when the currently-to-be-encoded image is an I-picture, the currently-to-be-encoded image has at most a first preset number of image blocks for updating the long-term reference image; the currently-to-be-encoded image is a P-picture (or forward-predicted image) ), The currently to-be-encoded image has at most a second preset number of image blocks for long-term reference image update; when the currently-to-be-encoded image is a B-picture (or bidirectionally predicted image), the currently-to-be-encoded image has a maximum of The preset number of image blocks are used for updating the long-term reference image, wherein the first preset value, the second preset value, and the third preset value are different.
  • the value of M corresponding to the current image to be encoded is determined based on the total number of images of the type to which the current image to be encoded belongs. Specifically, for example, the M value corresponding to the I image is half of the total number of images of the I image in the video; the M value corresponding to the P image (or forward prediction image) is the total number of images of the P image (or forward prediction image). One-quarter; the M value corresponding to the B-picture (or bi-predictive picture) that can be used as the reference picture is one-eighth of the total number of pictures of the B-picture (or bi-predictive picture).
  • M image blocks from all the image blocks that can be used to update the long-term reference image, which are determined from the current image to be encoded. For example, in the case that the image is stored according to the components of different color channels, the cost selected from all the image blocks that can be used to update the long-term reference image determined from the current to-be-encoded image is less than a preset value, The least expensive M image blocks are used to update the long-term reference image.
  • the cost of the image block is the sum of the pixel differences of the image block in each color channel; the pixel differences of each image channel in the color block are: each pixel of the image block and the third coded block respectively The sum of the differences in pixel values of pixels with the same position in the color channel; the third coded block refers to the image block at a specific position in the coded image that is located before the current image to be coded.
  • the third coded block refers to a coded image located in a previous frame (or the first two frames) of the current image to be coded.
  • the specific position may be the same position as the image block in the current image to be encoded.
  • the image is stored in three YUV components.
  • the difference between the pixel values of the image block and the third encoding block on the three YUV components is Dist, Y, Dist, U, and Dist, and the total number of pixels on the luminance component of the image block is PixCount.
  • the cost of the image block (cost) (Dist Y + Dist U + Dist V) / PixCount.
  • the determined number of image blocks is not greater than M, all the image blocks are Both can be used to update the long-term reference image; if the determined number of image blocks is greater than M, it is determined that the M image blocks with the least cost among the current to-be-encoded images can be used to update the long-term reference image.
  • an identification bit of the image block is also encoded, and the identification bit is used to identify whether the image block is used to update the long-term reference image.
  • the code stream sent from the encoding end to the decoding end also includes identification bits of each image, where the identification bits of each image are used to indicate whether each image block in the image is used to update the long-term reference image.
  • FIG. 4 is a schematic diagram of a relationship between multiple images and a long-term reference image in a video.
  • four images in the video are sequentially encoded as an example.
  • the first three images are encoded images, and the fourth image is the current image to be encoded.
  • the first and third encoded images can be used as reference images, and the second encoded image cannot be used as a reference image.
  • the image block 11 and the image block 12 in the first encoded image are used to update the long-term reference image.
  • Image blocks 31, 32, 33, and 34 in the third encoded image are used to update the long-term reference image.
  • the pixel values in the image blocks 11, 12, 31, 32, 33, and 34 are respectively used to replace the pixel values of the image blocks at the same position in the long-term reference image.
  • the following uses a video encoding method for encoding a current image to be encoded as an example. Before encoding the current image to be encoded, it is determined that the current image to be encoded can be used as a reference image according to the type of the current image to be encoded. For example, since the current image to be encoded is an I image, it is determined that the current image to be encoded can be used as a reference image. Therefore, when encoding each image block in the current image to be encoded separately, for each image block, it is determined whether the image block can be used to update the long-term reference image.
  • the following describes a method for determining that an image block can be used to update a long-term reference image with two examples.
  • Images are stored according to three components, which are Y, U, and V components. Any image block in the current to-be-encoded image is referred to as image block 1, and the image block in the previous frame of the currently-encoded image that has the same position as image block 1 is referred to as image block 2.
  • the sum of the difference between the pixel values of the pixels at the same positions is DistY.
  • the sum of the differences between the pixel values of the pixels at the same positions in the U components of the image block 1 and the image block 2 is DistU.
  • the sum of the difference between the pixel values of the pixels at the same positions in the V components of the image block 1 and the image block 2 is DistV.
  • the total pixel of the luminance component of image block 1 is PixCount, and the large error point count between image block 1 and image block 2 is LargeDist1.
  • the initial value of LargeDist1 is set to 0. When a pixel having a difference in pixel value at the same position as the brightness component of image block 2 in the luminance component of image block 1 is larger than a preset value (eg, 20), LargeDist1 is incremented by one.
  • image block 1 is considered to be a candidate block for updating the long-term reference image.
  • Dist is smaller than a preset multiple of PixCount (for example, 4 times);
  • DistU is less than the preset multiple of PixCount (for example, 0.5 times);
  • DistV is smaller than a preset multiple of PixCount (for example, 0.5 times).
  • Cost (DistY + DistU + DistV) / PixCount.
  • the M candidate blocks with the lowest cost are selected from the currently to-be-coded images for updating the specific reference image.
  • Images are stored according to three components, which are Y, U, and V components. Any image block in the current to-be-encoded image is referred to as image block 1, and the image block in the previous frame of the current to-be-encoded image that has the same position as image block 1 is referred to as image 2, and the current to-be-encoded image is referred to as image 2. In the first two frames of the encoded image, the image block having the same position as the image block 1 is the image 3.
  • the sum of the difference between the pixel values of the pixels at the same positions is DistY.
  • the sum of the differences between the pixel values of the pixels at the same positions in the U components of the image block 1 and the image block 2 is DistU.
  • the sum of the difference between the pixel values of the pixels at the same positions in the V components of the image block 1 and the image block 2 is DistV.
  • the sum of the difference between the pixel values of the pixels at the same position among the Y components of the image block 1 and the image block 3 is DistY '.
  • the sum of the difference between the pixel values of the pixels at the same position among the U components of the image block 1 and the image block 2 is DistU '.
  • the sum of the difference between the pixel values of the pixels at the same position among the V components of the image block 1 and the image block 2 is DistV '.
  • the total pixel of the luminance component of image block 1 is PixCount
  • the large error point count between image block 1 and image block 2 is LargeDist1
  • the large error point count between image block 1 and image block 3 is LargeDist2.
  • image block 1 is considered as a candidate block for updating a specific background block.
  • Dist Y and Dist Y ′ are both smaller than a preset multiple of PixCount (for example, 6 times);
  • Dist U and Dist U ’ are both smaller than the preset multiple of PixCount (for example, 0.5 times)
  • Cost (DistY + DistU + DistV) / PixCount.
  • the M candidate blocks with the lowest cost are selected from the currently to-be-coded images for updating the specific reference image.
  • the image blocks that can be used to update the long-term reference image are used to compare the long-term reference image. Update. For example, as shown in FIG. 4, the pixel values in the image blocks 41, 42, 43, and 44 are respectively used to replace the pixel values of the image blocks at the same position in the long-term reference image.
  • FIG. 5 is a schematic flowchart of still another embodiment of a video encoding method of the present application. As shown in Figure 5, the method includes:
  • the current to-be-encoded image can be used to update the long-term reference image
  • the image block is available to update the long-term reference image
  • the position of the specific image block in the long-term reference image is determined by the position of the image block in the current image to be encoded.
  • the currently-to-be-encoded image when the currently-to-be-encoded image is available for inter prediction, it is determined that the currently-to-be-encoded image can be used to update the long-term reference image. For example, when it is determined that the current image to be coded is an intra-prediction image or a forward prediction image, it is determined that the current to-be-coded image can be used to update the long-term reference image. For example, since I-pictures and P-pictures (or forward-predicted pictures) can be used as reference pictures for inter-frame prediction of other pictures, when it is determined that the currently to-be-encoded picture is an I-picture or a P-picture (or forward-predicted picture) To determine the current image to be encoded as the reference image.
  • some B-pictures can also be used as reference pictures for inter-prediction of other pictures.
  • lower-level B-pictures can be used as reference. Frames are used. Therefore, when it is determined that the current image to be encoded is this part of the B image, it can also be determined that the current image to be encoded can be used as a reference image.
  • all image blocks of the long-term reference image are updated according to all the image blocks of the currently-to-code image.
  • an image in a video when it can be used as a reference image (that is, it can be used for inter prediction), it is not distinguished as a long-term reference image or a short-term reference image, as long as the current to-be-encoded image can be framed as other images.
  • the inter-predicted reference image can determine that the current to-be-encoded image can be used as the reference image.
  • the image block in the to-be-encoded image can be used to update a specific image block.
  • the current to-be-coded image when the current to-be-coded image is not available as a short-term reference image and cannot be used as a long-term reference image, it is determined that an image block in the to-be-coded image is not available for updating a specific image block in the long-term reference image.
  • the current to-be-coded image when the current to-be-coded image can be used as a short-term reference image and can be used as a long-term reference image, it is determined that an image block in the to-be-coded image can be used to update the long-term reference image.
  • the to-be-encoded image when the current to-be-encoded image is not available as a short-term reference image but can be used as a long-term reference image, it is determined that the to-be-encoded image can be used to update the long-term reference image.
  • determining that the to-be-coded image is not available for updating the long-term reference image that is, determining the Image patches are not used to update specific image patches in the long-term reference image.
  • the current to-be-coded picture when the current to-be-coded picture can be used as a short-term reference picture but not as a long-term reference picture, it is determined that the to-be-coded picture can be used to update the long-term reference picture.
  • the current to-be-coded image when the current to-be-coded image can be used as a short-term reference image and can be used as a long-term reference image, it is determined that the to-be-coded image can be used to update the long-term reference image.
  • an identification bit is further added in at least one of the following, and the identification bit is used to identify whether an image that cannot be used as a short-term reference image can be used to update the long-term reference image:
  • the flag is a time-domain scalable flag.
  • the value of the identification bit is used to indicate that an image block in an image that is not a short-term reference image cannot be used to update the long-term reference image; and / or, when there is no time-domain scalability
  • the value of the identification bit is used to indicate that an image block in an image that is not a short-term reference image can be used to update the long-term reference image.
  • the meaning of the scheme "the image blocks in the current to-be-encoded image that cannot be used as short-term reference pictures but can be used as long-term reference frames" can be used to update long-term reference pictures.
  • it can ensure the effect of specific reference frames on improving the encoding quality while taking into account the concept of short-term reference images, which cannot be used as a reference.
  • the definition of the image of the image when the encoding system is concerned about the parallel encoding characteristics that are not used as short-term reference pictures or directly discards the characteristics that are not used as short-term reference pictures to speed up the encoding speed, the An image block cannot be used to update a specific reference frame.
  • At least one of a video parameter set, a sequence parameter set, a sequence header, an image parameter set, an image header, a slice header, a reference image set, and a reference configuration set may be added with an identification bit, and the identification bit is used to identify that the Whether the image block information in the image of the short-term reference image can be used to update a specific reference frame.
  • the identification bit may also be a time-domain scalable identification bit.
  • the value of the flag is used to indicate that the image block in the image that is not a short-term reference image is not available for the update of a specific reference frame; and / or, when the encoding system does not have
  • the value of the flag is used to indicate that an image block in an image that is not a short-term reference image can be used for updating a specific reference frame.
  • the number of image blocks in the current to-be-encoded image that can be used to update the long-term reference image may be one or more than one. In some embodiments, the number of image blocks in the current to-be-encoded image that can be used to update the long-term reference image may be unlimited, that is, all image blocks in the current to-be-encoded image that meet the conditions that can be used to update the long-term reference image are used. For updating long-term reference images.
  • the number of image blocks that can be used to update the long-term reference image is large.
  • the number of image blocks that can be used to update the long-term reference image in the current image to be encoded can be limited to Greater than M, the M is an integer not less than 1.
  • the long-term reference image is updated according to each determined image block.
  • M image blocks are selected from the determined image blocks, and the long-term reference image is updated according to the M image blocks.
  • the value of M corresponding to the current image to be encoded is determined based on the type of the current image to be encoded.
  • the value of M corresponding to the current image to be encoded is different.
  • the currently-to-be-encoded image when the currently-to-be-encoded image is an I-picture, the currently-to-be-encoded image has at most a first preset number of image blocks for updating the long-term reference image; the currently-to-be-encoded image is a P-picture (or forward-predicted image) ), The currently to-be-encoded image has at most a second preset number of image blocks for long-term reference image updating; when the currently-to-be-encoded image is a B-picture (or bidirectionally predicted image), the currently-to-be-encoded image has at most a third The preset number of image blocks are used for updating the long-term reference image, wherein the first preset value, the second preset value, and the third preset value are different.
  • the value of M corresponding to the current image to be encoded is determined based on the total number of images of the type to which the current image to be encoded belongs. Specifically, for example, the M value corresponding to the I image is half of the total number of images of the I image in the video; the M value corresponding to the P image (or forward prediction image) is the total number of images of the P image (or forward prediction image). One-quarter; the M value corresponding to the B-picture (or bi-predictive picture) that can be used as the reference picture is one-eighth of the total number of pictures of the B-picture (or bi-predictive picture).
  • an image that is not used as a reference image is not used in the encoding and decoding process of other images during the encoding and decoding process, that is, when some images are unavailable for updating the long-term reference image, they are also deleted. Used to update long-term reference images.
  • the image block in the currently-to-be-encoded image is considered to update the long-term reference image, which avoids that when some images are not available to update the long-term reference image It is also used in the case of updating the long-term reference image, for example, avoiding the case where the construction process of the long-term reference image is inconsistent with the definition of an image that is not used as a reference image.
  • the image that is not used as a reference image may not be decoded when it is decoded, thereby speeding up the decoding speed of the video code stream and achieving Variable frame rate playback of video content.
  • the use of image blocks in the current to-be-encoded image is considered to update the long-term reference image, which avoids using an image that cannot be used as a reference image.
  • the image block in the image updates the long-term reference image, it is impossible to realize the situation that the discarded part cannot be used as the reference image.
  • the specific image block in the long-term reference image is not updated with the image block in the currently-to-be-coded image. For example, when the currently-to-be-encoded image is unavailable for inter prediction, it is determined that the currently-to-be-encoded image is not available for updating the long-term reference image. As another example, when the current to-be-coded image can be used as a short-term reference image but cannot be used as a long-term reference image, it is determined that an image block in the to-be-coded image is not used to update a specific image block in the long-term reference image.
  • the current to-be-coded image is not a short-term reference image or a long-term reference image
  • it is determined that the image block in the to-be-coded image is not used to update a specific image block in the long-term reference image.
  • the encoding end is still in a video parameter set (VPS), a sequence parameter set (SPS), and a sequence header.
  • VPS video parameter set
  • SPS sequence parameter set
  • RCS reference picture configuration set
  • an identification bit of the image block in the currently-to-be-encoded image is also used to identify whether the image block in the currently-to-be-encoded image is For updating the long-term reference image.
  • FIG. 6 is a schematic diagram of a video decoding method according to another embodiment of the present application.
  • the method may be performed by an image processing apparatus, which may be various types of chips for image processing, an image processor, and the like.
  • the video decoding method includes:
  • a current to-be-decoded image can be used as a reference image
  • an image block can be used to update a long-term reference image
  • a specific image block in the long-term reference image is updated according to the image block, where the image block is all
  • the image block in the current image to be decoded is described, and the position of the specific image block in the long-term reference image is determined by the position of the image block in the current image to be decoded.
  • determining that the current image to be decoded can be used as a reference image may occur before decoding the image to be decoded. In this way, according to the determination result, when each image block in the image to be decoded is decoded or after decoding, it is determined that each image block meets a condition for updating the long-term reference image. Or, determining that the current image to be decoded can be used as a reference image, can also occur when decoding or decoding each image block in the image to be decoded, that is, when decoding or decoding each image block, first determine the image block The current image is an image that can be used as a reference image. When it is determined that the image can be used as a reference image, the image block can be used to update the long-term reference image.
  • the current image to be decoded can be used as a reference image.
  • a parameter or an identification bit indicating a reference relationship of the current image to be decoded can be obtained, and whether the current image to be decoded is available is determined according to the parameter or the identification bit.
  • Image as a reference image.
  • parameters or identification bits used to indicate the reference relationship of the current to-be-decoded image can be obtained through various ways. For example, from video parameter set (VPS), sequence parameter set (SPS), sequence header, picture header, slice header, reference image set (reference picture set (RPS) and reference picture configuration set (RCS) to obtain a parameter or an identification bit indicating a reference relationship of a current picture to be decoded.
  • VPS video parameter set
  • SPS sequence parameter set
  • RPS reference image set
  • RCS reference picture configuration set
  • the I-picture and the P-picture can be used as reference pictures for inter-frame prediction of other pictures
  • when determining whether the currently to-be-decoded picture is an I-picture or a P-picture (or forward-looking picture) (Predicted image) it is determined that the image to be decoded is an image that can be used as a reference image.
  • some B pictures (or bi-predictive pictures) can also be used as reference pictures for inter prediction. For example, in hierarchical B (hierarchical B) technology, lower-level B pictures can be used as reference frames. It is used, therefore, when it is determined that the current image to be encoded is this part of the B image, it can also be determined that the current image to be encoded can be used as a reference image.
  • the method for judging the image block can be used to update the long-term reference image.
  • the decoding end further parses the identification bits of each image from the code stream, wherein the identification bits of each image are used to indicate whether each image block in the image is used to update the long-term reference image. .
  • the decoding end can obtain an identification bit of the image block from the decoding end, and determine whether the image block is used to update the long-term reference image according to the identification bit.
  • the method for updating a specific image block in a long-term reference image according to the image block may refer to the method for updating a specific image block in a long-term reference image according to the image block in the current image to be encoded in the above description.
  • the position of a specific image block in the long-term reference image is specifically determined by the position of the image block in the current image to be decoded. For details, refer to step 101. How is the position of the specific image block in the long-term reference image determined by the image? The position of the block in the current image to be encoded is determined, and details are not described herein again.
  • the number of image blocks that can be used to update the long-term reference image in the current to-be-decoded image may be one or more than one. In some embodiments, the number of image blocks in the current to-be-decoded image that can be used to update the long-term reference image may be unlimited, that is, all image blocks in the current to-be-decoded image that meet the conditions that can be used to update the long-term reference image are used. For updating long-term reference images.
  • the number of image blocks that can be used to update the long-term reference image is large. Considering the implementation complexity of the codec system, the number of image blocks that can be used to update the long-term reference image in the current to-be-decoded image can be limited to Greater than M, the M is an integer not less than 1.
  • the long-term reference image is updated according to each determined image block.
  • M image blocks are selected from the determined image blocks, and the long-term reference image is updated according to the M image blocks.
  • the value of M corresponding to the current image to be decoded may be based on multiple determination methods. For example, the value of M corresponding to the current image to be decoded is determined based on the type of the current image to be decoded. In some embodiments, when the image types of the current image to be decoded are different, the values of M corresponding to the current image to be decoded are different.
  • the current image to be decoded when the current image to be decoded is an I image, the current image to be decoded has at most a first preset number of image blocks for updating the long-term reference image; the current image to be decoded is a P image (or a forward prediction image) ), The currently to-be-decoded image has at most a second preset number of image blocks for updating the long-term reference image; when the currently-to-be-decoded image is a B-picture (or bidirectionally predicted image), the currently-to-be-decoded image has up to a third The preset number of image blocks are used for updating the long-term reference image, wherein the first preset value, the second preset value, and the third preset value are different.
  • the value of M corresponding to the current image to be decoded is determined based on the total number of images of the type to which the current image to be decoded belongs. Specifically, for example, the M value corresponding to the I image is half of the total number of images of the I image in the video; the M value corresponding to the P image (or forward prediction image) is the total number of images of the P image (or forward prediction image). One-quarter; the M value corresponding to the B-picture (or bi-predictive picture) that can be used as the reference picture is one-eighth of the total number of pictures of the B-picture (or bi-predictive picture).
  • At least one of the following carries the number of image blocks in the current to-be-decoded image that can be used to update the long-term reference image: the image header of the currently-to-decode image, the image parameter set of the currently-decoded image, and the current-to-be-decoded image block.
  • the decoder can parse out the number of image blocks in the current to-be-decoded image that can be used to update the long-term reference image.
  • the value of M corresponding to the current to-be-decoded image is only used to inform the decoding end how many image blocks of the current image can be used for updating the specific reference frame, which can facilitate the design of the decoding end and reduce the complexity of the decoding end. degree.
  • FIG. 7 is a schematic flowchart of another embodiment of a video decoding method of the present application. As shown in Figure 7, the method includes:
  • the currently-to-be-decoded picture when the currently-to-be-decoded picture is available for inter prediction, it is determined that the currently-to-be-decoded picture can be used to update the long-term reference picture. For example, since I-pictures and P-pictures (or forward-predicted pictures) can be used as reference pictures for inter-prediction of other pictures, when the current picture to be decoded is determined to be an I-picture or a P-picture (or forward-predicted picture) To determine that the current image to be decoded is an image that can be used as a reference image. In some embodiments, some B pictures (or bi-predictive pictures) can also be used as reference pictures for inter prediction.
  • lower-level B pictures can be used as reference frames. It is used, therefore, when it is determined that the current image to be encoded is this part of the B image, it can also be determined that the current image to be encoded can be used as a reference image.
  • all image blocks of the long-term reference image are updated according to all-image blocks of the currently-to-be-decoded image.
  • the reference relationship of the current to-be-decoded picture may refer to whether the currently-decoded picture is a short-term reference picture or a long-term reference picture.
  • parameters or identification bits used to indicate the reference relationship of the current to-be-decoded image can be obtained through various ways.
  • VPS video parameter set
  • SPS sequence parameter set
  • RPS reference image set
  • RCS reference picture set
  • RCS reference picture configuration set
  • an image in a video when used as a reference image, it is not distinguished as a long-term reference image or a short-term reference image, as long as the current image to be decoded can be used as a reference image for inter-frame prediction of other images, it can be determined.
  • the current picture to be decoded can be used as a reference picture, and the current picture to be encoded can be used to update the long-term reference picture.
  • determining that the to-be-decoded image is not available for updating the long-term reference image that is, determining the Image patches are not used to update specific image patches in the long-term reference image.
  • the current image to be decoded when the current image to be decoded can be used as a short-term reference image and can be used as a long-term reference image, it is determined that the image block in the image to be decoded can be used to update the long-term reference image.
  • the to-be-decoded image when the current to-be-decoded image is not available as a short-term reference image but can be used as a long-term reference image, it is determined that the to-be-decoded image can be used to update the long-term reference image.
  • determining that the image to be decoded is not available for updating the long-term reference image that is, determining the Image patches are not used to update specific image patches in the long-term reference image.
  • the current picture to be decoded when the current picture to be decoded can be used as a short-term reference picture but cannot be used as a long-term reference picture, it is determined that the picture to be decoded can be used to update the long-term reference picture.
  • the current picture to be decoded when the current picture to be decoded can be used as a short-term reference picture and can be used as a long-term reference picture, it is determined that the picture to be decoded can be used to update the long-term reference picture.
  • determining which image is the currently decoded image For example, it can be analyzed in the video parameter set, sequence parameter set, sequence header, image parameter set, image header, slice header, reference image set, and reference configuration set. Obtain whether the current image is a short-term reference image or a long-term reference image.
  • an identification bit may be parsed by using at least one of a video parameter set, a sequence parameter set, a sequence header, an image parameter set, an image header, a slice header, a reference image set, and a reference configuration set. It is used to identify whether the image to be decoded is available for updating the long-term reference image.
  • the identification bit may also be a time-domain scalable identification bit.
  • the value of this flag is used to indicate that the image block in the image that is not a short-term reference image is not available for the update of a specific reference frame; and / or, when the decoder does not have the time domain
  • the value of this flag is used to indicate that image blocks in an image that is not a short-term reference image can be used for the update of a specific reference frame.
  • an identification bit of an image block of the image to be decoded is further obtained, where the identification bit is used to identify whether the image block in the image to be decoded is used to update the long-term reference image.
  • An image block that can be used to update the long-term reference image is determined according to the identification bit.
  • the number of image blocks that can be used to update the long-term reference image in the current to-be-decoded image may be one or more than one. In some embodiments, the number of image blocks in the current to-be-decoded image that can be used to update the long-term reference image may be unlimited, that is, all image blocks in the current to-be-decoded image that meet the conditions that can be used to update the long-term reference image are used. For updating long-term reference images.
  • the number of image blocks that can be used to update the long-term reference image is large. Considering the implementation complexity of the codec system, the number of image blocks that can be used to update the long-term reference image in the current to-be-decoded image can be limited to Greater than M, the M is an integer not less than 1.
  • the long-term reference image is updated according to each determined image block.
  • M image blocks are selected from the determined image blocks, and the long-term reference image is updated according to the M image blocks.
  • the value of M corresponding to the current image to be decoded may be based on multiple determination methods. For example, the value of M corresponding to the current image to be decoded is determined based on the type of the current image to be decoded. In some embodiments, when the image types of the current image to be decoded are different, the values of M corresponding to the current image to be decoded are different.
  • the current image to be decoded when the current image to be decoded is an I image, the current image to be decoded has at most a first preset number of image blocks for updating the long-term reference image; the current image to be decoded is a P image (or a forward prediction image) ), The currently to-be-decoded image has at most a second preset number of image blocks for updating the long-term reference image; when the currently-to-be-decoded image is a B-picture (or bidirectionally predicted image), the currently-to-be-decoded image has up to a third The preset number of image blocks are used for updating the long-term reference image, wherein the first preset value, the second preset value, and the third preset value are different.
  • the value of M corresponding to the current image to be decoded is determined based on the total number of images of the type to which the current image to be decoded belongs. Specifically, for example, the M value corresponding to the I image is half of the total number of images of the I image in the video; the M value corresponding to the P image (or forward prediction image) is the total number of images of the P image (or forward prediction image). One-quarter; the M value corresponding to the B-picture (or bi-predictive picture) that can be used as the reference picture is one-eighth of the total number of pictures of the B-picture (or bi-predictive picture).
  • At least one of the following carries the number of image blocks in the current to-be-decoded image that can be used to update the long-term reference image: the image header of the currently-to-decode image, the image parameter set of the currently-decoded image, and the current-to-be-decoded image block.
  • the decoder can parse out the number of image blocks in the current to-be-decoded image that can be used to update the long-term reference image.
  • the value of M corresponding to the current to-be-decoded image is only used to inform the decoding end how many image blocks of the current image can be used for updating the specific reference frame, which can facilitate the design of the decoding end and reduce the complexity of the decoding end. degree.
  • the current picture to be decoded when the current picture to be decoded can be used as a short-term reference picture but not as a long-term reference picture, it is determined that the image block in the picture to be decoded is not used to update the long-term reference picture.
  • the current to-be-decoded image when the current to-be-decoded image is not available as a short-term reference image and cannot be used as a long-term reference image, it is determined that an image block in the to-be-decoded image is not available for updating the long-term reference image.
  • the code stream includes a first type frame and a second type frame, and may further include a third type frame and a fourth type frame.
  • the first type frame is an I frame or a random access point, or the first type frame is an I frame and a random access point at the same time.
  • the second type frame is an inter-coded frame whose encoding order is after the first type frame and whose display order is before the first type frame.
  • the second type frame may be a P frame or a B frame.
  • the third type frame is an inter-coded frame whose coding order precedes the first type frame.
  • the display order of the third type frame may precede the first type frame.
  • the third type frame may be a P frame or a B frame.
  • the fourth type frame is an inter-coded frame whose encoding order is after the first type frame and whose display order is after the first type frame.
  • the fourth type frame may be a P frame or a B frame.
  • inter-frame coding mentioned herein includes inter-frame coding of an entire frame of images or inter-frame coding of at least one image block in the entire frame of images. This definition of inter-frame coding applies to all types of frames.
  • FIG. 8 is a schematic flowchart of an encoding method 800 according to an embodiment of the present application. As shown in FIG. 8, the encoding method 800 includes the following steps.
  • S810. Encode the first type frame.
  • N second type frames that need to be inter-frame encoded after the first type frame.
  • the display order of the N second type frames is before the first type frame. Where N is a positive integer.
  • the encoding method in the embodiment of the present application is only replaced after completing the inter-frame encoding of at least one second-type frame among the N second-type frames in which the encoding order is after the first-type frame and the display order is before the first-type frame.
  • the currently used long-term reference picture enables at least one second-type frame to reference the long-term reference picture before the first-type frame, which can improve coding efficiency.
  • encoding the first-type frame refers to performing intra-frame encoding on the first-type frame.
  • the first type of frame is a random access point.
  • the current long-term reference is replaced only after the inter-frame encoding of at least one second type frame among the N second type frames in the display order before the random access point is completed after the random access point is completed.
  • the method in the embodiment of the present application may be applied only to a random access point in a video, or may be applied to an I frame in a video.
  • At least one second type frame in S830 is concentrated on a part of the N second type frames in the coding order, and is particularly located at the front of the N second type frames.
  • the at least one second-type frame may be a part of the second-type frame in which the coding order is relatively earlier among the N second-type frames.
  • the solution in the embodiment of the present application is not limited to the case of S830. That is, at least one second type frame may refer to a long-term reference image before a random access point, and the at least one second type frame may be located at any position among the N second type frames, respectively.
  • the second long-term reference image is replaced by the second long-type reference frames of the N second-type frames except for at least one second-type frame.
  • the at least one second-type frame may be a part of the second-type frame in which the display order is relatively higher among the N second-type frames.
  • At least one second type frame may also be located at other positions in the N second type frames, which is not limited in this embodiment of the present application.
  • replacing the currently used long-term reference image may include: after completing the After inter-coding of all second-type frames in the N second-type frames, the currently used long-term reference image is replaced. That is, all the coding sequences are after the first type frame, and the frames in the display order before the first type frame refer to the long-term reference image before the first type frame. All the second type frames refer to the long-term reference image before the random access point, which can maximize the coding efficiency.
  • the encoding method may include the following steps. Intra-frame encoding of the first type of frame, in which, according to the encoding order, there is a third type of frame (which may be one or more frames) for inter-frame encoding before the first type of frame, and there is a display after the first type of frame N second type frames that need to be inter-frame coded before the first type frame, and the third type frame is encoded with reference to a long-term reference image. Based on the long-term reference image, inter-frame encoding is performed on at least one second-type frame of the N second-type frames.
  • At least one second type frame may reference a long-term reference image before the random access point, that is, at least one second type frame is based on the long-term reference image before the random access point.
  • the second type frames other than at least one second type frame in the N second type frames refer to the new long-term reference image after replacement, for example, the long-term reference image after the random access point.
  • all the second type frames of the N second type frames may be inter-frame coded.
  • Inter-coding at least one second type frame of the N second type frames based on the long-term reference image may include: updating the long-term reference image after inter-frame coding based on the third type frame, and At least one second type frame of the N second type frames is inter-frame coded.
  • the updated long-term reference image may be updated based on a specific image block of the third type frame after the third type frame is inter-coded; or, it may be a specific image block of the third type frame. After the image block is inter-coded, it is updated based on the specific image block.
  • the third type frame is displayed before the first type frame.
  • the long-term reference image before the first-type frame may be an updated long-term reference image after one or more frames of the encoded image before the first-type frame.
  • the long-term reference picture may be based on, for example, a long-term reference picture before a first type of frame.
  • the long-term reference image before the first type of frame can be continuously updated, for example, the long-term reference image after one or more encoded images in the third type of frame is updated before the first type of frame updated in this document.
  • the long-term reference picture is still referred to as the long-term reference picture before the first type of frame.
  • At least one second type frame of the N second type frames is inter-frame encoded based on the long-term reference image, and one or more frames in the second type frame have been encoded.
  • the image updates the long-term reference image for reference to subsequent frames to be encoded.
  • S820 performs inter-frame encoding on at least one second type frame of the N second type frames based on the long-term reference image, which may include: performing the N second type based on the long-term reference image. At least one second-type frame in the frame is inter-coded, and when at least a portion of the second-type frame completes encoding, the long-term reference image is updated by using a specific image block in the at least part of the second-type frame that has been encoded, The updated long-term reference picture is used as the long-term reference picture of the next type 2 frame.
  • S820 performs inter-frame encoding on at least one second type frame of the N second type frames based on the long-term reference image, which may include: performing the N second type based on the long-term reference image. At least one second-type frame in the frame is inter-coded.
  • the long-term reference image is updated by using the specific image block that has been encoded, and the updated long-term reference image is used.
  • the reference image is used as a long-term reference image of the next frame of the second type or as a long-term reference image of the current frame of the second type.
  • replacing the currently used long-term reference image may include: replacing the currently used long-term reference image with the reconstructed image of the first type frame.
  • replacing the currently used long-term reference image may include: after completing encoding the first type frame, placing the reconstructed image of the first type frame into a reference image buffer Medium; after completing inter-frame encoding of at least one second type frame of the N second type frames, outputting a reconstructed image of the first type frame from the reference image buffer, and using the The reconstructed image of the first type of frame replaces the currently used long-term reference image. That is, the reconstructed image of the first type of frame may be put into a reference image buffer, and used as a short-term reference image and stored all the time. After the inter-frame encoding of at least one frame of the second type is completed, the reconstructed image of the frame of the first type is output from the reference image buffer as a new long-term reference image in the encoding process.
  • placing the reconstructed image of the first type frame in a reference image buffer may include: when the reconstructed image of the first type frame does not exist in the reference image buffer When the reconstructed image of the first type frame is placed in the reference image buffer. That is, before putting the reconstructed image of the first type frame into the reference image buffer, it can be determined whether there is a reconstructed image of the first type frame in the reference image buffer. When the reconstructed image of the first type frame does not exist in the reference image buffer, the reconstructed image of the first type frame is placed in the reference image buffer.
  • the encoding method may further include: performing inter-frame encoding on the fourth type frame based on the replaced long-term reference image as a basis for the long-term reference image.
  • the fourth type frame may include one frame or multiple frames.
  • the fourth type frame may be inter-coded with reference to the replaced long-term reference image.
  • the fourth type frame includes multiple frames
  • one or more frames of multiple fourth type frames may be inter-frame-coded based on the replaced long-term reference image, and a frame or The multi-frame encoded image updates the long-term reference image for reference of subsequent frames to be encoded.
  • multiple fourth types may be inter-coded based on the replaced long-term reference image, and when each fourth-type frame is encoded, the long-term reference is updated using the fourth-type frame that has been encoded. An image, using the updated long-term reference image as a long-term reference image of a next fourth type frame.
  • the long-term reference image remains unchanged after the first type frame is encoded and before the next frame of the first type frame is encoded in the encoding order.
  • the long-term reference image after updating the long-term reference image, after encoding at least part of the image frames other than the first type frame, the long-term reference image is based on the partial image blocks in the image frame. Update part of the image blocks in the image; or, after encoding specific image blocks in at least part of the image frames other than the first type frame, update part of the image blocks in the long-term reference image based on the specific image block .
  • FIG. 9 is a schematic flowchart of an encoding method 900 according to an embodiment of the present application. As shown in FIG. 9, the method 900 includes the following steps.
  • S910 Encode a first type frame (for example, a random access point).
  • the remaining second-type frame and / or the fourth-type frame after the second-type frame refer to the long-term reference image constructed by referring to the reconstructed image of the first-type frame during encoding.
  • long-term reference images can be continuously updated.
  • the reference image buffer (short-term reference image buffer), and make all second-type frames refer to the first type when encoding.
  • the long-term reference image used before the frame including the third type frame and may also include the first type frame).
  • the reference image buffer is maintained, and all short-term reference images whose display order precedes the first type frames are deleted.
  • the fourth type frame after the second type frame refers to the long-term reference image constructed by referring to the reconstructed image of the first type frame when encoding.
  • long-term reference images can be continuously updated.
  • the following uses specific video sequence coding to describe the coding method in the embodiment of the present application.
  • the coding sequence is I0, P8, B4, B2, B1, B6, B5, B7, I16, B12, B10, B9, B11, B14, B13, B15, P24, B20, B18, B17, B19, B19, B21, B23 ...
  • I0 and I16 are and are random access points. Assuming I16 is the first type frame, then B12, B10, B9, B14, B13, B13, B15 are the second type frame, P8, B4, B2, B1, B3, B6, B5, B7, etc. can be regarded as the third type frame, P24, B20, B18, B17, B19, B19, B21, B21, B23 ... Fourth type frame.
  • the reconstructed image structure of I0 is placed in the reference image buffer. Since there is no frame after I0 in the display order before I0, there is no frame in the reference image buffer before the display order. Use the reference
  • the reconstructed image of I0 in the image buffer constructs a long-term reference image, and continues to encode P8, B4, B1, B3, B6, B5, and B7 after the display order of I0, and updates the reference image buffer and the long-term reference image of the reconstructed image of I0.
  • the reconstructed image of I16 is placed in the reference image buffer, and B12, B9, B11, B14, B13, and B15 before the display order of I16 continue to be encoded.
  • These long-term reference images referenced by the second type frames are long-term reference images constructed by the reconstructed image of I0, and after each encoding of the second type frame is completed, the reconstructed image structure of I0 can be updated according to the encoded second-type frames. Long-term reference image. After the encoding of B15 is completed, the subsequent frames before I16 are not displayed.
  • the reconstructed image of I16 in the reference image buffer is output as a new long-term reference image, that is, the long-term reference image constructed by the reconstructed image of I16 is replaced.
  • the reconstructed image of I0 constructs a long-term reference image. Clear all short-term reference images in the reference image buffer before the display order I16. Then continue to encode P24, B20, B18, B17, B19, B21, B21, B23 ..., and update the reference image buffer and the long-term reference image constructed by the reconstructed image of I16.
  • the coding sequence is I0, P8, B4, B2, B1, B6, B5, B7, I16, B12, B10, B9, B11, B14, B13, B15, P24, B20, B18, B17, B19, B19, B21, B23 ...
  • I0 and I16 are and are random access points. Assuming I16 is the first type frame, then B12, B10, B9, B11, B14B13, B15 are the second type frame, P8, B4, B2, B3, B6, B5, B7, etc. can all be regarded as the third type frame, P24, B20, B18, B17, B19, B19, B22, B21, B23 ... Four types of frames.
  • the reconstructed image structure of I0 is placed in the reference image buffer. Since there is no frame after I0 in the display order before I0, there is no frame in the reference image buffer before the display order.
  • the reconstructed image of I0 in the image buffer constructs a long-term reference image, and continues to encode P8, B4, B1, B3, B6, B5, and B7 after the display order of I0, and updates the reference image buffer and the long-term reference image of the reconstructed image of I0.
  • the reconstructed image of I16 is placed in the reference image buffer, and a portion of the second type frames B12, B10, B9, and B11 that are displayed before I16 are continued to be encoded.
  • These long-term reference images referenced by the second type frame are long-term reference images constructed by the reconstructed image of I0, and after each encoding of the second type frame is completed, the reconstructed image structure of I0 may be updated according to the encoded second-type frame. Long-term reference image.
  • the reconstructed image of I16 in the reference image buffer is output as a new long-term reference image, that is, the long-term reference image of the reconstructed image of I0 is replaced with the long-term reference image of the reconstructed image of I16.
  • Another part of the second type frame B14, B13, and B15 can be encoded with reference to the reconstructed image of I16 (the long-term reference image constructed by the reconstructed image of I16).
  • an identifier indicating which frame in the code stream starts to be another part of the second type frame is also encoded, or the codec segment is set to start as the first frame of the other part of the second type frame by default. .
  • the long-term reference image constructed by the reconstructed image of I16 may be updated according to the encoded second type frame.
  • all short-term reference images whose display order is before I16 in the reference image buffer are cleared.
  • the reconstructed image of I16 in the reference image buffer is output as a new long-term reference image, that is, the long-term reference image constructed by the reconstructed image of I16 is replaced with the long-term reference image constructed by the reconstructed image of I16 again.
  • P24, B20, B18, B17, B19, B21, B21, B23 ... and update the reference image buffer and the long-term reference image constructed by the reconstructed image of I16.
  • FIG. 10 is a schematic flowchart of a decoding method 1000 at a random access point according to an embodiment of the present application. As shown in FIG. 10, the decoding method 1000 includes the following steps.
  • S1010 Determine whether the random access function is used at the random access point. When using the random access function, execute 1200 for decoding; when not using the random access function, execute 1100 for decoding.
  • FIG. 11 is a schematic flowchart of a decoding method 1100 at a random access point according to an embodiment of the present application. As shown in FIG. 11, 1100 may include the following steps.
  • S1120 Inter-frame decode at least one second type frame of the N second type frames according to the long-term reference image.
  • the encoding method in the embodiment of the present application is only replaced after completing the inter-frame encoding of at least one second-type frame among the N second-type frames in which the decoding order is after the first-type frame and the display order is before the first-type frame.
  • the currently used long-term reference picture enables at least one second-type frame to reference the long-term reference picture before the first-type frame, which can improve decoding efficiency.
  • the first type frame is a random access point.
  • the first type of frame is a clear random access point.
  • S1130 replacing the currently used long-term reference image may include: after completing the N second type frames, After the inter-frame decoding of all the frames of the second type in the type frame, the currently used long-term reference image is replaced.
  • the replacing the currently used long-term reference image may include: replacing the currently used long-term reference image with the reconstructed image of the first type frame.
  • replacing the currently used long-term reference image includes: after the decoding of the first type frame is completed, placing the reconstructed image of the first type frame into a reference image buffer; After completing inter-frame decoding of at least one second type frame among the N second type frames, output the reconstructed image of the first type frame from the reference image buffer to the first type The reconstructed image of the frame replaces the currently used long-term reference image.
  • placing the reconstructed image of the first type frame in a reference image buffer may include: when the reconstructed image of the first type frame does not exist in the reference image buffer, Placing the reconstructed image of the first type of frame into the reference image buffer.
  • Inter-frame decoding of a frame may include: performing inter-frame decoding on at least one second-type frame of the N second-type frames according to the long-term reference image updated after inter-frame decoding of the third-type frame.
  • the third type frame may be displayed before the first type frame.
  • the display order of the fourth type frame is after the first type frame
  • the decoding method It also includes: performing inter-frame decoding on the fourth type frame according to the replaced long-term reference image.
  • the updated long-term reference image is updated based on a specific image block of the third-type frame after inter-frame decoding of the third-type frame; or, the updated long-term reference image is updated.
  • the reference image is updated based on the specific image block after inter-frame decoding of the specific image block of the third type frame.
  • performing inter-frame decoding on at least one second type frame of the N second type frames according to a long-term reference image includes: Perform inter-frame decoding on at least one second type of frame, and when at least part of the second type of frame is decoded, use the specific image block in the at least part of the second type of frame that has been decoded to update the long-term reference image, The long-term reference image of the second-type frame as the long-term reference image of the next type; or, at least one second-type frame of the N second-type frames is inter-frame decoded according to the long-term reference image.
  • the long-term reference image is updated using the decoded specific image block, and the updated long-term reference image is used as a long-term reference image of the next second type frame or as the current second Long-term reference image of a type frame.
  • the long-term reference image remains unchanged after the first type frame is decoded and before the next frame of the first type frame is decoded in decoding order.
  • the method further comprises: after decoding at least a part of the image frames other than the first type frame, based on a part of the image blocks in the image frame, the part of the image blocks in the long-term reference frame Update; or, after decoding a specific image block in at least a part of the image frame other than the first type frame, update a part of the image block in the long-term reference frame based on the specific image block.
  • the specific implementation of the decoding method 1100 may correspond to the specific implementation of the encoding method 800, and details are not described herein again.
  • the following uses specific video sequence coding to describe the decoding method 1100 in the embodiment of the present application without using a random access function.
  • the decoding sequence is I0, P8, B4, B2, B1, B6, B5, B7, I16, B12, B10, B9, B11, B14, B13, B15, P24, B20, B18, B17, B19, B19, B21, B23 ...
  • I0 and I16 are and are random access points. Assuming I16 is the first type frame, then B12, B10, B9, B14, B13, B13, B15 are the second type frame, P8, B4, B2, B1, B3, B6, B5, B7, etc. can be regarded as the third type frame, P24, B20, B18, B17, B19, B19, B21, B21, B23 ... Fourth type frame.
  • the reconstructed image structure of I0 is placed in the reference image buffer. Since there is no frame after I0 in the display order before I0, there is no frame in the reference image buffer before the display order. Use the reference
  • the reconstructed image of I0 in the image buffer constructs a long-term reference image, and continues to decode P8, B2, B1, B3, B6, B5, and B7 after the display order of I0, and updates the long-term reference image constructed by the reference image buffer and the reconstructed image of I0.
  • the reconstructed image of I16 After completing the decoding of I16, put the reconstructed image of I16 into the reference image buffer, and continue to decode B12, B9, B11, B14, B14, B13 and B15 before the display order of I16.
  • These long-term reference pictures referenced by the second type frame are long-term reference pictures referenced by the third type frame, and after each decoding of the second type frame is completed, the long-term reference image may be updated according to the decoded second type frame. .
  • the subsequent frames before I16 are not displayed.
  • the reconstructed image of I16 in the reference image buffer is output as a new long-term reference image, that is, the long-term reference image constructed by the reconstructed image of I16 is replaced.
  • the current long-term reference image Clear all short-term reference images in the reference image buffer before the display order I16. Then continue to decode P24, B20, B18, B19, B22, B21, B23 ..., and update the long-term reference image replaced by the reference image buffer and the reconstructed image of I16.
  • the decoding sequence is I0, P8, B4, B2, B1, B6, B5, B7, I16, B12, B10, B9, B11, B14, B13, B15, P24, B20, B18, B17, B19, B19, B21, B23 ...
  • I0 and I16 are and are random access points. Assuming I16 is the first type frame, then B12, B10, B9, B11B14, B13, B15 are the second type frame, P8, B4, B2, B3, B6, B5, B7, etc. can all be regarded as the third type frame, P24, B20, B18, B17, B19, B19, B22, B21, B23 ... Four types of frames.
  • the reconstructed image of I0 is placed in the reference image buffer. Since there is no frame after I0 in the display order before I0, there is no frame in the reference image buffer before the display order. Use the reference image
  • the reconstructed image of I0 in the buffer constructs a long-term reference image, and continues to decode P8, B2, B1, B3, B6, B5, B7, and B7 after the display order of I0, and updates the long-term reference image constructed by the reference image buffer and the reconstructed image of I0.
  • the reconstructed image of I16 is placed in the reference image buffer, and a part of the second type frames B12, B10, B9, and B11 displayed before I16 are continued to be decoded.
  • These long-term reference images referenced by the second type frame are long-term reference images constructed by the reconstructed image of I0, and after each decoding of the second type frame is completed, the reconstructed image structure of I0 may be updated according to the decoded second-type frame. Long-term reference image.
  • the reconstructed image of I16 in the reference image buffer is output as a new long-term reference image, that is, the long-term reference image of the reconstructed image of I0 is replaced with the long-term reference image of the reconstructed image of I16.
  • Another part of the second type frame B14, B13, and B15 can be decoded by referring to the reconstructed image of I16 (the long-term reference image constructed by the reconstructed image of I16). And after each decoding of the second type frame is completed, the long-term reference image constructed by the reconstructed image of I16 may be updated according to the decoded second type frame.
  • FIG. 12 is a schematic flowchart of a decoding method 1200 at a random access point according to an embodiment of the present application. As shown in FIG. 12, 1200 may include the following steps.
  • S1220 Inter-decode the fourth-type frame using a long-term reference image formed from the reconstructed image of the first-type frame, and when each fourth-type frame completes decoding, use the Four types of frames update the long-term reference image, and use the updated long-term reference image as the long-term reference image of the next frame.
  • S1220 performing inter-frame decoding on the fourth type of frame using the long-term reference image formed by the reconstructed image of the first type of frame may include: within the frame of completing the first type of frame After decoding, the reconstructed image of the first type frame is put into a reference image buffer; the reconstructed image of the first type frame is output from the reference image buffer, and the reconstruction of the first type frame is used The image is used as a currently used long-term reference image, and the fourth type frame is inter-frame decoded.
  • placing the reconstructed image of the first type frame in a reference image buffer may include: when the reconstructed image of the first type frame does not exist in the reference image buffer, Placing the reconstructed image of the first type of frame into the reference image buffer.
  • the following uses specific video sequence coding to describe the decoding method 1200 using the random access function in the embodiment of the present application.
  • the decoding sequence is I0, P8, B4, B2, B1, B6, B5, B7, I16, B12, B10, B9, B11, B14, B13, B15, P24, B20, B18, B17, B19, B19, B21, B23 ...
  • I0 and I16 are and are random access points. Assuming I16 is the first type of frame, that is, using the random access function and decoding from I16, then B12, B10, B9, B11, B14, B13, and B15 are the second type of frame, P8, B4, B2, B1, B3, B6, B5, B7, etc. can be regarded as the third type of frame. , P24, B20, B18, B17, B19, B22, B21, B23 ... are frames of the fourth type.
  • the reconstructed image of I16 is placed in the reference image buffer, and all short-term reference images in the display order of the reference image buffer before I16 are cleared.
  • decoding B12, B10, B11, B11, B13, B15, B15, and B15 before the display order of I16 directly decode P24, B20, B18, B17, B19, B21, B21, B23 ..., and update the reference image buffer and the long-term reference image constructed by the reconstructed image of I16.
  • FIG. 13 is a schematic block diagram of an encoding device 1300 according to an embodiment of the present application.
  • the encoding device 1300 includes a first encoding module 1310, a second encoding module 1320, and a replacement module 1330.
  • the first encoding module 1310 is configured to encode a first type frame. In the encoding order, there are N second type frames that need to be inter-frame encoded after the first type frame.
  • the display order is before the first type frame, where N is a positive integer.
  • the second encoding module 1320 is configured to perform inter-frame encoding on at least one second type frame of the N second type frames according to the long-term reference image.
  • the replacement module 1330 is configured to replace a currently used long-term reference image after completing inter-frame encoding of at least one second type frame among the N second type frames.
  • the encoding device in the embodiment of the present application replaces only after completing inter-frame encoding of at least one second type frame among N second type frames in which the encoding order is after the first type frame and the display order is before the first type frame.
  • the currently used long-term reference picture enables at least one second-type frame to reference the long-term reference picture before the first-type frame, which can improve coding efficiency.
  • the replacement module 1330 is specifically configured to: after completing the inter-coding of all the second type frames of the N second type frames, replace the currently used long-term reference image.
  • the replacement module 1330 is specifically configured to: replace the currently used long-term reference image with the reconstructed image of the first type frame.
  • the replacement module 1330 is specifically configured to: after the encoding of the first type frame is completed, place the reconstructed image of the first type frame into a reference image buffer; After the inter-frame encoding of at least one second type frame among the N second type frames, the reconstructed image of the first type frame is output from the reference image buffer, and the reconstruction of the first type frame is performed. The image replaces the currently used long-term reference image.
  • the replacing module 1330 placing the reconstructed image of the first type frame in a reference image buffer includes: when the first type frame does not exist in the reference image buffer, When the image is reconstructed, the reconstructed image of the first type frame is placed in the reference image buffer.
  • the second encoding module 1320 is specifically configured to: The updated long-term reference image performs inter-frame coding on at least one second type frame among the N second type frames.
  • the third type frame is displayed before the first type frame.
  • the updated long-term reference image is updated based on a specific image block of the third-type frame after inter-coding of the third-type frame; or, the updated long-term reference image is updated.
  • the reference image is updated based on the specific image block after inter-frame encoding of the specific image block of the third type frame.
  • the encoding device 1300 also A third encoding device may be included to perform inter-frame encoding on the fourth type frame according to the replaced long-term reference image.
  • the first type frame is a random access point.
  • the first type of frame is a clear random access point.
  • the second encoding module 1320 is specifically configured to:
  • the long-term reference image is updated using the encoded specific image blocks, and the updated long-term reference image is used as the next first The long-term reference image of the second-type frame or the long-term reference image of the current second-type frame.
  • the long-term reference image remains unchanged after the first type frame is encoded and before the next frame of the first type frame is encoded in the encoding order.
  • the encoding device 1300 is further configured to, after encoding at least a part of the image frames other than the first type frame, perform a part of the long-term reference frame based on a part of the image blocks in the image frame. Update image blocks; or, after encoding specific image blocks in at least part of the image frames other than the first type frame, update some image blocks in the long-term reference frame based on the specific image blocks.
  • the long-term reference image remains unchanged until the next frame is encoded.
  • FIG. 14 is a schematic block diagram of an encoding device 1400 according to another embodiment of the present application.
  • the encoding device 1400 shown in FIG. 14 may include at least one processor 1410 and at least one memory 1420 for storing computer-executable instructions; at least one processor 1410, alone or collectively, for: accessing the at least one memory 1420 And execute the computer-executable instructions to perform the following operations: encode a first type frame, where there are N second type frames that require inter-frame encoding after the first type frame in the encoding order, so The display order of the N second type frames is before the first type frame, where N is a positive integer; at least one second type frame among the N second type frames is interframed according to the long-term reference image. Encoding; after completing inter-frame encoding of at least one second type frame among the N second type frames, replacing a currently used long-term reference image.
  • the processor 1410 is specifically configured to: after completing inter-frame encoding of all the second type frames of the N second type frames, replace the currently used long-term reference image.
  • the processor 1410 is specifically configured to: replace the currently used long-term reference image with the reconstructed image of the first type frame.
  • the processor 1410 is specifically configured to: after the encoding of the first type frame is completed, place the reconstructed image of the first type frame into a reference image buffer; After the inter-frame encoding of at least one second type frame among the N second type frames, the reconstructed image of the first type frame is output from the reference image buffer, and the reconstruction of the first type frame is performed. The image replaces the currently used long-term reference image.
  • the processor 1410 is specifically configured to: when the reconstructed image of the first type frame does not exist in the reference image buffer, place the reconstructed image of the first type frame into the reference image buffer. Reference image buffer.
  • the processor 1410 is specifically configured to:
  • the updated long-term reference image performs inter-frame coding on at least one second type frame among the N second type frames.
  • the third type frame is displayed before the first type frame.
  • the updated long-term reference image is updated based on a specific image block of the third-type frame after inter-coding of the third-type frame; or, the updated long-term reference image is updated.
  • the reference image is updated based on the specific image block after inter-frame encoding of the specific image block of the third type frame.
  • the first type frame is a random access point.
  • the first type of frame is a clear random access point.
  • the processor 1410 is specifically configured to perform inter-frame coding on at least one second type frame of the N second type frames according to a long-term reference image, and complete coding on at least a part of the second type frames.
  • a long-term reference image is updated using a specific image block in the at least part of the second type frame that has been encoded, and the updated long-term reference image is used as a long-term reference image for the next second-type frame; or according to the long-term reference
  • the image performs inter-frame coding on at least one second type frame of the N second type frames, and when at least a part of the specific image block of the second type frame is encoded, the long-term reference is updated by using the specific image block of the completed encoding An image, using the updated long-term reference image as a long-term reference image of a next second type frame or as a long-term reference image of the current second type frame.
  • the long-term reference image remains unchanged after the first type frame is encoded and before the next frame of the first type frame is encoded in the encoding order.
  • the processor 1410 is further configured to, after encoding at least a part of the image frames other than the first type frame, based on a part of the image blocks in the image frame, part of the image blocks in the long-term reference frame Updating; or, after encoding a specific image block in at least a part of the image frame other than the first type frame, updating a part of the image block in the long-term reference frame based on the specific image block.
  • the long-term reference image remains unchanged until the next frame is encoded.
  • FIG. 15 is a schematic block diagram of a decoding device 1500 according to an embodiment of the present application.
  • the decoding device 1500 includes a first decoding module 1510, a second decoding module 1520, and a replacement module 1530.
  • the first decoding module 1510 is configured to decode a first type frame. In the decoding order, there are N second type frames that need to be inter-frame decoded after the first type frame. The display order is before the first type frame, where N is a positive integer.
  • the second decoding module 1520 is configured to perform inter-frame decoding on at least one second type frame of the N second type frames according to the long-term reference image.
  • the replacement module 1530 is configured to replace a currently used long-term reference image after completing inter-frame decoding of at least one second type frame among the N second type frames.
  • the decoding device in this embodiment of the present application replaces only after completing inter-frame decoding of at least one second-type frame among N second-type frames in which the decoding order is after the first-type frame and the display order is before the first-type frame.
  • the currently used long-term reference picture enables at least one second-type frame to reference the long-term reference picture before the first-type frame, which can improve decoding efficiency.
  • the replacement module 1530 is specifically configured to: after completing the inter-frame decoding of all the second type frames of the N second type frames, replace the currently used long-term reference image.
  • the replacement module 1530 is specifically configured to: replace the currently used long-term reference image with the reconstructed image of the first type frame.
  • the replacement module 1530 is specifically configured to: after the decoding of the first type frame is completed, place the reconstructed image of the first type frame into a reference image buffer; After the inter-frame decoding of at least one second type frame among the N second type frames, output the reconstructed image of the first type frame from the reference image buffer, and reconstruct the first type frame The image replaces the currently used long-term reference image.
  • the replacing module 1530 placing the reconstructed image of the first type frame in a reference image buffer includes: when the first type frame does not exist in the reference image buffer, When the image is reconstructed, the reconstructed image of the first type frame is placed in the reference image buffer.
  • the second decoding module 1520 is specifically configured to:
  • the updated long-term reference image performs inter-frame decoding on at least one second type frame among the N second type frames.
  • the third type frame is displayed before the first type frame.
  • the updated long-term reference image is updated based on a specific image block of the third-type frame after inter-frame decoding of the third-type frame; or, the updated long-term reference image is updated.
  • the reference image is updated based on the specific image block after inter-frame decoding of the specific image block of the third type frame.
  • the decoding device 1500 also A third decoding device may be included to perform inter-frame decoding on the fourth type frame according to the replaced long-term reference image.
  • the first type frame is a random access point.
  • the first type of frame is a clear random access point.
  • the second decoding module 1520 is specifically configured to:
  • the decoded specific image blocks are used to update the long-term reference image, and the updated long-term reference image is used as the next first The long-term reference image of the second-type frame or the long-term reference image of the current second-type frame.
  • the long-term reference image remains unchanged after the first type frame is decoded and before the next frame of the first type frame is decoded in decoding order.
  • the decoding device 1500 is further configured to, after decoding at least a part of the image frame other than the first type frame, perform a part of the long-term reference frame based on a part of the image block in the image frame. Update the image block; or, after decoding a specific image block in at least a part of the image frame other than the first type frame, update a part of the image block in the long-term reference frame based on the specific image block.
  • the long-term reference image remains unchanged until the next frame is decoded.
  • FIG. 16 is a schematic block diagram of a decoding device 1600 according to another embodiment of the present application.
  • the decoding device 1600 shown in FIG. 16 may include at least one processor 1610 and at least one memory 1620 for storing computer-executable instructions; at least one processor 1610, alone or collectively, for: accessing the at least one memory 1620 And execute the computer-executable instructions to perform the following operations: decoding a first type frame, where there are N second type frames that require inter-frame decoding after the first type frame in the decoding order, so The display order of the N second type frames is before the first type frame, where N is a positive integer; at least one second type frame among the N second type frames is interframed according to the long-term reference image. Decoding; after completing inter-frame decoding of at least one second type frame among the N second type frames, replacing a currently used long-term reference image.
  • the processor 1610 is specifically configured to: after completing inter-frame decoding of all the second type frames of the N second type frames, replace the currently used long-term reference image.
  • the processor 1610 is specifically configured to: replace the currently used long-term reference image with the reconstructed image of the first type frame.
  • the processor 1610 is specifically configured to: after completing decoding the first type frame, place the reconstructed image of the first type frame into a reference image buffer; After the inter-frame decoding of at least one second type frame among the N second type frames, output the reconstructed image of the first type frame from the reference image buffer, and reconstruct the first type frame The image replaces the currently used long-term reference image.
  • the processor 1610 is specifically configured to: when the reconstructed image of the first type frame does not exist in the reference image buffer, place the reconstructed image of the first type frame into the reference image buffer. Reference image buffer.
  • the processor 1610 is specifically configured to:
  • the updated long-term reference image performs inter-frame decoding on at least one second type frame among the N second type frames.
  • the third type frame is displayed before the first type frame.
  • the updated long-term reference image is updated based on a specific image block of the third-type frame after inter-frame decoding of the third-type frame; or, the updated long-term reference image is updated.
  • the reference image is updated based on the specific image block after inter-frame decoding of the specific image block of the third type frame.
  • the first type frame is a random access point.
  • the first type of frame is a clear random access point.
  • the processor 1610 is specifically configured to perform inter-frame decoding on at least one second type frame of the N second type frames according to a long-term reference image, and complete decoding on at least a part of the second type frames.
  • the long-term reference image is updated by using the specific image block in the at least part of the second-type frame that has been decoded, and the updated long-term reference image is used as the long-term reference image of the next second-type frame; or according to the long-term reference
  • the image performs inter-frame decoding on at least one second type frame of the N second type frames, and when at least part of the specific image block of the second type frame completes decoding, the long-term reference is updated by using the specific image block that has been decoded.
  • An image, using the updated long-term reference image as a long-term reference image of a next second type frame or as a long-term reference image of the current second type frame.
  • the long-term reference image remains unchanged after the first type frame is decoded and before the next frame of the first type frame is decoded in decoding order.
  • the processor 1610 is further configured to, after decoding at least a part of the image frames other than the first type frame, based on a part of the image blocks in the image frame, for a part of the image blocks in the long-term reference frame Update; or, after decoding a specific image block in at least a part of the image frame other than the first type frame, update a part of the image block in the long-term reference frame based on the specific image block.
  • the long-term reference image remains unchanged until the next frame is decoded.
  • the devices of the embodiments of the present application may be implemented based on a memory and a processor.
  • Each memory is used to store instructions for executing the method of the embodiments of the application.
  • the processor executes the foregoing instructions, so that the device executes the embodiments of the application. Methods.
  • processors mentioned in the embodiments of the present application may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), and application-specific integrated circuits (DSPs).
  • DSPs digital signal processors
  • DSPs application-specific integrated circuits
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • a general-purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
  • the memory mentioned in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), or Erase programmable read-only memory (EPROM, EEPROM) or flash memory.
  • the volatile memory may be random access memory (RAM), which is used as an external cache.
  • RAM random access memory
  • DRAM dynamic random access memory
  • SDRAM synchronous dynamic random access memory
  • double SDRAM double SDRAM
  • DDR SDRAM double data rate synchronous dynamic random access memory
  • enhanced SDRAM enhanced SDRAM
  • SLDRAM synchronous connection dynamic random access memory
  • direct RAMbus RAM direct RAMbus RAM
  • the processor is a general-purpose processor, a DSP, an ASIC, an FPGA, or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component
  • the memory memory module
  • An embodiment of the present application further provides a computer-readable storage medium having instructions stored thereon.
  • the computer is caused to execute the methods of the foregoing method embodiments.
  • An embodiment of the present application further provides a computer program, which causes a computer to execute the methods of the foregoing method embodiments.
  • An embodiment of the present application further provides a computing device, where the computing device includes the computer-readable storage medium described above.
  • the embodiments of the present application can be applied in the field of aircraft, especially in the field of drones.
  • circuits, sub-circuits, and sub-units in the embodiments of the present application is merely schematic. Those of ordinary skill in the art may realize that the circuits, sub-circuits, and sub-units of the examples described in the embodiments disclosed herein can be split or combined again.
  • a computer program product includes one or more computer instructions.
  • the computer may 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, for example, the computer instructions may be transmitted from a web site, computer, server, or data center via a wired (e.g., Coaxial cable, optical fiber, digital subscriber line (DSL), or wireless (such as infrared, wireless, microwave, etc.) transmission to another website site, computer, server, or data center.
  • a computer-readable storage medium may be any available media that can be accessed by a computer or a data storage device such as a server, data center, or the like, which contains one or more available media integrations.
  • Usable media may be magnetic media (for example, floppy disks, hard disks, magnetic tapes), optical media (for example, high-density digital video discs (DVDs)), or semiconductor media (for example, solid state disks (SSDs) )Wait.
  • magnetic media for example, floppy disks, hard disks, magnetic tapes
  • optical media for example, high-density digital video discs (DVDs)
  • semiconductor media for example, solid state disks (SSDs)
  • an embodiment or “an embodiment” mentioned throughout the specification means that a particular feature, structure, or characteristic related to the embodiment is included in at least one embodiment of the present application.
  • the appearances of "in one embodiment” or “in an embodiment” appearing throughout the specification are not necessarily referring to the same embodiment.
  • the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
  • the size of the sequence numbers of the above processes does not mean the order of execution.
  • the execution order of each process should be determined by its function and internal logic, and should not deal with the embodiments of the present application.
  • the implementation process constitutes any limitation.
  • B corresponding to A means that B is associated with A, and B can be determined according to A.
  • determining B based on A does not mean determining B based solely on A, but also determining B based on A and / or other information.
  • the disclosed systems, devices, and methods may be implemented in other ways.
  • the device embodiments described above are only schematic.
  • the division of the unit is only a logical function division.
  • multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, which may be electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objective of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each of the units may exist separately physically, or two or more units may be integrated into one unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

L'invention porte sur des procédés de codage et de décodage, et sur des dispositifs de codage et de décodage. Le procédé de codage consiste : à coder des trames d'un premier type, N trames d'un second type nécessitant un codage inter-trame après les trames du premier type en fonction de l'ordre de codage et l'ordre d'affichage des N trames du second type étant avant celui des trames du premier type ; à effectuer un codage inter-trame sur au moins l'une des N trames du second type selon une image de référence à long terme ; et à remplacer l'image de référence à long terme actuellement utilisée après que le codage inter-trame de la trame ou de l'une des N trames du second type est terminé. Le procédé de codage permet à ou aux trames du second type de se référer à l'image de référence à long terme avant les trames du premier type et peut améliorer l'efficacité de codage.
PCT/CN2018/089673 2018-06-01 2018-06-01 Procédés de codage et de décodage, dispositifs de codage et de décodage WO2019227491A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2018/089673 WO2019227491A1 (fr) 2018-06-01 2018-06-01 Procédés de codage et de décodage, dispositifs de codage et de décodage
CN201880011426.3A CN110366851B (zh) 2018-06-01 2018-06-01 编码、解码方法及编码、解码设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/089673 WO2019227491A1 (fr) 2018-06-01 2018-06-01 Procédés de codage et de décodage, dispositifs de codage et de décodage

Publications (1)

Publication Number Publication Date
WO2019227491A1 true WO2019227491A1 (fr) 2019-12-05

Family

ID=68215012

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/089673 WO2019227491A1 (fr) 2018-06-01 2018-06-01 Procédés de codage et de décodage, dispositifs de codage et de décodage

Country Status (2)

Country Link
CN (1) CN110366851B (fr)
WO (1) WO2019227491A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111800631A (zh) * 2020-06-22 2020-10-20 西安万像电子科技有限公司 数据处理方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113824965A (zh) * 2021-09-22 2021-12-21 北京百度网讯科技有限公司 一种视频编码方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140086325A1 (en) * 2012-09-27 2014-03-27 Qualcomm Incorporated Scalable extensions to hevc and temporal motion vector prediction
WO2017062373A1 (fr) * 2015-10-07 2017-04-13 Qualcomm Incorporated Procédés et systèmes de codage d'une image d'accès aléatoire prédictive en utilisant une image d'arrière-plan
CN107333133A (zh) * 2016-04-28 2017-11-07 浙江大华技术股份有限公司 一种码流接收设备的码流编码的方法及装置
CN107396138A (zh) * 2016-05-17 2017-11-24 华为技术有限公司 一种视频编解码方法及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6045222B2 (ja) * 2012-06-28 2016-12-14 株式会社Nttドコモ 動画像予測復号装置、方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140086325A1 (en) * 2012-09-27 2014-03-27 Qualcomm Incorporated Scalable extensions to hevc and temporal motion vector prediction
WO2017062373A1 (fr) * 2015-10-07 2017-04-13 Qualcomm Incorporated Procédés et systèmes de codage d'une image d'accès aléatoire prédictive en utilisant une image d'arrière-plan
CN107333133A (zh) * 2016-04-28 2017-11-07 浙江大华技术股份有限公司 一种码流接收设备的码流编码的方法及装置
CN107396138A (zh) * 2016-05-17 2017-11-24 华为技术有限公司 一种视频编解码方法及设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111800631A (zh) * 2020-06-22 2020-10-20 西安万像电子科技有限公司 数据处理方法及系统

Also Published As

Publication number Publication date
CN110366851B (zh) 2023-03-31
CN110366851A (zh) 2019-10-22

Similar Documents

Publication Publication Date Title
US20230232000A1 (en) Sub-partition intra prediction
KR101202630B1 (ko) 비디오 코딩에 대한 시간 압축에서의 프래그먼트된 기준
JP5859581B2 (ja) ビデオコーデックにおけるバッファ管理
US10616583B2 (en) Encoding/decoding digital frames by down-sampling/up-sampling with enhancement information
JP6377603B2 (ja) ビデオコード化における低遅延ビデオバッファリング
US9473790B2 (en) Inter-prediction method and video encoding/decoding method using the inter-prediction method
JP2014535219A (ja) ビデオコーディングにおける高度な復号ピクチャバッファ(dpb)管理によるランダムアクセス
JP2014524196A (ja) ビデオデータの再生状態識別のためのビデオデータの多重化方法及び装置、逆多重化方法及び装置
US11212536B2 (en) Negative region-of-interest video coding
JP2017525175A (ja) ビデオにおけるピクチャのロバストな符号化および復号化
US11695934B2 (en) Mixed NAL unit type based-video encoding/decoding method and apparatus, and method for transmitting bitstream
JP2022527555A (ja) エンコーダ、デコーダ、および対応する方法
US11902556B2 (en) Mixed NAL unit type-based image encoding/decoding method and device, and method for transmitting bitstream
WO2020042191A1 (fr) Procédé de codage, procédé de décodage, appareil de codage et appareil de décodage
WO2019227491A1 (fr) Procédés de codage et de décodage, dispositifs de codage et de décodage
JP7492023B2 (ja) 混成nalユニットタイプに基づく画像符号化/復号化方法及び装置、並びにビットストリームを保存する記録媒体
RU2806784C1 (ru) Способ и устройство кодирования/декодирования изображений на основе смешанного типа nal-единицы и способ для передачи потока битов
JP7492027B2 (ja) Ptl関連情報をシグナリングする画像符号化/復号方法および装置、ならびにビットストリームを記憶したコンピュータ読み取り可能記録媒体
RU2812029C2 (ru) Способ и устройство кодирования/декодирования изображений на основе смешанного типа nal-единицы и способ для передачи потока битов
US11115452B2 (en) Method and device for processing encoded video data, and method and device for generating encoded video data
US20150222927A1 (en) Inter-prediction method and video encoding/decoding method using the inter-prediction method
US8233709B2 (en) Color effects for compressed digital video
KR101852859B1 (ko) 랜덤액세서블 p-프레임에 기초한 동영상 랜덤액세스 처리 방법
WO2018223353A1 (fr) Procédé de codage vidéo, procédé de décodage vidéo, et appareil associé
JP2024050862A (ja) Dpbパラメータをシグナリングする画像符号化/復号化方法及び装置、並びにビットストリームを保存したコンピュータ可読記録媒体

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: 18920524

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18920524

Country of ref document: EP

Kind code of ref document: A1