Coding and decoding method and device
By using the reference image determination module in the encoder and the decoder, ensuring that the reconstructed CRR image matches the displayed image as the reference image, the problem of encoding and decoding failure in the prior art is solved, and the encoding and decoding success rate and stability are improved.
Patent Information
- Application Number
- CN202410620813.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-01
- Publication Date
- 2025-03-04
- Estimated Expiration
- 2043-09-01
AI Technical Summary
In the prior art, the distance between the displayed image referenced across a random access point and the reconstructed CRR image referenced is relatively long, resulting in the encoding and decoding failure, and the reference image used for encoding and decoding cannot be accurately determined.
By implementing the reference image determination module in the encoder and the decoder, using the reconstructed CRR image as the reference image, the reference image matches the display image during inter prediction encoding and decoding, thereby improving the encoding and decoding success rate.
It effectively solves the problem of encoding and decoding failure caused by mismatch between the reference image and the displayed image, improves the success rate of encoding and decoding, and ensures the stability and efficiency of the video encoding and decoding process.
Smart Images

Figure CN119562073A_ABST
Abstract
Description
[0001] This application is a divisional application. The application number of the original application is 202311131845.X, and the original application date is September 1, 2023. The entire contents of the original application are incorporated into this application by reference. Technical Field
[0002] The present application relates to the field of data compression technology, and in particular to a coding and decoding method and device. Background Art
[0003] With the promotion of digital video applications (such as broadcast digital television, video transmission on the Internet, video real-time conversation applications, video content storage, video content acquisition and editing systems, and other applications involving digital video), video encoding and decoding (video encoding and video decoding) through codecs (encoders and decoders) are widely used. Among them, video encoding is the encoder compressing the original video stream through a specific compression algorithm, and the compressed video stream can be more conveniently stored and transmitted. Video decoding is the decoder decoding the compressed video stream to obtain the original video stream.
[0004] In the related art, a coding and decoding scheme based on a cross random access point reference (CRR) image is provided. For example, the encoder performs coding operations on slices of multiple display images and CRR images corresponding to the multiple display images to obtain a coded image bit stream and a reconstructed CRR image. The coded image bit stream includes multiple CRR image bit stream segments and multiple display image bit streams in an interleaved order. The encoder can use the reconstructed CRR image corresponding to the current display image as a reference image of the current display image to perform inter-frame prediction coding on the current display image to eliminate time domain redundancy. Accordingly, the decoder decodes the coded image bit stream to obtain a reconstructed CRR image and multiple display image bit streams. The decoder can use the reconstructed CRR image corresponding to the current display image bit stream as a reference image to perform inter-frame prediction decoding on the current display image bit stream to eliminate time domain redundancy. The CRR image corresponds to multiple display images, and the multiple display images can include multiple cross random access points (RAPs), so that the reconstructed CRR image can be used for cross-RAP reference.
[0005] However, the cross-RAP reference means that the distance between the displayed image and the reconstructed CRR image referenced by the displayed image is relatively far. In this way, the reconstructed CRR image determined by the codec as the reference image for the displayed image is likely not the reference image that the displayed image should actually use, resulting in codec failure. Summary of the invention
[0006] The present application provides a coding and decoding method and device, which solves the problem of mismatch between reference images and display images in the related art, and can accurately determine the reference image used for coding and decoding the display image, thereby improving the coding and decoding success rate of the codec.
[0007] In a first aspect, the present application provides a coding method, which includes: performing coding operations on a reference CRR image across random access points and multiple display images corresponding to the CRR image to obtain a coded image bit stream, and then obtaining a reconstructed CRR image based on the coding operation; when the display image currently being processed is a reference enabled first image of the currently acquired reconstructed CRR image, using the currently acquired reconstructed CRR image as a reference image to perform inter-frame prediction coding on the display image; wherein the coded image bit stream includes: multiple CRR image bit stream segments in an interleaved order, multiple display image bit streams, and image information; the image information is used to indicate the reference enabled first image, and the reference enabled first image includes the first image in the display image that refers to the reconstructed CRR image.
[0008] In an embodiment of the present application, when the encoder is performing inter-frame prediction encoding, when encountering a reference enabled first image for a reconstructed CRR image, the encoder determines the reconstructed CRR image of the reference enabled first image as a reference image, thereby ensuring that there is a reference image that matches the display image when performing inter-frame prediction encoding on the display image, avoiding encoding failure problems caused by mismatch between the reference image and the display image, and improving the encoding success rate.
[0009] In one possible implementation, a reference image used for inter-frame prediction coding is stored in a designated buffer; when a currently processed display image is a reference enabled first image of a currently acquired reconstructed CRR image, the currently acquired reconstructed CRR image is used as a reference image, including: when a currently processed display image is a reference enabled first image of a currently acquired reconstructed CRR image, the designated buffer is updated using the currently acquired reconstructed CRR image.
[0010] In an embodiment of the present application, the reference image used for inter-frame prediction coding is stored in a designated buffer, and then the reference image can be determined by updating the designated cache with the currently acquired reconstructed CRR image, without the need for additional marking and recording information, which is more efficient.
[0011] In a possible implementation, updating a designated buffer using the currently acquired reconstructed CRR image includes:
[0012] When a historically reconstructed CRR image is acquired from a designated buffer, the historically reconstructed CRR image in the designated buffer is replaced with the currently acquired reconstructed CRR image.
[0013] In the embodiment of the present application, if there is a previous reconstructed CRR image in the encoder, the previous reconstructed CRR image is replaced with the new reconstructed CRR image. In this way, the reconstructed image in the encoder can be directly used with reference to the previous display image and the timeliness of the update can be improved, thereby taking into account both accuracy and coding efficiency.
[0014] In a possible implementation, updating a designated buffer using the currently acquired reconstructed CRR image includes:
[0015] When the historical reconstructed CRR image is not acquired from the designated buffer, the currently acquired reconstructed CRR image is stored in the designated buffer.
[0016] In the embodiment of the present application, if the encoder does not use the reconstructed CRR image, the currently obtained reconstructed CRR image can be directly moved into the buffer. The reconstructed CRR image not used by the encoder means that there is no longer a display image to use, and the buffer is empty, so it can be directly moved in, thereby expanding the applicable scenarios and further avoiding encoding failure.
[0017] In a possible implementation, after obtaining the reconstructed CRR image based on the encoding operation, the method further includes:
[0018] When the currently processed display image is the non-reference enabled first image of the currently acquired reconstructed CRR image, the reconstructed CRR image used by the last processed display image is used as the reference image to perform inter-frame prediction encoding on the display image.
[0019] In an embodiment of the present application, in the case where the currently processed display image is a non-reference enabled first image of the currently acquired reconstructed CRR image, the reconstructed CRR image used by the last processed display image is used as the reference image, thereby ensuring that the reference image can be accurately determined for multiple display images over long distances in cross-RAP scenarios, further improving the encoding success rate.
[0020] In a second aspect, the present application provides a decoding method, which includes: receiving a coded image bit stream, the coded image bit stream including interleaved cross-random access point reference CRR image bit stream segments, multiple display image bit streams, quantity information and image information; the image information is used to indicate a reference enabled first image, the reference enabled first image including the first image in the display image that refers to the reconstructed CRR image; performing a decoding operation on the coded image bit stream, and obtaining a reconstructed CRR image based on the operation result; when the display image bit stream currently being processed is the reference enabled first image bit stream of the currently acquired reconstructed CRR image, using the currently acquired reconstructed CRR image as a reference image, and performing inter-frame prediction decoding on the display image bit stream.
[0021] In an embodiment of the present application, when the decoder is performing inter-frame prediction decoding, when encountering a reference-enabled first-image bitstream of a reconstructed CRR image, the reconstructed CRR image of the reference-enabled first-image bitstream is determined as a reference image, thereby ensuring that there is a reference image that matches the display image when performing inter-frame prediction decoding on the display image bitstream, avoiding decoding failure problems caused by mismatch between the reference image and the display image bitstream, and improving the decoding success rate.
[0022] In one possible implementation, the coded image bit stream also includes quantity information, where the quantity information is used to indicate n, where n is an integer greater than 1; a decoding operation is performed on the coded image bit stream, and based on the operation result, a reconstructed CRR image is obtained, including: if there are n CRR image bit stream fragments in the coded image bit stream, and based on the image information, it is determined that the currently processed display image bit stream is a reference enabled first image bit stream of the currently acquired reconstructed CRR image, the n CRR image bit stream fragments are decoded to obtain the reconstructed CRR image.
[0023] In the embodiment of the present application, the decoder obtains the reconstructed CRR image only when the CRR image enables the first-image bit stream. In this way, it can be ensured that what is cached is the CRR image bit stream fragment, the caching cost is low, and it is beneficial to performance improvement.
[0024] In one possible implementation, the coded image bit stream also includes quantity information, where the quantity information is used to indicate n, where n is an integer greater than 1; a decoding operation is performed on the coded image bit stream, and based on the operation result, a reconstructed CRR image is obtained, including: if there are n CRR image bit stream fragments in the coded image bit stream, the n CRR image bit stream fragments are decoded to obtain the reconstructed CRR image.
[0025] In the embodiment of the present application, the decoder receives a complete CRR slice bit stream and immediately obtains the reconstructed CRR image, so that it can be used for decoding in a more timely manner.
[0026] In one possible implementation, after performing a decoding operation on the encoded image bit stream and obtaining a reconstructed CRR image based on the operation result, the method further includes: when the currently processed display image bit stream is a non-reference enabled first-image bit stream of the currently acquired reconstructed CRR image, using the reconstructed CRR image used by the last processed display image bit stream as a reference image, and performing inter-frame prediction decoding on the display image bit stream.
[0027] In an embodiment of the present application, if there is a display image bit stream of the previous reconstructed CRR image still in use, the display image bit stream waits until the CRR image is received to enable the first image bit stream, and then the currently acquired reconstructed CRR image is used as a reference image to ensure that the display image bit stream using the previous reconstructed CRR image can be decoded successfully.
[0028] In one possible implementation, a reference image used for inter-frame prediction coding is stored in a designated buffer; and a currently acquired reconstructed CRR image is used as a reference image, including: when a currently processed display image bit stream is a reference-enabled first-image bit stream of the currently acquired reconstructed CRR image, the designated buffer is updated using the currently acquired reconstructed CRR image.
[0029] In the embodiment of the present application, the reconstructed CRR image serving as the reference image is stored in a designated buffer, so that the designated buffer is updated with the currently acquired reconstructed CRR image. The reference image can be determined without additional marking and adding information, which is more efficient.
[0030] In a third aspect, the present application provides an encoding device, which includes: a reconstructed image acquisition module, which is used to perform encoding operations on a reference image across random access points and multiple display images corresponding to the reference image to obtain a coded image bit stream, and then, based on the encoding operation, obtain a reconstructed reference image; a reference image determination module, which is used to use the currently acquired reconstructed reference image as a reference image to perform inter-frame prediction encoding on the display image when the currently processed display image is a reference enabled first image of the currently acquired reconstructed reference image; wherein the coded image bit stream includes: multiple reference image bit stream fragments in an interleaved order, multiple display image bit streams, and image information; the image information is used to indicate the reference enabled first image, and the reference enabled first image includes the first image in the display image that refers to the reconstructed reference image.
[0031] In one possible implementation, the reference image used for inter-frame prediction coding is stored in a designated buffer; the reference image determination module is specifically used to: when the currently processed display image is a reference enabled first image of the currently acquired reconstructed reference image, update the designated buffer using the currently acquired reconstructed reference image.
[0032] In a possible implementation, the reference image determination module is specifically configured to: when a historical reconstruction reference image is acquired from a designated buffer, replace the historical reconstruction reference image in the designated buffer with the currently acquired reconstruction reference image.
[0033] In a possible implementation manner, the reference image determination module is specifically configured to: store the currently acquired reconstructed reference image into the designated buffer when the historical reconstructed reference image is not acquired from the designated buffer.
[0034] In one possible implementation, the reference image determination module is also used to: when the currently processed display image is a non-reference enabled first image of the currently acquired reconstructed reference image, use the reconstructed reference image used by the last processed display image as a reference image to perform inter-frame prediction encoding on the display image.
[0035] The third aspect and any implementation of the third aspect correspond to the first aspect and any implementation of the first aspect, respectively. The technical effects corresponding to the third aspect and any implementation of the third aspect can refer to the technical effects corresponding to the first aspect and any implementation of the first aspect, which will not be repeated here.
[0036] In a fourth aspect, the present application provides a decoding device, which includes: a transceiver module for receiving a coded image bit stream, the coded image bit stream including interleaved reference image bit stream fragments across random access points, multiple display image bit streams, quantity information and image information; the image information is used to indicate a reference enabled first image, the reference enabled first image including the first image in the display image that refers to a reconstructed reference image; a decoding module for performing a decoding operation on the coded image bit stream, and based on the operation result, obtaining a reconstructed reference image; when the display image bit stream currently being processed is the reference enabled first image bit stream of the currently obtained reconstructed reference image, the currently obtained reconstructed reference image is used as a reference image to perform inter-frame prediction decoding on the display image bit stream.
[0037] In a possible implementation, the coded image bit stream also includes quantity information, where the quantity information is used to indicate n, where n is an integer greater than 1; the decoding module is specifically used to: if there are n reference image bit stream fragments in the coded image bit stream, and based on the image information, it is determined that the currently processed display image bit stream is the reference enabled first image bit stream of the currently acquired reconstructed reference image, the n reference image bit stream fragments are decoded to obtain the reconstructed reference image.
[0038] In a possible implementation, the coded image bit stream also includes quantity information, where the quantity information is used to indicate n, where n is an integer greater than 1; the decoding module is specifically used to: if there are n reference image bit stream fragments in the coded image bit stream, decode the n reference image bit stream fragments to obtain a reconstructed reference image.
[0039] In one possible implementation, the decoding module is further used to: perform a decoding operation on the encoded image bit stream, and based on the operation result, after obtaining a reconstructed reference image, when the currently processed display image bit stream is a non-reference enabled first-image bit stream of the currently obtained reconstructed reference image, use the reconstructed reference image used by the last processed display image bit stream as a reference image to perform inter-frame prediction decoding on the display image bit stream.
[0040] In one possible implementation, the reference image used for inter-frame prediction coding is stored in a designated buffer; the decoding module is specifically used to: when the currently processed display image bit stream is the reference enabled first-image bit stream of the currently acquired reconstructed reference image, update the designated buffer using the currently acquired reconstructed reference image.
[0041] The fourth aspect and any two implementations of the fourth aspect correspond to the second aspect and any two implementations of the second aspect, respectively. The technical effects corresponding to the fourth aspect and any two implementations of the fourth aspect can refer to the technical effects corresponding to the above-mentioned second aspect and any two implementations of the second aspect, which will not be repeated here.
[0042] In a fifth aspect, the present application provides a coding device, comprising: one or more processors; a memory for storing one or more computer programs or instructions; when the one or more computer programs or instructions are executed by one or more processors, the one or more processors implement a method as described in any one of the first aspects.
[0043] In a sixth aspect, the present application provides a decoding device, comprising: one or more processors; a memory for storing one or more computer programs or instructions; when the one or more computer programs or instructions are executed by one or more processors, the one or more processors implement a method as described in any one of the second aspects.
[0044] In a seventh aspect, the present application provides a coding device, comprising a processor, configured to execute a method as described in any one of the first aspects.
[0045] In an eighth aspect, the present application provides a decoding device, comprising a processor, configured to execute a method as described in any one of the second aspects.
[0046] In a ninth aspect, the present application provides an electronic device comprising: a processing circuit and an interface circuit; wherein the interface circuit is used to couple with a memory outside the encoding and decoding device and provide a communication interface for the processing circuit to access the memory; the processing circuit is used to execute program instructions in the memory to implement any method described in the first aspect to the second aspect.
[0047] In the specific implementation process, the electronic device may be a chip, the input circuit may be an input pin, the output circuit may be an output pin, and the processing circuit may be a transistor, a gate circuit, a trigger, and various logic circuits. The input signal received by the input circuit may be received and input by, for example, but not limited to, a receiver, and the signal output by the output circuit may be, for example, but not limited to, output to a transmitter and transmitted by the transmitter, and the input circuit and the output circuit may be the same circuit, which is used as an input circuit and an output circuit at different times. The embodiments of the present application do not limit the specific implementation methods of the processor and various circuits.
[0048] In one implementation, the electronic device may be a wireless communication device, that is, a computer device that supports wireless communication functions. Specifically, the wireless communication device may be a terminal such as a smart phone, or a wireless access network device such as a base station. The system chip may also be referred to as a system on chip (SoC), or simply as an SoC chip. The communication chip may include a baseband processing chip and a radio frequency processing chip. The baseband processing chip is sometimes also referred to as a modem or a baseband chip. The radio frequency processing chip is sometimes also referred to as a radio frequency transceiver or a radio frequency chip. In a physical implementation, some or all of the chips in the communication chip may be integrated inside the SoC chip. For example, the baseband processing chip is integrated in the SoC chip, and the radio frequency processing chip is not integrated with the SoC chip. The interface circuit may be a radio frequency processing chip in a wireless communication device, and the processing circuit may be a baseband processing chip in a wireless communication device.
[0049] In another implementation, the electronic device may be a part of a wireless communication device, such as an integrated circuit product such as a system chip or a communication chip. The interface circuit may be an input / output interface, an interface circuit, an output circuit, an input circuit, a pin or a related circuit on the chip or the chip system. The processor may also be embodied as a processing circuit or a logic circuit.
[0050] In a tenth aspect, the present application provides a computer-readable storage medium, in which a program code is stored. When the program code is executed by a processor, the method described in any one of the first to second aspects is implemented.
[0051] In an eleventh aspect, the present application provides a chip, comprising: at least one processor. The at least one processor is configured to execute the method as described in any one of the first aspect to the second aspect.
[0052] Optionally, the chip further includes a memory. At least one processor is used to execute the code in the memory, and when the at least one processor executes the code, the chip implements the method as described in any one of the first aspect to the second aspect.
[0053] Optionally, the above chip may also be an integrated circuit.
[0054] In a twelfth aspect, the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to implement a method as described in any one of the first to second aspects. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] Figure 1 An exemplary block diagram of a decoding system provided in an embodiment of the present application;
[0056] Figure 2A schematic diagram of a video sequence provided in an embodiment of the present application;
[0057] Figure 3 A schematic diagram of a flow chart of an encoding method provided in an embodiment of the present application;
[0058] Figure 4 A flowchart of a decoding method provided in an embodiment of the present application;
[0059] Figure 5 A schematic diagram of a coding and decoding process provided in an embodiment of the present application;
[0060] Figure 6 A schematic diagram of another encoding and decoding process provided in an embodiment of the present application;
[0061] Figure 7 A schematic diagram of another encoding and decoding process provided in an embodiment of the present application;
[0062] Figure 8 A schematic diagram of another encoding and decoding process provided in an embodiment of the present application;
[0063] Fig. 9 A schematic diagram of another encoding and decoding process provided in an embodiment of the present application;
[0064] Fig.10 A schematic diagram of another encoding and decoding process provided in an embodiment of the present application;
[0065] Fig.11 A schematic diagram of another encoding and decoding process provided in an embodiment of the present application;
[0066] Fig.12 A schematic diagram of another encoding and decoding process provided in an embodiment of the present application. DETAILED DESCRIPTION
[0067] In order to make the purpose, technical solutions and advantages of this application clearer, the technical solutions in this application will be clearly and completely described below in conjunction with the drawings in this application. Obviously, the described embodiments are part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0068] The terms "first", "second", etc. in the specification embodiments, claims, and drawings of the present application are only used for the purpose of distinguishing descriptions, and cannot be understood as indicating or implying relative importance, nor can they be understood as indicating or implying order. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, including a series of steps or units. The method, system, product, or device is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products, or devices.
[0069] It should be understood that in the present application, "at least one (item)" means one or more, and "plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.
[0070] Figure 1 An exemplary block diagram of a decoding system provided in an embodiment of the present application, for example, a video decoding system 10 (or simply a decoding system 10) that can utilize the technology of the present application. The video encoder 20 (or simply an encoder 20) and the video decoder 30 (or simply a decoder 30) in the video decoding system 10 represent devices that can be used to perform various techniques according to various examples described in the present application.
[0071] like Figure 1 As shown, the decoding system 10 includes a source device 12, which is used to provide encoded image data 21 such as encoded images to a destination device 14 for decoding the encoded image data 21.
[0072] The source device 12 includes an encoder 20 , and may additionally or optionally include an image source 16 , a preprocessor (or a preprocessing unit) 18 such as an image preprocessor, and a communication interface (or a communication unit) 22 .
[0073] The image source 16 may include or may be any type of image capture device for capturing real-world images, etc., and / or any type of image generation device, such as a computer graphics processor for generating computer-animated images or any type of device for acquiring and / or providing real-world images, computer-generated images (e.g., screen content, virtual reality (VR) images, and / or any combination thereof (e.g., augmented reality (AR) images). The image source may be any type of memory or storage that stores any of the above images.
[0074] In order to distinguish the processing performed by the pre-processor (or pre-processing unit) 18 , the image (or image data) 17 may also be referred to as a raw image (or raw image data) 17 .
[0075] The preprocessor 18 is used to receive the original image data 17 and preprocess the original image data 17 to obtain a preprocessed image (or preprocessed image data) 19. For example, the preprocessing performed by the preprocessor 18 may include trimming, color format conversion (e.g., from RGB to YCbCr), color adjustment, or denoising. It is understood that the preprocessing unit 18 may be an optional component.
[0076] The video encoder (or encoder) 20 is configured to receive the pre-processed image data 19 and provide encoded image data 21 .
[0077] The communication interface 22 in the source device 12 can be used to receive the encoded image data 21 and send the encoded image data 21 (or any other processed version) to another device such as the destination device 14 or any other device through the communication channel 13 for storage or direct reconstruction.
[0078] The source device 12 may also include a memory ( Figure 1 (not shown), the memory may be used to store at least one of the following data: original image data 17, pre-processed image (or pre-processed image data) 19 and encoded image data 21.
[0079] The destination device 14 includes a decoder 30 and, in addition or alternatively, may include a communication interface (or communication unit) 28 , a post-processor (or post-processing unit) 32 , and a display device 34 .
[0080] The communication interface 28 in the destination device 14 is used to receive the encoded image data 21 (or any other processed version) directly from the source device 12 or from any other source device such as a storage device, for example, the storage device is a encoded image data storage device, and provide the encoded image data 21 to the decoder 30.
[0081] The communication interface 22 and the communication interface 28 can be used to send or receive encoded image data (or encoded data) 21 through a direct communication link between the source device 12 and the destination device 14, such as a direct wired or wireless connection, or through any type of network, such as a wired network, a wireless network or any combination thereof, any type of private network and public network or any type of combination thereof.
[0082] For example, the communication interface 22 may be used to encapsulate the encoded image data 21 into a suitable format such as a message, and / or process the encoded image data using any type of transmission coding or processing for transmission over a communication link or network.
[0083] The communication interface 28 corresponds to the communication interface 22 , for example, and can be used to receive transmission data and process the transmission data using any type of corresponding transmission decoding or processing and / or decapsulation to obtain the encoded image data 21 .
[0084] Both the communication interface 22 and the communication interface 28 can be configured as follows Figure 1 A unidirectional communication interface, or a bidirectional communication interface, indicated by an arrow pointing from the source device 12 to the corresponding communication channel 13 of the destination device 14, and can be used to send and receive messages, etc. to establish a connection, confirm and exchange any other information related to the communication link and / or data transmission such as encoded image data transmission, etc.
[0085] The video decoder (or decoder) 30 is used to receive the encoded image data 21 and provide decoded image data (or decoded image data) 31 .
[0086] The post-processor 32 is used to post-process the decoded image data 31 (also called reconstructed image data) such as the decoded image to obtain the post-processed image data 33 such as the post-processed image. The post-processing performed by the post-processing unit 32 may include, for example, color format conversion (e.g., from YCbCr to RGB), color adjustment, cropping or resampling, or any other processing for generating the decoded image data 31 for display by the display device 34 or the like.
[0087] The display device 34 is used to receive the post-processed image data 33 to display the image to a user or viewer, etc. The display device 34 can be or include any type of display for displaying the reconstructed image, such as an integrated or external display screen or display. For example, the display screen can include a liquid crystal display (LCD), an organic light emitting diode (OLED) display, a plasma display, a projector, a micro LED display, a liquid crystal on silicon (LCoS), a digital light processor (DLP), or any other type of display screen.
[0088] The destination device 14 may also include a memory ( Figure 1 (not shown), the memory can be used to store at least one of the following data: encoded image data 21, decoded image data 31 and post-processed image data 33.
[0089] The decoding system 10 also includes a training engine 25, which is used to train the encoder 20 to process an input image or image region or image block, obtain a feature map of the input image or image region or image block, and obtain an estimated probability distribution of the feature map, and encode the feature map according to the estimated probability distribution.
[0090] The training engine 25 is also used to train the decoder 30 to obtain an estimated probability distribution of the code stream, decode the code stream according to the estimated probability distribution to obtain a feature map, and decode and reconstruct the feature map to obtain a reconstructed image.
[0091] although Figure 1 The source device 12 and the destination device 14 are shown as independent devices, but the device embodiment may also include the source device 12 and the destination device 14 or the functions of the source device 12 and the destination device 14 at the same time, that is, the source device 12 or the corresponding function and the destination device 14 or the corresponding function at the same time. In these embodiments, the source device 12 or the corresponding function and the destination device 14 or the corresponding function can be implemented using the same hardware and / or software or by separate hardware and / or software or any combination thereof.
[0092] According to the description, Figure 1 The presence and (exact) division of different units or functions in the source device 12 and / or the destination device 14 shown may vary depending on the actual device and application, which will be obvious to the skilled person.
[0093] Before describing the embodiments of the present application, the concepts and terms used in the embodiments of the present application are first explained.
[0094] Reconstructed image: refers to the lossy image obtained by decoding the encoded image bit stream, which can be displayed and played. It exists at both the encoding end and the decoding end, and the reconstructed images in the encoding end and the decoding end are exactly the same. At the encoding end, the reconstructed image can be used as a reference image of the image to be encoded to perform inter-frame prediction encoding on the image to be encoded. At the decoding end, the reconstructed image can be used as a reference image of the image bit stream to be decoded to perform inter-frame prediction decoding on the image bit stream to be decoded.
[0095] RAP: Random access point in video encoding. The encoded video bitstream includes at least one RAP. When random access occurs, the video bitstream before the RAP can be skipped, and the subsequent image bitstream can be decoded from the RAP and the reconstructed video image output by the decoded output can be played. From the perspective of video playback, random access can be understood as dragging the progress bar of the player to achieve random video jumps when watching on-demand videos (or playing back videos locally); or when packet loss and a black screen occur when watching live broadcasts, the client will access the video stream and continue to play the video when the next RAP arrives. RAP is usually an intra-coded picture (I) frame. The I frame only uses the information inside the current frame for predictive coding to eliminate information redundancy in the spatial domain without relying on other frames.
[0096] RAS: RAS includes all images from one RAP to the next RAP. Images in a RAS are forward prediction (predictive, P) frames or bi-directional interpolated prediction frames (bi-directional interpolated prediction frames, B frames). P frames or B frames need to use coded images for time domain prediction to eliminate time domain redundancy.
[0097] For example, please refer to Figure 2 , Figure 2 A schematic diagram of a video sequence provided in an embodiment of the present application, Figure 2 11 video frames a1 to a11 are shown. Among them, a2, a6 and a10 are I frames and serve as RAP, all video frames between a2 and a6 are P frames and constitute RAS1, and all video frames between a6 and a10 are P frames and constitute RAS2. Figure 2 It can be seen that each P frame needs to be encoded with reference to the previous m video frames, where m is an integer greater than 1. For example, a3 can be encoded with reference to a2, and a4 can be encoded with reference to a2 and / or a3.
[0098] CRR coding: When encoding a video frame in one RAS, the video frames in other RASs except the RAS can be referenced for encoding.
[0099] In most videos (such as movies or TV programs), many scenes appear alternately, and the scenes displayed at different times may be similar. The interval between two adjacent similar scenes is usually long, so two adjacent similar scenes are in the same RAP but the interval is long, or the time correlation spans the RAP. For example, the video standard generally stipulates that the length of RAS is 1s or 2s, and the interval between two adjacent similar scenes is usually close to the length of RAS (for example, 0.7s) or greater than the length of RAS (for example, 3s). In addition, in video scenes such as security monitoring, the appearance of similar scenes usually lasts for a long time, so there may be two similar scenes in the same RAP but with a long interval, or the time correlation spans the RAP.
[0100] The embodiment of the present application provides a coding and decoding method, which can accurately determine the reference image when coding and decoding a video with a high degree of scene repetition, thereby improving the success rate of video coding and decoding.
[0101] Please refer to Figure 3 , Figure 3 A schematic diagram of a flow chart of an encoding method provided in an embodiment of the present application, which can be applied to an encoder, may include the following steps:
[0102] S301 , after performing an encoding operation on a cross-random access point reference CRR image and a plurality of display images corresponding to the CRR image to obtain an encoded image bit stream, a reconstructed CRR image is obtained based on the encoding operation.
[0103] Exemplarily, the above S301 may specifically include the following processes from 401 to 403 and optional implementation modes:
[0104] 401. Obtain CRR images corresponding to multiple display images.
[0105] The multiple display images may be multiple display images that are continuous in a video sequence. The encoder may be set with a preset duration, divide the video sequence into at least one video segment according to the preset duration, and obtain a CRR image corresponding to the video segment. Multiple display images may constitute a video segment. The preset duration may be greater than the length of the current RAS, for example, the preset duration may be 6s, 7s, or 10s, and accordingly, the multiple display images include multiple RAPs, each of which may be a P frame or a B frame.
[0106] A reconstructed CRR image can be used as a reference image for a subsequent plurality of display images to be encoded. Optionally, any one of the plurality of display images can be used as a CRR image corresponding to the plurality of display images. Alternatively, a CRR image corresponding to the plurality of display images can be obtained based on the plurality of display images. The embodiment of the present application does not limit the method for obtaining the CRR image.
[0107] 402. Perform encoding operation on the CRR image and multiple display images to obtain an encoded image bit stream, where the encoded image bit stream includes: n CRR image bit stream segments and multiple display image bit streams in an interleaved order, where n is an integer greater than 1.
[0108] The coded image bit stream is a single-channel bit stream. When n CRR image bit stream segments are transmitted, the transmission order (ie, the encoder output order) is before the bit stream of the subsequent first display image that references the CRR image.
[0109] The CRR image is used to generate a reconstructed image, which can then be used as a reference image for the subsequent to-be-encoded display image to perform inter-frame prediction encoding on the to-be-encoded display image. The CRR image does not need to be displayed. After encoding a display image in a video sequence, a display image bit stream and a reconstructed display image are obtained. It can be seen that in the embodiment of the present application, the reconstructed image includes two types: a reconstructed display image and a reconstructed CRR image.
[0110] The reference image of the display image includes: a reconstructed display image and / or a currently effective reconstructed CRR image. The currently effective reconstructed CRR image can be stored in the buffer space of the encoder, for example, in the DPB of the encoder. The currently effective reconstructed CRR image refers to the reconstructed CRR image that is in effect at the moment when the encoding operation is performed on each display image in the multiple display images.
[0111] When performing an encoding operation on each display image among a plurality of display images, at least one display image bit stream has been encoded, and correspondingly, there is also at least one reconstructed display image. Optionally, any number of reconstructed display images among all the currently obtained reconstructed display images can be used as reference images of the display image. For example, the reference image of the display image includes: at least one reconstructed display image obtained by the encoding operation performed on at least one display image that was previously output most recently. For example, when performing an encoding operation on the third display image among a plurality of display images, the current encoding obtains the first display image bit stream and the first reconstructed display image corresponding to the first display image, and the second display image bit stream and the second reconstructed display image corresponding to the second display image. Therefore, when performing an encoding operation on the third display image among a plurality of display images, the first reconstructed display image and the second reconstructed display image can be used as reference images of the third display image.
[0112] The currently effective reconstructed CRR image is obtained by encoding the CRR image. Optionally, it can be obtained when the CRR image bitstream segment group is encoded. The CRR image bitstream segment group may include: the latest output n CRR image bitstream segments, or the latest output n CRR image bitstream segments corresponding to the same CRR image. The latest output here refers to the latest output at the moment of encoding the display image.
[0113] During the encoding process of the entire video sequence, before the nth CRR image bitstream segment is output, there is no currently valid reconstructed CRR image. Therefore, for the display image bitstream output before the nth CRR image bitstream segment, the reference image used during encoding only includes the reconstructed display image.
[0114] Since the n CRR image bit stream segments and the multiple display image bit streams are interwoven into one coded image bit stream, the coded image bit stream can be transmitted using an existing transmission protocol and stored using an existing file format.
[0115] 403. Encode a preset syntax identifier into a coded image bit stream, wherein the preset syntax identifier includes at least one of the following: quantity information, image information, and position information, wherein the quantity information indicates n, the image information indicates a target image, and the bit stream of the target image is transmitted after n CRR image bit stream segments, and the position information indicates the position of the n CRR image bit streams in the coded image bit stream.
[0116] Encoding the preset syntax identifier into the coded image bit stream may be directly adding the preset syntax identifier to the coded image bit stream, or adding the preset syntax identifier to the coded image bit stream after encoding and compression, which is not limited in the embodiments of the present application.
[0117] The preset syntax identifier is used by the decoder side to determine whether the CRR slice is lost. The preset syntax identifier can be located in the high-level parameters of the coded image bitstream, and the high-level parameters include at least one of the following: SPS, PPS, and image header. SPS includes a set of global parameters of the video coding sequence, such as color space, size (width and height) of each frame of the image, and encoding level. PPS includes encoding parameters for at least one frame of the image, such as quantization matrix and filtering parameters. The image header includes encoding parameters for one frame of the image, such as frame number.
[0118] For example, for SPS, there may be one SPS before every N CRR image bitstream segments, or one SPS before the entire bitstream. For PPS, there may be one PPS before every multiple bitstreams. For the image header, there may be one image header before the first CRR image bitstream segment, and one slice header or segment header before other non-first CRR image bitstream segments.
[0119] Since the decoder side will parse the high-level parameters first after receiving the bitstream, placing the preset syntax identifier in the high-level parameters enables the decoder to quickly determine whether there is a lost CRR image bitstream segment. This enables the decoder to respond to transmission failures in a timely manner, enhancing the robustness of the encoding and decoding process.
[0120] Among them, the target image can be: the first display image that uses the CRR image as a reference image (the image header of the display image has a CRR image enabling first image flag), the first display image that only uses the CRR image as a reference image, a display image whose bitstream is transmitted after n CRR image bitstream segments, or a CRR image whose bitstream is transmitted after n CRR image bitstream segments. Before transmitting the bitstream of the target image, the transmission of n CRR image bitstream segments needs to be completed. For example, assuming that the target image is a CRR image, the bitstream segments of the CRR image obtained above should not be interleaved with the bitstream segments of the target image, that is, the transmission of the bitstream segments of the target image should not be started before all the bitstream segments of the CRR image obtained above are encoded and transmitted. In other words, the target image can be used as a reference to enable the first image.
[0121] The image information may be: the frame number of the target image, the decoding number of the target image's bit stream, the frame number difference between the target image and the CRR image, or the decoding number difference between the target image's bit stream and the CRR image's bit stream, which is not limited in the embodiments of the present application.
[0122] The position information may include a position identifier for each CRR image bitstream segment. The position identifier of the CRR image bitstream segment is used to indicate at which position the next CRR image bitstream segment will be transmitted. The position identifier of the CRR image bitstream segment can be: a frame number (referring to the frame number of a display image corresponding to a display image bitstream before or after the CRR image bitstream segment), a decoding number (referring to the decoding number of a display image bitstream before or after the CRR image bitstream segment), the difference between the frame number and the frame number corresponding to the next CRR image bitstream segment, or the difference between the decoding number and the decoding number corresponding to the next CRR image bitstream segment, etc., as long as it can indicate at which position the CRR image bitstream segment will be transmitted.
[0123] S302, when the currently processed display image is the reference enabled first image of the currently acquired reconstructed CRR image, use the currently acquired reconstructed CRR image as the reference image to perform inter-frame prediction encoding on the display image; wherein the image information is used to indicate the reference enabled first image, and the reference enabled first image includes the first image in the display image that refers to the reconstructed CRR image.
[0124] Optionally, the preset syntax identifier may further include bitstream segment information, where the bitstream segment information is used to indicate that each CRR image bitstream segment is used as a display image of a reference image.
[0125] In an embodiment of the present application, when the encoder is performing inter-frame prediction encoding, when encountering a reference enabled first image for a reconstructed CRR image, the encoder determines the reconstructed CRR image of the reference enabled first image as a reference image, thereby ensuring that there is a reference image that matches the display image when performing inter-frame prediction encoding on the display image, avoiding encoding failure problems caused by mismatch between the reference image and the display image, and improving the encoding success rate.
[0126] Optionally, the reference image used for inter-frame prediction coding is stored in a designated buffer;
[0127] In the case where the currently processed display image is the reference enabled first image of the currently acquired reconstructed CRR image, using the currently acquired reconstructed CRR image as a reference image may specifically include:
[0128] In a case where the currently processed display image is a reference enabled first image of the currently acquired reconstructed CRR image, the designated buffer is updated using the currently acquired reconstructed CRR image.
[0129] Exemplarily, the encoder and the decoder each have a corresponding designated buffer, and the designated buffer may be, for example, a decoded picture buffer (DPB).
[0130] In an embodiment of the present application, the reference image used for inter-frame prediction coding is stored in a designated buffer, and then the reference image can be determined by updating the designated cache with the currently acquired reconstructed CRR image, without the need for additional marking and recording information, which is more efficient.
[0131] Optionally, updating the designated buffer using the currently acquired reconstructed CRR image may specifically include:
[0132] When a historically reconstructed CRR image is acquired from a designated buffer, the historically reconstructed CRR image in the designated buffer is replaced with the currently acquired reconstructed CRR image.
[0133] For example, when replacing the historically reconstructed CRR image in the designated buffer with the currently acquired reconstructed CRR image, the specific replacement method may be to overwrite the historically reconstructed CRR image, or to remove the historically reconstructed CRR image and then move in the historically reconstructed CRR image.
[0134] In the embodiment of the present application, if there is a previous reconstructed CRR image in the encoder, the previous reconstructed CRR image is replaced with the new reconstructed CRR image. In this way, the reconstructed image in the encoder can be directly used with reference to the previous display image and the timeliness of the update can be improved, thereby taking into account both accuracy and coding efficiency.
[0135] Optionally, updating the designated buffer using the currently acquired reconstructed CRR image may specifically include:
[0136] When the historical reconstructed CRR image is not acquired from the designated buffer, the currently acquired reconstructed CRR image is stored in the designated buffer.
[0137] In the embodiment of the present application, if the encoder does not use the reconstructed CRR image, the currently obtained reconstructed CRR image can be directly moved into the buffer. The reconstructed CRR image not used by the encoder means that there is no longer a display image to use, and the buffer is empty, so it can be directly moved in, thereby expanding the applicable scenarios and further avoiding encoding failure.
[0138] Optionally, based on the encoding operation, after obtaining the reconstructed CRR image, the encoding method provided in the embodiment of the present application may further include:
[0139] When the currently processed display image is the non-reference enabled first image of the currently acquired reconstructed CRR image, the reconstructed CRR image used by the last processed display image is used as the reference image to perform inter-frame prediction encoding on the display image.
[0140] In an embodiment of the present application, in the case where the currently processed display image is a non-reference enabled first image of the currently acquired reconstructed CRR image, the reconstructed CRR image used by the last processed display image is used as the reference image, thereby ensuring that the reference image can be accurately determined for multiple display images over long distances in cross-RAP scenarios, further improving the encoding success rate.
[0141] Exemplarily, when the first image is enabled for the encoded CRR image, if the previous reconstructed CRR image already exists in the encoder, the previous reconstructed CRR image in the current decoded image buffer is removed, and the current reconstructed CRR image is moved into the decoded image buffer; otherwise, the reconstructed CRR image is directly moved into the decoded image buffer. It should be noted that after all CRR sub-images are encoded, subsequent encoded images may not immediately use the reconstructed CRR image for reference, but continue to refer to the previous reconstructed CRR image. At this point, the current reconstructed CRR image needs to be cached until the first image is enabled for the CRR image, and then the decoded image buffer is updated.
[0142] Please refer to Figure 4 , Figure 4A flowchart of a decoding method provided in an embodiment of the present application is provided. The method can be applied to a decoder. The method can include the following steps:
[0143] S401, receiving a coded image bitstream, the coded image bitstream comprising interleaved and ordered cross-random access point reference CRR image bitstream segments, multiple display image bitstreams, quantity information, and image information; the image information is used to indicate a reference enabled first image, the reference enabled first image comprising a first image in the display image that references the reconstructed CRR image;
[0144] S402, performing a decoding operation on the coded image bit stream, and obtaining a reconstructed CRR image based on the operation result;
[0145] The above S401 to S402 may specifically include the following processes 501 to 505 and optional examples:
[0146] 501. Receive a coded image bit stream, where the coded image bit stream includes interleaved and ordered CRR image bit stream segments and a display image bit stream.
[0147] 502. Perform a decoding operation on the encoded image bit stream.
[0148] Each time a display image bit stream is decoded, a reconstructed display image is obtained. The reference image of the display image bit stream includes: the reconstructed display image and / or the currently effective reconstructed CRR image. The currently effective reconstructed CRR image can be stored in the buffer space of the decoder, for example, in the DPB of the decoder.
[0149] The reference image used when decoding any display image bitstream in the coded image bitstream is consistent with the reference image used by the encoder when encoding the display image bitstream. Each display image bitstream may carry a reference image identifier, and when decoding the display image bitstream, the decoder determines the reference image of the display image bitstream based on the reference image identifier it carries.
[0150] The reconstructed display image is obtained by decoding the previous display image bit stream. A display image bit stream is decoded to obtain a reconstructed display image.
[0151] The currently effective reconstructed CRR image is obtained by decoding the previous CRR image bitstream segment. Optionally, the currently effective reconstructed CRR image can be obtained by decoding a CRR image bitstream segment group. The CRR image bitstream segment group includes: the first n CRR image bitstream segments of the display image bitstream, or the first n CRR image bitstream segments of the display image bitstream corresponding to the same CRR image. In the decoding process of the encoded image bitstream corresponding to the entire video sequence, before the decoding of the received nth CRR image bitstream segment is completed, there is no currently effective reconstructed CRR image, so for the display image bitstream before the nth CRR image bitstream segment, the reference image used in decoding only includes the reconstructed display image.
[0152] 503. Obtain a preset syntax identifier from the coded image bit stream.
[0153] The preset syntax identifier includes at least one of the following: quantity information, image information, and position information, the quantity information indicates n, the image information indicates the target image in the coded image bitstream that is transmitted after n CRR image bitstream segments, and the position information indicates the positions of the n CRR image bitstream segments in the coded image bitstream.
[0154] When the preset syntax identifier includes only quantity information, the decoder parses the quantity information (indicating n) from the coded image bitstream when receiving the first CRR image bitstream segment of the coded image bitstream. When the preset syntax identifier includes only image information, the decoder parses the image information (indicating the target image) from the coded image bitstream when receiving the first CRR image bitstream segment of the coded image bitstream, and the n CRR image bitstream segments need to be received before the bitstream of the target image. When the preset syntax identifier includes only position information, the decoder parses the position information from the coded image bitstream when receiving the first CRR image bitstream segment of the coded image bitstream.
[0155] 504. Determine whether there are n CRR image bit stream segments in the coded image bit stream according to a preset syntax identifier, where the n CRR image bit stream segments correspond to one CRR image, and n is an integer greater than 1.
[0156] After the decoder parses the quantity information from the coded image bitstream, it starts counting from the first CRR image bitstream segment received from the coded image bitstream. That is, when the first CRR image bitstream segment is received, the counter starts counting. After that, it starts receiving the display image bitstream and CRR image bitstream segments, and the counter value increases by 1 for each CRR image bitstream segment received.
[0157] When receiving the target bitstream, if the number of received CRR image bitstream segments is n (i.e., the value of the counter is n), it is determined that there are n CRR image bitstream segments in the coded image bitstream, and the CRR image bitstream is successfully received. If the number of received CRR image bitstream segments is less than n, it is determined that there are no n CRR image bitstream segments in the coded image bitstream, and the CRR image bitstream is failed to be received.
[0158] The target bitstream is a display image bitstream and the reference image is a CRR image, or the preset syntax identifier also includes image information, and the target bitstream is a bitstream of a target image indicated by the image information.
[0159] Among them, after the decoder successfully receives the CRR image bit stream segment corresponding to the previous CRR image, the decoder may default the next received CRR image bit stream segment to be the first CRR image bit stream segment. Or if there is only an image header before the first CRR image bit stream segment in the coded image bit stream, the decoder takes the CRR image bit stream segment after the image header as the first CRR image bit stream segment. Or if the CRR image bit stream segments corresponding to a CRR image are transmitted in sequence, the decoder may take the CRR image bit stream segment with the smallest sequence number as the first CRR image bit stream segment.
[0160] After parsing the image information (indicating the target image) from the coded image bit stream, the decoder decodes the coded image bit stream, and upon receiving the bit stream of the target image, determines the size of the reconstructed CRR image, which is obtained by decoding the received CRR image bit stream fragments. When the size of the reconstructed CRR image is equal to the size of the CRR image, it is determined that there are n CRR image bit stream fragments in the coded image bit stream, and the CRR image bit stream is successfully received. When the size of the reconstructed CRR image is smaller than the size of the CRR image, it is determined that there are no n CRR image bit stream fragments in the coded image bit stream, and the CRR image bit stream is failed to be received.
[0161] After the decoder parses the position information from the coded image bit stream, when the CRR image bit stream segment is received at each position indicated by the position information, it is determined that there are n CRR image bit stream segments in the coded image bit stream, and the CRR image bit stream is successfully received. When the CRR image bit stream segment is not received at at least one position indicated by the position information, it is determined that there are no n CRR image bit stream segments in the coded image bit stream, and the CRR image bit stream is failed to be received.
[0162] 505. If there are n CRR image bit stream segments in the coded image bit stream, continue to perform a decoding operation on the coded image bit stream to obtain a reconstructed display image.
[0163] If there are no n CRR image bitstream segments in the coded image bitstream, the decoder may determine that the CRR image bitstream is received incorrectly, and transmission error processing may be performed at this time. Transmission error processing includes discarding or skipping a display image bitstream composed of an image obtained by decoding the reference image from the lost CRR image bitstream segment, and requesting the encoder to retransmit the lost CRR image bitstream segment, etc., which is not limited in the embodiments of the present application.
[0164] In summary, the decoding method provided in the embodiment of the present application performs a decoding operation on a received coded image bitstream, the coded image bitstream includes interleaved CRR image bitstream segments and a display image bitstream, obtains a preset syntax identifier from the coded image bitstream, and determines whether there are n CRR image bitstream segments in the coded image bitstream according to the preset syntax identifier of the coded image bitstream, the n CRR image bitstream segments correspond to one CRR image, and then if there are n CRR image bitstream segments in the coded image bitstream, the decoding operation on the coded image bitstream continues to be performed to obtain a reconstructed display image, the reference image of the display image bitstream includes: a reconstructed display image and / or a currently effective reconstructed CRR image, the reconstructed display image is obtained by decoding the previous display image bitstream, and the currently effective reconstructed CRR image is obtained by decoding the previous CRR image bitstream segment. The currently effective reconstructed CRR image can be used as a reference image for the current display image bitstream to be decoded. The currently effective reconstructed CRR image is obtained based on the CRR image bitstream sub-segment, and the CRR image bitstream sub-segment is obtained by the encoding end based on the CRR image. Since the CRR image corresponds to multiple display images, and multiple display images can include multiple RAPs, cross-RAP reference can be achieved. And n CRR image bitstream segments and multiple display image bitstreams are interwoven into one bitstream and transmitted to the decoder. In this way, all processes can be completed inside the decoder, and the entire decoding process can be completed without the cooperation of the system layer, thereby realizing the decoupling of the decoder and the system layer while realizing cross-RAP reference.
[0165] And according to the preset syntax identifier, it can be determined whether there is a lost CRR image bit stream segment, so that the codec layer and the system layer can cooperate better, so that the decoder can respond to the transmission failure in time, and the robustness of the codec process is enhanced.
[0166] For example, please refer to Figure 5 , Figure 5 A schematic diagram of a coding and decoding process provided by an embodiment of the present application: The encoder encodes the CRR image and multiple display images to obtain a coded image bit stream and sends the coded image bit stream to the decoder. Figure 5In the example, three CRR image bit stream segments b1 to b3 (n=3) and five display image bit streams c1 to c5 are used for explanation. The decoder decodes the bit streams in the coded image bit stream in sequence to obtain five reconstructed display images c1′ to c5′ and reconstructed CRR images. The five reconstructed display images are used for display, and the reconstructed CRR images are only used as reference images when decoding the display image bit streams and are not used for display.
[0167] In one implementation, the CRR image may be first segmented to obtain n CRR sub-images, and then the CRR sub-images may be encoded, including the following process:
[0168] 601. Acquire CRR images corresponding to multiple display images.
[0169] This process may refer to the aforementioned process 401, and the embodiment of the present application will not be described in detail here.
[0170] 602. Divide the CRR image to obtain n CRR sub-images, where n is an integer greater than 1.
[0171] 603. Interleave and arrange n CRR sub-images between multiple display images to obtain an image sequence to be encoded.
[0172] In the sequence of images to be encoded, the last image is a display image, that is, all CRR images are located before the last display image.
[0173] Optionally, one or more CRR sub-images may be interspersed between every two display images, as long as the n CRR sub-images are interlaced between the multiple display images. The embodiment of the present application does not limit the interlacing method.
[0174] 604. Encoding operations are performed on the CRR sub-images and display images in the image sequence to be encoded in sequence to obtain an encoded image bit stream.
[0175] The order of the display image bitstream in the coded image bitstream is the same as the order of the corresponding display images in the image sequence to be coded. The order of the CRR sub-image bitstream in the coded image bitstream is the same as the order of the corresponding CRR sub-images in the image sequence to be coded.
[0176] In this implementation, there are multiple coding examples for generating the currently effective reconstructed CRR image, and the multiple examples are described below.
[0177] Coding example 1, after encoding each CRR sub-image, a CRR image bitstream segment and a reconstructed CRR sub-image are obtained. The encoder caches each reconstructed CRR sub-image obtained, for example, caches the reconstructed CRR sub-image in the DPB of the encoder. When there are n reconstructed CRR sub-images cached, the n reconstructed CRR sub-images are spliced to obtain the currently effective reconstructed CRR image. If there is an effective reconstructed CRR image before splicing the n reconstructed CRR sub-images, then when splicing the n reconstructed CRR sub-images to obtain the currently effective reconstructed CRR image, the last effective reconstructed CRR image is removed from the cache space. In this example, the CRR image bitstream segment group includes: the latest output n CRR image bitstream segments corresponding to the same CRR image.
[0178] Optionally, the first display image that selects the currently valid reconstructed CRR image as the reference image may be marked as the first enabled image of the currently valid reconstructed CRR image.
[0179] Coding Example 2, based on the aforementioned coding example 1, when the encoding of the first CRR sub-image in the sequence of images to be encoded begins, if there is a currently effective reconstructed CRR image (referring to the reconstructed CRR image that is effective at the moment when the encoding of the first CRR sub-image in the sequence of images to be encoded begins), then the currently effective reconstructed CRR image is removed (the currently effective reconstructed CRR image is removed from the cache space). When encoding a target display image among multiple display images, the reference image of the target display image includes the reconstructed display image, and the target display image includes: the display image between the first CRR sub-image and the last CRR sub-image in the sequence of images to be encoded. Since there is no effective reconstructed CRR image when encoding the target display image, the reference image of the target display image only includes the reconstructed display image.
[0180] In this encoding example, when encoding the first CRR sub-image to the last CRR sub-image in the to-be-encoded image sequence, there is no need to cache the last valid reconstructed CRR image, thereby saving cache space for one frame of image.
[0181] Coding example 3, when performing an encoding operation on a CRR sub-image to obtain a reconstructed CRR sub-image, if there is a currently effective reconstructed CRR image, the target area in the currently effective reconstructed CRR image (referring to the reconstructed CRR image that is effective at the moment when the encoding operation is performed on the CRR sub-image to obtain the reconstructed CRR sub-image) is updated to the obtained reconstructed CRR sub-image, and the currently effective reconstructed CRR image is obtained. The positional relationship between the target area and the currently effective reconstructed CRR image is the same as the target positional relationship, and the target positional relationship is the positional relationship between the cached reconstructed CRR sub-image and the corresponding CRR image. In this example, the CRR image bitstream segment group includes: the latest output n CRR image bitstream segments.
[0182] In this encoding example, after a reconstructed CRR sub-image is obtained, the reconstructed CRR sub-image is not cached, but the target area in the currently effective reconstructed CRR image is directly replaced with the reconstructed CRR sub-image, which can save the cache occupied by the reconstructed CRR sub-image.
[0183] Coding example 4, the encoder caches the CRR image bitstream segments output each time (for example, cached in the DPB of the encoder). When there are n CRR image bitstream segments cached, the cached n CRR image bitstream segments are decoded and reconstructed respectively to obtain n reconstructed CRR sub-images. The n reconstructed CRR sub-images are spliced to obtain the currently effective reconstructed CRR image. That is, the encoding operation of the encoder on multiple display images and CRR images also includes decoding and reconstruction of n CRR image bitstream segments. If there is a reconstructed CRR image that is in effect before the CRR image bitstream is decoded and reconstructed, then when the CRR image bitstream is decoded and reconstructed to obtain the currently effective reconstructed CRR image, the last effective reconstructed CRR image is removed from the cache space. In this example, the CRR image bitstream segment group includes: the latest output n CRR image bitstream segments corresponding to the same CRR image.
[0184] Optionally, the first display image that selects the currently valid reconstructed CRR image as the reference image may be marked as the first activated image of the currently valid reconstructed CRR image, that is, the reference activated first image.
[0185] In this coding example, the CRR image bit stream segments are directly cached, and decoding and reconstruction are performed after the n CRR image bit stream segments are cached to obtain the reconstructed CRR image, without caching each reconstructed CRR sub-image. Since the cache space occupied by the CRR image bit stream segments is smaller than the cache space occupied by the reconstructed CRR sub-image, a certain amount of cache space can be saved.
[0186] In another implementation, the CRR image may be encoded to obtain CRR image bit stream segments, and then the CRR image bit stream segments may be segmented, which may include the following process:
[0187] 701. Acquire CRR images corresponding to multiple display images.
[0188] This process may refer to the aforementioned process 401, and the embodiment of the present application will not be described in detail here.
[0189] 702. Perform encoding operation on the CRR image to obtain a CRR image bit stream.
[0190] 703. Split the CRR image bit stream to obtain n CRR image bit stream segments, where n is an integer greater than 1.
[0191] 704. Perform encoding operations on multiple display images in sequence to obtain multiple display image bit streams.
[0192] 705. Interleave the n CRR image bit stream segments between multiple display image bit streams to obtain a coded image bit stream.
[0193] In the coded image bit stream, the last image bit stream is the display image bit stream, that is, all CRR image bit streams are located before the last display image bit stream.
[0194] Optionally, one or more CRR image bit stream segments may be inserted between every two display image bit streams, as long as the n CRR image bit stream segments are interleaved in multiple display image bit streams. The embodiment of the present application does not limit the interleaving method.
[0195] It should be noted that processes 704 and 705 can be performed simultaneously. The encoder can predetermine the order of each CRR image bitstream segment in the subsequent coded image bitstream, and determine the currently effective reconstructed CRR image based on the order. Only when n CRR image bitstream segments are output, can the reconstructed CRR image obtained when the CRR image is encoded be used as the currently effective reconstructed CRR image. That is, in the coded image bitstream, when encoding the display image after the nth CRR image bitstream segment, the reconstructed CRR image obtained when the CRR image is encoded can be used as a reference image for inter-frame prediction encoding.
[0196] In this implementation, there are various examples for generating the currently effective reconstructed CRR image, which are described below respectively.
[0197] Coding Example 5: After the encoder performs the encoding operation on the CRR image, it will obtain the target reconstructed CRR image and the CRR image bit stream, and the encoder caches the target reconstructed CRR image. When the last CRR image bit stream segment among the n CRR image bit stream segments is output, the cached target reconstructed CRR image is used as the currently effective reconstructed CRR image. In this example, the CRR image bit stream segment group includes: the latest output n CRR image bit stream segments corresponding to the same CRR image.
[0198] If there is a reconstructed CRR image that is in effect before the last CRR image bitstream segment among the n CRR image bitstream segments is output, the last effective reconstructed CRR image is removed from the cache space when the cached target reconstructed CRR image is used as the currently effective reconstructed CRR image. In this case, an additional frame buffer needs to be set for storing the target reconstructed CRR image.
[0199] Optionally, the first display image that selects the currently valid reconstructed CRR image as the reference image may be marked as the first enabled image of the currently valid reconstructed CRR image.
[0200] In coding example 6, the encoder may cache the CRR image bitstream. When the last CRR image bitstream segment among the n CRR image bitstream segments is output, the cached CRR image bitstream is decoded and reconstructed to obtain the currently effective reconstructed CRR image. In this example, the CRR image bitstream segment group includes: the latest output n CRR image bitstream segments corresponding to the same CRR image.
[0201] If there is a reconstructed CRR image that is in effect before the cached CRR image bit stream is decoded and reconstructed, then when the cached CRR image bit stream is decoded and reconstructed to obtain the currently effective reconstructed CRR image, the last effective reconstructed CRR image is removed from the cache space. In this case, an additional cache needs to be set for storing the CRR image bit stream.
[0202] In this encoding example, before outputting the last CRR image bitstream segment among the n CRR image bitstream segments, the entire CRR image bitstream is stored first, without storing the entire reconstructed CRR image. Since the cache space occupied by the CRR image bitstream is smaller than the cache space occupied by the reconstructed CRR image, a certain amount of cache space can be saved.
[0203] Corresponding to different encoding examples, there are also different decoding examples at the decoding end, and various decoding examples are described below.
[0204] Decoding example 1, the decoder performs decoding operations in the order of each bit stream in the coded image bit stream, and obtains and caches the reconstructed CRR sub-image after decoding each CRR image bit stream segment received. If it is determined according to the preset syntax identifier that there are n CRR image bit stream segments in the coded image bit stream, then when there are n reconstructed CRR sub-images cached, the n reconstructed CRR sub-images are spliced to obtain the currently effective reconstructed CRR image. If there is an effective reconstructed CRR image before splicing the n reconstructed CRR sub-images, then when the n reconstructed CRR sub-images are spliced to obtain the currently effective reconstructed CRR image, the last effective reconstructed CRR image is removed from the cache space. In this example, the CRR image bit stream segment group includes: the first n CRR image bit stream segments corresponding to the same CRR image of the display image bit stream.
[0205] The process of determining whether there are any lost CRR image bitstream segments can be implemented by using the quantity information in the preset syntax identifier. For details, please refer to the aforementioned embodiment, and the embodiments of the present application will not be described in detail here.
[0206] Optionally, the first display image bit stream that selects the currently valid reconstructed CRR image as the reference image may be marked as an enabled first image bit stream of the currently valid reconstructed CRR image.
[0207] Decoding Example 2, based on the above-mentioned decoding Example 1, when a decoding operation is performed on the first CRR image bitstream segment in the coded image bitstream, if there is a currently effective reconstructed CRR image (referring to the reconstructed CRR image that is effective at the moment when the decoding operation of the first CRR image bitstream segment in the coded image bitstream is started), then the currently effective reconstructed CRR image is removed (the currently effective reconstructed CRR image is removed from the cache space). When a decoding operation is performed on a target display image bitstream among multiple display image bitstreams, the reference image of the target display image bitstream includes the reconstructed display image, and the target display image bitstream includes: the display image bitstream between the first CRR image bitstream segment and the last CRR image bitstream segment in the coded image bitstream. Since there is no effective reconstructed CRR image when encoding the target display image bitstream, the reference image of the target display image bitstream only includes the reconstructed display image.
[0208] In this decoding example, when decoding the first CRR image bit stream segment to the last CRR image bit stream segment in the coded image bit stream, there is no need to cache the last valid reconstructed CRR image, thereby saving cache space for one frame of image.
[0209] Decoding example 3, the decoder performs decoding operations in sequence according to the order of each bit stream in the coded image bit stream, and obtains a reconstructed CRR sub-image after decoding the received CRR image bit stream segment. If there is no lost CRR image bit stream segment (that is, there are n CRR image bit stream segments in the coded image bit stream) as of now, and there is a currently valid reconstructed CRR image, the target area in the currently valid reconstructed CRR image is updated to the obtained reconstructed CRR sub-image, and the currently valid reconstructed CRR image is obtained. The positional relationship between the target area and the currently valid reconstructed CRR image is the same as the target positional relationship, and the target positional relationship is the positional relationship between the cached reconstructed CRR sub-image and the corresponding CRR image. In this example, the CRR image bit stream segment group includes: the first n CRR image bit stream segments of the display image bit stream.
[0210] The process of determining whether there is a lost CRR image bitstream segment can be implemented by using the position information in the preset syntax identifier. For details, please refer to the above embodiment, and the embodiments of the present application will not be described in detail here.
[0211] In this decoding example, after a reconstructed CRR sub-image is obtained, the reconstructed CRR sub-image is not cached, but the target area in the currently effective reconstructed CRR image is directly replaced with the reconstructed CRR sub-image, which can save the cache occupied by the reconstructed CRR sub-image.
[0212] Decoding Example 4: When the decoder receives the first n-1 CRR image bitstream segments, it does not decode them first, but caches the CRR image bitstream segments received each time. If there are n CRR image bitstream segments in the encoded image bitstream, the reconstructed CRR image is used as the currently effective reconstructed CRR image. The reconstructed CRR image is obtained by respectively decoding the cached n CRR image bitstream segments to obtain n reconstructed CRR sub-images, and then splicing the n reconstructed CRR sub-images. In this example, the CRR image bitstream segment group includes: the first n CRR image bitstream segments corresponding to the same CRR image of the display image bitstream.
[0213] Optionally, the first display image bit stream that selects the currently valid reconstructed CRR image as the reference image may be marked as an enabled first image bit stream of the currently valid reconstructed CRR image.
[0214] The process of determining whether there are any lost CRR image bitstream segments can be implemented by using the quantity information and / or image information in the preset syntax identifier. For details, please refer to the aforementioned embodiment, and the embodiments of the present application will not be described in detail here.
[0215] Decoding Example 5: When the decoder receives the first n-1 CRR image bitstream segments, it does not decode them first, but caches the CRR image bitstream segments received each time. If there are n CRR image bitstream segments in the encoded image bitstream, the reconstructed CRR image is used as the currently effective reconstructed CRR image. The reconstructed CRR image is obtained by splicing the n CRR image bitstream segments cached, and then the spliced CRR image bitstream is decoded. If there is a reconstructed CRR image that is in effect before the CRR image bitstream is decoded, the last effective reconstructed CRR image is removed from the cache space when the CRR image bitstream is decoded to obtain the currently effective reconstructed CRR image. In this example, the CRR image bitstream segment group includes: the first n CRR image bitstream segments corresponding to the same CRR image of the display image bitstream.
[0216] The process of determining whether there are any lost CRR image bitstream segments can be implemented by using the quantity information and / or image information in the preset syntax identifier. For details, please refer to the aforementioned embodiment, and the embodiments of the present application will not be described in detail here.
[0217] Optionally, the first display image bit stream that selects the currently valid reconstructed CRR image as the reference image may be marked as the enabled first-image bit stream of the currently valid reconstructed CRR image, ie, the reference enabled first-image bit stream.
[0218] In decoding examples 4 and 5, the CRR image bit stream segments are directly cached, and decoding is performed to obtain the reconstructed CRR image after the n CRR image bit stream segments are cached, without caching each reconstructed CRR sub-image. Since the cache space occupied by the CRR image bit stream segment is smaller than the cache space occupied by the reconstructed CRR sub-image, a certain amount of cache space can be saved.
[0219] The above-mentioned various encoding examples and various decoding examples can be combined. The following uses various combinations as examples to illustrate the encoding and decoding process. In the following encoding and decoding process, five display images d1 to d5 and a corresponding CRR image e are used as examples for illustration, and it is assumed that n=3.
[0220] 1. Coding Example 1 Combined Decoding Example 1, Determining Whether a CRR Image Bitstream Segment Is Lost by Using Data Information
[0221] For example, please refer to Figure 6 , Figure 6A schematic diagram of another encoding and decoding process provided for an embodiment of the present application. Referring to the aforementioned encoding example 1, the CRR image e is divided into three CRR sub-images e1 to e3. Intersperse e1 between d1 and d2, e2 between d2 and d3, and e3 between d3 and d4 to obtain a sequence of images to be encoded. Then, the sequence of images to be encoded is encoded, and d1 is encoded first. Since a new CRR image bit stream fragment has not been output at this time, only the first reconstructed CRR image is stored in the cache space, and the currently effective reconstructed CRR image is the first reconstructed CRR image. Select a reference image to perform an encoding operation on d1 to obtain a display image bit stream d1′ and a reconstructed display image ( Figure 6 (not shown) Encoding operation is performed on e1 to obtain CRR image bit stream segment e1' and reconstructed CRR sub-image e1", and e1" is buffered.
[0222] The encoding operation is performed on d2. Since there are no three reconstructed CRR sub-images cached at this time, the currently effective reconstructed CRR image is still the first reconstructed CRR image. Select the reference image to encode d2 to obtain the display image bit stream d2′ and the reconstructed display image ( Figure 6 (not shown) Encoding operation is performed on e2 to obtain CRR image bit stream segment e2' and reconstructed CRR sub-image e2", and e2" is buffered.
[0223] The encoding operation is performed on d3. Since there are no three reconstructed CRR sub-images cached at this time, the currently effective reconstructed CRR image is still the first reconstructed CRR image. Select the reference image to encode d3 to obtain the display image bit stream d3′ and the reconstructed display image ( Figure 6 (not shown) Encoding operation is performed on e3 to obtain CRR image bit stream segment e3' and reconstructed CRR sub-image e3", and e3" is buffered.
[0224] At this time, three reconstructed CRR sub-images e1″ to e3″ are cached in the cache space. The second reconstructed CRR image e″ is obtained by splicing e1″ to e3″, and the first reconstructed CRR image is removed from the cache space. The currently effective reconstructed CRR image is e″.
[0225] The encoding operation is performed on d4, and the currently effective reconstructed CRR image is e″. The reference image is selected to perform the encoding operation on d4 to obtain the display image bit stream d4′ and the reconstructed display image ( Figure 6 (not shown). Encoding operation is performed on d5, and the currently effective reconstructed CRR image is e″. Select reference image to encode d5 to obtain display image bit stream d5′ and reconstructed display image ( Figure 6 (Not shown). At this time, a coded image bit stream is obtained.
[0226] Referring to the aforementioned decoding example 1, the decoder performs decoding operations in sequence according to the order of each bit stream in the encoded image bit stream. First, a decoding operation is performed on d1′. Since the new CRR image bit stream segment has not been decoded at this time, only the first reconstructed CRR image is stored in the cache space, and the currently effective reconstructed CRR image is the first reconstructed CRR image. A reference image is selected to perform a decoding operation on d1′ to obtain a reconstructed display image d1″. The reference image selected for decoding d1′ is the same as the reference image selected for encoding d1. e1′ is received and a decoding operation is performed on e1′ to obtain and cache e1″. e1′ is the first CRR image bit stream segment. The quantity information indication 3 is parsed from the encoded image bit stream, and the count starts at 1.
[0227] A decoding operation is performed on d2′. Since three reconstructed CRR sub-images have not been cached at this time, the currently effective reconstructed CRR image is still the first reconstructed CRR image. A reference image is selected to perform a decoding operation on d2′ to obtain a reconstructed display image d2″. The reference image selected for the decoding operation on d2′ is the same as the reference image selected for the encoding operation on d2. e2′ is received and a decoding operation is performed on e2′ to obtain and cache e2″, and the counter is incremented by 1 to obtain 2.
[0228] A decoding operation is performed on d3′. Since three reconstructed CRR sub-images have not been cached at this time, the currently effective reconstructed CRR image is still the first reconstructed CRR image. A reference image is selected to perform a decoding operation on d3′ to obtain a reconstructed display image d3″. The reference image selected for the decoding operation on d3′ is the same as the reference image selected for the encoding operation on d3. e3′ is received and a decoding operation is performed on e3′ to obtain and cache e3″, and the counter is incremented by 1 to obtain 3.
[0229] Subsequently, d4′ is received. d4′ refers to the reconstructed CRR image e″ corresponding to e1″ to e3″. At this time, the number of received CRR image bit stream segments is 3. There are 3 CRR image bit stream segments in the coded image bit stream, and the CRR image bit stream is received successfully.
[0230] At this time, three reconstructed CRR sub-images e1″ to e3″ are cached in the cache space. The second reconstructed CRR image e″ is obtained by splicing e1″ to e3″, and the first reconstructed CRR image is removed from the cache space. The currently effective reconstructed CRR image is e″.
[0231] A decoding operation is performed on d4′, and the currently effective reconstructed CRR image is e″. A reference image is selected to perform a decoding operation on d4′ to obtain a reconstructed display image d4″. The reference image selected for the decoding operation on d4′ is the same as the reference image selected for the encoding operation on d4. A decoding operation is performed on d5′, and the currently effective reconstructed CRR image is e″. A reference image is selected to perform a decoding operation on d5′ to obtain a reconstructed display image d5″. The reference image selected for the decoding operation on d5′ is the same as the reference image selected for the encoding operation on d5.
[0232] II. Coding Example 2 Combined with Decoding Example 2, Determining Whether a CRR Image Bitstream Segment Is Lost by Using Data Information
[0233] For example, please refer to Figure 7 , Figure 7 A schematic diagram of another encoding and decoding process provided in an embodiment of the present application. Figure 7 The encoding and decoding process shown is similar to Figure 8 Similarly, the encoder side Figure 8 The difference is that when the encoding operation of e1 is started, the first reconstructed CRR image is removed from the cache space. When the encoding operation of d2 is performed, 3 reconstructed CRR sub-images have not been cached, so there is no currently valid reconstructed CRR image. When the encoding operation of d3 is performed, 3 reconstructed CRR sub-images have not been cached, so there is no currently valid reconstructed CRR image.
[0234] Decoder side and Figure 6 The difference is that when the decoding operation of e1′ is started, the first reconstructed CRR image is removed from the cache space. When the decoding operation of d2′ is performed, there are no 3 reconstructed CRR sub-images cached, so there is no currently valid reconstructed CRR image. When the decoding operation of d3′ is performed, there are no 3 reconstructed CRR sub-images cached, so there is no currently valid reconstructed CRR image. For other processes, please refer to Figure 6 The relevant description of the embodiments of the present application will not be repeated here.
[0235] III. Coding Example 3 Combined with Decoding Example 3, Determining Whether a CRR Image Bitstream Segment Is Lost by Position Information
[0236] For example, please refer to Figure 8 , Figure 8 A schematic diagram of another encoding and decoding process provided by an embodiment of the present application. The image sequence to be encoded can refer to Figure 6 The related description will not be repeated here in the embodiments of the present application.
[0237] First, encode d1, and the cache space contains the currently valid reconstructed CRR image. Select the reference image to encode d1 to obtain the display image bit stream d1′ and the reconstructed display image ( Figure 8 (not shown). Encoding operation is performed on e1 to obtain CRR image bit stream segment e1′ and reconstructed CRR sub-image e1″. The target area in the currently valid reconstructed CRR image is updated to e1″ to obtain the currently valid reconstructed CRR image.
[0238] The encoding operation is performed on d2, and the cache space has the currently effective reconstructed CRR image cached. Select the reference image to encode d2 to obtain the display image bit stream d2′ and the reconstructed display image ( Figure 8 (not shown). Encoding operation is performed on e2 to obtain CRR image bit stream segment e2' and reconstructed CRR sub-image e2". The target area in the currently valid reconstructed CRR image is updated to e2", to obtain the currently valid reconstructed CRR image.
[0239] The encoding operation is performed on d3, and the cache space has the currently effective reconstructed CRR image cached. Select the reference image to encode d3 to obtain the display image bit stream d3′ and the reconstructed display image ( Figure 8 (not shown). Encoding operation is performed on e3 to obtain CRR image bit stream segment e3' and reconstructed CRR sub-image e3". The target area in the currently valid reconstructed CRR image is updated to e3", to obtain the currently valid reconstructed CRR image.
[0240] The encoding operation is performed on d4, and the currently effective reconstructed CRR image is cached in the cache space. The reference image is selected to encode d4 to obtain the display image bit stream d4′ and the reconstructed display image ( Figure 8 (not shown). Encoding operation is performed on d5, and the currently effective reconstructed CRR image is cached in the cache space. Select reference image to encode d5 to obtain display image bit stream d5′ and reconstructed display image ( Figure 8 (Not shown). At this time, a coded image bit stream is obtained.
[0241] Referring to the aforementioned decoding example 3, the decoder performs decoding operations in sequence according to the order of each bit stream in the coded image bit stream. First, a decoding operation is performed on d1′, and the currently effective reconstructed CRR image is cached in the cache space. A reference image is selected to perform a decoding operation on d1′ to obtain a reconstructed display image d1″. The reference image selected for the decoding operation on d1′ is the same as the reference image selected for the encoding operation on d1. e1′ is received at the first position indicated by the position information, and there is no lost CRR image bit stream segment in the coded image bit stream as of the current moment. A decoding operation is performed on e1′ to obtain e1″, and the target area in the currently effective reconstructed CRR image is updated to e1″ to obtain the currently effective reconstructed CRR image.
[0242] A decoding operation is performed on d2′, and the currently effective reconstructed CRR image is cached in the cache space. A reference image is selected to perform a decoding operation on d2′ to obtain a reconstructed display image d2″. The reference image selected for the decoding operation on d2′ is the same as the reference image selected for the encoding operation on d2. e2′ is received at the second position indicated by the position information, and there is no lost CRR image bit stream segment in the encoded image bit stream as of the current moment. A decoding operation is performed on e2′ to obtain e2″, and the target area in the currently effective reconstructed CRR image is updated to e2″ to obtain the currently effective reconstructed CRR image.
[0243] A decoding operation is performed on d3′, and the currently effective reconstructed CRR image is cached in the cache space. A reference image is selected to perform a decoding operation on d3′ to obtain a reconstructed display image d3″. The reference image selected for the decoding operation on d3′ is the same as the reference image selected for the encoding operation on d3. e3′ is received at the third position indicated by the position information. As of the current moment, there is no lost CRR image bitstream segment in the encoded image bitstream, so there are 3 CRR image bitstream segments in the encoded image bitstream. A decoding operation is performed on e3′ to obtain e3″, and the target area in the currently effective reconstructed CRR image is updated to e3″ to obtain the currently effective reconstructed CRR image.
[0244] A decoding operation is performed on d4′, and the currently effective reconstructed CRR image is cached in the cache space. A reference image is selected to perform a decoding operation on d4′ to obtain a reconstructed display image d4″, and the reference image selected for the decoding operation on d4′ is the same as the reference image selected for the encoding operation on d4. A decoding operation is performed on d5′, and the currently effective reconstructed CRR image is cached in the cache space. A reference image is selected to perform a decoding operation on d5′ to obtain a reconstructed display image d5″, and the reference image selected for the decoding operation on d5′ is the same as the reference image selected for the encoding operation on d5.
[0245] It should be noted that, when updating the currently effective reconstructed CRR image, the selected target area is related to the reconstructed CRR sub-image in the current cache space, and the target area is not fixed.
[0246] 4. Coding Example 5 Combined Decoding Example 5: Determining Whether a CRR Image Bitstream Segment Is Lost by Using Image Information
[0247] For example, please refer to Fig. 9 , Fig. 9 A schematic diagram of another encoding and decoding process provided for an embodiment of the present application. Referring to the aforementioned encoding example 5, an encoding operation is performed on a CRR image e to obtain a CRR image bit stream e′ and a target reconstructed CRR image e″, and a cache e″. The CRR image bit stream is divided to obtain three CRR image bit stream segments e1′ to e3′.
[0248] First, encode d1. Since e3′ has not been output at this time, the currently effective reconstructed CRR image is the first reconstructed CRR image. Select the reference image to encode d1 to obtain the display image bit stream d1′ and the reconstructed display image ( Fig. 9 (not shown). e1′ is inserted after d1′ and output.
[0249] The encoding operation is performed on d2. Since e3′ has not been output at this time, the currently effective reconstructed CRR image is still the first reconstructed CRR image. Select the reference image to encode d2 to obtain the display image bit stream d2′ and the reconstructed display image ( Fig. 9 (not shown). e2′ is inserted after d2′ and output.
[0250] Encode d3. Since e3′ has not been output at this time, the currently effective reconstructed CRR image is still the first reconstructed CRR image. Select the reference image to encode d3 to obtain the display image bit stream d3′ and the reconstructed display image ( Fig. 9 (not shown). e3' is inserted after d3' and output.
[0251] At this time, the last CRR image bit stream segment e3′ among the three CRR image bit stream segments is output, the first reconstructed CRR image is removed from the cache space, and e″ is used as the currently valid reconstructed CRR image.
[0252] The encoding operation is performed on d4, and the currently effective reconstructed CRR image is e″. The reference image is selected to perform the encoding operation on d4 to obtain the display image bit stream d4′ and the reconstructed display image ( Fig. 9 (not shown). Encoding operation is performed on d5, and the currently effective reconstructed CRR image is e″. Select reference image to encode d5 to obtain display image bit stream d5′ and reconstructed display image ( Fig. 9(Not shown). At this time, a coded image bit stream is obtained.
[0253] Referring to the aforementioned decoding example 5, the decoder does not perform decoding operations when receiving the first n-1 CRR image bitstream segments. First, a decoding operation is performed on d1′. Since the new CRR image bitstream segment has not been decoded at this time, only the first reconstructed CRR image is stored in the cache space, and the currently effective reconstructed CRR image is the first reconstructed CRR image. A reference image is selected to perform a decoding operation on d1′ to obtain a reconstructed display image d1″. The reference image selected for the decoding operation on d1′ is the same as the reference image selected for the encoding operation on d1. Then cache the received e1′.
[0254] Perform a decoding operation on d2′. Since there are no three reconstructed CRR sub-images cached at this time, the currently effective reconstructed CRR image is still the first reconstructed CRR image. Select a reference image to perform a decoding operation on d2′ to obtain a reconstructed display image d2″. The reference image selected for the decoding operation on d2′ is the same as the reference image selected for the encoding operation on d2. Then cache the received e2′.
[0255] Perform a decoding operation on d3′. Since there are no three reconstructed CRR sub-images cached at this time, the currently effective reconstructed CRR image is still the first reconstructed CRR image. Select a reference image to perform a decoding operation on d3′ to obtain a reconstructed display image d3″. The reference image selected for the decoding operation on d3′ is the same as the reference image selected for the encoding operation on d3. Then cache the received e3′.
[0256] Then the bit stream d4′ of the target image is received. At this time, three CRR image bit stream segments e1′ to e3′ are cached in the cache space, and e1′ to e3′ are spliced. The spliced CRR image bit stream is decoded to obtain the second reconstructed CRR image e″. The size of e″ is equal to the size of e, so there are n CRR image bit stream segments in the encoded image bit stream, and the CRR image bit stream is received successfully. At the same time, the first reconstructed CRR image is removed from the cache space. The currently effective reconstructed CRR image is e″.
[0257] A decoding operation is performed on d4′, and the currently effective reconstructed CRR image is e″. A reference image is selected to perform a decoding operation on d4′ to obtain a reconstructed display image d4″. The reference image selected for the decoding operation on d4′ is the same as the reference image selected for the encoding operation on d4. A decoding operation is performed on d5′, and the currently effective reconstructed CRR image is e″. A reference image is selected to perform a decoding operation on d5′ to obtain a reconstructed display image d5″. The reference image selected for the decoding operation on d5′ is the same as the reference image selected for the encoding operation on d5.
[0258] V. Coding Example 1 combined with Decoding Example 4: Determining whether there is a CRR image bitstream segment loss through image information
[0259] For example, please refer to Fig.10 , Fig.10 A schematic diagram of another encoding and decoding process provided in an embodiment of the present application. Fig.10 For a description of the encoding process of the encoder, please refer to Figure 8 .
[0260] Fig.10 The decoding process shown is similar to Fig.11 Similarly, the decoder side Fig.11 The difference is that when three CRR image bit stream segments e1′ to e3′ are cached in the cache space, e1′ to e3′ are decoded respectively to obtain reconstructed CRR sub-images e1″ to e3″, and then e1″ to e3″ are concatenated to obtain a second reconstructed CRR image e″. At the same time, the first reconstructed CRR image is removed from the cache space. The currently effective reconstructed CRR image is e″. For other related descriptions of the decoding process of the decoder, please refer to Fig.11 The relevant description of the embodiments of the present application will not be repeated here.
[0261] VI. Coding Example 4 Combined Decoding Example 4: Determining Whether a CRR Image Bitstream Segment Is Lost by Using Image Information
[0262] For example, please refer to Fig.11 , Fig.11 A schematic diagram of another encoding and decoding process provided by an embodiment of the present application. The image sequence to be encoded can refer to Figure 6 The related description will not be repeated here in the embodiments of the present application.
[0263] Referring to the above-mentioned encoding example 4, the encoding operation is first performed on d1. Since the new CRR image bitstream segment has not been output at this time, only the first reconstructed CRR image is stored in the cache space, and the currently effective reconstructed CRR image is the first reconstructed CRR image. Select the reference image to encode d1 to obtain the display image bitstream d1′ and the reconstructed display image ( Fig.11 (not shown) A coding operation is performed on e1 to obtain and buffer a CRR image bit stream segment e1'.
[0264] The encoding operation is performed on d2. Since there are no three reconstructed CRR sub-images cached at this time, the currently effective reconstructed CRR image is still the first reconstructed CRR image. Select the reference image to encode d2 to obtain the display image bit stream d2′ and the reconstructed display image ( Fig.11 (not shown) Perform an encoding operation on e2 to obtain and buffer a CRR image bit stream segment e2'.
[0265] The encoding operation is performed on d3. Since there are no three reconstructed CRR sub-images cached yet, the currently effective reconstructed CRR image is still the first reconstructed CRR image. Select the reference image to encode d3 to obtain the display image bit stream d3′ and the reconstructed display image ( Fig.11 (not shown) The encoding operation is performed on e3 to obtain and buffer the CRR image bit stream segment e3'.
[0266] At this time, three CRR image bit stream segments e1′ to e3′ are cached in the cache space. e1′ to e3′ are decoded and reconstructed respectively to obtain reconstructed CRR sub-images e1″ to e3″. e1″ to e3″ are spliced together to obtain the second reconstructed CRR image e″. The first reconstructed CRR image is removed from the cache space, and the currently effective reconstructed CRR image is e″.
[0267] The encoding operation is performed on d4, and the currently effective reconstructed CRR image is e″. The reference image is selected to perform the encoding operation on d4 to obtain the display image bit stream d4′ and the reconstructed display image ( Fig. 9 (not shown). Encoding operation is performed on d5, and the currently effective reconstructed CRR image is e″. Select reference image to encode d5 to obtain display image bit stream d5′ and reconstructed display image ( Fig. 9 (Not shown). At this time, a coded image bit stream is obtained.
[0268] Fig.11 For a description of the decoding process of the decoder, please refer to Fig.10 , the embodiments of the present application will not be described in detail here.
[0269] VII. Coding Example 6 combined with Decoding Example 4, determining whether there is a CRR image bitstream segment loss through image information
[0270] For example, please refer to Fig.12 , Fig.12 A schematic diagram of another encoding and decoding process provided in an embodiment of the present application. Fig.12 The encoding process shown is similar to Fig.11 Similarly, the encoder side Fig.11 The difference is that e′ is cached first after the CRR image bit stream e′ is obtained. When the last CRR image bit stream segment e3′ among the three CRR image bit stream segments is output, the first reconstructed CRR image is removed from the cache space, and the cached e′ is decoded and reconstructed to obtain the second reconstructed CRR image e″, and the currently effective reconstructed CRR image is e″.
[0271] Fig.12 For a description of the decoding process of the decoder, please refer to Fig.10 , the embodiments of the present application will not be described in detail here.
[0272] The sequence of the methods provided in the embodiments of the present application can be adjusted appropriately, and the process can be increased or decreased accordingly according to the situation. Any technician familiar with the technical field can easily think of a method of change within the technical scope disclosed in this application, which should be included in the protection scope of this application, and the embodiments of the present application do not limit this.
[0273] S403 , when the currently processed display image bit stream is the reference enabled first-image bit stream of the currently acquired reconstructed CRR image, use the currently acquired reconstructed CRR image as a reference image to perform inter-frame prediction decoding on the display image bit stream.
[0274] In an embodiment of the present application, when the decoder is performing inter-frame prediction decoding, when encountering a reference-enabled first-image bitstream of a reconstructed CRR image, the reconstructed CRR image of the reference-enabled first-image bitstream is determined as a reference image, thereby ensuring that there is a reference image that matches the display image when performing inter-frame prediction decoding on the display image bitstream, avoiding decoding failure problems caused by mismatch between the reference image and the display image bitstream, and improving the decoding success rate.
[0275] Optionally, the coded image bit stream further includes quantity information, where the quantity information is used to indicate n, where n is an integer greater than 1;
[0276] The coded image bit stream is decoded and based on the operation result, a reconstructed CRR image is obtained, including:
[0277] If there are n CRR image bit stream fragments in the coded image bit stream, and based on the image information, it is determined that the currently processed display image bit stream is the reference enabled first image bit stream of the currently acquired reconstructed CRR image, the n CRR image bit stream fragments are decoded to obtain the reconstructed CRR image.
[0278] In the embodiment of the present application, the decoder obtains the reconstructed CRR image only when the CRR image enables the first-image bit stream. In this way, it can be ensured that what is cached is the CRR image bit stream fragment, the caching cost is low, and it is beneficial to performance improvement.
[0279] Optionally, the coded image bit stream further includes quantity information, where the quantity information is used to indicate n, where n is an integer greater than 1;
[0280] The coded image bit stream is decoded and based on the operation result, a reconstructed CRR image is obtained, including:
[0281] If there are n CRR image bit stream segments in the coded image bit stream, the n CRR image bit stream segments are decoded to obtain a reconstructed CRR image.
[0282] In the embodiment of the present application, the decoder receives a complete CRR slice bit stream and immediately obtains the reconstructed CRR image, so that it can be used for decoding in a more timely manner.
[0283] Optionally, after performing a decoding operation on the coded image bit stream and obtaining a reconstructed CRR image based on the operation result, the method further includes:
[0284] When the currently processed display image bitstream is the non-reference enabled first-image bitstream of the currently acquired reconstructed CRR image, the reconstructed CRR image used by the last processed display image bitstream is used as the reference image to perform inter-frame prediction decoding on the display image bitstream.
[0285] In an embodiment of the present application, if there is a display image bit stream of the previous reconstructed CRR image still in use, the display image bit stream waits until the CRR image is received to enable the first image bit stream, and then the currently acquired reconstructed CRR image is used as a reference image to ensure that the display image bit stream using the previous reconstructed CRR image can be decoded successfully.
[0286] Exemplarily, after obtaining the current reconstructed CRR image, if there is still a display image bit stream that refers to the previous reconstructed CRR image, the CRR image bit stream slice (including all bit stream slices of the CRR image and its corresponding sequence parameter set, image parameter set, image header and other information) is temporarily stored until the CRR image is received to enable the first image bit stream, and then the CRR image bit stream is decoded to obtain the current reconstructed CRR image. Then, the decoded image buffer is updated, the previous reconstructed CRR image in the current decoded image buffer is removed (if any), and the current reconstructed CRR image is moved into the decoded image buffer.
[0287] Optionally, the reference image used for inter-frame prediction coding is stored in a designated buffer;
[0288] The currently acquired reconstructed CRR image is used as a reference image, including:
[0289] In the case where the currently processed display image bitstream is a reference-enabled first-image bitstream of the currently acquired reconstructed CRR image, the designated buffer is updated using the currently acquired reconstructed CRR image.
[0290] Similar to the encoder, updating the designated buffer with the currently acquired reconstructed CRR image may be directly stored in the designated buffer, replacing the historical reconstructed CRR image in the designated buffer.
[0291] In the embodiment of the present application, the reconstructed CRR image serving as the reference image is stored in a designated buffer, so that the designated buffer is updated with the currently acquired reconstructed CRR image. The reference image can be determined without additional marking and adding information, which is more efficient.
[0292] Exemplarily, after obtaining the current reconstructed CRR image, if there is still a display image bit stream that refers to the previous reconstructed CRR image, the current reconstructed CRR image is temporarily stored, for example, cached, until the CRR image is received to enable the first image bit stream, and then the decoded image buffer is updated, for example, the previous reconstructed CRR image in the current decoded image buffer is removed, and the current reconstructed CRR image is moved into the decoded image buffer.
[0293] The above mainly introduces the encoding and decoding method provided by the embodiment of the present application from the perspective of the device. It is understandable that in order to realize the above functions, the device includes a hardware structure and / or software module corresponding to each function. Those skilled in the art should easily realize that, in combination with the algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0294] The embodiment of the present application can divide the functional modules of the device according to the above method example. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.
[0295] According to the method provided in the embodiments of the present application, the present application also provides a computer program product, which includes a computer program code. When the computer program code runs on a computer, the computer executes any of the methods described in the embodiments of the present application.
[0296] The embodiment of the present application also provides a computer-readable storage medium. All or part of the processes in the above method embodiments can be completed by a computer or a device with encoding and decoding capabilities executing a computer program or instruction to control the relevant hardware. The computer program or the group of instructions can be stored in the above computer-readable storage medium. When the computer program or the group of instructions is executed, it can include the processes of the above method embodiments. The computer-readable storage medium can be an internal storage unit of the control end of any of the above embodiments, such as a hard disk or memory of the control end. The above computer-readable storage medium can also be an external storage device of the above control end, such as a plug-in hard disk equipped on the above control end, a smart memory card (smart media card, SMC), a secure digital (secure digital, SD) card, a flash card (flash card), etc. Further, the above computer-readable storage medium can also include both the internal storage unit of the above control end and an external storage device. The above computer-readable storage medium is used to store the above computer program or instruction and other programs and data required by the above control end. The above computer-readable storage medium can also be used to temporarily store data that has been output or is to be output.
[0297] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0298] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the device described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.
[0299] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0300] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0301] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0302] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (personal computer, server, or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard drives, ROM, RAM, magnetic disks or optical disks.
[0303] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A decoding method, characterized in that: The method comprises: receiving an interleaved coded image bitstream, the coded image bitstream comprising a plurality of bitstream segments of a reference image and a plurality of bitstreams of display images, wherein a bitstream order of the plurality of bitstream segments of the reference image precedes a bitstream of a reference enabled first picture corresponding to the reference image in the plurality of display image bitstreams, the reference enabled first picture comprising a first picture in the plurality of display images that refers to the reference image; Performing a decoding operation on the encoded image bit stream, and obtaining a reconstructed reference image based on the operation result; When the bit stream of the currently processed display image is the bit stream of the reference-enabled first image corresponding to the currently acquired reconstructed reference image, the currently acquired reconstructed reference image is used as the reference image to perform inter-frame prediction decoding on the bit stream of the display image.
2. The method according to claim 1, characterized in that The coded image bitstream further includes quantity information, where the quantity information is used to indicate n, where n bitstream segments of the reference image correspond to one reference image, and n is an integer greater than 1; The decoding operation is performed on the coded image bit stream, and based on the operation result, a reconstructed reference image is obtained, comprising: If there are n bitstream fragments of the reference image in the encoded image bitstream, before the bitstream of the processed display image is the bitstream of the reference enabled first image corresponding to the currently acquired reconstructed reference image, the n bitstream fragments of the reference image are decoded to obtain the reconstructed reference image.
3. The method according to claim 1, characterized in that The coded image bitstream further includes quantity information, where the quantity information is used to indicate n, where n bitstream segments of the reference image correspond to one reference image, and n is an integer greater than 1; The decoding operation is performed on the coded image bit stream, and based on the operation result, a reconstructed reference image is obtained, comprising: If there are n bitstream segments of the reference image in the coded image bitstream, the n bitstream segments of the reference image are decoded to obtain a reconstructed reference image.
4. The method according to any one of claims 1 to 3, characterized in that After performing the decoding operation on the encoded image bit stream and obtaining the reconstructed reference image based on the operation result, the method further includes: In the case where the bit stream of the display image currently being processed is a bit stream of a display image using a previous reconstructed reference image, until the bit stream of the reference-enabled first image corresponding to the currently acquired reconstructed reference image is received, the currently acquired reconstructed reference image is used as a reference image to perform inter-frame prediction decoding on the display image bit stream.
5. The method according to any one of claims 1 to 4, characterized in that The reference image used in the inter-frame prediction coding is stored in a designated buffer; The step of using the currently acquired reconstructed reference image as a reference image comprises: In a case where the bit stream of the display image currently being processed is the bit stream of the reference-enabled first image corresponding to the currently acquired reconstructed reference image, the designated buffer is updated using the currently acquired reconstructed reference image.
6. A coding method, characterized in that: The method comprises: After performing an encoding operation on a reference image and a plurality of display images corresponding to the reference image to obtain an interleaved encoded image bit stream, based on the encoding operation, obtaining a reconstructed reference image; When the currently processed display image is the reference enabled first image corresponding to the currently acquired reconstructed reference image, the currently acquired reconstructed reference image is used as the reference image to perform inter-frame prediction encoding on the display image; Among them, the encoded image bitstream includes: multiple bitstream fragments of a reference image and a bitstream of multiple display images; the bitstream order of the multiple bitstream fragments of the reference image is before the bitstream of the reference enabled first image corresponding to the reference image in the multiple display image bitstreams, and the reference enabled first image includes the first image in the multiple display images that refers to the reference image.
7. The method according to claim 6, characterized in that The reference image used in the inter-frame prediction coding is stored in a designated buffer; The method of using the currently acquired reconstructed reference image as a reference image when the currently processed display image is a reference enabled first image corresponding to the currently acquired reconstructed reference image comprises: In a case where the currently processed display image is a reference enabled first image corresponding to the currently acquired reconstructed reference image, the designated buffer is updated using the currently acquired reconstructed reference image.
8. The method according to claim 7, characterized in that The updating of the designated buffer using the currently acquired reconstructed reference image comprises: In the case where a historical reconstruction reference image is acquired from the designated buffer, the historical reconstruction reference image in the designated buffer is replaced with the currently acquired reconstruction reference image.
9. The method according to claim 7, characterized in that: The updating of the designated buffer using the currently acquired reconstructed reference image comprises: In the case that the historical reconstructed reference image is not acquired from the designated buffer, the currently acquired reconstructed reference image is stored in the designated buffer.
10. The method according to any one of claims 6 to 9, characterized in that: After obtaining the reconstructed reference image based on the encoding operation, the method further includes: When the display image currently being processed is a display image using the previous reconstructed reference image, until the reference first image corresponding to the currently acquired reconstructed reference image is processed, the currently acquired reconstructed reference image is used as the reference image to perform inter-frame prediction encoding on the display image.
11. A decoding device, characterized in that: The device comprises: a transceiver module, configured to receive an interleaved coded image bit stream, wherein the coded image bit stream comprises a plurality of bit stream segments of a reference image and a plurality of bit streams of display images, wherein the bit stream sequence of the plurality of bit stream segments of the reference image precedes the bit stream of a reference enabled first image corresponding to the reference image in the plurality of display image bit streams, and the reference enabled first image comprises a first image in the plurality of display images that refers to the reference image; A decoding module is used to perform a decoding operation on the encoded image bit stream and obtain a reconstructed reference image based on the operation result; when the bit stream of the display image currently being processed is the bit stream of the reference enabled first image corresponding to the currently obtained reconstructed reference image, the currently obtained reconstructed reference image is used as a reference image to perform inter-frame prediction decoding on the bit stream of the display image.
12. The device according to claim 11, characterized in that The coded image bitstream further includes quantity information, where the quantity information is used to indicate n, where n bitstream segments of the reference image correspond to one reference image, and n is an integer greater than 1; The decoding module is specifically used for: If there are n bitstream fragments of the reference image in the encoded image bitstream, before the bitstream of the processed display image is the bitstream of the reference enabled first image corresponding to the currently acquired reconstructed reference image, the n bitstream fragments of the reference image are decoded to obtain the reconstructed reference image.
13. The device according to claim 11, characterized in that The coded image bitstream further includes quantity information, where the quantity information is used to indicate n, where n bitstream segments of the reference image correspond to one reference image, and n is an integer greater than 1; The decoding operation is performed on the coded image bit stream, and based on the operation result, a reconstructed reference image is obtained, comprising: If there are n bitstream segments of the reference image in the coded image bitstream, the n bitstream segments of the reference image are decoded to obtain a reconstructed reference image.
14. The device according to any one of claims 11 to 13, characterized in that The decoding module is also used After performing a decoding operation on the encoded image bit stream and obtaining a reconstructed reference image based on the operation result, when the bit stream of the display image currently being processed is a bit stream of a display image using a previous reconstructed reference image, until the bit stream of the reference-enabled first image corresponding to the currently obtained reconstructed reference image is received, the currently obtained reconstructed reference image is used as a reference image to perform inter-frame prediction decoding on the display image bit stream.
15. The device according to any one of claims 11 to 14, characterized in that The reference image used in the inter-frame prediction coding is stored in a designated buffer; The decoding module is specifically used for: In a case where the bit stream of the display image currently being processed is the bit stream of the reference-enabled first image corresponding to the currently acquired reconstructed reference image, the designated buffer is updated using the currently acquired reconstructed reference image.
16. A coding device, characterized in that: The device comprises: A reconstructed image acquisition module, configured to perform an encoding operation on a reference image and a plurality of display images corresponding to the reference image to obtain an interleaved encoded image bit stream, and then obtain a reconstructed reference image based on the encoding operation; A reference image determination module, configured to, when a currently processed display image is a reference enabled first image corresponding to a currently acquired reconstructed reference image, use the currently acquired reconstructed reference image as a reference image to perform inter-frame prediction coding on the display image; Among them, the encoded image bitstream includes: multiple bitstream fragments of a reference image and a bitstream of multiple display images; the bitstream order of the multiple bitstream fragments of the reference image is before the bitstream of the reference enabled first image corresponding to the reference image in the multiple display image bitstreams, and the reference enabled first image includes the first image in the multiple display images that refers to the reference image.
17. The device according to claim 16, characterized in that The reference image used in the inter-frame prediction coding is stored in a designated buffer; The reference image determination module is specifically used for: In a case where the currently processed display image is a reference enabled first image corresponding to the currently acquired reconstructed reference image, the designated buffer is updated using the currently acquired reconstructed reference image.
18. The device according to claim 17, characterized in that The reference image determination module is specifically used for: In the case where a historical reconstruction reference image is acquired from the designated buffer, the historical reconstruction reference image in the designated buffer is replaced with the currently acquired reconstruction reference image.
19. The device according to claim 17, characterized in that The reference image determination module is specifically used for: In the case that the historical reconstructed reference image is not acquired from the designated buffer, the currently acquired reconstructed reference image is stored in the designated buffer.
20. The device according to any one of claims 16 to 19, characterized in that The reference image determination module is further used for: Based on the encoding operation, after obtaining the reconstructed reference image, when the currently processed display image is a display image using the previous reconstructed reference image, until the reference first image corresponding to the currently acquired reconstructed reference image is processed, the currently acquired reconstructed reference image is used as the reference image to perform inter-frame prediction encoding on the display image.
21. An electronic device, characterized in that: include: Processor and memory; The processor is connected to the memory; The memory is used to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 10.
22. A computer-readable storage medium, characterized in that: The method comprises a computer program, wherein when the computer program is run on an electronic device, the electronic device executes the method according to any one of claims 1 to 10.
23. A chip, characterized in that: It comprises one or more interface circuits and one or more processors; the interface circuit is used to receive a signal from a memory of an electronic device and send the signal to the processor, the signal comprising a computer instruction stored in the memory; when the processor executes the computer instruction, the electronic device executes the method described in any one of claims 1 to 10.
24. A computer program product, characterized in that The invention comprises a computer program, which, when executed by an electronic device, enables the electronic device to execute the method according to any one of claims 1 to 10.
Citation Information
Patent Citations
Image encoding / decoding method, apparatus and an image processing method, system
CN101389034A
Inter-prediction method and video encoding / decoding method using the inter-prediction method
CN102845064A
Video decoding method and device, video encoding method and device, equipment and storage medium
CN111526368A
Coding and decoding method and device
CN119562071A
Auxiliary information signaling and reference management for projection-based point cloud compression
WO2020146547A1