WO2017005141A1 - 参考图像编码和解码的方法、编码设备和解码设备 - Google Patents
参考图像编码和解码的方法、编码设备和解码设备 Download PDFInfo
- Publication number
- WO2017005141A1 WO2017005141A1 PCT/CN2016/088144 CN2016088144W WO2017005141A1 WO 2017005141 A1 WO2017005141 A1 WO 2017005141A1 CN 2016088144 W CN2016088144 W CN 2016088144W WO 2017005141 A1 WO2017005141 A1 WO 2017005141A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- reference image
- area
- local
- local area
- update
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/58—Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/179—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scene or a shot
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/55—Motion estimation with spatial constraints, e.g. at image or region borders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Definitions
- the present invention relates to the field of video image processing, and in particular, to a method, a coding device, and a decoding device for reference image encoding and decoding.
- MPEG is responsible for the development of standards in the multimedia field, mainly for storage, broadcast television, Internet or streaming media on the wireless network.
- ITU-T mainly develops video coding standards for real-time video communication, such as video telephony, video conferencing and other applications.
- video coding standards for various applications have been successfully developed internationally, including: MPEG-1 standard for Video Compact Disc (VCD) for digital MPEG-2 standard for Digital Video Disc (“DVD”) and Digital Video Broadcasting (“DVB”), H.261 standard for video conferencing and H.263 standard,
- the H.264 standard allows the MPEG-4 standard for encoding objects of any shape, as well as the latest High Efficiency Video Coding (“HEVC”) standard.
- HEVC High Efficiency Video Coding
- each frame of the image sequence can be divided into a plurality of non-overlapping coding blocks, and the motion of all the pixels in the coding block is considered to be the same, and the coding block is The unit assigns motion vectors.
- inter-prediction is performed on the current coded block in the current coded image
- the reconstructed coded image is used as a reference image
- the current coded block performs motion search in a certain search area in the reference image to find a matching criterion with the current coded block.
- the block is the matching block.
- the relative offset of the spatial position between the current coding block and the matching block in the reference image is the motion vector (Motion Vector, MV), and the process of obtaining the motion vector is called motion estimation (Motion) Estimation, ME).
- MV Motion Vector
- ME motion estimation
- the reference image information, the motion vector information, and the difference (residual difference) between the matching block reconstructed pixel value and the original block original pixel value are encoded and transmitted to the decoding end.
- the decoding end finds the block pointed to by the motion vector from the decoded reference image, and adds the residual value to recover the current block.
- the motion estimation can be used to remove the interframe redundancy of the video sequence, so that the number of bits of video transmission is greatly reduced.
- the current coded block in the current coded picture may perform a motion search to find a match block in each of the k reference pictures that have been encoded before the current picture.
- the short-term reference image generally refers to a reconstructed coded image that is relatively close to the current image.
- the short-term reference image has a scene similar to that in the current image;
- the long-term reference image generally refers to a reconstructed coded image that is relatively far from the current image.
- the reference image list is used to manage the reference image, and when the current coding block searches for its matching block, starting from the first reference image in the reference image list, the motion vector with the smallest matching error is found in a certain search region, and then continues to the next reference image.
- the motion search is performed until the motion search is completed using all the reference images in the reference image list, and the best motion vector and the reference image used are determined.
- a background reference image is also introduced, that is, the video sequence is divided into several video segments, and the video segment is used after encoding each video segment.
- the reconstructed image within the image generates a background image as a reference frame for inter prediction of each image in the next video segment of the video segment. Since the background reference image has great correlation with the content of the adjacent video frame, the efficiency of the inter prediction is improved, thereby improving the coding compression efficiency of the video sequence.
- the related art needs to simultaneously analyze the common features of the encoded/decoded images in each video segment at the codec side to obtain a reference image, which increases the complexity and power consumption of the decoding end, or needs to additionally transmit the reference image generated by the encoding end.
- the code rate in the code stream is sharply increased, causing delay in transmission.
- the invention provides a reference image encoding and decoding method, an encoding device and a decoding device, which can update the background reference image by using local information of the subsequent reference image, and improve coding compression efficiency without increasing computational complexity of the decoding end. Degree, and only a small amount of indication information is transmitted or no indication information is transmitted, and the transmission delay is avoided.
- a method for decoding a reference image including: parsing a code stream, and obtaining a first parameter And a reconstructed image of the second reference image, the first reference image being decoded prior to the second reference image; before the reconstructed image of the second reference image is obtained by the parsed code stream, or the parsing After the code stream obtains the reconstructed image of the second reference image, or the parsed code stream obtains the reconstructed image of the second reference image; parses the code stream, obtains reference image update information, and determines the first according to the reference image update information Whether a local area in the second reference image is used to update a corresponding area or a related area in the first reference image, the size of the local area is less than or equal to a size of the second reference image; and the reference image update information determines the second reference When the local area in the image is used to update the corresponding area or the related area in the first reference image, the pixel value of the corresponding area or the related area in the first reference
- the parsing code stream obtains reference image update information, and determines, according to the reference image update information, whether a local area in the second reference image is used for Updating the corresponding area or the related area in the first reference image includes: parsing the code stream, acquiring a mark, and if the mark is the first value, determining a local area in the second reference image for updating the first reference image The corresponding area or the related area, if the flag is the second value, determining that the local area in the second reference image is not used to update the corresponding area or the related area in the first reference image, the first value is different from the second Value.
- the parsing code stream obtains reference image update information, and determines, according to the reference image update information, whether a local area in the second reference image is used for Updating the corresponding area or the related area in the first reference image includes: parsing the code stream, acquiring the encoded information, determining, according to the encoding information and the preset rule, whether the local area in the second reference image is used to update the first reference The corresponding area or related area in the image.
- the method further includes: determining the encoding information
- the encoding information includes a quantization parameter offset value of a local area in the second reference image; correspondingly, determining, according to the encoding information and a preset rule, whether a local area in the second reference image is used to update the Corresponding area or related area in a reference image includes: when the absolute value of the quantization parameter offset value is within the first value range, determining a local area in the second reference image for updating a correspondence in the first reference image a region or a related region; when the absolute value of the quantization parameter offset value is not within the first value range, determining that the local region in the second reference image is not used to update the corresponding region or the related region in the first reference image.
- the first value range is greater than or equal to 10 and less than 20.
- the method further includes: determining the encoding information
- the encoding information includes a scaling factor of a quantization step size of a local region in the second reference image; And determining, according to the encoding information and the preset rule, whether the local area in the second reference image is used to update the corresponding area or the related area in the first reference image comprises: when the scaling factor of the quantization step is in the second Determining the local area in the second reference image is used to update the corresponding area or the related area in the first reference image; when the scaling factor of the quantization step is not in the second value range, determining the The local area in the second reference image is not used to update the corresponding area or related area in the first reference image.
- the determining, when the scaling factor of the quantization step is within a second value range determining The local area in the second reference image is used to update the corresponding area or the related area in the first reference image, including: when the scaling factor of the quantization step is greater than or equal to 0.5, and less than 1; or the scaling factor is less than When it is equal to 1.5 and greater than 1, the local area in the second reference image is determined to be used to update a corresponding area or a related area in the first reference image.
- any one of the first to the sixth possible implementation manners of the first aspect in a seventh possible implementation manner of the first aspect, the corresponding area in the first reference image An area of the first reference image that is the same as a coordinate position of a local area in the second reference image.
- the reference image update information further includes a spatial offset between a coordinate position where the local region is located and a coordinate position where the relevant region in the first reference image is located, the spatial offset includes a lateral offset and a longitudinal offset; correspondingly, the method further includes :
- the first reference image is a parsing code The first frame reconstructed image obtained by the stream.
- the first reference image is A random access point image obtained by the code stream.
- the second reference image is one of a maximum coding unit, a coding unit, a coding unit group, and an image area of a preset size.
- the parsing the code stream to obtain the reconstructed image of the first reference image comprises: parsing the code stream to obtain a specific order of the first reference image And obtain a reconstructed image of the first reference image having the particular sequence number.
- the parsing code stream obtains the reconstructed image of the second reference image, and further includes Resolving the code stream to obtain a specific sequence number of the second reference image, the specific sequence number of the second reference image being associated with a specific sequence number of the first reference image updated by the second reference image And obtaining a reconstructed image of the second reference image having the specific sequence number of the second reference image.
- a method for reference image decoding comprising: parsing a code stream, obtaining a reconstructed image of a first reference image and a reconstructed image of a second reference image, the first reference image precedes the second reference The image is decoded; before the parsed code stream obtains the reconstructed image of the second reference image, or the parsed code stream obtains the reconstructed image of the second reference image, or the parsed code stream obtains reconstruction of the second reference image After the image; parsing the code stream, obtaining reference image update information, and determining, according to the reference image update information, whether the local area in the second reference image is suitable for updating a corresponding area or a related area in the first reference image, the local area The size is less than or equal to the size of the second reference image; determining whether the corresponding area or the related area in the first reference image has been updated; when the corresponding area or the related area in the first reference image is not updated, and the reference image update information is determined The local area in the second reference image
- the code stream is parsed, the reference image update information is obtained, and the local area in the second reference image is determined to be applicable to the update according to the reference image update information.
- Corresponding area or related area in the first reference image includes: parsing the code stream, acquiring a mark, and if the mark is the first value, determining that the partial area in the second reference image is suitable for updating the first reference image Corresponding area or related area, if the flag is the second value, determining that the local area in the second reference image is not applicable to updating the corresponding area or the related area in the first reference image, the first value is different from the second Value.
- the code stream is parsed, the reference image update information is obtained, and the local area in the second reference image is determined to be applicable to the update according to the reference image update information.
- Corresponding area or related area in the first reference image includes: parsing the code stream, acquiring encoding information, determining, according to the encoding information and a preset rule, whether a partial area in the second reference image is suitable for updating the first reference image Corresponding area or related area.
- the method further includes: determining the encoded information.
- the coding information includes transform coefficient information of a local area in the second reference image, where the transform coefficient information includes a sum of absolute values of transform coefficients in a local area coverage; correspondingly, according to the coding information and a preset rule Determining whether the local area in the second reference image is suitable for updating the corresponding area or related area in the first reference image comprises:
- Determining when the sum of the absolute values of the transform coefficients in the coverage of the local area is greater than the first threshold, determining that the local area in the second reference image is adapted to update the corresponding area or the related area in the first reference image; otherwise, determining the second The local area in the reference image is not suitable for updating the corresponding area or related area in the first reference image.
- the method further includes: determining the encoding information.
- the coded information includes transform coefficient information of a local area in the second reference image, where the transform coefficient information includes an average of a sum of absolute values of transform coefficients in a local area coverage; correspondingly, according to the coded information and Determining a rule to determine whether a local area in the second reference image is used to update the first reference image comprises:
- Determining when the average value of the sum of the absolute values of the transform coefficients in the coverage of the local area is greater than the second threshold, determining that the local area in the second reference image is adapted to update the corresponding area or the related area in the first reference image; otherwise, determining The local area in the second reference image is not suitable for updating a corresponding area or related area in the first reference image.
- the method further includes: determining the coding information
- the encoding information includes a quantization parameter offset value of the local area in the second reference image; correspondingly, determining, according to the encoding information and a preset rule, whether the local area in the second reference image is suitable for updating the Corresponding area or related area in a reference image includes: determining that a local area in the second reference image is adapted to update a corresponding one in the first reference image when an absolute value of the quantization parameter offset value is within a first value range a region or a related region; when the absolute value of the quantization parameter offset value is not within the first value range, determining that the local region in the second reference image is not suitable for updating the corresponding region or the related region in the first reference image.
- the first value range is greater than or equal to 10 and less than 20.
- the method further includes: determining the coding information
- the encoding information includes a scaling factor of a quantization step of a local area in the second reference image; correspondingly, determining, according to the encoding information and a preset rule, whether a local area in the second reference image is suitable for updating the first
- the corresponding area or related area in the reference image includes: when the quantization step is reduced When the factor is in the second value range, determining that the local area in the second reference image is adapted to update the corresponding area or the related area in the first reference image; when the scaling factor of the quantization step is not in the second value range Internally, it is determined that the local area in the second reference image is not suitable for updating the corresponding area or the related area in the first reference image.
- the determining, when the scaling factor of the quantization step is within a second value range determining The local area in the second reference image is used to update the corresponding area or the related area in the first reference image, including: when the scaling factor of the quantization step is greater than or equal to 0.5, and less than 1; or the scaling factor is less than When it is equal to 1.5 and greater than 1, the local area in the second reference image is determined to be used to update a corresponding area or a related area in the first reference image.
- the method further includes: determining the coding information
- the encoding information includes motion vector information of a local region in the second reference image, wherein the motion vector information includes an average of a sum of absolute values of lateral motion vectors in a local region and an average of a sum of absolute values of longitudinal motion vectors.
- determining whether the local area in the second reference image is suitable for updating the corresponding area or the related area in the first reference image according to the encoding information and the preset rule comprises: when the lateral motion vector in the local area is absolute The average value of the sum of the sum of the values and the absolute value of the longitudinal motion vector are both smaller than the third threshold, and determining that the local area in the second reference image is suitable for updating the corresponding area or the related area in the first reference image; otherwise, Determining that the local area in the second reference image is not suitable for updating a corresponding area or a related area in the first reference image.
- the method further includes: determining the coding information
- the encoding information includes motion vector information of a local region in the second reference image, wherein the motion vector information includes an average of a sum of an absolute value of the lateral motion vector and a vertical motion vector absolute value in the local region, and the An average of a sum of an absolute value of a lateral motion vector in a previously decoded frame of the second reference image and an absolute value of the longitudinal motion vector; correspondingly, determining, according to the encoding information and a preset rule, the second reference image Whether the local area is suitable for updating the corresponding area or the related area in the first reference image comprises: when the sum of the sum of the absolute value of the lateral motion vector and the absolute value of the longitudinal motion vector in the local area is smaller than the previous decoded Determining, by the average of the sum of the absolute value of the lateral motion vector in the frame and the absolute value of the longitudinal motion vector, determining that the local region in the second reference image is adapted to update the corresponding region or the related region in the first reference image; otherwise, determining The local area
- any one of the first to the tenth possible implementation manners of the second aspect in the eleventh possible implementation manner of the second aspect, is the same area of the first reference image as the coordinate position of the local area in the second reference image area.
- any one of the first to the tenth possible implementation manners of the second aspect in the twelfth possible implementation manner of the second aspect, when the first reference image And searching for an area in the first reference image in a predetermined order, wherein the corresponding area in the first reference image is the order, when an area that is the same as a coordinate position of a local area in the second reference image is updated
- the first block in the first block has no updated area. Otherwise, the corresponding area in the first reference image is the same area of the first reference image as the coordinate position of the local area in the second reference image.
- the parsing code stream, Determining the reference image update information, and determining, according to the reference image update information, whether the local area in the second reference image is used to update the corresponding area or the related area in the first reference image further comprises: obtaining the local area a spatial offset between a coordinate position and a coordinate position where the relevant region in the first reference image is located, the spatial offset including a lateral offset and a longitudinal offset;
- the method further includes: before replacing a pixel value of a corresponding region or a related region in the first reference image with a pixel value of a local region in the second reference image, according to a local region of the second reference image
- the coordinates of the location and the spatial offset determine the location of the first reference image related region.
- any one of the first to the thirteenth possible implementation manners of the second aspect, in the fourteenth possible implementation manner of the second aspect, further includes: replacing the pixel Filtering is performed at a boundary of a corresponding region or a related region and an adjacent region in the subsequent first reference image.
- the reference image is a first frame reconstructed image obtained by parsing the code stream.
- the reference image is a random access point image obtained by parsing the code stream.
- the partial area of the reference image is one of a maximum coding unit, a coding unit, a coding unit group, and an image area of a preset size.
- the parsing the code stream to obtain the reconstructed image of the first reference image comprises: parsing the code stream to obtain a specific order of the first reference image And obtain a reconstructed image of the first reference image having the particular sequence number.
- the parsing code stream obtains the reconstructed image of the second reference image, including: parsing the code stream to obtain a specific sequence number of the second reference image, where the second reference image is A specific sequence number is associated with a particular sequence number of the first reference image updated by the second reference image, and a reconstructed image of a second reference image having a particular sequence number of the second reference image is obtained.
- a third aspect provides a method for encoding a reference image, comprising: encoding a sequence to be encoded, obtaining a reconstructed image of a first reference image, and encoding a second reference image to obtain a reconstructed image of the second reference image,
- the first reference image is encoded prior to the second reference image; determining whether a local region in the second reference image is adapted to update a corresponding region or a related region in the first reference image, the size of the local region being less than or equal to the first Determining a size of the second reference image; determining whether a corresponding area or a related area in the first reference image has been updated; when the corresponding area or the related area in the first reference image is not updated, and the reference image update information is determined in the second reference image When the local area is adapted to update the corresponding area or the related area in the first reference image, the pixel value of the corresponding area or the related area in the first reference image is replaced by the pixel value of the local area in the second reference image;
- determining whether the local area in the second reference image is applicable to updating the corresponding area or the related area in the first reference image includes:
- the mean square error value is less than the fourth threshold, determining that the local area in the second reference image is adapted to update the corresponding area or the related area in the first reference image; otherwise, determining that the local area in the second reference image is not Suitable for updating a corresponding area or a related area in the first reference image.
- determining whether the local area in the second reference image is applicable to updating the corresponding area or the related area in the first reference image includes:
- Determining that a local area in the second reference image is adapted to update a corresponding area or a related area in the first reference image when the average value is less than a fifth threshold, otherwise determining that the local area in the second reference image is not applicable to Updating a corresponding area or a related area in the first reference image.
- determining whether the local area in the second reference image is applicable to updating the corresponding area or the related area in the first reference image includes:
- transform coefficient information of a local region in the second reference image where the transform coefficient information includes a sum of absolute values of transform coefficients in a local area coverage
- the sixth threshold determines that the local area in the second reference image is adapted to update the corresponding area or the related area in the first reference image; otherwise, determining the first The local area in the second reference image is not suitable for updating the corresponding area or related area in the first reference image.
- determining whether the local area in the second reference image is applicable to updating the corresponding area or the related area in the first reference image includes:
- transform coefficient information of a local region in the second reference image wherein the transform coefficient information includes an average value of a sum of absolute values of transform coefficients in a local area coverage
- the seventh threshold determines that the local area in the second reference image is adapted to update the corresponding area or the related area in the first reference image; otherwise, Determining that the local area in the second reference image is not suitable for updating a corresponding area or a related area in the first reference image.
- determining whether the local area in the second reference image is applicable to updating the corresponding area or the related area in the first reference image includes:
- Determining when the number of coded bits of the local area of the second reference image is greater than the number of coded bits of the previous coded area, determining a local area in the second reference image to update a corresponding area or a related area in the first reference image Otherwise, it is determined that the local area in the second reference image is not suitable for updating the corresponding area or the related area in the first reference image.
- determining whether the local area in the second reference image is applicable to updating the corresponding area or the related area in the first reference image includes:
- a local area in the second reference image is adapted to update a corresponding area in the first reference image when the number of coded bits of the local area of the second reference image is greater than the number of area average coded bits of the previous coded frame Related area, otherwise, determining that the local area in the second reference image is not applicable Updating a corresponding area or a related area in the first reference image.
- determining whether the local area in the second reference image is applicable to updating the corresponding area or the related area in the first reference image includes:
- the motion vector information includes an average of a sum of absolute values of the lateral motion vectors in the local region and an average of the absolute values of the longitudinal motion vectors;
- determining whether the local area in the second reference image is applicable to updating the corresponding area or the related area in the first reference image includes:
- the motion vector information includes an average of a sum of a lateral motion vector absolute value and a longitudinal motion vector absolute value in the local region, and the second reference image The average of the sum of the absolute values of the lateral motion vectors and the absolute values of the longitudinal motion vectors in the previous encoded frame;
- the average of the sum of the sum of the absolute values of the lateral motion vectors and the absolute values of the longitudinal motion vectors in the local region is smaller than the sum of the sum of the absolute values of the lateral motion vectors and the absolute values of the longitudinal motion vectors in the previous encoded frame. And determining, in the second reference image, that the local area in the second reference image is adapted to update the corresponding area or the related area in the first reference image; otherwise, determining that the local area in the second reference image is not suitable for updating the corresponding in the first reference image Area or related area.
- the reference image update information includes:
- the reference image update information used to determine whether the local area in the second reference image is used to update the corresponding area or the related area in the first reference image is encoded into the code stream, including: coding the value of the mark a code stream, when a local area in the second reference image is used to update a corresponding area or a related area in the first reference image, the mark is a first value; and a local area in the second reference image is not used to update the The corresponding area or the related area in the first reference image, the mark is a second value, and the first value is different from the second value.
- the reference image update information includes:
- the reference image update information used to determine whether the local area in the second reference image is used to update the corresponding area or the related area in the first reference image is encoded into the code stream, including: encoding the quantization parameter offset value a code stream, when a local area in the second reference image is used to update a corresponding area or a related area in the first reference image, an absolute value of the quantization parameter offset value is in a third value range; when the second The local area in the reference image is not used to update the corresponding area or the related area in the first reference image, and the absolute value of the quantization parameter offset value is not in the third value range.
- the method further includes: the third value range is greater than or equal to 10 and less than 20.
- the reference image update information includes:
- the reference image update information used to determine whether the local area in the second reference image is used to update the corresponding area or the related area in the first reference image is encoded into the code stream, including: a scaling factor of the quantization step size Compiling the code stream, when the local area in the second reference image is used to update the corresponding area or the related area in the first reference image, the scaling factor of the quantization step is within the fourth value range; when the second reference The local area in the image is not used to update the corresponding area or the related area in the first reference image, and the scaling factor of the quantization step is not in the fourth value range.
- the local area in the second reference image is used to update the first reference a corresponding region or a related region in the image
- the scaling factor of the quantization step includes: when the local region in the second reference image is used to update a corresponding region in the first reference image or related a region, the scaling factor of the quantization step size is greater than or equal to 0.5, and less than 1; or the scaling factor is less than or equal to 1.5 and greater than 1.
- the reference image update information includes:
- Transform coefficient information of a local region of the second reference image wherein the transform coefficient information includes a sum of absolute values of transform coefficients in a local area coverage
- the reference image update information used to determine whether the local area in the second reference image is used to update the corresponding area or the related area in the first reference image is encoded into the code stream, including: coding the transform coefficient information into a code a stream, when a sum of absolute values of transform coefficients in the coverage of the local area is greater than a ninth threshold, and the corresponding area or the related area in the first reference image is not updated, determining a local area in the second reference image is used for Updating a corresponding area or a related area in the first reference image; otherwise, determining that the local area in the second reference image is not used to update a corresponding area or a related area in the first reference image
- the reference image update information includes:
- Transform coefficient information of a local region of the second reference image wherein the transform coefficient information includes an average of a sum of absolute values of transform coefficients in a local area coverage
- the reference image update information used to determine whether the local area in the second reference image is used to update the corresponding area or the related area in the first reference image is encoded into the code stream, including: coding the transform coefficient information into a code And determining, when the average value of the sum of the absolute values of the transform coefficients in the coverage of the local area is greater than the tenth threshold, and the corresponding area or the related area in the first reference image is not updated, determining the local part in the second reference image The area is used to update the corresponding area or the related area in the first reference image. Otherwise, it is determined that the local area in the second reference image is not used to update the corresponding area or the related area in the first reference image.
- the reference image update information includes:
- Motion vector information of a local region of the second reference image wherein the motion vector information includes an average of a sum of absolute values of the lateral motion vectors in the local region and an absolute value of the absolute values of the longitudinal motion vectors;
- the reference image update information used to determine whether the local area in the second reference image is used to update the corresponding area or the related area in the first reference image is encoded into the code stream, including: coding the motion vector information into the code Flow, when the average of the sum of the absolute values of the absolute values of the lateral motion vectors and the absolute values of the longitudinal motion vectors in the local region are both smaller than the eleventh threshold, and the corresponding region or the related region in the first reference image is not Updating, determining that the local area in the second reference image is used to update the corresponding area or the related area in the first reference image; otherwise, determining that the local area in the second reference image is not used to update the corresponding in the first reference image Area or related area.
- the reference image update information includes:
- the motion vector information includes an average of a sum of an absolute value of the lateral motion vector in the local area and an absolute value of the longitudinal motion vector, and the second reference image An average of the sum of the absolute values of the transverse motion vectors and the absolute values of the longitudinal motion vectors within an encoded frame;
- the reference image update information used to determine whether the local area in the second reference image is used to update the corresponding area or the related area in the first reference image is encoded into the code stream, including: coding the motion vector information into the code
- the average value of the sum of the sum of the absolute value of the lateral motion vector and the absolute value of the longitudinal motion vector in the local region is smaller than the sum of the absolute value of the lateral motion vector and the absolute value of the longitudinal motion vector in the previous encoded frame.
- the encoding the sequence to be encoded and obtaining the reconstructed image of the second reference image includes:
- the image to be encoded of the second reference image is encoded using a fixed quantization parameter, wherein a first quantization parameter is used for the local region and a second quantization parameter is used for the non-local region.
- the method further includes:
- the first quantization parameter is a second quantization parameter; when the second quantization parameter is greater than or equal to 10, and less than 37, the first quantization parameter is the second quantization parameter minus 5; When the second quantization parameter is greater than or equal to 37 and less than or equal to 51, the first quantization parameter is reduced by 10 for the second quantization parameter.
- the encoding the sequence to be encoded and obtaining the reconstructed image of the second reference image includes:
- the specified rate allocation policy or quality control policy setting determines the quantization parameter.
- any one of the possible implementation manners of the first to the twenty-first possible implementation manners of the third aspect in the twenty-second possible implementation manner of the third aspect, is an area in the first reference image that is the same as the coordinate position of the local area in the second reference image.
- any one of the possible implementations of the first to the twenty-first possible implementations of the third aspect in the twenty-third possible implementation manner of the third aspect, when an area in the reference image that is the same as the coordinate position of the local area in the second reference image is updated, the area in the first reference image is sequentially searched in a predetermined order, and the corresponding area in the second reference image is The first block in the sequence has no updated region. Otherwise, the corresponding region in the first reference image is the same region of the first reference image as the coordinate region of the local region in the second reference image.
- the reference image update information further includes a spatial offset between a coordinate position where the local area is located and a coordinate position where the relevant area in the first reference image is located, the spatial offset including a lateral offset and a vertical offset
- the method further includes:
- the spatial offset is programmed into the code stream.
- any one of the possible implementations of the first to the twenty-fourth possible implementation manners of the third aspect in the twenty-fifth possible implementation manner of the third aspect, Filtering is performed at a boundary of the corresponding region or the related region and the adjacent region in the first reference image after the pixel replacement.
- the first reference image is a first frame reconstructed image obtained by encoding a sequence to be encoded.
- the first reference image is a random access point image obtained by encoding a sequence to be encoded.
- the partial area of the second reference image is one of a maximum coding unit, a coding unit, a coding unit group, and an image area of a preset size.
- the encoding the sequence to be encoded and obtaining the reconstructed image of the first reference image further includes: detecting the sequence to be encoded; determining the first reference Whether the image is a scene switching image; determining the first reference image specific sequence number; encoding the specific sequence number into the code stream before or after encoding the image to be encoded of the first reference image.
- the encoding the sequence to be encoded and obtaining the reconstructed image of the second reference image further includes: determining the first updated by the second reference image a specific sequence number of a reference image; prior to or after encoding the image to be encoded of the second reference image, the particular sequence number or number associated with the particular sequence number is encoded into the code stream.
- a fourth aspect provides an apparatus for decoding a reference image, including: a first decoding module, configured to parse a code stream, obtain a reconstructed image of a first reference image, and a reconstructed image of a second reference image, the first reference The image is decoded before the second reference image; the second decoding module is configured to obtain, before the reconstructed image of the second reference image, the reconstructed image of the second reference image, or the reconstructed image of the second reference image Or after the parsed code stream obtains the reconstructed image of the second reference image; parsing the code stream, obtaining reference image update information, and determining, according to the reference image update information, whether the local region in the second reference image is used to update the first a corresponding area or a related area in a reference image, the size of the local area is smaller than or equal to the size of the second reference image; and the third decoding module is configured to determine a local area in the second reference image when the reference image update information is used When updating the corresponding region or the related region
- the second decoding mode is specifically configured to: parse the code stream, obtain a mark, and if the mark is the first value, determine that the local area in the second reference image is used to update a corresponding area or a related area in the first reference image, if When the flag is the second value, it is determined that the local area in the second reference image is not used to update the corresponding area or the related area in the first reference image, and the first value is different from the second value.
- the second decoding module is specifically configured to: parse the code stream, obtain coded information, and determine the first part according to the coded information and a preset rule. Whether the partial area in the second reference image is used to update the corresponding area or the related area in the first reference image.
- the method further includes: determining the coding information
- the encoding information includes a quantization parameter offset value of the local area in the second reference image.
- the second decoding module is specifically configured to: when the absolute value of the quantization parameter offset value is in the first value range Determining, in the second reference image, the local area in the second reference image is used to update the corresponding area or the related area in the first reference image; when the absolute value of the quantization parameter offset value is not in the first value range, determining the first The local area in the second reference image is not used to update the corresponding area or related area in the first reference picture.
- the method further includes: the first value range is greater than or equal to 10 and less than 20.
- the method further includes: determining the coding information
- the encoding information includes a scaling factor of the quantization step size of the local area in the second reference image; correspondingly, the second decoding module is specifically configured to: when the scaling factor of the quantization step is within the second value range, Determining a local area in the second reference image for updating a corresponding area or a related area in the first reference image; when the scaling factor of the quantization step is not in the second value range, determining the second reference image The local area is not used to update the corresponding area or related area in the first reference image.
- the determining, when the scaling factor of the quantization step is within a second value range determining The local area in the second reference image is used to update the corresponding area or the related area in the first reference image, including: when the scaling factor of the quantization step is greater than or equal to 0.5, and less than 1; or the scaling factor is less than When it is equal to 1.5 and greater than 1, the local area in the second reference image is determined to be used to update a corresponding area or a related area in the first reference image.
- any one of the first to the sixth possible implementation manners of the fourth aspect in a seventh possible implementation manner of the fourth aspect, the corresponding area in the first reference image An area of the first reference image that is the same as a coordinate position of a local area in the second reference image.
- any one of the possible implementation manners of the first to the sixth possible implementation manners of the fourth aspect any one of the possible implementation manners of the first to the sixth possible implementation manners of the fourth aspect,
- the second decoding module is further configured to: obtain a spatial offset between a coordinate position where the local area is located and a coordinate position where the relevant area in the first reference image is located, where the spatial offset includes a horizontal An offset and a longitudinal offset, and before the third decoding module replaces pixel values of corresponding regions or related regions in the first reference image with pixel values of local regions in the second reference image, according to The coordinates of the location of the local area of the second reference image and the spatial offset determine the location of the first reference image related area.
- any one of the possible implementation manners of the first to the eighth possible implementation manners of the fourth aspect, the ninth possible implementation manner of the fourth aspect, further includes a fourth decoding module
- the fourth decoding module is further configured to: filter the corresponding region in the first reference image after the pixel replacement or the boundary between the related region and the adjacent region.
- the first reference image is a parsing code The first frame reconstructed image obtained by the stream.
- the first reference image is A random access point image obtained by the code stream.
- the second reference image is one of a maximum coding unit, a coding unit, a coding unit group, and an image area of a preset size.
- the first decoding module is further configured to: parse the code stream to obtain a specific sequence number of the first reference image.
- the first decoding module is further configured to: parse the code stream to obtain A particular sequence number of the second reference image, the particular sequence number being associated with a particular sequence number of the first reference image updated by the second reference image.
- a fifth aspect provides an apparatus for decoding a reference image, including: a first decoding module, configured to parse a code stream, obtain a reconstructed image of the first reference image, and a reconstructed image of the second reference image, the first reference The image is decoded before the second reference image; the second decoding module is configured to obtain, before the reconstructed image of the second reference image, the reconstructed image of the second reference image, or the reconstructed image of the second reference image Or after the parsed code stream obtains the reconstructed image of the second reference image; parsing the code stream, obtaining reference image update information, and determining a local region in the second reference image according to the reference image update information Whether the domain is adapted to update the corresponding area or the related area in the first reference image, the size of the local area is smaller than or equal to the size of the second reference image; and the third decoding module is configured to determine a corresponding area in the first reference image or Whether the relevant area has been updated; when the corresponding area or the related area in
- the second decoding module is specifically configured to: parse the code stream, obtain a mark, and if the mark is the first value, determine the first The local area in the second reference image is adapted to update the corresponding area or the related area in the first reference image. If the flag is the second value, determining that the local area in the second reference image is not suitable for updating the first reference The corresponding value or the related area in the image, the first value is different from the second value.
- the second decoding module is specifically configured to: parse the code stream, obtain encoding information, and determine the first according to the encoding information and a preset rule. Whether the partial area in the second reference image is suitable for updating the corresponding area or the related area in the first reference image.
- the method further includes: determining the encoding information.
- the coding information includes transform coefficient information of a local area in the second reference image, where the transform coefficient information includes a sum of absolute values of transform coefficients in a local area coverage; correspondingly, the second decoding module is specifically used to :
- Determining when the sum of the absolute values of the transform coefficients in the coverage of the local area is greater than the first threshold, determining that the local area in the second reference image is adapted to update the corresponding area or the related area in the first reference image; otherwise, determining the second The local area in the reference image is not suitable for updating the corresponding area or related area in the first reference image.
- the method further includes: determining the encoding information.
- the coding information includes transform coefficient information of a local area in the second reference image, where the transform coefficient information includes an average of a sum of absolute values of transform coefficients in a local area coverage; corresponding to the second decoding module Specifically used for:
- Determining when the average value of the sum of the absolute values of the transform coefficients in the coverage of the local area is greater than the second threshold, determining that the local area in the second reference image is adapted to update the corresponding area or the related area in the first reference image; otherwise, determining The local area in the second reference image is not suitable for updating a corresponding area or related area in the first reference image.
- the method further includes: determining the coding information
- the encoding information includes a quantization parameter offset value of the local area in the second reference image.
- the second decoding module is specifically configured to: when the absolute value of the quantization parameter offset value is in the first value range Determining, the local area in the second reference image is adapted to update the corresponding area or the related area in the first reference image; when the absolute value of the quantization parameter offset value is not in the first value range, determining the first The local area in the second reference image is not suitable for updating the corresponding area or related area in the first reference image.
- the method further includes: the first value range is greater than or equal to 10 and less than 20.
- the method further includes: determining the coding information
- the encoding information includes a scaling factor of the quantization step size of the local area in the second reference image; correspondingly, the second decoding module is specifically configured to: when the scaling factor of the quantization step is within the second value range, Determining a local area in the second reference image is adapted to update a corresponding area or a related area in the first reference image; when the scaling factor of the quantization step is not in the second value range, determining the second reference image The local area is not suitable for updating the corresponding area or related area in the first reference image.
- the determining, when the scaling factor of the quantization step is within a second value range determining The local area in the second reference image is used to update the corresponding area or the related area in the first reference image, including: when the scaling factor of the quantization step is greater than or equal to 0.5, and less than 1; or the scaling factor is less than When it is equal to 1.5 and greater than 1, the local area in the second reference image is determined to be used to update a corresponding area or a related area in the first reference image.
- the method further includes: determining the coding information
- the encoding information includes motion vector information of a local region in the second reference image, wherein the motion vector information includes an average of a sum of absolute values of lateral motion vectors in a local region and an average of a sum of absolute values of longitudinal motion vectors.
- the second decoding module is specifically configured to: when the average of the sum of the absolute values of the absolute values of the lateral motion vectors and the absolute values of the longitudinal motion vectors in the local area are less than a third threshold, determine the second The local area in the reference image is adapted to update the corresponding area or the related area in the first reference image. Otherwise, it is determined that the local area in the second reference image is not suitable for updating the corresponding area or the related area in the first reference image.
- the method further includes: determining the coding information
- the encoding information includes motion vector information of a local region in the second reference image, wherein the motion vector information includes a sum of an absolute value of the lateral motion vector and a absolute value of the longitudinal motion vector in the local region. And an average of a sum of the sum of the absolute values of the lateral motion vectors and the absolute values of the longitudinal motion vectors in the decoded frame of the second reference image; correspondingly, the second decoding module is specifically configured to: When the sum of the sum of the absolute value of the lateral motion vector and the absolute value of the longitudinal motion vector in the local region is smaller than the sum of the absolute value of the lateral motion vector and the absolute value of the longitudinal motion vector in the previous decoded frame An average value, determining that a local area in the second reference image is adapted to update a corresponding area or a related area in the first reference image; otherwise, determining that the local area in the second reference image is not suitable for updating the first reference image Corresponding area or related area.
- any one of the possible implementation manners of the first to the tenth possible implementation manners of the fifth aspect in the eleventh possible implementation manner of the fifth aspect, is an area of the first reference image that is the same as the coordinate position of the local area in the second reference image.
- the second decoding module further Specifically, when an area in the first reference image that is the same as a coordinate position of a local area in the second reference image is updated, sequentially searching for an area in the first reference image in a predetermined order, The corresponding area in the first reference image is an area in which the first block in the sequence is not updated, otherwise, the corresponding area in the first reference image is a local area in the first reference image and the second reference image The coordinates of the same area.
- the second decoding module further Specifically, the method provides: obtaining a spatial offset between a coordinate position where the local area is located and a coordinate position where the relevant area in the first reference image is located, where the spatial offset includes a lateral offset and a longitudinal offset And determining, according to the second reference image, before the third decoding module replaces the pixel value of the corresponding region or the related region in the first reference image with the pixel value of the local region in the second reference image The coordinates of the location of the domain area and the spatial offset determine the location of the first reference image related region.
- the fourth decoding module is further configured to: filter the corresponding region in the first reference image after the pixel replacement or the boundary between the related region and the adjacent region.
- the reference image is a first frame reconstructed image obtained by parsing the code stream.
- the method further includes: the first reference image is a random access point image obtained by parsing the code stream.
- the partial area of the reference image is one of a maximum coding unit, a coding unit, a coding unit group, and an image area of a preset size.
- the first decoding module is further configured to: parse the code stream to obtain a specific sequence number of the first reference image.
- the first decoding module is further configured to: parse the code stream A particular sequence number of the second reference image is obtained, the particular sequence number being associated with a particular sequence number of the first reference image updated by the second reference image.
- a sixth aspect provides an apparatus for encoding a reference image, comprising: a first encoding module, configured to encode a sequence to be encoded, obtain a reconstructed image of a first reference image, and encode a second reference image to obtain the second reference a reconstructed image of the image, the first reference image is encoded prior to the second reference image; and a second encoding module is configured to determine whether a local region in the second reference image is suitable for updating a corresponding region in the first reference image Or a related area, the size of the local area is less than or equal to the size of the second reference image; the third encoding module is configured to determine whether the corresponding area or the related area in the first reference image has been updated; when the first reference image is Corresponding area or related area is not updated, and the reference image update information determines that the local area in the second reference image is suitable for updating the corresponding area or the related area in the first reference image, and using the local area in the second reference image
- the pixel value replaces the pixel value of the
- the second coding module is specifically configured to:
- the mean square error value is less than the fourth threshold, determining that the local area in the second reference image is adapted to update the corresponding area or the related area in the first reference image; otherwise, determining that the local area in the second reference image is not Suitable for updating a corresponding area or a related area in the first reference image.
- the second coding module is specifically configured to:
- Determining that a local area in the second reference image is adapted to update a corresponding area or a related area in the first reference image when the average value is less than a fifth threshold, otherwise determining that the local area in the second reference image is not applicable to Updating a corresponding area or a related area in the first reference image.
- the second coding module is specifically configured to:
- transform coefficient information of a local region in the second reference image where the transform coefficient information includes a sum of absolute values of transform coefficients in a local area coverage
- the sixth threshold determines that the local area in the second reference image is adapted to update the corresponding area or the related area in the first reference image; otherwise, determining the first The local area in the second reference image is not suitable for updating the corresponding area or related area in the first reference image.
- the second coding module is specifically configured to:
- transform coefficient information of a local region in the second reference image wherein the transform coefficient information includes an average value of a sum of absolute values of transform coefficients in a local area coverage
- the seventh threshold determines that the local area in the second reference image is adapted to update the corresponding area or the related area in the first reference image; otherwise, Determining that the local area in the second reference image is not suitable for updating a corresponding area or a related area in the first reference image.
- the second coding module is specifically configured to:
- Determining when the number of coded bits of the local area of the second reference image is greater than the number of coded bits of the previous coded area, determining a local area in the second reference image to update a corresponding area or a related area in the first reference image Otherwise, it is determined that the local area in the second reference image is not suitable for updating the corresponding area or the related area in the first reference image.
- the second coding module is specifically configured to:
- the second coding module is specifically configured to:
- the motion vector information includes an average of a sum of absolute values of the lateral motion vectors in the local region and an average of the absolute values of the longitudinal motion vectors;
- the second coding module is specifically configured to:
- the motion vector information includes an average of a sum of a lateral motion vector absolute value and a longitudinal motion vector absolute value in the local region, and the second reference image The average of the sum of the absolute values of the lateral motion vectors and the absolute values of the longitudinal motion vectors in the previous encoded frame;
- the average of the sum of the sum of the absolute values of the lateral motion vectors and the absolute values of the longitudinal motion vectors in the local region is smaller than the sum of the sum of the absolute values of the lateral motion vectors and the absolute values of the longitudinal motion vectors in the previous encoded frame. And determining, in the second reference image, that the local area in the second reference image is adapted to update the corresponding area or the related area in the first reference image; otherwise, determining that the local area in the second reference image is not suitable for updating the corresponding in the first reference image Area or related area.
- the fourth coding module is specifically configured to:
- the fourth encoding module is specifically configured to: encode the value of the tag into a code stream, where a local area in the second reference image is used to update a corresponding area or a related area in the first reference image, the mark The first value is used; when the local area in the second reference image is not used to update the corresponding area or the related area in the first reference image, the mark is a second value, and the first value is different from the second value.
- the reference image update information includes:
- the fourth encoding module is specifically configured to: encode the quantization parameter offset value into the code stream, when the first The local area in the second reference image is used to update the corresponding area or the related area in the first reference image, and the absolute value of the quantization parameter offset value is in the third value range; when the local area in the second reference image is not used And updating the corresponding area or the related area in the first reference image, the absolute value of the quantization parameter offset value is not in the third value range.
- the method further includes: the third value range is greater than or equal to 10 and less than 20.
- the reference image update information includes:
- the fourth encoding module is specifically configured to: encode a scaling factor of the quantization step into a code stream, where a local area in the second reference image is used to update a corresponding area or a related area in the first reference image, The scaling factor of the quantization step is in the fourth value range; when the local area in the second reference image is not used to update the corresponding area or the related area in the first reference image, the scaling factor of the quantization step is not in the fourth Within the range of values.
- the method further includes: when the local area in the second reference image is used for updating a corresponding region or a related region in the first reference image, wherein the scaling factor of the quantization step includes: when a local region in the second reference image is used to update the first reference image In the corresponding region or the related region, the scaling factor of the quantization step is greater than or equal to 0.5 and less than 1; or the scaling factor is less than or equal to 1.5 and greater than 1.
- the reference image update information includes:
- Transform coefficient information of a local region of the second reference image wherein the transform coefficient information includes a sum of absolute values of transform coefficients in a local area coverage
- the fourth coding module is specifically configured to: encode the transform coefficient information into a code stream, when a sum of absolute values of transform coefficients in the coverage of the local area is greater than a ninth threshold, and corresponding areas in the first reference image Or the relevant area is not updated, and the local area in the second reference image is used to update the corresponding area or the related area in the first reference image; otherwise, determining that the local area in the second reference image is not used to update the a corresponding area or a related area in a reference image;
- the reference image update information includes:
- Transform coefficient information of a local region of the second reference image wherein the transform coefficient information includes an average of a sum of absolute values of transform coefficients in a local area coverage
- the fourth encoding module is specifically configured to: encode the transform coefficient information into a code stream, where the local part The average value of the sum of the absolute values of the transform coefficients in the area coverage is greater than the tenth threshold, and the corresponding area or the related area in the first reference image is not updated, and the local area in the second reference image is determined to be used to update the Corresponding area or related area in the first reference image. Otherwise, determining that the local area in the second reference image is not used to update the corresponding area or related area in the first reference image.
- the reference image update information includes:
- Motion vector information of a local region of the second reference image wherein the motion vector information includes an average of a sum of absolute values of the lateral motion vectors in the local region and an absolute value of the absolute values of the longitudinal motion vectors;
- the fourth encoding module is specifically configured to: encode the motion vector information into the code stream, when the average of the sum of the absolute values of the lateral motion vectors in the local region and the absolute value of the absolute values of the longitudinal motion vectors are If it is smaller than the eleventh threshold, and the corresponding area or the related area in the first reference image is not updated, determining that the local area in the second reference image is used to update the corresponding area or the related area in the first reference image; otherwise, Determining that the local area in the second reference image is not used to update a corresponding area or a related area in the first reference image.
- the reference image update information includes:
- the motion vector information includes an average of a sum of an absolute value of the lateral motion vector in the local area and an absolute value of the longitudinal motion vector, and the second reference image An average of the sum of the absolute values of the transverse motion vectors and the absolute values of the longitudinal motion vectors within an encoded frame;
- the fourth encoding module is specifically configured to: encode the motion vector information into the code stream, when an average value of a sum of an absolute value of the lateral motion vector and an absolute value of the longitudinal motion vector in the local area is smaller than the previous one
- the average of the sum of the absolute value of the lateral motion vector in the encoded frame and the absolute value of the longitudinal motion vector, and the corresponding region or the related region in the first reference image is not updated, and the local part in the second reference image is determined.
- the area is used to update the corresponding area or the related area in the first reference image. Otherwise, it is determined that the local area in the second reference image is not used to update the corresponding area or the related area in the first reference image.
- the first coding module is specifically configured to:
- the image to be encoded of the second reference image is encoded using a fixed quantization parameter, wherein a first quantization parameter is used for the local region and a second quantization parameter is used for the non-local region.
- the method further includes:
- the first quantization parameter is a second quantization parameter;
- the first quantization parameter is 5 for the second quantization parameter;
- the second quantization parameter is greater than or equal to 37 and less than or equal to 51, the first quantization parameter is the second quantization parameter.
- the first coding module is specifically configured to:
- the specified rate allocation policy or quality control policy setting determines the quantization parameter.
- any one of the possible implementation manners of the first to the twenty-first possible implementation manners of the sixth aspect in the twenty-second possible implementation manner of the sixth aspect, is an area in the first reference image that is the same as the coordinate position of the local area in the second reference image.
- the second The encoding module is further configured to: when the area of the first reference image that is the same as the coordinate position of the local area in the second reference image is updated, sequentially search for the area in the first reference image in a predetermined order Corresponding area in the second reference image is an area in which the first block in the sequence is not updated. Otherwise, the corresponding area in the first reference image is in the first reference image and the second reference image. The area of the local area has the same coordinate position.
- the reference image update information further includes a spatial offset between a coordinate position where the local area is located and a coordinate position where the relevant area in the first reference image is located, the spatial offset including a lateral offset and a vertical offset
- the second encoding module is further used to:
- the spatial offset is programmed into the code stream.
- the first reference image is a first frame reconstructed image obtained by encoding a sequence to be encoded.
- the first The reference image is a random access point image obtained by encoding a sequence to be encoded.
- the partial area of the second reference image is one of a maximum coding unit, a coding unit, a coding unit group, and an image area of a preset size.
- the twenty-ninth possible implementation manner of the sixth aspect further includes a sixth module, where the sixth module is further configured to: detect the sequence to be encoded; determine whether the first reference image is a scene switching image; determining the first reference image specific sequence number; encoding the specific sequence number into the code stream before or after encoding the image to be encoded of the first reference image.
- the first coding module is further configured to: determine a specific sequence number of the first reference image that is updated by the second reference image Before or after encoding the image to be encoded of the second reference image, the specific sequence number or the number associated with the particular sequence number is encoded into the code stream.
- the reference image encoding and decoding method, the encoding device, and the decoding device in the embodiment of the present invention locally update the background reference image, that is, the first reference image, by using the post-encoded reference image, thereby coding and decoding
- the update information of the background reference image is distributed in the subsequent reference image, which avoids the complexity increase caused by analyzing the features of the reconstructed image at the decoding end, and avoids the code stream code generated by transmitting the background reference image.
- FIG. 1 is a schematic flowchart of a method of reference image decoding according to an embodiment of the present invention
- FIG. 2 is a schematic diagram of vertical boundary filtering in a method of filtering according to an embodiment of the present invention
- FIG. 3 is a schematic diagram of horizontal boundary filtering in a method of filtering according to an embodiment of the present invention.
- FIG. 4 is another schematic flowchart of a method for reference image decoding according to an embodiment of the present invention.
- FIG. 5 is a schematic diagram of a search order in a method of searching for a corresponding area according to an embodiment of the present invention
- FIG. 6 is a schematic flowchart of a method of reference image encoding according to an embodiment of the present invention.
- FIG. 7 is a schematic flowchart of a method of reference image encoding according to another embodiment of the present invention.
- FIG. 8 is another schematic flowchart of a method for reference image encoding according to another embodiment of the present invention.
- FIG. 9 is a schematic flowchart of a method for decoding a reference image according to another embodiment of the present invention.
- FIG. 10 is a schematic block diagram of an apparatus for reference image decoding according to an embodiment of the present invention.
- FIG. 11 is another schematic block diagram of an apparatus for reference image decoding according to an embodiment of the present invention.
- FIG. 12 is a schematic block diagram of an apparatus for reference image encoding according to an embodiment of the present invention.
- FIG. 13 is a schematic block diagram of an apparatus for reference image encoding according to another embodiment of the present invention.
- FIG. 14 is another schematic block diagram of an apparatus for reference image encoding according to another embodiment of the present invention.
- FIG. 15 is a schematic block diagram of an apparatus for reference image decoding according to another embodiment of the present invention.
- 16 is a schematic block diagram of an apparatus for reference image encoding according to still another embodiment of the present invention.
- FIG. 17 is a schematic block diagram of an apparatus for reference image decoding according to still another embodiment of the present invention.
- FIG. 18 is another schematic block diagram of an apparatus for reference image decoding according to still another embodiment of the present invention.
- FIG. 1 shows a schematic flow chart of a method of reference image decoding according to an embodiment of the present invention.
- the method shown in FIG. 1 can be performed by a decoding device, such as a decoder.
- the method 1000 includes:
- the reference image update information determines that a local area in the second reference image is used to update a corresponding area or a related area in the first reference image, use a pixel value of a local area in the second reference image. Substituting pixel values of corresponding regions or related regions in the first reference image.
- the decoding device parses the code stream to obtain the first reference image and the second reference image, and parses the reference image before, during or after the reconstructed image of the second reference image is obtained by the parsing code stream corresponding to the encoding end Updating information, determining, according to the update information, whether a partial region of the second reference image is used to update a corresponding region or a related region of the first reference image, if determining that the partial region of the second reference image is used to update a corresponding region of the first reference image or related a region, using a local region in the second reference image
- the pixel value of the domain replaces the pixel value of the corresponding region or the related region in the first reference image.
- the second reference image in the present invention refers to a reference image that is located after the first reference image in the time domain. The number of the second reference image varies with different requirements, and the present invention is not limited herein.
- the decoding device locally updates the first reference image by means of pixel copying by using the update information of the subsequent reference image, thereby improving the compression efficiency by using the first reference image.
- the complexity of decoding is reduced, and the delay caused by the steep increase of the code rate is also avoided.
- the local area of the second reference image may be a maximum coding unit (LCU), a coding unit (CU), a coding unit group (CU group), and an image area of a preset size.
- LCU maximum coding unit
- CU coding unit
- CU group coding unit group
- image area of a preset size One type is not limited by the present invention.
- the first reference image is an image decoded before the second reference image as a reference image of a subsequent image in the video segment in which it is located.
- the first reference image may be a first frame reconstructed image obtained by parsing the code stream, or may be a random access point image obtained by parsing the code stream, which is not limited in the present invention.
- the parsed code stream before the reconstructed image of the second reference image is obtained by the parsed code stream, or the parsed code stream obtains the reconstructed image of the second reference image, or the parsing code After the stream obtains the reconstructed image of the second reference image; parsing the code stream to obtain the reference image update information, corresponding to the encoding mode of the encoding end, the position of the reference image update information in the code stream may be in the second reference image
- the encoding information before, during or after and the reference image update information may be present in the code stream as part of the encoding information of the second reference image, which is not limited in the present invention.
- determining reference image update information, and determining, according to the reference image update information, whether a local area in the second reference image is used to update a corresponding area or a related area in the first reference image includes:
- Parsing the code stream obtaining a mark, and if the mark is a first value, determining a local area in the second reference image for updating a corresponding area or a related area in the first reference image, if When the second value is marked, it is determined that the local area in the second reference image is not used to update the corresponding area or the related area in the first reference image, and the first value is different from the second value.
- the specific implementation manner is: reading a reference image update identifier of each area in the current to-be-decoded frame from the code stream, where 1 indicates that the area is used to update the first reference image, and 0 indicates that the area is not used to update the first reference image. .
- determining reference image update information, and determining, according to the reference image update information, whether a local area in the second reference image is used to update a corresponding area in the first reference image Or related areas including:
- the code stream is parsed, the coded information is obtained, and the local area in the second reference image is used to update a corresponding area or a related area in the first reference image according to the coded information and a preset rule.
- the encoding information includes a quantization parameter offset value of a local area in the second reference image; correspondingly, determining, according to the encoding information and a preset rule, whether a local area in the second reference image is
- the updating the corresponding region or the related region in the first reference image includes: determining, when the absolute value of the quantization parameter offset value is within the first value range, determining a local region in the second reference image for Updating a corresponding area or a related area in the first reference image; determining that a local area in the second reference image is not used to update the local area when the absolute value of the quantization parameter offset value is not within the first value range A corresponding area or related area in the first reference image.
- the specific implementation manner is: reading, from the code stream, a quantization parameter offset value ( ⁇ QP) of each region in the current frame to be decoded, and determining, according to the range of the absolute value, whether the region is used to update the first reference image; ⁇
- ⁇ QP quantization parameter offset value
- the value of the quantization parameter offset value is given a preferred value in the embodiment of the present invention, and the value of the quantization parameter offset value is not limited in the present invention.
- determining the reference image update information, and determining, according to the reference image update information, whether the local area in the second reference image is used to update the corresponding area or the related area in the first reference image includes:
- the code stream is parsed, the coded information is obtained, and the local area in the second reference image is used to update a corresponding area or a related area in the first reference image according to the coded information and a preset rule.
- the encoding information includes a scaling factor of a quantization step of a local area in the second reference image; correspondingly, determining, according to the encoding information and a preset rule, whether a local area in the second reference image is used
- Updating the corresponding region or the related region in the first reference image includes: when the scaling factor of the quantization step is within the second value range, determining a local region in the second reference image for updating the Corresponding area or related area in the first reference image; determining that the local area in the second reference image is not used to update the first reference image when the scaling factor of the quantization step is not within the second value range Corresponding area or related area.
- the specific implementation is: reading a scaling factor in the code stream to determine whether a local area in the second reference image is used to update a corresponding area or a related area in the first reference image.
- the calculation formula of the scaling factor F is as follows (1), and its value range is 0.5 to 1.5:
- the scaling factor F is 1, it is not used to update the first reference image, otherwise it is used to update the first reference image.
- the value of the scaling factor is given a preferred value in the embodiment of the present invention, and the value of the scaling factor is not limited in the present invention.
- a corresponding area in the first reference image is an area in the first reference image that is the same as a coordinate position of a local area in the second reference image.
- the parsing code stream, the obtaining reference image update information, and determining, according to the reference image update information, whether a local area in the second reference image is used to update the The corresponding region or the related region in a reference image further includes: obtaining a spatial offset between a coordinate position where the local region is located and a coordinate position where the relevant region in the first reference image is located
- the spatial offset includes a lateral offset and a longitudinal offset; before replacing the pixel value of the corresponding region or the related region in the first reference image with the pixel value of the local region in the second reference image And determining a location of the first reference image related region according to a coordinate of a location of the local area of the second reference image and the spatial offset.
- the specific implementation is: for the region for updating the corresponding region or the related region in the first reference image, reading (cMVx, cMVy) from the code stream, according to (cMVx, cMVy) and the location of the region ( Curx, Cury) obtains its updated position in the first reference image according to formula (3).
- Des x Cur x +cMV x
- Des y Cur y +cMV y (3)
- Step S1300 When the reference image update information determines that a local area in the second reference image is used to update a corresponding area or a related area in the first reference image, using a pixel value of a local area in the second reference image After the pixel value of the corresponding area or the related area in the first reference image is replaced, optionally, the method further includes:
- S1400 Filter a boundary of a corresponding area or a related area and an adjacent area in the first reference image after the pixel replacement.
- the specific embodiment is:
- the processing method is the same as the first step;
- the column coordinate col in the pixel point subscript is omitted in the formula;
- the processing method is the same as the first step.
- FIG. 4 shows a schematic flow chart of a method of reference image decoding according to an embodiment of the present invention.
- the method illustrated in FIG. 4 may be performed by a decoding device, such as a decoder.
- method 2000 includes:
- S2100 Parsing a code stream, obtaining a reconstructed image of the first reference image and a reconstructed image of the second reference image, where the first reference image is decoded before the second reference image;
- S2300 determining whether a corresponding area or a related area in the first reference image has been updated; when a corresponding area or a related area in the first reference image is not updated, and the reference image update information is determined in the second reference image Local area is adapted to update a corresponding area in the first reference image or When the region is related, the pixel value of the corresponding region or the related region in the first reference image is replaced by the pixel value of the local region in the second reference image.
- the decoding device parses the code stream to obtain the first reference image and the second reference image, and parses the reference image before, during or after the reconstructed image of the second reference image is obtained by the parsing code stream corresponding to the encoding end Updating information, determining, according to the update information, whether a partial region of the second reference image is used to update a corresponding region or a related region of the first reference image, if determining that the partial region of the second reference image is used to update a corresponding region of the first reference image or related And replacing, by the pixel value of the local area in the second reference image, a pixel value of the corresponding area or the related area in the first reference image.
- the decoding device locally updates the first reference image by means of pixel copying by using the update information of the subsequent reference image, thereby improving the compression efficiency by using the first reference image.
- the complexity of decoding is reduced, and the delay caused by the steep increase of the code rate is also avoided.
- the local area of the second reference image may be a maximum coding unit (LCU), a coding unit (CU), a coding unit group (CU group), and an image area of a preset size.
- LCU maximum coding unit
- CU coding unit
- CU group coding unit group
- image area of a preset size One type is not limited by the present invention.
- the first reference image is an image decoded before the second reference image as a reference image of a subsequent image in the video segment in which it is located.
- the first reference image may be a first frame reconstructed image obtained by parsing the code stream, or may be a random access point image obtained by parsing the code stream, which is not limited in the present invention.
- the parsed code stream before the reconstructed image of the second reference image is obtained by the parsed code stream, or the parsed code stream obtains the reconstructed image of the second reference image, or the parsing code After the stream obtains the reconstructed image of the second reference image; parsing the code stream to obtain the reference image update information, corresponding to the encoding mode of the encoding end, the position of the reference image update information in the code stream may be in the second reference image
- the encoding information before, during or after and the reference image update information may be present in the code stream as part of the encoding information of the second reference image, which is not limited in the present invention.
- step S2200 And parsing the code stream in step S2200, obtaining reference image update information, and determining, according to the reference image update information, whether the local area in the second reference image is suitable for updating a corresponding area or a related area in the first reference image Ways, including:
- determining the reference image update information, and determining, according to the reference image update information, whether the local area in the second reference image is suitable for updating the corresponding area or the related area in the first reference image comprises:
- Parsing the code stream obtaining a mark, and if the mark is a first value, determining that a local area in the second reference image is adapted to update a corresponding area or a related area in the first reference image, if When the second value is marked, determining that the local area in the second reference image is not applicable to the update The corresponding region or the related region in the first reference image, the first value is different from the second value.
- the specific implementation manner is: reading a reference image update identifier of each area in the current to-be-decoded frame from the code stream, where 1 indicates that the area is suitable for updating the first reference image, and 0 indicates that the area is not applicable to updating the first reference. image.
- determining the reference image update information, and determining, according to the reference image update information, whether the local area in the second reference image is suitable for updating the corresponding area or the related area in the first reference image comprises:
- Parsing the code stream acquiring the encoded information, and determining, according to the encoding information and the preset rule, whether the local area in the second reference image is suitable for updating a corresponding area or a related area in the first reference image.
- the coding information includes transform coefficient information of a local region in the second reference image, where the transform coefficient information includes a sum of absolute values of transform coefficients in a local area coverage; correspondingly, according to the
- the encoding information and the preset rule to determine whether the local area in the second reference image is suitable for updating the corresponding area or the related area in the first reference image comprises:
- Determining when the sum of the absolute values of the transform coefficients in the coverage of the local area is greater than the first threshold, determining that the local area in the second reference image is used to update the corresponding area or the related area in the first reference image; otherwise, determining The local area in the second reference image is not suitable for updating a corresponding area or a related area in the first reference image.
- the specific implementation is: reading the quantized transform coefficients of each region in the current frame from the code stream; obtaining an area that satisfies the following condition (5);
- condition (5) it is determined that the area is suitable for updating the first reference image, otherwise it is determined that the area is not suitable for updating the first reference image.
- determining the reference image update information, and determining, according to the reference image update information, whether the local area in the second reference image is suitable for updating the corresponding area or the related area in the first reference image comprises:
- Parsing the code stream acquiring the encoded information, and determining, according to the encoding information and the preset rule, whether the local area in the second reference image is suitable for updating a corresponding area or a related area in the first reference image.
- the encoding information includes transform coefficient information of a local region in the second reference image, where the transform coefficient information includes an average value of a sum of absolute values of transform coefficients in a local area coverage; Determining, according to the encoding information and the preset rule, whether the local area in the second reference image is used to update the first reference image comprises:
- the local area in the second reference image is adapted to update a corresponding area or a related area in the first reference image; otherwise, determining that the local area in the second reference image is not suitable for updating the first reference image Corresponding area or related area.
- the specific implementation is: reading the quantized transform coefficients of each region in the current frame from the code stream; obtaining an area that satisfies the following condition (6), where numBlock represents the number of regions included in the current frame;
- condition (6) it is determined that the area is suitable for updating the first reference image, otherwise it is determined that the area is not suitable for updating the first reference image.
- determining the reference image update information, and determining, according to the reference image update information, whether the local area in the second reference image is suitable for updating the corresponding area or the related area in the first reference image comprises:
- Parsing the code stream acquiring the encoded information, and determining, according to the encoding information and the preset rule, whether the local area in the second reference image is suitable for updating a corresponding area or a related area in the first reference image.
- the encoding information includes a quantization parameter offset value of a local area in the second reference image; correspondingly, determining, according to the encoding information and a preset rule, whether a local area in the second reference image is
- the updating the corresponding area or the related area in the first reference image includes: determining that the local area in the second reference image is applicable when the absolute value of the quantization parameter offset value is within the first value range Updating a corresponding area or a related area in the first reference image; when the absolute value of the quantization parameter offset value is not within the first value range, determining that the local area in the second reference image is not applicable to the update Corresponding area or related area in the first reference image.
- the specific implementation is: reading, from the code stream, a quantization parameter offset value ( ⁇ QP) of each region in the current frame to be decoded, and determining, according to the range of the absolute value, whether the region is suitable for updating the first reference image; ⁇
- ⁇ QP quantization parameter offset value
- the value of the quantization parameter offset value is given a preferred value in the embodiment of the present invention, and the value of the quantization parameter offset value is not limited in the present invention.
- determining the reference image update information, and determining, according to the reference image update information, whether the local area in the second reference image is suitable for updating the corresponding area or the related area in the first reference image comprises:
- Parsing the code stream acquiring the encoded information, and determining, according to the encoding information and the preset rule, whether the local area in the second reference image is suitable for updating a corresponding area or a related area in the first reference image.
- the encoding information includes a scaling factor of a quantization step size of a local area in the second reference image; correspondingly, determining, according to the encoding information and a preset rule, whether a local area in the second reference image is applicable Updating the corresponding region or the related region in the first reference image includes: when the scaling factor of the quantization step is within the second value range, determining that the local region in the second reference image is adapted to update the Corresponding area or related area in the first reference image; determining that the local area in the second reference image is not suitable for updating the first reference image when the scaling factor of the quantization step is not within the second value range Corresponding area or related area.
- the specific implementation is: reading a scaling factor in the code stream to determine whether a local area in the second reference image is suitable for updating a corresponding area or a related area in the first reference image.
- the calculation formula of the scaling factor F is as follows (7), and its value range is 0.5 to 1.5:
- the scaling factor F is 1, it is not suitable for updating the first reference image, otherwise it is suitable for updating the first reference image.
- the value of the scaling factor is given a preferred value in the embodiment of the present invention, and the value of the scaling factor is not limited in the present invention.
- determining the reference image update information, and determining, according to the reference image update information, whether the local area in the second reference image is suitable for updating the corresponding area or the related area in the first reference image comprises:
- Parsing the code stream acquiring the encoded information, and determining, according to the encoding information and the preset rule, whether the local area in the second reference image is suitable for updating a corresponding area or a related area in the first reference image.
- the encoding information includes motion vector information of a local region in the second reference image, where the motion vector information includes an average value of a sum of absolute values of lateral motion vectors in a local region and an absolute value of a longitudinal motion vector.
- an average of the sum of the second reference image according to the encoding information and the preset rule for updating the first reference image includes:
- the local area in the second reference image is adapted to update the corresponding area or the related area in the first reference image, otherwise determining the second reference image
- the local area is not suitable for updating a corresponding area or a related area in the first reference image.
- the specific embodiment is: obtaining an area that satisfies the following condition (9);
- M represents the number of coding blocks included in the current region; MVx and MVy represent the lateral motion vector and the longitudinal motion vector of each coding block, respectively; and calculate the absolute value of the lateral motion vector of all coding blocks in the current region.
- determining the reference image update information, and determining, according to the reference image update information, whether the local area in the second reference image is suitable for updating the corresponding area or the related area in the first reference image comprises:
- Parsing the code stream acquiring the encoded information, and determining, according to the encoding information and the preset rule, whether the local area in the second reference image is suitable for updating a corresponding area or a related area in the first reference image.
- the motion vector information includes an average of a sum of an absolute value of a lateral motion vector in a local region and an absolute value of a longitudinal motion vector, and an absolute value of a lateral motion vector in a previously decoded frame of the second reference image.
- An average value of a sum of sums of absolute values of longitudinal motion vectors; correspondingly, determining, according to the encoding information and a preset rule, whether a local area in the second reference image is used to update the first reference image includes :
- an average value of a sum of a sum of an absolute value of the lateral motion vector and an absolute value of the longitudinal motion vector in the local region is smaller than a sum of an absolute value of the lateral motion vector and an absolute value of the longitudinal motion vector in the previous decoded frame;
- Mean determining that a local area in the second reference image is adapted to update a corresponding area or a related area in the first reference image; otherwise, determining that a local area in the second reference image is not suitable for updating A corresponding area or related area in the first reference image.
- the specific embodiment is: obtaining an area that satisfies the following condition (10);
- M represents the number of coding blocks included in the current region
- N represents the number of coding blocks included in the previous encoded frame/decode frame
- MVx and MVy represent the horizontal transmission of each coding block, respectively.
- Motion vector and longitudinal motion vector if condition (10) is satisfied, it is determined that the region is suitable for updating the first reference image, otherwise it is determined that the region is not suitable for updating the first reference image.
- the previous decoded frame refers to the one decoded frame adjacent to the second reference image in the time domain or the multiple consecutive frames including the adjacent decoded frame. Decoded frame.
- a corresponding area in the first reference image is an area in the first reference image that is the same as a coordinate position of a local area in the second reference image.
- the first reference image when an area in the first reference image that is the same as a coordinate position of a local area in the second reference image is updated, the first reference image is sequentially searched in a predetermined order.
- the area in the first reference image is an area in which the first block in the sequence is not updated, otherwise, the corresponding area in the first reference image is the first reference image An area in which the coordinate positions of the partial regions in the second reference image are the same.
- the specific implementation is to determine whether an area in the first reference image that is the same as the coordinate position of the local area in the second reference image is updated; if not, the corresponding area in the first reference image is An area of the first reference image that is the same as a coordinate position of the local area in the second reference image; otherwise, searching for an unupdated area position according to a predetermined search step in the location adjacent area, the first reference The corresponding area in the image is the unupdated area position.
- the specific implementation of the predetermined search step is as shown in FIG. 5, the central area 0 represents the current location area, first search for a circle area closest to the current location area in the order from 1 to 8, and then press from 1 to The order of 16 searches for a circle of the next time near the current location area, thereby extending the exhibition until it finds an area that has not been updated.
- the parsing code stream, the obtaining reference image update information, and determining, according to the reference image update information, whether a local area in the second reference image is used to update a corresponding area or a related area in the first reference image includes: obtaining a spatial offset between a coordinate position where the local area is located and a coordinate position where the relevant area in the first reference image is located, where the spatial offset includes a lateral offset and a longitudinal offset; Before replacing the pixel value of the corresponding region or the related region in the first reference image with the pixel value of the local region in the second reference image, according to the coordinates of the location of the local region of the second reference image The spatial offset determines the location of the first reference image related region.
- the specific implementation is: for the region for updating the corresponding region or the related region in the first reference image, reading (cMVx, cMVy) from the code stream, according to (cMVx, cMVy) and the location of the region ( Curx, Cury) obtains its updated position in the first reference image according to formula (11).
- Des x Cur x +cMV x
- Des y Cur y +cMV y (11)
- Step S2300 when the reference image update information determines that a local area in the second reference image is used to update a corresponding area or a related area in the first reference image, using a pixel value of a local area in the second reference image After the pixel value of the corresponding area or the related area in the first reference image is replaced, optionally, the method further includes:
- S2400 Filter a boundary of a corresponding area or a related area and an adjacent area in the first reference image after the pixel replacement.
- the specific embodiment is the same as S1400.
- the reference image coding method of the embodiment of the present invention can save about 8% of the code compared with the prior art without increasing the complexity of the decoding end and not transmitting the entire frame reference image. rate.
- the decoding device passes the subsequent reference image Update information, locally updating the first reference image by means of pixel copying, thereby reducing the complexity of decoding while using the first reference image to improve compression efficiency, and avoiding the time when the code rate is steeply increased Delay.
- FIG. 6 shows a schematic flow chart of a method of reference image encoding according to an embodiment of the present invention. It should be noted that the related operations of the encoding end are essentially the same as those of the decoding end. To avoid repetition, details are not described herein again.
- the method illustrated in Figure 6 may be performed by an encoding device, such as an encoder, and in particular, as shown in Figure 6, method 3000 includes:
- S3200 determining whether a local area in the second reference image is adapted to update a corresponding area or a related area in the first reference image, where a size of the local area is smaller than or equal to a size of the second reference image;
- S3400 A reference image update information used to determine whether a local area in the second reference image is used to update a corresponding area or a related area in the first reference image is encoded into a code stream.
- the encoding device encodes the sequence to be encoded, obtains a reconstructed image of the first reference image, encodes the second reference image to obtain a reconstructed image of the second reference image, and determines a local region in the second reference image Whether it is suitable for updating a corresponding area or a related area in the first reference image; determining whether a corresponding area or a related area in the first reference image has been updated; when a corresponding area or a related area in the first reference image is not updated, And determining, when the local area in the second reference image is adapted to update a corresponding area or a related area in the first reference image, replacing the first reference image with a pixel value of a local area in the second reference image a pixel value of the corresponding area or the related area; a reference image update information to be used to determine whether the partial area in the second reference image is used to update the corresponding area or the related area in the first reference image is encoded into the code stream.
- the encoding device locally updates the first reference image by means of pixel copying through the update information of the subsequent reference image, thereby improving the compression efficiency by using the first reference image.
- the complexity of decoding is reduced, and the delay caused by the steep increase of the code rate is also avoided.
- the local area of the second reference image may be a maximum coding unit (LCU), a coding unit (CU), a coding unit group (CU group), and a preset size map.
- LCU maximum coding unit
- CU coding unit
- CU group coding unit group
- preset size map a preset size map
- the first reference image is an image encoded prior to the second reference image as a reference image for subsequent images within the video segment in which it is located.
- the first reference image may be a first frame reconstructed image obtained by encoding a sequence to be encoded, or may be a random access point image obtained by encoding a sequence to be encoded, which is not limited in the present invention.
- reference image update information used to determine whether a local area in the second reference image is used to update a corresponding area or a related area in the first reference image is encoded into a code stream
- the position at which the reference picture update information is encoded into the code stream may exist before, during or after the coded information of the second reference picture and the reference picture update information may exist as part of the coded information of the second reference picture in the code stream.
- the invention is not limited thereto.
- Step S3200 determining whether the local area in the second reference image is applicable to updating the corresponding area or the related area in the first reference image, including:
- the method includes:
- the local area is not suitable for updating a corresponding area or a related area in the first reference image.
- the specific embodiment is:
- a first step of obtaining a current image to be encoded F i that is, a second reference image, and an original image of the previous frame F i-1 ;
- a mean square error (MSE) of the original pixel values of all the pixels in the same position in the previous frame is calculated;
- Threshold 1 is a preset threshold
- Flag updated is a reference frame cRef i-1 , that is, a first reference image, whether the areas in each area have been updated, 1 Indicates that the identifier has been updated, the 0 flag is not updated
- cRef i-1 is the reference frame that is locally updated using the reconstructed pixel value of the encoded frame before the current frame to be encoded F i ;
- the area that satisfies the condition (12) is adapted to update the corresponding area or the related area in the first reference image; otherwise, it is not applicable to updating the corresponding area or the related area in the first reference image.
- the following includes:
- a local area in the second reference image is applicable to updating a corresponding area or a related area in the first reference image; otherwise, determining a local part in the second reference image The area is not suitable for updating a corresponding area or a related area in the first reference image.
- the specific embodiment is:
- the current frame to be encoded F i that is, the second reference image is predicted
- F i can use cRef i-1 , that is, the first reference image, as the reference frame for inter prediction, and other short-term can also be used.
- Inter prediction is performed on the reference frame
- cRef i-1 is a reference frame that is locally updated using the reconstructed pixel value of the encoded frame before F i , that is, the first reference image
- the predicted value of each pixel in the F i is obtained (P x , P y ) and the difference between the original pixel values (O x , O y ), ie the prediction error;
- N is the number of pixel points in the region, and the average value of the prediction errors of all the pixel points in the region is calculated and compared with the threshold Threshold 5 .
- the area that satisfies the condition (13) is adapted to update the corresponding area or the related area in the first reference image; otherwise, it is not applicable to updating the corresponding area or the related area in the first reference image.
- the following includes:
- transform coefficient information of a local region in the second reference image where the transform coefficient information includes a sum of absolute values of transform coefficients in a local area coverage
- Determining when the sum of the absolute values of the transform coefficients in the coverage of the local area is greater than the sixth threshold, determining that the local area in the second reference image is used to update the corresponding area or the related area in the first reference image; otherwise, Determining that the local area in the second reference image is not suitable for updating a corresponding area or a related area in the first reference image.
- the specific embodiment is:
- cRefi-1 is a reference frame that is locally updated using reconstructed pixel values of the encoded frame before Fi;
- the coding information of each region in the current frame and the quantized transform coefficients are obtained, and Entropy encoding and writing to the code stream, the coding information includes an encoding mode of each coding block in the area, and the like;
- the area that satisfies the condition (14) is adapted to update the corresponding area or the related area in the first reference image; otherwise, it is not applicable to updating the corresponding area or the related area in the first reference image.
- the method includes:
- transform coefficient information of a local region in the second reference image includes an average value of a sum of absolute values of transform coefficients in a local area coverage
- the specific embodiment is:
- cRefi-1 is a reference frame that is locally updated using reconstructed pixel values of the encoded frame before Fi;
- the coding information and the quantized transform coefficients of each region in the current frame are obtained, entropy encoded and written into the code stream, where the coding information includes an encoding mode of each coding block in the region, and the like;
- the area that satisfies the condition (15) is adapted to update the corresponding area or the related area in the first reference image; otherwise, it is not applicable to updating the corresponding area or the related area in the first reference image.
- the method includes:
- a local area in the second reference image is adapted to update a corresponding area in the first reference image when a number of coded bits of a local area of the second reference image is greater than a number of coded bits of a previous coded area Or a related area, otherwise, determining that the local area in the second reference image is not suitable for updating a corresponding area or a related area in the first reference image.
- the method includes:
- determining that a local area in the second reference image is suitable for updating the first reference image when a number of coded bits of a local area of the second reference image is greater than a number of area average coded bits of a previous coded frame Corresponding area or related area. Otherwise, determining that the local area in the second reference image is not suitable for updating a corresponding area or a related area in the first reference image.
- the method includes:
- Acquiring motion vector information of a local region in the second reference image where the motion vector information includes an average of a sum of absolute values of lateral motion vectors in a local region and an average of a sum of absolute values of longitudinal motion vectors;
- determining that a partial region in the second reference image is suitable for updating when the average of the sum of the absolute values of the absolute values of the lateral motion vectors in the local region and the absolute value of the absolute values of the longitudinal motion vectors are both less than an eighth threshold Corresponding area or related area in the first reference image. Otherwise, determining that the local area in the second reference image is not suitable for updating a corresponding area or a related area in the first reference image.
- the specific embodiment is:
- cRefi-1 is a reference frame that is locally updated using reconstructed pixel values of the encoded frame before Fi;
- the coding information and the quantized transform coefficients of each region in the current frame are obtained, entropy encoded and written into the code stream, where the coding information includes an encoding mode of each coding block in the region, and the like;
- M represents the number of coding blocks included in the current region; MVx and MVy represent the lateral motion vector and the longitudinal motion vector of each coding block, respectively; and calculate the absolute value of the lateral motion vector of all coding blocks in the current region.
- the average of the sum of the sum and the absolute value of the longitudinal motion vector; the two averages are respectively compared with the threshold Threshold 8 ; the region satisfying the condition (16) is adapted to update the corresponding in the first reference image Region or related region; otherwise, it is not applicable to update the corresponding region or related region in the first reference image.
- the method includes:
- the motion vector information includes an average of a sum of an absolute value of a lateral motion vector and a longitudinal motion vector absolute value in a local region, and the The absolute value and longitudinal motion of the transverse motion vector in the previously encoded frame of the second reference image The average of the sum of the absolute values of the vectors;
- an average value of a sum of a sum of an absolute value of the lateral motion vector and an absolute value of the longitudinal motion vector in the local region is smaller than a sum of an absolute value of the lateral motion vector and an absolute value of the longitudinal motion vector in the previous encoded frame;
- Mean determining that a local area in the second reference image is adapted to update a corresponding area or a related area in the first reference image; otherwise, determining that a local area in the second reference image is not suitable for updating A corresponding area or related area in the first reference image.
- the specific embodiment is:
- cRefi-1 is a reference frame that is locally updated using reconstructed pixel values of the encoded frame before Fi;
- the coding information and the quantized transform coefficients of each region in the current frame are obtained, entropy encoded and written into the code stream, where the coding information includes an encoding mode of each coding block in the region, and the like;
- M represents the number of coding blocks included in the current region
- N represents the number of coding blocks included in the previous encoded frame/decode frame
- MVx and MVy represent the lateral motion of each coding block, respectively.
- Vector and longitudinal motion vectors; regions satisfying condition (17) are adapted to update corresponding regions or related regions in the first reference image; otherwise, not applicable to updating corresponding regions or related regions in the first reference image .
- Step S3400 a reference image update information used to determine whether a local area in the second reference image is used to update a corresponding area or a related area in the first reference image, wherein the reference image update information is encoded
- the implementation of the code stream includes:
- the method includes:
- the mark is a first value
- a partial area in the second reference image is not used for updating a corresponding value or a related area in the first reference image, where the mark is a second value, and the first value is different from the second value
- the value of the tag is programmed into the code stream.
- the specific embodiment is:
- the following includes:
- the quantization parameter offset value is within a third value range; when in the second reference image The local area is not used to update the corresponding area or the related area in the first reference image, and the quantization parameter offset value is not in the third value range;
- the quantization parameter offset value is programmed into the code stream.
- the specific embodiment is:
- the current area is a local area for updating a corresponding area or a related area in the first reference image, setting a difference ⁇ QP between the QP (QP area ) and the frame level QP (QP Slice ) according to the texture characteristic of the area
- the variance of the pixel point luminance value in the region is used as a method for measuring the texture property; as in Equation (18), the variance of the luminance value of the pixel of the update region is used and the luminance value of the pixel in all regions in the current frame to be encoded is used.
- ⁇ QP The ratio of the average of the variances is calculated to obtain ⁇ QP, where 10 ⁇
- ⁇ QP can also be set according to other characteristics than texture characteristics, such as motion characteristics.
- the quantization parameter offset value ⁇ QP is encoded as coded information into the code stream.
- the value of the quantization parameter offset is given a preferred value in the embodiment of the present invention, and the value of the quantization parameter is not limited in the present invention.
- the following includes:
- a scaling factor of the quantization step size is within a fourth value range; when the second reference image The local area is not used to update the corresponding area or the related area in the first reference image, and the scaling factor of the quantization step is not in the fourth value range;
- the scaling factor of the quantization step size is programmed into the code stream.
- the specific embodiment is:
- the encoding end adaptively adjusts a quantization step (Qstep), and a scaling factor of the quantization step size
- Qstep quantization step
- F of the quantization step size of the region is not equal to 1.
- the calculation formula of the scaling factor F is as follows (19), and its value range is 0.5 to 1.5:
- the scaling factor F of the quantization step size is encoded into the code stream as encoded information.
- the value of the scaling factor is given a preferred value in the embodiment of the present invention, and the value of the scaling factor is not limited in the present invention.
- the method includes:
- the transform coefficient information is programmed into a code stream.
- the specific embodiment does not repeat corresponding to the decoding end, and the transform coefficient information is encoded into the code stream as the encoded information.
- the method includes:
- Determining in the second reference image when an average value of a sum of absolute values of transform coefficients in the coverage of the local area is greater than a tenth threshold, and a corresponding area or a related area in the first reference image is not updated The local area is used to update the corresponding area or the related area in the first reference image; otherwise, determining that the local area in the second reference image is not used to update the corresponding area or the related area in the first reference image;
- the transform coefficient information is programmed into a code stream.
- the specific embodiment does not repeat corresponding to the decoding end, and the transform coefficient information is encoded into the code stream as the encoded information.
- the method includes:
- the corresponding region or the related region in the first reference image is not Updating, determining a local area in the second reference image for updating the first Corresponding area or related area in the reference image; otherwise, determining that the local area in the second reference image is not used to update a corresponding area or a related area in the first reference image;
- the motion vector information is programmed into a code stream.
- the specific embodiment does not repeat corresponding to the decoding end, and the motion vector information is encoded into the code stream as the encoded information.
- the method includes:
- an average value of a sum of a sum of an absolute value of the lateral motion vector and an absolute value of the longitudinal motion vector in the local region is smaller than a sum of an absolute value of the lateral motion vector and an absolute value of the longitudinal motion vector in the previous encoded frame;
- An average value, and the corresponding area or the related area in the first reference image is not updated, determining that the local area in the second reference image is used to update a corresponding area or a related area in the first reference image; otherwise Determining that the local area in the second reference image is not used to update a corresponding area or a related area in the first reference image;
- the motion vector information is programmed into a code stream.
- the specific embodiment does not repeat corresponding to the decoding end, and the motion vector information is encoded into the code stream as the encoded information.
- Step S3100 The implementation manner of obtaining a reconstructed image of the second reference image in the encoded sequence to be encoded, including:
- the method includes: encoding a to-be-encoded image of the second reference image by using a fixed quantization parameter, where a first quantization parameter is used for the local area, and a second is used for a non-the local area. Quantize parameters.
- the specific embodiment is:
- the transformed transform coefficients are quantized using a quantization parameter (QP) calculated by the following formula (21), wherein QPSlice is a frame level QP, an update region is the local region, and a non-update region is another region, Table 2 It is the correspondence between QPSlice and ⁇ QP.
- QP quantization parameter
- QPSlice value range 0 to 10 10 ⁇ 37 37 ⁇ 51 ⁇ QP 0 5 10
- the frame level QP-[Delta]QP is used as the quantization parameter of the local area, and the frame level QP is used as the quantization parameter of the other area.
- the value of the quantization parameter is given a preferred value in the embodiment of the present invention, and the value of the quantization parameter is not limited in the present invention.
- the method includes: encoding, by using an adaptive quantization parameter, an image to be encoded of the second reference image, wherein, for the local region, determining a quantization parameter according to at least one of texture information and motion information, The quantization parameter is determined for the non-local area using frame level quantization parameters or according to a code rate allocation policy or quality control policy setting specified by the encoder.
- the specific embodiment is:
- the current area is not the local area, set its QP (QP area ) to the frame level QP, or set the ⁇ QP according to the code rate allocation policy or quality control policy specified by the encoder;
- the value range of the absolute value of ⁇ QP is as follows Formula (22), the update area is the local area, and the non-update area is another area:
- the quantization parameter in the formula (22) is used as the quantization parameter of each region of the second reference image.
- the value of the quantization parameter is given a preferred value in the embodiment of the present invention, and the value of the quantization parameter is not limited in the present invention.
- step S3200 Determining, in step S3200, whether a local area in the second reference image is suitable for updating a corresponding area or a related area in the first reference image, wherein determining an implementation manner of the corresponding area or related area in the first reference image includes :
- a corresponding area in the first reference image is an area in the first reference image that is the same as a coordinate position of a local area in the second reference image.
- the first reference image when an area in the first reference image that is the same as a coordinate position of a local area in the second reference image is updated, the first reference image is sequentially searched in a predetermined order.
- the area in the first reference image is an area in which the first block in the sequence is not updated, otherwise, the corresponding area in the first reference image is the first reference image An area in which the coordinate positions of the partial regions in the second reference image are the same.
- the specific implementation corresponds to the decoding end and is not repeated.
- the reference image update information further includes a spatial offset between a coordinate position where the local area is located and a coordinate position where the relevant area in the first reference image is located, where The spatial offset includes a lateral offset and a longitudinal offset; determining the first reference image related region according to the coordinates of the location of the local region of the second reference image and the spatial offset position.
- the embodiment may also be expressed as the parsing code stream, the obtaining reference image update information, and determining, according to the reference image update information, whether a local area in the second reference image is used to update the first reference
- Corresponding area or related area in the image further includes: obtaining the bureau a spatial offset between a coordinate position where the portion region is located and a coordinate position where the relevant region in the first reference image is located, the spatial offset amount including a lateral offset amount and a longitudinal offset amount; Before the pixel value of the local area in the second reference image replaces the pixel value of the corresponding area or the related area in the first reference image, the coordinates of the location of the local area of the second reference image and the spatial offset The shift determines the position of the first reference image related region.
- the specific implementation corresponds to the decoding end and is not repeated.
- Step S3400 after the reference image update information used to determine whether the local area in the second reference image is used to update the corresponding area or the related area in the first reference image is encoded into the code stream, optionally further including :
- S3500 Filter a boundary of a corresponding area or a related area and an adjacent area in the first reference image after the pixel replacement.
- the specific embodiment is the same as S1400.
- the encoding device locally updates the first reference image by means of pixel copying through the update information of the subsequent reference image, thereby improving the compression efficiency by using the first reference image.
- the complexity of decoding is reduced, and the delay caused by the steep increase of the code rate is also avoided.
- FIG. 7 shows a schematic flow chart of a method of reference image encoding according to an embodiment of the present invention.
- the method illustrated in Figure 7 may be performed by an encoding device, such as an encoder, and in particular, as shown in Figure 7, method 4000 includes:
- S4200 Determine whether the current image to be encoded is a scene switching image.
- the S4300 includes:
- S4301 Determine a specific sequence number of the current image to be encoded, where when the current image to be encoded is a scene switching image, sequentially assign the current sequence number of the image to be encoded, otherwise, the sequence of the scene switching image within the current image to be encoded update range The same or associated sequence number of the number is assigned to the current image to be encoded;
- S4304 The specific sequence number is programmed into the code stream before or after the reconstructed image of the image to be encoded is encoded.
- the scene switching image refers to the image to be encoded corresponding to the first reference image in the method 3000, and may also be the first frame having a reference relationship with other video frames in the same video segment, randomly.
- the access image and the like are not limited in the present invention.
- FIG. 9 shows a schematic flow chart of a method of reference image decoding according to an embodiment of the present invention.
- the method illustrated in Figure 9 may be performed by a decoding device, such as a decoder, and in particular, as shown in Figure 9, method 5000 includes:
- S5100 Determine whether the current image to be decoded is a scene switching image.
- S5500 When the current image to be decoded is not a scene switching image, update the specific sequence number to determine a reference image corresponding to the corresponding scene switching image according to a method of 1000 or 2000.
- the scene switching image refers to the image to be decoded corresponding to the first reference image in the method 1000 or the image to be decoded corresponding to the first reference image in the method 2000, and may also be other video frames in the same video segment.
- the first frame having a reference relationship, a random access image, and the like are not limited in the present invention.
- FIG. 10 shows a schematic block diagram of an apparatus for reference image decoding according to an embodiment of the present invention.
- the decoding device 10 includes:
- a first decoding module 11 configured to parse a code stream, obtain a reconstructed image of the first reference image, and a reconstructed image of the second reference image, where the first reference image is decoded prior to the second reference image;
- a second decoding module 12 configured to obtain, before the reconstructed image of the second reference image, the reconstructed image of the second reference image, or obtain the parsed code stream After reconstructing the image of the second reference image; parsing the code stream, obtaining reference image update information, and determining, according to the reference image update information, whether the local region in the second reference image is used to update the first reference image a corresponding area or a related area, the size of the partial area being less than or equal to a size of the second reference image;
- a third decoding module 13 configured to use the second reference image when the reference image update information determines that a local area in the second reference image is used to update a corresponding area or a related area in the first reference image
- the pixel value of the local area in the middle replaces the pixel value of the corresponding area or the related area in the first reference image.
- the decoding device parses the code stream to obtain the first reference image and the second reference image, and parses the reference image before, during or after the reconstructed image of the second reference image is obtained by the parsing code stream corresponding to the encoding end Updating information, determining, according to the update information, whether a partial region of the second reference image is used to update a corresponding region or a related region of the first reference image, if determining that the partial region of the second reference image is used to update a corresponding region of the first reference image or related And replacing, by the pixel value of the local area in the second reference image, a pixel value of the corresponding area or the related area in the first reference image.
- the decoding device locally updates the first reference image by means of pixel copying by using the update information of the subsequent reference image, thereby improving the compression efficiency by using the first reference image.
- the complexity of decoding is reduced, and the delay caused by the steep increase of the code rate is also avoided.
- the local area of the second reference image may be a maximum coding unit (LCU), a coding unit (CU), a coding unit group (CU group), and an image area of a preset size.
- LCU maximum coding unit
- CU coding unit
- CU group coding unit group
- image area of a preset size One type is not limited by the present invention.
- the first reference image is an image decoded before the second reference image as a reference image of a subsequent image in the video segment in which it is located.
- the first reference image may be a first frame reconstructed image obtained by parsing the code stream, or may be a random access point image obtained by parsing the code stream, which is not limited in the present invention.
- the parsed code stream before the reconstructed image of the second reference image is obtained by the parsed code stream, or the parsed code stream obtains the reconstructed image of the second reference image, or the parsing code After the stream obtains the reconstructed image of the second reference image; parsing the code stream to obtain the reference image update information, corresponding to the encoding mode of the encoding end, the position of the reference image update information in the code stream may be in the second reference image
- the encoding information before, during or after and the reference image update information may be present in the code stream as part of the encoding information of the second reference image, which is not limited in the present invention.
- the second decoding module 12 is configured to parse the code stream, obtain reference image update information, and determine, according to the reference image update information, whether a local area in the second reference image is used to update a corresponding one in the first reference image.
- a region or related region including:
- the second decoding module is specifically configured to:
- Parsing the code stream obtaining a mark, and if the mark is a first value, determining a local area in the second reference image for updating a corresponding area or a related area in the first reference image, if When the second value is marked, it is determined that the local area in the second reference image is not used to update the corresponding area or the related area in the first reference image, and the first value is different from the second value.
- the specific implementation manner is: reading a reference image update identifier of each area in the current to-be-decoded frame from the code stream, where 1 indicates that the area is used to update the first reference image, and 0 indicates that the area is not used to update the first reference image. .
- the second decoding module is specifically configured to:
- the code stream is parsed, the coded information is obtained, and the local area in the second reference image is used to update a corresponding area or a related area in the first reference image according to the coded information and a preset rule.
- the encoding information includes a quantization parameter offset value of the local area in the second reference image.
- the second decoding module is specifically configured to: when the absolute value of the quantization parameter offset value is at the first Determining a local area in the second reference image for updating a corresponding area or a related area in the first reference image; when an absolute value of the quantization parameter offset value is not in a first value range And determining that the local area in the second reference image is not used to update the corresponding area or the related area in the first reference image.
- the specific implementation manner is: reading, from the code stream, a quantization parameter offset value ( ⁇ QP) of each region in the current frame to be decoded, and determining, according to the range of the absolute value, whether the region is used to update the first reference image; ⁇
- ⁇ QP quantization parameter offset value
- the value of the quantization parameter offset value is given a preferred value in the embodiment of the present invention, and the value of the quantization parameter offset value is not limited in the present invention.
- the second decoding module is specifically configured to:
- the code stream is parsed, the coded information is obtained, and the local area in the second reference image is used to update a corresponding area or a related area in the first reference image according to the coded information and a preset rule.
- the encoding information includes a scaling factor of a quantization step of a local area in the second reference image; correspondingly, the second decoding module is specifically configured to: when a scaling factor of the quantization step is in a second value range Determining, in the second reference image, a local area in the second reference image is used to update a corresponding area or a related area in the first reference image; when the scaling factor of the quantization step is not in the second value range, determining The local area in the second reference image is not used to update the corresponding area or the related area in the first reference image.
- the specific implementation is: reading a scaling factor in the code stream to determine whether a local area in the second reference image is used to update a corresponding area or a related area in the first reference image.
- the scaling factor F is calculated as follows (23), and its value range is 0.5 to 1.5:
- the scaling factor F is 1, it is not used to update the first reference image, otherwise it is used to update the first reference image.
- the value of the scaling factor is given a preferred value in the embodiment of the present invention, and the value of the scaling factor is not limited in the present invention.
- the second decoding module 12 is configured to determine, according to the reference image update information, whether a local area in the second reference image is used to update a corresponding area or a related area in the first reference image, where the first Implementations of corresponding regions or related regions in the reference image, including:
- a corresponding area in the first reference image is an area in the first reference image that is the same as a coordinate position of a local area in the second reference image.
- the second decoding module is further configured to: obtain a spatial offset between a coordinate position where the local area is located and a coordinate position where the relevant area in the first reference image is located And the spatial offset includes a lateral offset and a longitudinal offset, and the third decoding module replaces a corresponding region in the first reference image with a pixel value of a local region in the second reference image Or determining the position of the first reference image related region according to the coordinates of the location of the local area of the second reference image and the spatial offset before the pixel value of the relevant region.
- the specific implementation is: for the region for updating the corresponding region or the related region in the first reference image, reading (cMVx, cMVy) from the code stream, according to (cMVx, cMVy) and the location of the region ( Curx, Cury) obtains its updated position in the first reference image according to formula (25).
- Des x Cur x +cMV x
- Des y Cur y +cMV y (25)
- the third decoding module 13 is configured to use the second reference when the reference image update information determines that a local area in the second reference image is used to update a corresponding area or a related area in the first reference image.
- the fourth decoding module 14 is further configured to correspond to the first reference image after the pixel replacement. Filtering is performed at the boundary of the region or related region and the adjacent region.
- the specific embodiment is:
- the row coordinate row in the pixel point subscript is omitted in the formula;
- the processing method is the same as the first step;
- the column coordinate col in the pixel point subscript is omitted in the formula;
- the processing method is the same as the first step.
- FIG. 11 shows a schematic block diagram of an apparatus for reference image decoding according to an embodiment of the present invention.
- the decoding device 20 includes:
- a first decoding module 21 configured to parse the code stream, obtain a reconstructed image of the first reference image, and a reconstructed image of the second reference image, where the first reference image is decoded prior to the second reference image;
- a second decoding module 22 configured to obtain, before the reconstructed image of the second reference image, the reconstructed image of the second reference image, or obtain the parsed code stream After reconstructing the image of the second reference image; parsing the code stream, obtaining reference image update information, and determining, according to the reference image update information, whether the local region in the second reference image is suitable for updating the first reference image a corresponding area or a related area, the size of the partial area being less than or equal to a size of the second reference image;
- a third decoding module 23 configured to determine whether a corresponding area or a related area in the first reference image has been updated; when a corresponding area or a related area in the first reference image is not updated, and the reference image update information determines
- the local area in the second reference image is adapted to update the corresponding area or the related area in the first reference image, replace the corresponding area in the first reference image with the pixel value of the local area in the second reference image or The pixel value of the relevant area.
- the decoding device parses the code stream to obtain the first reference image and the second reference image, and parses the reference image before, during or after the reconstructed image of the second reference image is obtained by the parsing code stream corresponding to the encoding end Updating information, determining, according to the update information, whether a partial region of the second reference image is used to update a corresponding region or a related region of the first reference image, if determining that the partial region of the second reference image is used to update a corresponding region of the first reference image or related a region, using a local region in the second reference image
- the pixel value of the domain replaces the pixel value of the corresponding region or the related region in the first reference image.
- the decoding device locally updates the first reference image by means of pixel copying by using the update information of the subsequent reference image, thereby improving the compression efficiency by using the first reference image.
- the complexity of decoding is reduced, and the delay caused by the steep increase of the code rate is also avoided.
- the local area of the second reference image may be a maximum coding unit (LCU), a coding unit (CU), a coding unit group (CU group), and an image area of a preset size.
- LCU maximum coding unit
- CU coding unit
- CU group coding unit group
- image area of a preset size One type is not limited by the present invention.
- the first reference image is an image decoded before the second reference image as a reference image of a subsequent image in the video segment in which it is located.
- the first reference image may be a first frame reconstructed image obtained by parsing the code stream, or may be a random access point image obtained by parsing the code stream, which is not limited in the present invention.
- the parsed code stream before the reconstructed image of the second reference image is obtained by the parsed code stream, or the parsed code stream obtains the reconstructed image of the second reference image, or the parsing code After the stream obtains the reconstructed image of the second reference image; parsing the code stream to obtain the reference image update information, corresponding to the encoding mode of the encoding end, the position of the reference image update information in the code stream may be in the second reference image
- the encoding information before, during or after and the reference image update information may be present in the code stream as part of the encoding information of the second reference image, which is not limited in the present invention.
- the second decoding module 22 is configured to parse the code stream, obtain reference image update information, and determine, according to the reference image update information, whether a local area in the second reference image is suitable for updating a corresponding one in the first reference image.
- a region or related region including:
- the second decoding module is specifically configured to:
- Parsing the code stream obtaining a mark, and if the mark is a first value, determining that a local area in the second reference image is adapted to update a corresponding area or a related area in the first reference image, if When the second value is marked, it is determined that the local area in the second reference image is not used to update the corresponding area or the related area in the first reference image, and the first value is different from the second value.
- the specific implementation manner is: reading a reference image update identifier of each area in the current to-be-decoded frame from the code stream, where 1 indicates that the area is suitable for updating the first reference image, and 0 indicates that the area is not applicable to updating the first reference. image.
- the second decoding module is specifically configured to:
- Parsing the code stream acquiring the encoded information, and determining, according to the encoding information and the preset rule, whether the local area in the second reference image is suitable for updating a corresponding area or a related area in the first reference image.
- the encoding information includes transform coefficient information of a local area in the second reference image,
- the transform coefficient information includes a sum of absolute values of transform coefficients in a local area coverage;
- the second decoding module is specifically configured to:
- Determining when the sum of the absolute values of the transform coefficients in the coverage of the local area is greater than the first threshold, determining that the local area in the second reference image is used to update the corresponding area or the related area in the first reference image; otherwise, determining The local area in the second reference image is not suitable for updating a corresponding area or a related area in the first reference image.
- the specific implementation is: reading the quantized transform coefficients of each region in the current frame from the code stream; obtaining an area that satisfies the following condition (27);
- Satisfying condition (27) it is determined that the region is adapted to update the first reference image, otherwise it is determined that the region is not suitable for updating the first reference image.
- the second decoding module is specifically configured to:
- Parsing the code stream acquiring the encoded information, and determining, according to the encoding information and the preset rule, whether the local area in the second reference image is suitable for updating a corresponding area or a related area in the first reference image.
- the encoding information includes transform coefficient information of a local region in the second reference image, where the transform coefficient information includes an average value of a sum of absolute values of transform coefficients in a local area coverage;
- the second decoding module is specifically configured to:
- Determining when the average value of the sum of the absolute values of the transform coefficients in the local area range is greater than the second threshold, determining that the local area in the second reference image is adapted to update the corresponding area or the related area in the first reference image; otherwise Determining that the local area in the second reference image is not suitable for updating a corresponding area or a related area in the first reference image.
- the specific implementation is: reading the quantized transform coefficients of each region in the current frame from the code stream; obtaining an area that satisfies the condition (28), where numBlock represents the number of regions included in the current frame;
- Satisfying condition (28) it is determined that the region is adapted to update the first reference image, otherwise it is determined that the region is not suitable for updating the first reference image.
- the second decoding module is specifically configured to:
- Parsing the code stream acquiring the encoded information, and determining, according to the encoding information and the preset rule, whether the local area in the second reference image is suitable for updating a corresponding area or a related area in the first reference image.
- the second decoding module is specifically configured to: when the absolute value of the quantization parameter offset value is within the first value range, determine that the local area in the second reference image is adapted to update the Corresponding area or related area in the first reference image; determining that the local area in the second reference image is not suitable for updating the first when the absolute value of the quantization parameter offset value is not within the first value range The corresponding area or related area in the reference image.
- the specific implementation is: reading, from the code stream, a quantization parameter offset value ( ⁇ QP) of each region in the current frame to be decoded, and determining, according to the range of the absolute value, whether the region is suitable for updating the first reference image; ⁇
- ⁇ QP quantization parameter offset value
- the value of the quantization parameter offset value is given a preferred value in the embodiment of the present invention, and the value of the quantization parameter offset value is not limited in the present invention.
- the second decoding module is specifically configured to:
- Parsing the code stream acquiring the encoded information, and determining, according to the encoding information and the preset rule, whether the local area in the second reference image is suitable for updating a corresponding area or a related area in the first reference image.
- the encoding information includes a scaling factor of a quantization step of a local area in the second reference image; correspondingly, the second decoding module is specifically configured to: when a scaling factor of the quantization step is in a second value range Determining, in the internal reference, the local area in the second reference image is adapted to update a corresponding area or a related area in the first reference image; when the scaling factor of the quantization step is not in the second value range, determining The local area in the second reference image is not suitable for updating the corresponding area or the related area in the first reference image.
- the specific implementation is: reading a scaling factor in the code stream to determine whether a local area in the second reference image is suitable for updating a corresponding area or a related area in the first reference image.
- the calculation formula of the scaling factor F is as follows (29), and its value range is 0.5 to 1.5:
- the scaling factor F is 1, it is not suitable for updating the first reference image, otherwise it is suitable for updating the first reference image.
- the value of the scaling factor is given a preferred value in the embodiment of the present invention, and the value of the scaling factor is not limited in the present invention.
- the second decoding module is specifically configured to:
- Parsing the code stream acquiring the encoded information, and determining, according to the encoding information and the preset rule, whether the local area in the second reference image is suitable for updating a corresponding area or a related area in the first reference image.
- the encoding information includes motion vector information of a local region in the second reference image, where the motion vector information includes an average value of a sum of absolute values of lateral motion vectors in a local region and an absolute value of a longitudinal motion vector.
- the average of the sum; correspondingly, the second decoding module is specifically configured to:
- a local area in the second reference image is suitable for updating when the average of the sum of the absolute values of the absolute values of the lateral motion vectors in the local area and the absolute value of the absolute values of the longitudinal motion vectors are both smaller than a third threshold Corresponding area or related area in the first reference image. Otherwise, determining that the local area in the second reference image is not suitable for updating a corresponding area or a related area in the first reference image.
- the specific embodiment is: obtaining an area that satisfies the following condition (31);
- M represents the number of coding blocks included in the current region; MVx and MVy represent the lateral motion vector and the longitudinal motion vector of each coding block, respectively; and calculate the absolute value of the lateral motion vector of all coding blocks in the current region.
- the second decoding module is specifically configured to:
- Parsing the code stream acquiring the encoded information, and determining, according to the encoding information and the preset rule, whether the local area in the second reference image is suitable for updating a corresponding area or a related area in the first reference image.
- the motion vector information includes an average of a sum of an absolute value of a lateral motion vector in a local region and an absolute value of a longitudinal motion vector, and an absolute value of a lateral motion vector in a previously encoded frame of the second reference image.
- An average value of the sum of the absolute values of the longitudinal motion vectors; correspondingly, the second decoding module is specifically configured to:
- an average value of a sum of a sum of an absolute value of the lateral motion vector and an absolute value of the longitudinal motion vector in the local region is smaller than a sum of an absolute value of the lateral motion vector and an absolute value of the longitudinal motion vector in the previous encoded frame;
- Mean determining that a local area in the second reference image is adapted to update a corresponding area or a related area in the first reference image, otherwise determining a part of the second reference image The area is not suitable for updating a corresponding area or a related area in the first reference image.
- the specific embodiment is: obtaining an area that satisfies the following condition (32);
- M represents the number of coding blocks included in the current region
- N represents the number of coding blocks included in the previous encoded frame/decode frame
- MVx and MVy represent the lateral motion of each coding block, respectively.
- the second decoding module 22 is configured to determine, according to the reference image update information, whether a local area in the second reference image is adapted to update a corresponding area or a related area in the first reference image, where the first Implementations of corresponding regions or related regions in the reference image, including:
- a corresponding area in the first reference image is an area in the first reference image that is the same as a coordinate position of a local area in the second reference image.
- the second decoding module is further configured to: when an area in the first reference image that is the same as a coordinate position of a local area in the second reference image is updated, Searching for an area in the first reference image in a predetermined order, where a corresponding area in the first reference image is an area in which the first block in the sequence is not updated, otherwise, the first reference image corresponds to The area is an area of the first reference image that is the same as a coordinate position of a partial area in the second reference image.
- the specific implementation is to determine whether an area in the first reference image that is the same as the coordinate position of the local area in the second reference image is updated; if not, the corresponding area in the first reference image is An area of the first reference image that is the same as a coordinate position of the local area in the second reference image; otherwise, searching for an unupdated area position according to a predetermined search step in the location adjacent area, the first reference The corresponding area in the image is the unupdated area position.
- the specific implementation of the predetermined search step is as shown in FIG. 5, the central area 0 represents the current location area, first search for a circle area closest to the current location area in the order from 1 to 8, and then press from 1 to The order of 16 searches for a circle of the next time near the current location area, thereby extending the exhibition until it finds an area that has not been updated.
- the second decoding module is further configured to: obtain a spatial offset between a coordinate position where the local area is located and a coordinate position where the relevant area in the first reference image is located And the spatial offset includes a lateral offset and a longitudinal offset, and the third decoding module replaces a corresponding region in the first reference image with a pixel value of a local region in the second reference image Or determining the position of the first reference image related region according to the coordinates of the location of the local area of the second reference image and the spatial offset before the pixel value of the relevant region.
- the specific implementation is: for the region for updating the corresponding region or the related region in the first reference image, reading (cMVx, cMVy) from the code stream, according to (cMVx, cMVy) and the location of the region ( Curx, Cury) obtains its updated position in the first reference image according to formula (33).
- Des x Cur x +cMV x
- Des y Cur y +cMV y (33)
- the third decoding module 23 is configured to use, when the reference image update information determines that a local area in the second reference image is used to update a corresponding area or a related area in the first reference image, After the pixel value of the local area in the reference image is replaced with the pixel value of the corresponding area or the related area in the first reference image, optionally, the fourth decoding module 24 is further configured to replace the pixel in the first reference image. Filtering is performed at the boundary of the corresponding area or the related area and the adjacent area.
- the specific implementation is the same as the fourth decoding module 14.
- the decoding device locally updates the first reference image by means of pixel copying by using the update information of the subsequent reference image, thereby improving the compression efficiency by using the first reference image.
- the complexity of decoding is reduced, and the delay caused by the steep increase of the code rate is also avoided.
- FIG. 12 shows a schematic block diagram of an apparatus for reference image encoding according to an embodiment of the present invention. It should be noted that the related operations of the encoding end are essentially the same as those of the decoding end. To avoid repetition, details are not described herein again.
- the decoding device 30 includes:
- a first encoding module 31 configured to encode a sequence to be encoded, obtain a reconstructed image of the first reference image, and encode a second reference image to obtain a reconstructed image of the second reference image, where the first reference image precedes Said second reference image is encoded;
- a second encoding module 32 configured to determine whether a local area in the second reference image is adapted to update a corresponding area or a related area in the first reference image, where a size of the local area is less than or equal to the second reference The size of the image;
- a third encoding module 33 configured to determine whether a corresponding area or a related area in the first reference image has been updated; when a corresponding area or a related area in the first reference image is not updated, and determining the second reference image
- the local area is adapted to be used to update the corresponding area or the related area in the first reference image, and replace the pixel value of the corresponding area or the related area in the first reference image with the pixel value of the local area in the second reference image;
- the fourth encoding module 34 is configured to encode the reference image update information used to determine whether the local area in the second reference image is used to update the corresponding area or the related area in the first reference image.
- the encoding device encodes the sequence to be encoded, obtains a reconstructed image of the first reference image, encodes the second reference image to obtain a reconstructed image of the second reference image, and determines a local region in the second reference image Whether it is suitable for updating a corresponding area or a related area in the first reference image; determining whether a corresponding area or a related area in the first reference image has been updated; when the first reference picture If the corresponding region or the related region in the image is not updated, and the local region in the second reference image is determined to be suitable for updating the corresponding region or the related region in the first reference image, using the local region in the second reference image
- the pixel value replaces a pixel value of a corresponding region or a related region in the first reference image; and is used to determine whether a local region in the second reference image is used to update a corresponding region or a related region in the first reference image
- the reference image update information is programmed into the code stream.
- the encoding device locally updates the first reference image by means of pixel copying through the update information of the subsequent reference image, thereby improving the compression efficiency by using the first reference image.
- the complexity of decoding is reduced, and the delay caused by the steep increase of the code rate is also avoided.
- the local area of the second reference image may be a maximum coding unit (LCU), a coding unit (CU), a coding unit group (CU group), and a preset size image area.
- LCU maximum coding unit
- CU coding unit
- CU group coding unit group
- preset size image area a preset size image area
- the first reference image is an image encoded prior to the second reference image as a reference image for subsequent images within the video segment in which it is located.
- the first reference image may be a first frame reconstructed image obtained by encoding a sequence to be encoded, or may be a random access point image obtained by encoding a sequence to be encoded, which is not limited in the present invention.
- reference image update information used to determine whether a local area in the second reference image is used to update a corresponding area or a related area in the first reference image is encoded into a code stream
- the position at which the reference picture update information is encoded into the code stream may exist before, during or after the coded information of the second reference picture and the reference picture update information may exist as part of the coded information of the second reference picture in the code stream.
- the invention is not limited thereto.
- the second coding module 32 is configured to determine whether a local area in the second reference image is applicable to update a corresponding area or a related area in the first reference image, including:
- the second coding module is specifically configured to:
- the local area is not suitable for updating a corresponding area or a related area in the first reference image.
- the specific embodiment is:
- a first step of obtaining a current image to be encoded F i that is, a second reference image, and an original image of the previous frame F i-1 ;
- a mean square error (MSE) of the original pixel values of all the pixels in the same position in the previous frame is calculated;
- Threshold 1 is a preset threshold
- Flag updated is a reference frame cRef i-1 , that is, a first reference image, whether the areas in each area have been updated, 1 Indicates that the identifier has been updated, the 0 flag is not updated
- cRef i-1 is the reference frame that is locally updated using the reconstructed pixel value of the encoded frame before the current frame to be encoded F i ;
- the area that satisfies the condition (34) is adapted to update the corresponding area or the related area in the first reference image; otherwise, it is not applicable to updating the corresponding area or the related area in the first reference image.
- the second coding module is specifically configured to:
- a local area in the second reference image is applicable to updating a corresponding area or a related area in the first reference image; otherwise, determining a local part in the second reference image The area is not suitable for updating a corresponding area or a related area in the first reference image.
- the specific embodiment is:
- the current frame to be encoded F i that is, the second reference image is predicted
- F i can use cRef i-1 , that is, the first reference image, as the reference frame for inter prediction, and other short-term can also be used.
- Inter prediction is performed on the reference frame
- cRef i-1 is a reference frame that is locally updated using the reconstructed pixel value of the encoded frame before F i , that is, the first reference image
- the predicted value of each pixel in the F i is obtained (P x , P y ) and the difference between the original pixel values (O x , O y ), ie the prediction error;
- N is the number of pixel points in the region, and the average value of the prediction errors of all the pixel points in the region is calculated and compared with the threshold Threshold 2 .
- the area that satisfies the condition (35) is adapted to update the corresponding area or the related area in the first reference image; otherwise, it is not applicable to updating the corresponding area or the related area in the first reference image.
- the second coding module is specifically configured to:
- transform coefficient information of a local region in the second reference image where the transform coefficient information includes a sum of absolute values of transform coefficients in a local area coverage
- Determining when the sum of the absolute values of the transform coefficients in the coverage of the local area is greater than the sixth threshold, determining that the local area in the second reference image is used to update the corresponding area or the related area in the first reference image; otherwise, Determining that the local area in the second reference image is not suitable for updating a corresponding area or a related area in the first reference image.
- the specific embodiment is:
- cRefi-1 is a reference frame that is locally updated using reconstructed pixel values of the encoded frame before Fi;
- the coding information and the quantized transform coefficients of each region in the current frame are obtained, entropy encoded and written into the code stream, where the coding information includes an encoding mode of each coding block in the region, and the like;
- the area that satisfies the condition (36) is adapted to update the corresponding area or the related area in the first reference image; otherwise, it is not applicable to updating the corresponding area or the related area in the first reference image.
- the second coding module is specifically configured to:
- transform coefficient information of a local region in the second reference image includes an average value of a sum of absolute values of transform coefficients in a local area coverage
- the specific embodiment is:
- cRefi-1 is a reference frame that is locally updated using reconstructed pixel values of the encoded frame before Fi;
- the coding information and the quantized transform coefficients of each region in the current frame are obtained, entropy encoded and written into the code stream, where the coding information includes an encoding mode of each coding block in the region, and the like;
- the area that satisfies the condition (37) is adapted to update the corresponding area or the related area in the first reference image; otherwise, it is not applicable to updating the corresponding area or the related area in the first reference image.
- the second coding module is specifically configured to:
- a local area in the second reference image is adapted to update a corresponding area in the first reference image when a number of coded bits of a local area of the second reference image is greater than a number of coded bits of a previous coded area Or a related area, otherwise, determining that the local area in the second reference image is not suitable for updating a corresponding area or a related area in the first reference image.
- the second coding module is specifically configured to:
- determining that a local area in the second reference image is suitable for updating the first reference image when a number of coded bits of a local area of the second reference image is greater than a number of area average coded bits of a previous coded frame Corresponding area or related area. Otherwise, determining that the local area in the second reference image is not suitable for updating a corresponding area or a related area in the first reference image.
- the second coding module is specifically configured to:
- Acquiring motion vector information of a local region in the second reference image where the motion vector information includes an average of a sum of absolute values of lateral motion vectors in a local region and an average of a sum of absolute values of longitudinal motion vectors;
- determining that a partial region in the second reference image is suitable for updating when the average of the sum of the absolute values of the absolute values of the lateral motion vectors in the local region and the absolute value of the absolute values of the longitudinal motion vectors are both less than an eighth threshold Corresponding area or related area in the first reference image. Otherwise, determining that the local area in the second reference image is not suitable for updating a corresponding area or a related area in the first reference image.
- the specific embodiment is:
- cRefi-1 is a reference frame that is locally updated using reconstructed pixel values of the encoded frame before Fi;
- the coding information and the quantized transform coefficients of each region in the current frame are obtained, entropy encoded and written into the code stream, where the coding information includes an encoding mode of each coding block in the region, and the like;
- M represents the number of coding blocks included in the current region; MVx and MVy represent the lateral motion vector and the longitudinal motion vector of each coding block, respectively; and the absolute value of the lateral motion vector of all coding blocks in the current region is calculated.
- the average of the sum of the sum and the absolute value of the longitudinal motion vector; the two averages are compared with the threshold Threshold 16 respectively; the region satisfying the condition (38) is adapted to update the corresponding in the first reference image Region or related region; otherwise, it is not applicable to update the corresponding region or related region in the first reference image.
- the second coding module is specifically configured to:
- the motion vector information includes an average of a sum of an absolute value of a lateral motion vector and a longitudinal motion vector absolute value in a local region, and the The average of the sum of the absolute values of the lateral motion vectors and the absolute values of the longitudinal motion vectors in the previously encoded frame of the second reference image;
- an average value of a sum of a sum of an absolute value of the lateral motion vector and an absolute value of the longitudinal motion vector in the local region is smaller than a sum of an absolute value of the lateral motion vector and an absolute value of the longitudinal motion vector in the previous encoded frame;
- Mean determining that a local area in the second reference image is adapted to update a corresponding area or a related area in the first reference image; otherwise, determining that a local area in the second reference image is not suitable for updating A corresponding area or related area in the first reference image.
- the specific embodiment is:
- cRefi-1 is a reference frame that is locally updated using reconstructed pixel values of the encoded frame before Fi;
- the coding information and the quantized transform coefficients of each region in the current frame are obtained, entropy encoded and written into the code stream, where the coding information includes an encoding mode of each coding block in the region, and the like;
- M represents the number of coding blocks included in the current region
- N represents the number of coding blocks included in the previous encoded frame/decode frame
- MVx and MVy represent the lateral motion of each coding block, respectively.
- a vector and a longitudinal motion vector; the region satisfying the condition (39) is adapted to update the corresponding region or the related region in the first reference image; otherwise, it is not applicable to updating the corresponding region or the related region in the first reference image .
- the fourth encoding module 34 is configured to encode, in the code stream, a reference image update information used to determine whether a local area in the second reference image is used to update a corresponding area or a related area in the first reference image, where
- An embodiment of encoding reference image update information into a code stream including:
- the fourth coding module is specifically configured to:
- the mark is a first value
- a partial area in the second reference image is not used for updating a corresponding value or a related area in the first reference image, where the mark is a second value, and the first value is different from the second value
- the value of the tag is programmed into the code stream.
- the specific embodiment is:
- the fourth coding module is specifically configured to:
- the quantization parameter offset value is within a third value range; when in the second reference image The local area is not used to update the corresponding area or the related area in the first reference image, and the quantization parameter offset value is not in the third value range;
- the quantization parameter offset value is programmed into the code stream.
- the specific embodiment is:
- the current area is a local area for updating a corresponding area or a related area in the first reference image, setting a difference ⁇ QP between the QP (QP area ) and the frame level QP (QP Slice ) according to the texture characteristic of the area
- the variance of the pixel point luminance value in the region is used as a method for measuring the texture property; as in Equation (40), the variance of the luminance value of the pixel of the update region is used and the luminance value of the pixel in all regions in the current frame to be encoded is used.
- ⁇ QP The ratio of the average of the variances is calculated to obtain ⁇ QP, where 10 ⁇
- ⁇ QP can also be set according to other characteristics than texture characteristics, such as motion characteristics.
- the quantization parameter offset value ⁇ QP is encoded as coded information into the code stream.
- the value of the quantization parameter offset is given a preferred value in the embodiment of the present invention, and the value of the quantization parameter is not limited in the present invention.
- the fourth coding module is specifically configured to:
- the scaling factor of the quantization step is within a fourth value range; and when the local area in the second reference image is not used to update a corresponding area or a related area in the first reference image, the quantization The scaling factor of the step size is not in the fourth value range;
- the scaling factor of the quantization step size is programmed into the code stream.
- the specific embodiment is:
- the encoding end adaptively adjusts a quantization step (Qstep), and a scaling factor of the quantization step size
- Qstep quantization step
- F of the quantization step size of the region is not equal to 1.
- the calculation formula of the scaling factor F is as follows (41), and its value range is 0.5 to 1.5:
- the scaling factor F of the quantization step size is encoded into the code stream as encoded information.
- the value of the scaling factor is given a preferred value in the embodiment of the present invention, and the value of the scaling factor is not limited in the present invention.
- the fourth coding module is specifically configured to:
- the transform coefficient information is programmed into a code stream.
- the specific embodiment does not repeat corresponding to the decoding end, and the transform coefficient information is encoded into the code stream as the encoded information.
- the fourth coding module is specifically configured to:
- the transform coefficient information is programmed into a code stream.
- the specific embodiment does not repeat corresponding to the decoding end, and the transform coefficient information is encoded into the code stream as the encoded information.
- the fourth coding module is specifically configured to:
- the motion vector information is programmed into a code stream.
- the specific embodiment does not repeat corresponding to the decoding end, and the motion vector information is encoded into the code stream as the encoded information.
- the fourth coding module is specifically configured to:
- an average value of a sum of a sum of an absolute value of the lateral motion vector and an absolute value of the longitudinal motion vector in the local region is smaller than a sum of an absolute value of the lateral motion vector and an absolute value of the longitudinal motion vector in the previous encoded frame;
- An average value, and the corresponding area or the related area in the first reference image is not updated, determining that the local area in the second reference image is used to update a corresponding area or a related area in the first reference image; otherwise Determining that the local area in the second reference image is not used to update a corresponding area or a related area in the first reference image;
- the motion vector information is programmed into a code stream.
- the specific embodiment does not repeat corresponding to the decoding end, and the motion vector information is encoded into the code stream as the encoded information.
- the first encoding module 31 is configured to obtain a reconstructed image of the second reference image in the encoded sequence to be encoded, including:
- the first coding module is specifically configured to: encode a to-be-coded image of the second reference image by using a fixed quantization parameter, where a first quantization parameter is used for the local area, The second quantization parameter is used instead of the local area.
- the specific embodiment is:
- the transformed transform coefficient is quantized using a quantization parameter (QP) calculated by the following formula (43), wherein QPSlice is a frame level QP, an update region is the local region, and a non-update region is another region, Table 3 It is the correspondence between QPSlice and ⁇ QP.
- QP quantization parameter
- QPSlice value range 0 to 10 10 ⁇ 37 37 ⁇ 51 ⁇ QP 0 5 10
- the frame level QP-[Delta]QP is used as the quantization parameter of the local area, and the frame level QP is used as the quantization parameter of the other area.
- the value of the quantization parameter is given a preferred value in the embodiment of the present invention, and the value of the quantization parameter is not limited in the present invention.
- the first coding module is specifically configured to: encode an image to be encoded of the second reference image by using an adaptive quantization parameter, where the local area is based on texture information and motion information. At least one of the determining the quantization parameter determines the quantization parameter for the non-local region using frame level quantization parameters or according to a code rate allocation policy or quality control policy setting specified by the encoder.
- the specific embodiment is:
- the current area is not the local area, set its QP (QP area ) to the frame level QP, or set the ⁇ QP according to the code rate allocation policy or quality control policy specified by the encoder;
- the value range of the absolute value of ⁇ QP is as follows Formula (44), the update area is the local area, and the non-update area is another area:
- the quantization parameter in the formula (44) is used as the quantization parameter of each region of the second reference image.
- the value of the quantization parameter is given a preferred value in the embodiment of the present invention, and the value of the quantization parameter is not limited in the present invention.
- the second encoding module 32 is configured to determine whether a local area in the second reference image is suitable for updating a corresponding area or a related area in the first reference image, wherein determining a corresponding area or related in the first reference image
- the implementation of the region including:
- a corresponding area in the first reference image is an area in the first reference image that is the same as a coordinate position of a local area in the second reference image.
- the second encoding module is specifically configured to: when an area in the first reference image that is the same as a coordinate position of a local area in the second reference image is updated, Searching for an area in the first reference image in a predetermined order, in the first reference image The area is the area in which the first block in the sequence is not updated, otherwise the corresponding area in the first reference image is the coordinate of the local area in the first reference image and the second reference image The same location area.
- the specific implementation corresponds to the decoding end and is not repeated.
- the second decoding module is further configured to: obtain a spatial offset between a coordinate position where the local area is located and a coordinate position where the relevant area in the first reference image is located And the spatial offset includes a lateral offset and a longitudinal offset, and the third decoding module replaces a corresponding region in the first reference image with a pixel value of a local region in the second reference image Or determining the position of the first reference image related region according to the coordinates of the location of the local area of the second reference image and the spatial offset before the pixel value of the relevant region.
- the specific implementation corresponds to the decoding end and is not repeated.
- the fourth encoding module 34 is configured to: after the reference image update information used to determine whether the local area in the second reference image is used to update the corresponding area or the related area in the first reference image is encoded into the code stream,
- the fifth encoding module 35 is further configured to filter the corresponding region in the first reference image after the pixel replacement or the boundary between the related region and the adjacent region.
- the specific embodiment is the same as the fourth encoding module 14.
- the encoding device locally updates the first reference image by means of pixel copying through the update information of the subsequent reference image, thereby improving the compression efficiency by using the first reference image.
- the complexity of decoding is reduced, and the delay caused by the steep increase of the code rate is also avoided.
- FIG. 13 shows a schematic block diagram of an apparatus for reference image encoding according to an embodiment of the present invention.
- the encoding device 40 includes:
- a first encoding module 41 configured to detect the sequence to be encoded
- the second encoding module 42 is configured to determine whether the current image to be encoded is a scene switching image
- the third encoding module 43 is configured to encode the current image to be encoded, and encode the specific sequence number into the code stream before or after encoding the reconstructed image of the image to be encoded.
- the third encoding module 43 includes:
- the first encoding module 431 is configured to determine a specific sequence number of the current image to be encoded, wherein when the current image to be encoded is a scene switching image, the current image sequence number to be edited is sequentially given, otherwise, the current image to be encoded is updated within the range.
- the same or associated sequence number of the sequence number of the scene switching image is assigned to the current image to be encoded;
- a second encoding module 432 configured to encode the current image to be encoded using the device 30;
- the third encoding module 433 is configured to: when the current image to be encoded is not the scene switching image, use the device 30 to update the reference image corresponding to the scene switching image corresponding to the current image to be encoded;
- a fourth encoding module 434 configured to: before or after encoding the reconstructed image of the image to be encoded, The particular sequence number is programmed into the code stream.
- the scene switching image refers to the image to be encoded corresponding to the first reference image in the device 30, and may also be a first frame having a reference relationship with other video frames in the same video segment, a random access image, etc.
- the invention is not limited.
- FIG. 15 shows a schematic block diagram of an apparatus for reference image decoding according to an embodiment of the present invention.
- the decoding device 50 includes:
- the first decoding module 51 is configured to determine whether the current image to be decoded is a scene switching image
- a second decoding module 52 configured to parse the code stream before or after decoding the reconstructed image of the image to be decoded corresponding to the encoding end, to obtain a specific sequence number of the current image to be decoded;
- a third decoding module 53 is configured to parse the code stream to obtain a reconstructed image of the image to be decoded
- the fourth decoding module 54 is configured to determine, according to the specific sequence number, a corresponding scene switching image when the current image to be decoded is not a scene switching image;
- the fifth decoding module 55 is configured to use the device 10 or 20 to update the reference image corresponding to the corresponding scene switching image by using the device 10 or 20 when the current image to be decoded is not the scene switching image.
- the scene switching image refers to the image to be decoded corresponding to the first reference image in the device 10 or the image to be decoded corresponding to the first reference image in the device 20, and may also be other video frames in the same video segment.
- the first frame having a reference relationship, a random access image, and the like are not limited in the present invention.
- an embodiment of the present invention further provides an encoding device 60, which includes a processor 61, a memory 62, and a bus system 63.
- the processor 61 and the memory 62 are connected by a bus system 63 for storing instructions for executing instructions stored in the memory 62.
- the memory 62 of the encoding device 60 stores the program code, and the processor 61 can call the program code stored in the memory 62 to perform the following operations: encoding the sequence to be encoded, obtaining a reconstructed image of the first reference image, encoding the second reference image to obtain Deconstructing an image of the second reference image, the first reference image being encoded prior to the second reference image; determining whether a local region in the second reference image is suitable for updating a correspondence in the first reference image a region or a related region, the size of the local region being less than or equal to a size of the second reference image; determining whether a corresponding region or a related region in the first reference image has been updated; when a corresponding region in the first reference image Or if the relevant area is not updated, and determining that the partial area in the second reference image is adapted to update the corresponding area or the related area in the first reference image, replacing the pixel value of the local area in the second reference image a pixel value of a corresponding region or a related region in
- the encoding device locally updates the first reference image by means of pixel copying through the update information of the subsequent reference image, thereby improving the compression efficiency by using the first reference image.
- the complexity of decoding is reduced, and the delay caused by the steep increase of the code rate is also avoided.
- the processor 61 may be a central processing unit ("CPU"), and the processor 61 may also be other general-purpose processors, digital signal processors (DSPs). , an application specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, and the like.
- the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
- the memory 62 can include read only memory and random access memory and provides instructions and data to the processor 61. A portion of the memory 62 may also include a non-volatile random access memory. For example, the memory 62 can also store information of the device type.
- the bus system 63 may include a power bus, a control bus, a status signal bus, and the like in addition to the data bus. However, for clarity of description, various buses are labeled as bus system 63 in the figure.
- each step of the above method may be completed by an integrated logic circuit of hardware in the processor 61 or an instruction in a form of software.
- the steps of the method disclosed in the embodiments of the present invention may be directly implemented as a hardware processor, or may be performed by a combination of hardware and software modules in the processor.
- the software module can be located in a conventional storage medium such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory, registers, and the like.
- the storage medium is located in the memory 62, and the processor 61 reads the information in the memory 62 and, in conjunction with its hardware, performs the steps of the above method. To avoid repetition, it will not be described in detail here.
- the encoding device 60 may correspond to the encoding device 30 in the embodiment of the present invention, and may correspond to executing the corresponding body in the method 3000 according to the embodiment of the present invention. Narration.
- an embodiment of the present invention further provides a decoding device 70, which includes a processor 71, a memory 72, and a bus system 73.
- the processor 71 and the memory 72 are connected by a bus system 73 for storing instructions for executing instructions stored in the memory 72.
- the memory 72 of the decoding device 70 stores the program code, and the processor 71 can call the program code stored in the memory 72 to perform an operation of parsing the code stream, obtaining a reconstructed image of the first reference image, and a reconstructed image of the second reference image,
- the first reference image is decoded prior to the second reference image; before the reconstructed image of the second reference image is obtained by the parsed code stream, or the parsed code stream obtains a reconstructed image of the second reference image
- the decoding device locally updates the first reference image by means of pixel copying by using the update information of the subsequent reference image, thereby improving the compression efficiency by using the first reference image.
- the complexity of decoding is reduced, and the delay caused by the steep increase of the code rate is also avoided.
- the processor 71 may be a central processing unit ("CPU"), and the processor 71 may also be other general-purpose processors, digital signal processors (DSPs). , an application specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, and the like.
- the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
- the memory 72 can include read only memory and random access memory and provides instructions and data to the processor 71. A portion of the memory 72 may also include a non-volatile random access memory. For example, the memory 72 can also store information of the device type.
- the bus system 73 may include a power bus, a control bus, a status signal bus, and the like in addition to the data bus. However, for clarity of description, various buses are labeled as the bus system 73 in the figure.
- each step of the above method may be completed by an integrated logic circuit of hardware in the processor 71 or an instruction in the form of software.
- the steps of the method disclosed in the embodiments of the present invention may be directly implemented as a hardware processor, or may be performed by a combination of hardware and software modules in the processor.
- the software module can be located in a conventional storage medium such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory, registers, and the like.
- the storage medium is located in memory 72, and processor 71 reads the information in memory 72 and, in conjunction with its hardware, performs the steps of the above method. To avoid repetition, it will not be described in detail here.
- the encoding device 70 may correspond to the encoding device 10 in the embodiment of the present invention, and may correspond to executing the corresponding body in the method 1000 according to the embodiment of the present invention, for the sake of brevity, no longer Narration.
- an embodiment of the present invention further provides a decoding device 80, which includes a processor 81, a memory 82, and a bus system 83.
- the processor 81 and the memory 82 are connected by a bus system 83 for storing instructions for executing instructions stored by the memory 82.
- the memory 82 of the decoding device 80 stores the program code
- the processor 81 can call the program code stored in the memory 82 to perform an operation of parsing the code stream, obtaining a reconstructed image of the first reference image, and a reconstructed image of the second reference image,
- the first reference image is decoded prior to the second reference image; before the reconstructed image of the second reference image is obtained by the parsed code stream, or the parsed code stream is obtained And after the reconstructed image of the second reference image is obtained, or the parsed code stream obtains the reconstructed image of the second reference image; parsing the code stream, obtaining reference image update information, and determining the second according to the reference image update information Whether a local area in the reference image is adapted to update a corresponding area or a related area in the first reference image, the size of the local area is less than or equal to a size of the second reference image; determining a correspondence in the first reference image Whether the region or the related region has been updated; when the corresponding region
- the decoding device locally updates the first reference image by means of pixel copying by using the update information of the subsequent reference image, thereby improving the compression efficiency by using the first reference image.
- the complexity of decoding is reduced, and the delay caused by the steep increase of the code rate is also avoided.
- the processor 81 may be a central processing unit (“CPU"), and the processor 81 may also be other general-purpose processors, digital signal processors (DSPs). , an application specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, and the like.
- the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
- the memory 82 can include read only memory and random access memory and provides instructions and data to the processor 81. A portion of the memory 82 may also include a non-volatile random access memory. For example, the memory 82 can also store information of the device type.
- the bus system 83 may include a power bus, a control bus, a status signal bus, and the like in addition to the data bus. However, for clarity of description, various buses are labeled as the bus system 83 in the figure.
- each step of the above method may be completed by an integrated logic circuit of hardware in the processor 81 or an instruction in a form of software.
- the steps of the method disclosed in the embodiments of the present invention may be directly implemented as a hardware processor, or may be performed by a combination of hardware and software modules in the processor.
- the software module can be located in a conventional storage medium such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory, registers, and the like.
- the storage medium is located in memory 82, and processor 81 reads the information in memory 82 and, in conjunction with its hardware, performs the steps of the above method. To avoid repetition, it will not be described in detail here.
- the encoding device 80 may correspond to the encoding device 20 in the embodiment of the present invention, and may correspond to executing the corresponding body in the method 2000 according to the embodiment of the present invention. Narration.
- system and “network” are used interchangeably herein. It should be understood that the term “and/or” herein is merely an association relationship describing an associated object, indicating that there may be three relationships, for example, A and/or B, which may indicate that A exists separately, and A and B exist simultaneously. There are three cases of B alone. In addition, the character "/" in this article generally indicates that the contextual object is an "or" relationship.
- B corresponding to A means that B is associated with A, and B can be determined from A.
- determining B from A does not mean that B is only determined based on A, and that B can also be determined based on A and/or other information.
- the disclosed systems, devices, and methods may be implemented in other manners.
- the device embodiments described above are merely illustrative.
- the division of the unit is only a logical function division.
- there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
- the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
- each functional unit in various embodiments of the present invention may be integrated in one processing unit. It is also possible that each unit physically exists alone, or two or more units may be integrated in one unit.
- An integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, can be stored in a computer readable storage medium.
- the technical solution of the present invention which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
- the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
- the foregoing storage medium includes: a USB flash drive, a mobile hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a disk or a CD.
- ROM Read-Only Memory
- RAM Random Access Memory
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供了一种参考图像编码的方法包括:编码待编码序列,获得第一参考图像的重构图像以及第二参考图像的重构图像;确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,;确定所述第一参考图像中对应区域或者相关区域是否已更新;当所述第一参考图像中对应区域或者相关区域未更新,且确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域时,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值;将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流。
Description
本发明涉及视频图像处理领域,尤其涉及参考图像编码和解码的方法、编码设备和解码设备。
随着互联网科技的迅猛发展以及人们物质精神文化的日益丰富,在互联网中针对视频的应用需求尤其是针对高清视频的应用需求越来越多,而高清视频的数据量非常大,要想高清视频能在带宽有限的互联网中传输,必须首先解决的问题就是高清视频压缩编码问题。目前,国际上有两个国际组织专门进行视频编码标准的制定工作,即国际标准化组织(International Organization for Standardization,简称为“ISO”)/国际电工委员会(International Electrotechnical Commission,简称为“IEC”)下的运动图像专家组(Motion Picture Experts Group,简称为“MPEG”)和国际电信联盟电信标准化组(International Telecommunication Union-Telecommunication standardization sector,简称为“ITU-T”)的视频编码专家组(Video Coding Experts Group,简称为“VCEG”)。成立于1986年的MPEG专门负责制定多媒体领域内的相关标准,主要应用于存储、广播电视、因特网或无线网上的流媒体等。ITU-T则主要制定面向实时视频通信领域的视频编码标准,如视频电话、视频会议等应用。
在过去的几十年里,国际上已经成功制定了面向各种应用的视频编码标准,主要包括:用于影音光碟(Video Compact Disc,简称为“VCD”)的MPEG-1标准,用于数字多功能光盘(Digital Video Disc,简称为“DVD”)和数字视频广播(Digital Video Broadcasting,简称为“DVB”)的MPEG-2标准,用于视频会议的H.261标准以及H.263标准、H.264标准,允许对任意形状的对象编码的MPEG-4标准,以及最新的高性能视频编码(High Efficiency Video Coding,简称为“HEVC”)标准。
由于视频序列相邻图像之间存在很大的时间相关性,可将图像序列的每帧图像分成若干互不重叠的编码块,并认为编码块内所有像素点的运动都相同,以编码块为单位分配运动矢量。在对当前编码图像中的当前编码块进行帧间预测时,将已重建的编码图像作为参考图像,对当前编码块在参考图像中一定搜索区域内进行运动搜索,找到与当前编码块满足匹配准则的块,即为匹配块。当前编码块与参考图像中匹配块之间空间位置相对偏移量即为运动矢量(Motion Vector,MV),得到运动矢量的过程被称为运动估计(Motion
Estimation,ME)。对视频进行压缩编码时,将参考图像信息、运动矢量信息和匹配块重建像素值与当前块原始像素值之间的差异(残差值)进行编码后发送到解码端。解码端从已解码的参考图像中找到运动矢量所指向位置的块,和残差值相加后恢复出当前块。利用运动估计可去除视频序列的帧间冗余,使视频传输的比特数大为减少。
景物之间相互遮挡、新内容的进入、场景变化以及相机移动等问题可能导致当前块在其邻近图像中无法找到匹配块,因此引入了多参考图像码技术,对编码性能的提升有很大影响。当前编码图像中的当前编码块可以在当前图像之前已编码的k个参考图像中分别进行运动搜索找到匹配块。
在国际最新制定的视频编码标准HEVC标准中,有两种类型的参考图像:短期参考图像和长期参考图像。短期参考图像一般是指距离当前图像相对较近的已重建的编码图像,短期参考图像中存在与当前图像中相似的景物;长期参考图像一般是指距离当前图像相对较远的已重建的编码图像。使用参考图像列表管理参考图像,当前编码块在寻找其匹配块时,从参考图像列表中的第一个参考图像开始,在一定搜索区域内找到匹配误差最小的运动矢量,再继续在下一个参考图像中进行运动搜索,直到完成使用参考图像列表中所有参考图像进行运动搜索之后,确定其最佳的运动矢量及所使用的参考图像。
现有技术中,除了短期参考图像和长期参考图像之外,为了提高压缩编码效率,还引入了背景参考图像,即将视频序列分为若干视频段,在编码完每个视频段后用该视频段内的重建图像生成一幅背景图像,作为该视频段的下一个视频段内各图像的帧间预测时的参考帧。由于背景参考图像与邻近的视频帧内容具有极大的相关性,所以提高了帧间预测的效率,进而提高了视频序列的编码压缩效率。
但是相关技术,要么需要在编解码端同时分析每个视频段内已编/解码图像的共同特征得到参考图像,增加了解码端的复杂度和功耗,要么需要把编码端生成的参考图像额外传递给解码端,造成码流中码率的陡增,造成传输的时延。
发明内容
本发明提供了一种参考图像编码和解码的方法、编码设备和解码设备,可以通过利用后续参考图像的局部信息对背景参考图像进行更新,在提高编码压缩效率的同时,不增加解码端的运算复杂度,并且仅传输少量指示信息或者不传输指示信息,避免了传输时延。
第一方面,提供了一种参考图像解码的方法,包括:解析码流,获得第一参
考图像的重构图像以及第二参考图像的重构图像,该第一参考图像先于该第二参考图像被解码;在该解析码流获得第二参考图像的重构图像之前,或者该解析码流获得第二参考图像的重构图像之中,或者该解析码流获得第二参考图像的重构图像之后;解析码流,获得参考图像更新信息,并根据该参考图像更新信息确定该第二参考图像中的局部区域是否用于更新该第一参考图像中对应区域或者相关区域,该局部区域的尺寸小于或者等于该第二参考图像的尺寸;当该参考图像更新信息确定该第二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域时,用该第二参考图像中局部区域的像素值替换该第一参考图像中对应区域或者相关区域的像素值。
结合第一方面,在第一方面的第一种可能的实现方式中,该解析码流,获得参考图像更新信息,并根据该参考图像更新信息确定该第二参考图像中的局部区域是否用于更新该第一参考图像中对应区域或者相关区域包括:解析该码流,获取标记,若该标记为第一取值时,确定该第二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域,若该标志为第二取值时,确定该第二参考图像中的局部区域不用于更新该第一参考图像中对应区域或者相关区域,第一取值不同于第二取值。
结合第一方面,在第一方面的第二种可能的实现方式中,该解析码流,获得参考图像更新信息,并根据该参考图像更新信息确定该第二参考图像中的局部区域是否用于更新该第一参考图像中对应区域或者相关区域包括:解析该码流,获取编码信息,根据该编码信息以及预设规则来确定该第二参考图像中的局部区域是否用于更新该第一参考图像中对应区域或者相关区域。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,该方法还包括:确定该编码信息;
其中,该编码信息包括该第二参考图像中的局部区域的量化参数偏移值;对应,该根据该编码信息以及预设规则来确定该第二参考图像中的局部区域是否用于更新该第一参考图像中对应区域或者相关区域包括:当该量化参数偏移值的绝对值在第一取值范围内时,确定该第二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域;当该量化参数偏移值的绝对值不在第一取值范围内时,确定该第二参考图像中的局部区域不用于更新该第一参考图像中对应区域或者相关区域。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,该第一取值范围为大于等于10,且小于20。
结合第一方面的第二种可能的实现方式,在第一方面的第五种可能的实现方式中,该方法还包括:确定该编码信息;
该编码信息包括该第二参考图像中的局部区域的量化步长的缩放因子;对
应,该根据该编码信息以及预设规则来确定该第二参考图像中的局部区域是否用于更新该第一参考图像中对应区域或者相关区域包括:当该量化步长的缩放因子在第二取值范围内时,确定该第二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域;当该量化步长的缩放因子不在第二取值范围内时,确定该第二参考图像中的局部区域不用于更新该第一参考图像中对应区域或者相关区域。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述当所述量化步长的缩放因子在第二取值范围内时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域包括:当所述量化步长的所述缩放因子大于等于0.5,且小于1;或所述缩放因子小于等于1.5,且大于1时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域。
结合第一方面,第一方面的第一种至第六种可能的实现方式中任一可能的实现方式,在第一方面的第七种可能的实现方式中,该第一参考图像中对应区域为该第一参考图像中与该第二参考图像中的局部区域的坐标位置相同的区域。
结合第一方面,第一方面的第一种至第六种可能的实现方式中任一可能的实现方式,在第一方面的第八种可能的实现方式中,该参考图像更新信息还包括有该局部区域所在的坐标位置与该第一参考图像中相关区域所在的坐标位置之间的空间偏移量,该空间偏移量包括横向偏移量和纵向偏移量;对应,该方法还包括:
根据该第二参考图像的局域区域的所在位置的坐标以及该的空间偏移量确定该第一参考图像相关区域的位置。
结合第一方面,第一方面的第一种至第八种可能的实现方式中任一可能的实现方式,在第一方面的第九种可能的实现方式中,还包括:对像素替换后的第一参考图像中对应区域或者相关区域与相邻区域的边界处进行滤波。
结合第一方面,第一方面的第一种至第九种可能的实现方式中任一可能的实现方式,在第一方面的第十种可能的实现方式中,该第一参考图像为解析码流获得的第一帧重构图像。
结合第一方面,第一方面的第一种至第九种可能的实现方式中任一可能的实现方式,在第一方面的第十一种可能的实现方式中,该第一参考图像为解析码流获得的随机访问点图像。
结合第一方面,第一方面的第一种至第十一种可能的实现方式中任一可能的实现方式,在第一方面的第十二种可能的实现方式中,该第二参考图像的局部区域是最大编码单元、编码单元、编码单元组、预设大小的图像区域中的一
种。
结合第一方面,在第一方面的第十三种可能的实现方式中,解析码流获得第一参考图像的重构图像,包括:解析所述码流获得所述第一参考图像的特定顺序号,并获得具有所述特定顺序号的第一参考图像的重构图像。。
结合第一方面,以及在第一方面的第十三种可能的实现方式,在第一方面的第十四种可能的实现方式中,解析码流获得第二参考图像的重构图像,还包括:解析所述码流获得所述第二参考图像的特定顺序号,所述第二参考图像的特定顺序号与被所述第二参考图像更新的所述第一参考图像的特定顺序号相关联,并获得具有所述第二参考图像的特定顺序号的第二参考图像的重构图像。
第二方面,提供了一种参考图像解码的方法,包括:解析码流,获得第一参考图像的重构图像以及第二参考图像的重构图像,该第一参考图像先于该第二参考图像被解码;在该解析码流获得第二参考图像的重构图像之前,或者该解析码流获得第二参考图像的重构图像之中,或者该解析码流获得第二参考图像的重构图像之后;解析码流,获得参考图像更新信息,并根据该参考图像更新信息确定该第二参考图像中的局部区域是否适用于更新该第一参考图像中对应区域或者相关区域,该局部区域的尺寸小于或者等于该第二参考图像的尺寸;确定该第一参考图像中对应区域或者相关区域是否已更新;当该第一参考图像中对应区域或者相关区域未更新,且该参考图像更新信息确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域时,用该第二参考图像中局部区域的像素值替换该第一参考图像中对应区域或者相关区域的像素值。
结合第二方面,在第二方面的第一种可能的实现方式中,解析码流,获得参考图像更新信息,并根据该参考图像更新信息确定该第二参考图像中的局部区域是否适用于更新该第一参考图像中对应区域或者相关区域包括:解析该码流,获取标记,若该标记为第一取值时,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,若该标志为第二取值时,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域,第一取值不同于第二取值。
结合第二方面,在第二方面的第二种可能的实现方式中,解析码流,获得参考图像更新信息,并根据该参考图像更新信息确定该第二参考图像中的局部区域是否适用于更新该第一参考图像中对应区域或者相关区域包括:解析该码流,获取编码信息,根据该编码信息以及预设规则来确定该第二参考图像中的局部区域是否适用于更新该第一参考图像中对应区域或者相关区域。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现
方式中,该方法还包括:确定该编码信息。
其中该编码信息包括该第二参考图像中的局部区域的变换系数信息,其中,该变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和;对应,该根据该编码信息以及预设规则来确定该第二参考图像中的局部区域是否适用于更新该第一参考图像中对应区域或者相关区域包括:
当该局部区域覆盖范围内的变换系数绝对值之和大于第一阈值,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,该方法还包括:确定该编码信息。
其中该编码信息包括该第二参考图像中的局部区域的变换系数信息,其中,该变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和的平均值;对应,该根据该编码信息以及预设规则来确定该第二参考图像中的局部区域是否用于更新该第一参考图像包括:
当该局部区域覆盖范围内的变换系数绝对值之和的平均值大于第二阈值,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第二方面的第二种可能的实现方式,在第二方面的第五种可能的实现方式中,该方法还包括:确定该编码信息;
其中,该编码信息包括该第二参考图像中的局部区域的量化参数偏移值;对应,该根据该编码信息以及预设规则来确定该第二参考图像中的局部区域是否适用于更新该第一参考图像中对应区域或者相关区域包括:当该量化参数偏移值的绝对值在第一取值范围内时,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域;当该量化参数偏移值的绝对值不在第一取值范围内时,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,该第一取值范围为大于等于10,且小于20。
结合第二方面的第二种可能的实现方式,在第二方面的第七种可能的实现方式中,该方法还包括:确定该编码信息;
该编码信息包括该第二参考图像中的局部区域的量化步长的缩放因子;对应,该根据该编码信息以及预设规则来确定该第二参考图像中的局部区域是否适用于更新该第一参考图像中对应区域或者相关区域包括:当该量化步长的缩
放因子在第二取值范围内时,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域;当该量化步长的缩放因子不在第二取值范围内时,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第二方面的第七种可能的实现方式,在第二方面的第八种可能的实现方式中,所述当所述量化步长的缩放因子在第二取值范围内时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域包括:当所述量化步长的所述缩放因子大于等于0.5,且小于1;或所述缩放因子小于等于1.5,且大于1时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域。
结合第二方面的第二种可能的实现方式,在第二方面的第九种可能的实现方式中,该方法还包括:确定该编码信息;
该编码信息包括该第二参考图像中的局部区域的运动矢量信息,其中,该运动矢量信息包括局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值;对应,该根据该编码信息以及预设规则来确定该第二参考图像中的局部区域是否适用于更新该第一参考图像中对应区域或者相关区域包括:当该局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值均小于第三阈值,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第二方面的第二种可能的实现方式,在第二方面的第十种可能的实现方式中,该方法还包括:确定该编码信息;
该编码信息包括该第二参考图像中的局部区域的运动矢量信息,其中,该运动矢量信息包括局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,和该第二参考图像前一已解码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值;对应,该根据该编码信息以及预设规则来确定该第二参考图像中的局部区域是否适用于更新该第一参考图像中对应区域或者相关区域包括:当该局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值小于所述前一已解码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第二方面,第二方面的第一种至第十种可能的实现方式中任一可能的实现方式,在第二方面的第十一种可能的实现方式中,该第一参考图像中对应区域为该第一参考图像中与该第二参考图像中的局部区域的坐标位置相同的区
域。
结合第二方面,第二方面的第一种至第十种可能的实现方式中任一可能的实现方式,在第二方面的第十二种可能的实现方式中,当所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域被更新过时,以预定顺序依次搜索所述第一参考图像中的区域,所述第一参考图像中对应区域为所述顺序中的第一块没有被更新过的区域,否则,该第一参考图像中对应区域为该第一参考图像中与该第二参考图像中的局部区域的坐标位置相同的区域。
结合第二方面,第二方面的第一种至第十种可能的实现方式中任一可能的实现方式,在第二方面的第十三种可能的实现方式中,所述解析码流,所述获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域还包括:获得所述局部区域所在的坐标位置与所述第一参考图像中相关区域所在的坐标位置之间的空间偏移量,所述空间偏移量包括横向偏移量和纵向偏移量;
所述方法还包括:在用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值之前,根据所述第二参考图像的局域区域的所在位置的坐标以及所述的空间偏移量确定所述第一参考图像相关区域的位置。
。
结合第二方面,第二方面的第一种至第十三种可能的实现方式中任一可能的实现方式,在第二方面的第十四种可能的实现方式中,还包括:对像素替换后的第一参考图像中对应区域或者相关区域与相邻区域的边界处进行滤波。
结合第二方面,第二方面的第一种至第十四种可能的实现方式中任一可能的实现方式,在第二方面的第十五种可能的实现方式中,还包括:该第一参考图像为解析码流获得的第一帧重构图像。
结合第二方面,第二方面的第一种至第十四种可能的实现方式中任一可能的实现方式,在第二方面的第十六种可能的实现方式中,还包括:该第一参考图像为解析码流获得的随机访问点图像。
结合第二方面,第二方面的第一种至第十六种可能的实现方式中任一可能的实现方式,在第二方面的第十七种可能的实现方式中,还包括:该第二参考图像的局部区域是最大编码单元、编码单元、编码单元组、预设大小的图像区域中的一种。
结合第二方面,在第二方面的第十七种可能的实现方式中,解析码流获得第一参考图像的重构图像,包括:解析所述码流获得所述第一参考图像的特定顺序号,并获得具有所述特定顺序号的第一参考图像的重构图像。
结合第二方面,以及在第二方面的第十七种可能的实现方式,在第二方面
的第十八种可能的实现方式中,解析码流获得第二参考图像的重构图像,包括:解析所述码流获得所述第二参考图像的特定顺序号,所述第二参考图像的特定顺序号与被所述第二参考图像更新的所述第一参考图像的特定顺序号相关联,并获得具有所述第二参考图像的特定顺序号的第二参考图像的重构图像。
第三方面,提供了一种参考图像编码的方法,包括:编码待编码序列,获得第一参考图像的重构图像,编码第二参考图像以获得所述第二参考图像的重构图像,该第一参考图像先于该第二参考图像被编码;确定该第二参考图像中的局部区域是否适用于更新该第一参考图像中对应区域或者相关区域,该局部区域的尺寸小于或者等于该第二参考图像的尺寸;确定该第一参考图像中对应区域或者相关区域是否已更新;当该第一参考图像中对应区域或者相关区域未更新,且该参考图像更新信息确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域时,用该第二参考图像中局部区域的像素值替换该第一参考图像中对应区域或者相关区域的像素值;将用来确定该第二参考图像中的局部区域是否用于更新该第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流。
结合第三方面,在第三方面的第一种可能的实现方式中,确定该第二参考图像中的局部区域是否适用于更新该第一参考图像中对应区域或者相关区域,包括:
获取该第二参考图像的待编码图像与该局部区域具有相同坐标位置的第一区域,以及该第二参考图像前一帧的待编码图像与该局部区域具有相同坐标位置的第二区域;
计算该第一区域与该第二区域中的所有像素点的均方误差值;
当该均方误差值小于第四阈值时,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第三方面,在第三方面的第二种可能的实现方式中,确定该第二参考图像中的局部区域是否适用于更新该第一参考图像中对应区域或者相关区域,包括:
获取该局部区域的待编码图像进行帧间预测,获得该局部区域的预测图像;
计算该局部区域的待编码图像与该局部区域的预测图像的所有像素点的横轴预测差绝对值和纵轴预测差绝对值之后的平均值;
当该平均值小于第五阈值时,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第三方面,在第三方面的第四种可能的实现方式中,确定该第二参考图像中的局部区域是否适用于更新该第一参考图像中对应区域或者相关区域,包括:
获取该第二参考图像中的局部区域的变换系数信息,其中,该变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和;
当该局部区域覆盖范围内的变换系数绝对值之和大于第六阈值时,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第三方面,在第三方面的第五种可能的实现方式中,确定该第二参考图像中的局部区域是否适用于更新该第一参考图像中对应区域或者相关区域,包括:
获取该第二参考图像中的局部区域的变换系数信息,其中,该变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和的平均值;
当该局部区域覆盖范围内的变换系数绝对值之和的平均值大于第七阈值时,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第三方面,在第三方面的第六种可能的实现方式中,确定该第二参考图像中的局部区域是否适用于更新该第一参考图像中对应区域或者相关区域,包括:
统计该第二参考图像的局部区域的编码比特数和其前一个被编码区域的编码比特数;
当该第二参考图像的局部区域的编码比特数大于其前一个被编码区域的编码比特数时,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第三方面,在第三方面的第七种可能的实现方式中,确定该第二参考图像中的局部区域是否适用于更新该第一参考图像中对应区域或者相关区域,包括:
统计该第二参考图像的局部区域的编码比特数和其前一被编码帧的区域平均编码比特数;
当该第二参考图像的局部区域的编码比特数大于其前一被编码帧的区域平均编码比特数时,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用
于更新该第一参考图像中对应区域或者相关区域。
结合第三方面,在第三方面的第八种可能的实现方式中,确定该第二参考图像中的局部区域是否适用于更新该第一参考图像中对应区域或者相关区域,包括:
获取该第二参考图像中的局部区域的运动矢量信息,其中,该运动矢量信息包括局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值;
当该局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值均小于第八阈值,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第三方面,在第三方面的第九种可能的实现方式中,确定该第二参考图像中的局部区域是否适用于更新该第一参考图像中对应区域或者相关区域,包括:
获取该第二参考图像中的局部区域运动矢量信息,其中,该运动矢量信息包括局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,和该第二参考图像前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值;
当该局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值小于该前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第三方面,在第三方面的第十种可能的实现方式中,该参考图像更新信息,包括:
确定该第二参考图像中的局部区域是否用于更新该第一参考图像中对应区域或者相关区域的标记;
对应,将用来确定该第二参考图像中的局部区域是否用于更新该第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流,包括:将该标记的取值编入码流,当该第二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域,该标记为第一取值;当该第二参考图像中的局部区域不用于更新该第一参考图像中对应区域或者相关区域,该标记为第二取值,第一取值不同于第二取值。
结合第三方面,在第三方面的第十一种可能的实现方式中,该参考图像更新信息,包括:
该第二参考图像的局部区域的量化参数偏移值;
对应,将用来确定该第二参考图像中的局部区域是否用于更新该第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流,包括:将该量化参数偏移值编入码流,当该第二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域,该量化参数偏移值的绝对值在第三取值范围内;当该第二参考图像中的局部区域不用于更新该第一参考图像中对应区域或者相关区域,该量化参数偏移值的绝对值不在第三取值范围内。
结合第三方面的第十一种可能的实现方式,在第三方面的第十二种可能的实现方式中,该方法还包括:该第三取值范围为大于等于10,且小于20。
结合第三方面,在第三方面的第十三种可能的实现方式中,该参考图像更新信息,包括:
该第二参考图像的局部区域的量化步长的缩放因子;
对应,将用来确定该第二参考图像中的局部区域是否用于更新该第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流,包括:将该量化步长的缩放因子编入码流,当该第二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域,该量化步长的缩放因子在第四取值范围内;当该第二参考图像中的局部区域不用于更新该第一参考图像中对应区域或者相关区域,该量化步长的缩放因子不在第四取值范围内。
结合第三方面的第十三种可能的实现方式,在第三方面的第十四种可能的实现方式中,所述当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,所述量化步长的缩放因子在第四取值范围内包括:当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,所述量化步长的所述缩放因子大于等于0.5,且小于1;或所述缩放因子小于等于1.5,且大于1。
结合第三方面,在第三方面的第十五种可能的实现方式中,该参考图像更新信息,包括:
该第二参考图像的局部区域的变换系数信息,其中,该变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和;
对应,将用来确定该第二参考图像中的局部区域是否用于更新该第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流,包括:将该变换系数信息编入码流,当该局部区域覆盖范围内的变换系数绝对值之和大于第九阈值,且该第一参考图像中对应区域或者相关区域没有被更新过,确定该第二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不用于更新该第一参考图像中对应区域或者相关区域
。
结合第三方面,在第三方面的第十六种可能的实现方式中,该参考图像更新信息,包括:
该第二参考图像的局部区域的变换系数信息,其中,该变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和的平均值;
对应,将用来确定该第二参考图像中的局部区域是否用于更新该第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流,包括:将该变换系数信息编入码流,当该局部区域覆盖范围内的变换系数绝对值之和的平均值大于第十阈值,且该第一参考图像中对应区域或者相关区域没有被更新过,确定该第二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不用于更新该第一参考图像中对应区域或者相关区域。
结合第三方面,在第三方面的第十七种可能的实现方式中,该参考图像更新信息,包括:
该第二参考图像的局部区域的运动矢量信息,其中,该运动矢量信息包括局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值;
对应,将用来确定该第二参考图像中的局部区域是否用于更新该第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流,包括:将该运动矢量信息编入码流,当该局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值均小于第十一阈值,且该第一参考图像中对应区域或者相关区域没有被更新过,确定该第二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不用于更新该第一参考图像中对应区域或者相关区域。
结合第三方面,在第三方面的第十八种可能的实现方式中,该参考图像更新信息,包括:
该第二参考图像中的局部区域运动矢量信息,其中,该运动矢量信息包括局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,和该第二参考图像前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值;
对应,将用来确定该第二参考图像中的局部区域是否用于更新该第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流,包括:将该运动矢量信息编入码流,当该局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值小于该前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,且该第一参考图像中对应区域或者相关区域没
有被更新过,确定该第二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不用于更新该第一参考图像中对应区域或者相关区域。
结合第三方面,在第三方面的第十九种可能的实现方式中,编码待编码序列,获得第二参考图像的重构图像,包括:
使用固定量化参数编码该第二参考图像的待编码图像,其中,对于该局部区域使用第一量化参数,对于非该局部区域使用第二量化参数。
结合第三方面的第十九种可能的实现方式,在第三方面的第二十种可能的实现方式中,该方法还包括:
当第二量化参数大于等于0,且小于10时,第一量化参数为第二量化参数;当第二量化参数大于等于10,且小于37时,第一量化参数为第二量化参数减5;当第二量化参数大于等于37,且小于等于51时,第一量化参数为第二量化参数减10。
结合第三方面,在第三方面的第二十一种可能的实现方式中,编码待编码序列,获得第二参考图像的重构图像,包括:
使用自适应量化参数编码该第二参考图像的待编码图像,其中,对于该局部区域根据纹理信息和运动信息至少其中之一确定量化参数,对于非该局部区域使用帧级量化参数或者根据编码器规定的码率分配策略或质量控制策略设置确定量化参数。
结合第三方面,第三方面的第一种至第二十一种可能的实现方式中任一可能的实现方式,在第三方面的第二十二种可能的实现方式中,还包括:该第一参考图像中对应区域为该第一参考图像中与该第二参考图像中的局部区域的坐标位置相同的区域。
结合第三方面,第三方面的第一种至第二十一种可能的实现方式中任一可能的实现方式,在第三方面的第二十三种可能的实现方式中,当所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域被更新过时,以预定顺序依次搜索所述第一参考图像中的区域,所述第二参考图像中对应区域为所述顺序中的第一块没有被更新过的区域,否则,该第一参考图像中对应区域为该第一参考图像中与该第二参考图像中的局部区域的坐标位置相同的区域。
结合第三方面,第三方面的第一种至第二十一种可能的实现方式中任一可能的实现方式,在第三方面的第二十四种可能的实现方式中,还包括:该参考图像更新信息还包括有该局部区域所在的坐标位置与该第一参考图像中相关区域所在的坐标位置之间的空间偏移量,该空间偏移量包括横向偏移量和纵向偏移量;对应,该方法还包括:
将该空间偏移量编入码流。
结合第三方面,第三方面的第一种至第二十四种可能的实现方式中任一可能的实现方式,在第三方面的第二十五种可能的实现方式中,还包括:对像素替换后的第一参考图像中对应区域或者相关区域与相邻区域的边界处进行滤波。
结合第三方面,第三方面的第一种至第二十五种可能的实现方式中任一可能的实现方式,在第三方面的第二十六种可能的实现方式中,还包括:该第一参考图像为编码待编码序列获得的第一帧重构图像。
结合第三方面,第三方面的第一种至第二十五种可能的实现方式中任一可能的实现方式,在第三方面的第二十七种可能的实现方式中,还包括:该第一参考图像为编码待编码序列获得的随机访问点图像。
结合第三方面,第三方面的第一种至第二十七种可能的实现方式中任一可能的实现方式,在第三方面的第二十八种可能的实现方式中,包括:该第二参考图像的局部区域是最大编码单元、编码单元、编码单元组、预设大小的图像区域中的一种。
结合第三方面,在第三方面的第二十九种可能的实现方式中,编码待编码序列,获得第一参考图像的重构图像,还包括:检测该待编码序列;判断该第一参考图像是否为场景切换图像;确定该第一参考图像特定顺序号;在编码该第一参考图像的待编码图像之前或之后,将该特定顺序号编入码流。
结合第三方面,在第三方面的第三十种可能的实现方式中,编码待编码序列,获得第二参考图像的重构图像,还包括:确定被该第二参考图像所更新的该第一参考图像的特定顺序号;在编码该第二参考图像的待编码图像之前或之后,将该特定顺序号或者与该特定顺序号关联的号码编入码流。
第四方面,提供了一种参考图像解码的设备,包括:第一解码模块,用于解析码流,获得第一参考图像的重构图像以及第二参考图像的重构图像,该第一参考图像先于该第二参考图像被解码;第二解码模块,用于在该解析码流获得第二参考图像的重构图像之前,或者该解析码流获得第二参考图像的重构图像之中,或者该解析码流获得第二参考图像的重构图像之后;解析码流,获得参考图像更新信息,并根据该参考图像更新信息确定该第二参考图像中的局部区域是否用于更新该第一参考图像中对应区域或者相关区域,该局部区域的尺寸小于或者等于该第二参考图像的尺寸;第三解码模块,用于当该参考图像更新信息确定该第二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域时,用该第二参考图像中局部区域的像素值替换该第一参考图像中对应区域或者相关区域的像素值。
结合第四方面,在第四方面的第一种可能的实现方式中,所述第二解码模
块具体用于:解析该码流,获取标记,若该标记为第一取值时,确定该第二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域,若该标志为第二取值时,确定该第二参考图像中的局部区域不用于更新该第一参考图像中对应区域或者相关区域,第一取值不同于第二取值。
结合第四方面,在第四方面的第二种可能的实现方式中,所述第二解码模块具体用于:解析该码流,获取编码信息,根据该编码信息以及预设规则来确定该第二参考图像中的局部区域是否用于更新该第一参考图像中对应区域或者相关区域。
结合第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中,该方法还包括:确定该编码信息;
其中,该编码信息包括该第二参考图像中的局部区域的量化参数偏移值;对应,所述第二解码模块具体用于:当该量化参数偏移值的绝对值在第一取值范围内时,确定该第二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域;当该量化参数偏移值的绝对值不在第一取值范围内时,确定该第二参考图像中的局部区域不用于更新该第一参考图像中对应区域或者相关区域。
结合第四方面的第三种可能的实现方式,在第四方面的第四种可能的实现方式中,该方法还包括:该第一取值范围为大于等于10,且小于20。
结合第四方面的第二种可能的实现方式,在第四方面的第五种可能的实现方式中,该方法还包括:确定该编码信息;
该编码信息包括该第二参考图像中的局部区域的量化步长的缩放因子;对应,所述第二解码模块具体用于:当该量化步长的缩放因子在第二取值范围内时,确定该第二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域;当该量化步长的缩放因子不在第二取值范围内时,确定该第二参考图像中的局部区域不用于更新该第一参考图像中对应区域或者相关区域。
结合第四方面的第五种可能的实现方式,在第四方面的第六种可能的实现方式中,所述当所述量化步长的缩放因子在第二取值范围内时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域包括:当所述量化步长的所述缩放因子大于等于0.5,且小于1;或所述缩放因子小于等于1.5,且大于1时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域。
结合第四方面,第四方面的第一种至第六种可能的实现方式中任一可能的实现方式,在第四方面的第七种可能的实现方式中,该第一参考图像中对应区域为该第一参考图像中与该第二参考图像中的局部区域的坐标位置相同的区域。
结合第四方面,第四方面的第一种至第六种可能的实现方式中任一可能的实现方式,在第四方面的第八种可能的实现方式中,
所述第二解码模块还具体用于:获得所述局部区域所在的坐标位置与所述第一参考图像中相关区域所在的坐标位置之间的空间偏移量,所述空间偏移量包括横向偏移量和纵向偏移量,并在所述第三解码模块用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值之前,根据所述第二参考图像的局域区域的所在位置的坐标以及所述的空间偏移量确定所述第一参考图像相关区域的位置。
结合第四方面,第四方面的第一种至第八种可能的实现方式中任一可能的实现方式,在第四方面的第九种可能的实现方式中,还包括第四解码模块,所述第四解码模块还具体用于:对像素替换后的第一参考图像中对应区域或者相关区域与相邻区域的边界处进行滤波。
结合第四方面,第四方面的第一种至第九种可能的实现方式中任一可能的实现方式,在第四方面的第十种可能的实现方式中,该第一参考图像为解析码流获得的第一帧重构图像。
结合第四方面,第四方面的第一种至第九种可能的实现方式中任一可能的实现方式,在第四方面的第十一种可能的实现方式中,该第一参考图像为解析码流获得的随机访问点图像。
结合第四方面,第四方面的第一种至第十一种可能的实现方式中任一可能的实现方式,在第四方面的第十二种可能的实现方式中,该第二参考图像的局部区域是最大编码单元、编码单元、编码单元组、预设大小的图像区域中的一种。
结合第四方面,在第四方面的第十三种可能的实现方式中,所述第一解码模块还具体用于:解析该码流获得该第一参考图像的特定顺序号。
结合第四方面,以及第四方面的第十三种可能的实现方式,在第四方面的第十四种可能的实现方式中,所述第一解码模块还具体用于:解析该码流获得该第二参考图像的特定顺序号,该特定顺序号与被该第二参考图像更新的该第一参考图像的特定顺序号相关联。
第五方面,提供了一种参考图像解码的设备,包括:第一解码模块,用于解析码流,获得第一参考图像的重构图像以及第二参考图像的重构图像,该第一参考图像先于该第二参考图像被解码;第二解码模块,用于在该解析码流获得第二参考图像的重构图像之前,或者该解析码流获得第二参考图像的重构图像之中,或者该解析码流获得第二参考图像的重构图像之后;解析码流,获得参考图像更新信息,并根据该参考图像更新信息确定该第二参考图像中的局部区
域是否适用于更新该第一参考图像中对应区域或者相关区域,该局部区域的尺寸小于或者等于该第二参考图像的尺寸;第三解码模块,用于确定该第一参考图像中对应区域或者相关区域是否已更新;当该第一参考图像中对应区域或者相关区域未更新,且该参考图像更新信息确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域时,用该第二参考图像中局部区域的像素值替换该第一参考图像中对应区域或者相关区域的像素值。
结合第五方面,在第五方面的第一种可能的实现方式中,所述第二解码模块具体用于:解析该码流,获取标记,若该标记为第一取值时,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,若该标志为第二取值时,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域,第一取值不同于第二取值。
结合第五方面,在第五方面的第二种可能的实现方式中,所述第二解码模块具体用于:解析该码流,获取编码信息,根据该编码信息以及预设规则来确定该第二参考图像中的局部区域是否适用于更新该第一参考图像中对应区域或者相关区域。
结合第五方面的第二种可能的实现方式,在第五方面的第三种可能的实现方式中,该方法还包括:确定该编码信息。
其中该编码信息包括该第二参考图像中的局部区域的变换系数信息,其中,该变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和;对应,所述第二解码模块具体用于:
当该局部区域覆盖范围内的变换系数绝对值之和大于第一阈值,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第五方面的第二种可能的实现方式,在第五方面的第四种可能的实现方式中,该方法还包括:确定该编码信息。
其中该编码信息包括该第二参考图像中的局部区域的变换系数信息,其中,该变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和的平均值;对应,所述第二解码模块具体用于:
当该局部区域覆盖范围内的变换系数绝对值之和的平均值大于第二阈值,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第五方面的第二种可能的实现方式,在第五方面的第五种可能的实现方式中,该方法还包括:确定该编码信息;
其中,该编码信息包括该第二参考图像中的局部区域的量化参数偏移值;对应,所述第二解码模块具体用于:当该量化参数偏移值的绝对值在第一取值范围内时,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域;当该量化参数偏移值的绝对值不在第一取值范围内时,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第五方面的第五种可能的实现方式,在第五方面的第六种可能的实现方式中,该方法还包括:该第一取值范围为大于等于10,且小于20。
结合第五方面的第二种可能的实现方式,在第五方面的第七种可能的实现方式中,该方法还包括:确定该编码信息;
该编码信息包括该第二参考图像中的局部区域的量化步长的缩放因子;对应,所述第二解码模块具体用于:当该量化步长的缩放因子在第二取值范围内时,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域;当该量化步长的缩放因子不在第二取值范围内时,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第五方面的第七种可能的实现方式,在第五方面的第八种可能的实现方式中,所述当所述量化步长的缩放因子在第二取值范围内时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域包括:当所述量化步长的所述缩放因子大于等于0.5,且小于1;或所述缩放因子小于等于1.5,且大于1时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域。
结合第五方面的第二种可能的实现方式,在第五方面的第九种可能的实现方式中,该方法还包括:确定该编码信息;
该编码信息包括该第二参考图像中的局部区域的运动矢量信息,其中,该运动矢量信息包括局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值;对应,所述第二解码模块具体用于:当该局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值均小于第三阈值,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第五方面的第二种可能的实现方式,在第五方面的第十种可能的实现方式中,该方法还包括:确定该编码信息;
该编码信息包括该第二参考图像中的局部区域的运动矢量信息,其中,该运动矢量信息包括局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和
之和的平均值,和该第二参考图像前一已解码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值;对应,所述第二解码模块具体用于:当该局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值小于所述前一已解码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第五方面,第五方面的第一种至第十种可能的实现方式中任一可能的实现方式,在第五方面的第十一种可能的实现方式中,该第一参考图像中对应区域为该第一参考图像中与该第二参考图像中的局部区域的坐标位置相同的区域。
结合第五方面,第五方面的第一种至第十种可能的实现方式中任一可能的实现方式,在第五方面的第十二种可能的实现方式中,所述第二解码模块还具体用于:当所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域被更新过时,以预定顺序依次搜索所述第一参考图像中的区域,所述第一参考图像中对应区域为所述顺序中的第一块没有被更新过的区域,否则,该第一参考图像中对应区域为该第一参考图像中与该第二参考图像中的局部区域的坐标位置相同的区域。
结合第五方面,第五方面的第一种至第十种可能的实现方式中任一可能的实现方式,在第五方面的第十三种可能的实现方式中,所述第二解码模块还具体用于:获得所述局部区域所在的坐标位置与所述第一参考图像中相关区域所在的坐标位置之间的空间偏移量,所述空间偏移量包括横向偏移量和纵向偏移量,并在所述第三解码模块用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值之前,根据所述第二参考图像的局域区域的所在位置的坐标以及所述的空间偏移量确定所述第一参考图像相关区域的位置。
结合第五方面,第五方面的第一种至第十三种可能的实现方式中任一可能的实现方式,在第五方面的第十四种可能的实现方式中,还包括第四解码模块,所述第四解码模块还具体用于:对像素替换后的第一参考图像中对应区域或者相关区域与相邻区域的边界处进行滤波。
结合第五方面,第五方面的第一种至第十四种可能的实现方式中任一可能的实现方式,在第五方面的第十五种可能的实现方式中,还包括:该第一参考图像为解析码流获得的第一帧重构图像。
结合第五方面,第五方面的第一种至第十四种可能的实现方式中任一可能
的实现方式,在第五方面的第十六种可能的实现方式中,还包括:该第一参考图像为解析码流获得的随机访问点图像。
结合第五方面,第五方面的第一种至第十六种可能的实现方式中任一可能的实现方式,在第五方面的第十七种可能的实现方式中,还包括:该第二参考图像的局部区域是最大编码单元、编码单元、编码单元组、预设大小的图像区域中的一种。
结合第五方面,在第五方面的第十七种可能的实现方式中,所述第一解码模块还具体用于:解析该码流获得该第一参考图像的特定顺序号。
结合第五方面,以及在第五方面的第十七种可能的实现方式,在第五方面的第十八种可能的实现方式中,所述第一解码模块还具体用于:解析该码流获得该第二参考图像的特定顺序号,该特定顺序号与被该第二参考图像更新的该第一参考图像的特定顺序号相关联。
第六方面,提供了一种参考图像编码的设备,包括:第一编码模块,用于编码待编码序列,获得第一参考图像的重构图像,编码第二参考图像以获得所述第二参考图像的重构图像,该第一参考图像先于该第二参考图像被编码;第二编码模块,用于确定该第二参考图像中的局部区域是否适用于更新该第一参考图像中对应区域或者相关区域,该局部区域的尺寸小于或者等于该第二参考图像的尺寸;第三编码模块,用于确定该第一参考图像中对应区域或者相关区域是否已更新;当该第一参考图像中对应区域或者相关区域未更新,且该参考图像更新信息确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域时,用该第二参考图像中局部区域的像素值替换该第一参考图像中对应区域或者相关区域的像素值;第四编码模块,用于将用来确定该第二参考图像中的局部区域是否用于更新该第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流。
结合第六方面,在第六方面的第一种可能的实现方式中,所述第二编码模块具体用于:
获取该第二参考图像的待编码图像与该局部区域具有相同坐标位置的第一区域,以及该第二参考图像前一帧的待编码图像与该局部区域具有相同坐标位置的第二区域;
计算该第一区域与该第二区域中的所有像素点的均方误差值;
当该均方误差值小于第四阈值时,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第六方面,在第六方面的第二种可能的实现方式中,所述第二编码模块具体用于:
获取该局部区域的待编码图像进行帧间预测,获得该局部区域的预测图像;
计算该局部区域的待编码图像与该局部区域的预测图像的所有像素点的横轴预测差绝对值和纵轴预测差绝对值之后的平均值;
当该平均值小于第五阈值时,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第六方面,在第六方面的第四种可能的实现方式中,所述第二编码模块具体用于:
获取该第二参考图像中的局部区域的变换系数信息,其中,该变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和;
当该局部区域覆盖范围内的变换系数绝对值之和大于第六阈值时,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第六方面,在第六方面的第五种可能的实现方式中,所述第二编码模块具体用于:
获取该第二参考图像中的局部区域的变换系数信息,其中,该变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和的平均值;
当该局部区域覆盖范围内的变换系数绝对值之和的平均值大于第七阈值时,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第六方面,在第六方面的第六种可能的实现方式中,所述第二编码模块具体用于:
统计该第二参考图像的局部区域的编码比特数和其前一个被编码区域的编码比特数;
当该第二参考图像的局部区域的编码比特数大于其前一个被编码区域的编码比特数时,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第六方面,在第六方面的第七种可能的实现方式中,所述第二编码模块具体用于:
统计该第二参考图像的局部区域的编码比特数和其前一被编码帧的区域平均编码比特数;
当该第二参考图像的局部区域的编码比特数大于其前一被编码帧的区域平
均编码比特数时,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第六方面,在第六方面的第八种可能的实现方式中,所述第二编码模块具体用于:
获取该第二参考图像中的局部区域的运动矢量信息,其中,该运动矢量信息包括局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值;
当该局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值均小于第八阈值,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第六方面,在第六方面的第九种可能的实现方式中,所述第二编码模块具体用于:
获取该第二参考图像中的局部区域运动矢量信息,其中,该运动矢量信息包括局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,和该第二参考图像前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值;
当该局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值小于该前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,确定该第二参考图像中的局部区域适用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不适用于更新该第一参考图像中对应区域或者相关区域。
结合第六方面,在第六方面的第十种可能的实现方式中,所述第四编码模块具体用于:
确定该第二参考图像中的局部区域是否用于更新该第一参考图像中对应区域或者相关区域的标记;
对应,所述第四编码模块具体用于:将该标记的取值编入码流,当该第二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域,该标记为第一取值;当该第二参考图像中的局部区域不用于更新该第一参考图像中对应区域或者相关区域,该标记为第二取值,第一取值不同于第二取值。
结合第六方面,在第六方面的第十一种可能的实现方式中,该参考图像更新信息,包括:
该第二参考图像的局部区域的量化参数偏移值;
对应,所述第四编码模块具体用于:将该量化参数偏移值编入码流,当该第
二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域,该量化参数偏移值的绝对值在第三取值范围内;当该第二参考图像中的局部区域不用于更新该第一参考图像中对应区域或者相关区域,该量化参数偏移值的绝对值不在第三取值范围内。
结合第六方面的第十一种可能的实现方式,在第六方面的第十二种可能的实现方式中,该方法还包括:该第三取值范围为大于等于10,且小于20。
结合第六方面,在第六方面的第十三种可能的实现方式中,该参考图像更新信息,包括:
该第二参考图像的局部区域的量化步长的缩放因子;
对应,所述第四编码模块具体用于:将该量化步长的缩放因子编入码流,当该第二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域,该量化步长的缩放因子在第四取值范围内;当该第二参考图像中的局部区域不用于更新该第一参考图像中对应区域或者相关区域,该量化步长的缩放因子不在第四取值范围内。
结合第六方面的第十三种可能的实现方式,在第六方面的第十四种可能的实现方式中,该方法还包括:所述当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,所述量化步长的缩放因子在第四取值范围内包括:当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,所述量化步长的所述缩放因子大于等于0.5,且小于1;或所述缩放因子小于等于1.5,且大于1。
结合第六方面,在第六方面的第十五种可能的实现方式中,该参考图像更新信息,包括:
该第二参考图像的局部区域的变换系数信息,其中,该变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和;
对应,所述第四编码模块具体用于:将该变换系数信息编入码流,当该局部区域覆盖范围内的变换系数绝对值之和大于第九阈值,且该第一参考图像中对应区域或者相关区域没有被更新过,确定该第二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不用于更新该第一参考图像中对应区域或者相关区域;
。
结合第六方面,在第六方面的第十六种可能的实现方式中,该参考图像更新信息,包括:
该第二参考图像的局部区域的变换系数信息,其中,该变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和的平均值;
对应,所述第四编码模块具体用于:将该变换系数信息编入码流,当该局部
区域覆盖范围内的变换系数绝对值之和的平均值大于第十阈值,且该第一参考图像中对应区域或者相关区域没有被更新过,确定该第二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不用于更新该第一参考图像中对应区域或者相关区域。
结合第六方面,在第六方面的第十七种可能的实现方式中,该参考图像更新信息,包括:
该第二参考图像的局部区域的运动矢量信息,其中,该运动矢量信息包括局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值;
对应,所述第四编码模块具体用于:将该运动矢量信息编入码流,当该局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值均小于第十一阈值,且该第一参考图像中对应区域或者相关区域没有被更新过,确定该第二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不用于更新该第一参考图像中对应区域或者相关区域。
结合第六方面,在第六方面的第十八种可能的实现方式中,该参考图像更新信息,包括:
该第二参考图像中的局部区域运动矢量信息,其中,该运动矢量信息包括局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,和该第二参考图像前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值;
对应,所述第四编码模块具体用于:将该运动矢量信息编入码流,当该局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值小于该前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,且该第一参考图像中对应区域或者相关区域没有被更新过,确定该第二参考图像中的局部区域用于更新该第一参考图像中对应区域或者相关区域,否则,确定该第二参考图像中的局部区域不用于更新该第一参考图像中对应区域或者相关区域。
结合第六方面,在第六方面的第十九种可能的实现方式中,所述第一编码模块具体用于:
使用固定量化参数编码该第二参考图像的待编码图像,其中,对于该局部区域使用第一量化参数,对于非该局部区域使用第二量化参数。
结合第六方面的第十九种可能的实现方式,在第六方面的第二十种可能的实现方式中,该方法还包括:
当第二量化参数大于等于0,且小于10时,第一量化参数为第二量化参数;
当第二量化参数大于等于10,且小于37时,第一量化参数为第二量化参数减5;当第二量化参数大于等于37,且小于等于51时,第一量化参数为第二量化参数减10。
结合第六方面,在第六方面的第二十一种可能的实现方式中,所述第一编码模块具体用于:
使用自适应量化参数编码该第二参考图像的待编码图像,其中,对于该局部区域根据纹理信息和运动信息至少其中之一确定量化参数,对于非该局部区域使用帧级量化参数或者根据编码器规定的码率分配策略或质量控制策略设置确定量化参数。
结合第六方面,第六方面的第一种至第二十一种可能的实现方式中任一可能的实现方式,在第六方面的第二十二种可能的实现方式中,还包括:该第一参考图像中对应区域为该第一参考图像中与该第二参考图像中的局部区域的坐标位置相同的区域。
结合第六方面,第六方面的第一种至第二十一种可能的实现方式中任一可能的实现方式,在第六方面的第二十三种可能的实现方式中,所述第二编码模块还具体用于:当所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域被更新过时,以预定顺序依次搜索所述第一参考图像中的区域,所述第二参考图像中对应区域为所述顺序中的第一块没有被更新过的区域,否则,该第一参考图像中对应区域为该第一参考图像中与该第二参考图像中的局部区域的坐标位置相同的区域。
结合第六方面,第六方面的第一种至第二十一种可能的实现方式中任一可能的实现方式,在第六方面的第二十四种可能的实现方式中,还包括:该参考图像更新信息还包括有该局部区域所在的坐标位置与该第一参考图像中相关区域所在的坐标位置之间的空间偏移量,该空间偏移量包括横向偏移量和纵向偏移量;对应,所述第二编码模块具体还用于:
将该空间偏移量编入码流。
结合第六方面,第六方面的第一种至第二十四种可能的实现方式中任一可能的实现方式,在第六方面的第二十五种可能的实现方式中,还包括第五编码模块,所述第五编码模块还具体用于:对像素替换后的第一参考图像中对应区域或者相关区域与相邻区域的边界处进行滤波。
结合第六方面,第六方面的第一种至第二十五种可能的实现方式中任一可能的实现方式,在第六方面的第二十六种可能的实现方式中,还包括:该第一参考图像为编码待编码序列获得的第一帧重构图像。
结合第六方面,第六方面的第一种至第二十五种可能的实现方式中任一可能的实现方式,在第六方面的第二十七种可能的实现方式中,还包括:该第一
参考图像为编码待编码序列获得的随机访问点图像。
结合第六方面,第六方面的第一种至第二十七种可能的实现方式中任一可能的实现方式,在第六方面的第二十八种可能的实现方式中,包括:该第二参考图像的局部区域是最大编码单元、编码单元、编码单元组、预设大小的图像区域中的一种。
结合第六方面,在第六方面的第二十九种可能的实现方式中还包括第六模块,所述第六模块还具体用于:检测该待编码序列;判断该第一参考图像是否为场景切换图像;确定该第一参考图像特定顺序号;在编码该第一参考图像的待编码图像之前或之后,将该特定顺序号编入码流。
结合第六方面,在第六方面的第三十种可能的实现方式中,所述第一编码模块还具体用于:确定被该第二参考图像所更新的该第一参考图像的特定顺序号;在编码该第二参考图像的待编码图像之前或之后,将该特定顺序号或者与该特定顺序号关联的号码编入码流。
基于上述技术方案,本发明实施例的参考图像编码和解码的方法、编码设备和解码设备,利用在后编码的参考图像,局部更新背景参考图像,即第一参考图像,由此,在编解码过程中将背景参考图像的更新信息分布在后续的参考图像中传输,避免了在解码端分析重构图像的特征带来的复杂度增加,也避免了传输背景参考图像而带来的码流码率陡增而造成的传输时延。
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的参考图像解码的方法的示意性流程图;
图2是根据本发明实施例的滤波的方法中竖直边界滤波的示意图;
图3是根据本发明实施例的滤波的方法中水平边界滤波的示意图;
图4是根据本发明实施例的参考图像解码的方法的另一示意性流程图;
图5是根据本发明实施例的搜索对应区域的方法中搜索顺序的示意图;
图6是根据本发明实施例的参考图像编码的方法的示意性流程图;
图7是根据本发明另一实施例的参考图像编码的方法的示意性流程图;
图8是根据本发明另一实施例的参考图像编码的方法的另一示意性流程图;
图9是根据本发明另一实施例的参考图像解码的方法的示意性流程图;
图10是根据本发明实施例的参考图像解码的装置的示意性框图;
图11是根据本发明实施例的参考图像解码的装置的另一示意性框图;
图12是根据本发明实施例的参考图像编码的装置的示意性框图;
图13是根据本发明另一实施例的参考图像编码的装置的示意性框图;
图14是根据本发明另一实施例的参考图像编码的装置的另一示意性框图;
图15是根据本发明另一实施例的参考图像解码的装置的示意性框图;
图16是根据本发明再一实施例的参考图像编码的装置的示意性框图;
图17是根据本发明再一实施例的参考图像解码的装置的示意性框图;
图18是根据本发明再一实施例的参考图像解码的装置的另一示意性框图。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了根据本发明实施例的参考图像解码的方法的示意性流程图。图1所示的方法可以由解码设备执行,例如解码器,具体地,如图1所示,方法1000包括:
S1100,解析码流,获得第一参考图像的重构图像以及第二参考图像的重构图像,所述第一参考图像先于所述第二参考图像被解码;
S1200,在所述解析码流获得第二参考图像的重构图像之前,或者所述解析码流获得第二参考图像的重构图像之中,或者所述解析码流获得第二参考图像的重构图像之后;解析码流,获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域,所述局部区域的尺寸小于或者等于所述第二参考图像的尺寸;
S1300,当所述参考图像更新信息确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域时,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值。
具体而言,解码设备解析码流获得第一参考图像与第二参考图像,并且与编码端相对应的在解析码流获得第二参考图像的重构图像之前,之中或者之后,解析参考图像更新信息,根据更新信息确定第二参考图像的局部区域是否用于更新第一参考图像的对应区域或相关区域,如果确定第二参考图像的局部区域用于更新第一参考图像的对应区域或相关区域,用所述第二参考图像中局部区
域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值。本发明中所述的第二参考图像指在时域内位于第一参考图像之后的参考图像统称,所述第二参考图像的数量随不同的需求而变化,本发明在此不做限定。
因此,本发明实施例的参考图像解码的方法,解码设备通过后续参考图像的更新信息,通过像素拷贝的方式,局部地更新第一参考图像,由此,在使用第一参考图像提高压缩效率的同时,降低解码的复杂度,也避免了码率陡增带来的时延。
应理解,在本发明实施例中,所述第二参考图像的局部区域可以是最大编码单元(LCU)、编码单元(CU)、编码单元组(CU group)、预设大小的图像区域中的一种,本发明对此不作限定。
应理解,在本发明实施例中,第一参考图像是在第二参考图像之前解码的图像,作为它所在的视频段内后续图像的参考图像。第一参考图像可以是解析码流获得的第一帧重构图像,也可以是解析码流获得的随机访问点图像,本发明对此不作限定。
应理解,在本发明实施例中,在所述解析码流获得第二参考图像的重构图像之前,或者所述解析码流获得第二参考图像的重构图像之中,或者所述解析码流获得第二参考图像的重构图像之后;解析码流,获得参考图像更新信息,是指和编码端的编码方式相对应的,参考图象更新信息在码流中的位置可以在第二参考图像的编码信息之前,之间或者之后以及参考图象更新信息可以作为第二参考图像的编码信息的一部分存在于码流中,本发明对此不作限定。
步骤S1200中解析码流,获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的实施方式,包括:
在第一种可行的实施方式中,确定参考图像更新信息,并根据参考图像更新信息确定第二参考图像中的局部区域是否用于更新第一参考图像中对应区域或者相关区域,包括:
解析所述码流,获取标记,若所述标记为第一取值时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,若所述标记为第二取值时,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域,第一取值不同于第二取值。
优选地,具体实施方式为:从码流中读取当前待解码帧中各区域的参考图像更新标识,1表示该区域用于更新第一参考图像,0表示该区域不用于更新第一参考图像。
在第二种可行的实施方式中,确定参考图像更新信息,并根据参考图像更新信息确定第二参考图像中的局部区域是否用于更新第一参考图像中对应区域
或者相关区域,包括:
解析所述码流,获取编码信息,根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域。
其中,所述编码信息包括所述第二参考图像中的局部区域的量化参数偏移值;对应,所述根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域包括:当所述量化参数偏移值的绝对值在第一取值范围内时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域;当所述量化参数偏移值的绝对值不在第一取值范围内时,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:从码流中读取当前待解码帧中各区域的量化参数偏移值(ΔQP),根据其绝对值所在范围判断区域是否用于更新第一参考图像;若10≤|ΔQP|<20,则用于更新第一参考图像;若0≤|ΔQP|<10,则不用于更新第一参考图像。
应理解,本发明实施例中对量化参数偏移值的取值给出了优选值,本发明对量化参数偏移值的取值不做限定。
在第三种可行的实施方式中,确定参考图像更新信息,并根据参考图像更新信息确定第二参考图像中的局部区域是否用于更新第一参考图像中对应区域或者相关区域,包括:
解析所述码流,获取编码信息,根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域。
所述编码信息包括所述第二参考图像中的局部区域的量化步长的缩放因子;对应,所述根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域包括:当所述量化步长的缩放因子在第二取值范围内时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域;当所述量化步长的缩放因子不在第二取值范围内时,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:读取码流中的缩放因子来判断所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域。
缩放因子F的计算公式如下(1),其取值范围值0.5~1.5:
区域的量化步长计算公式如(2):
当缩放因子F为1时,不用于更新第一参考图像,否则用于更新第一参考图像。
应理解,本发明实施例中对缩放因子的取值给出了优选值,本发明对缩放因子的取值不做限定。
步骤S1200中根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域,其中确定所述第一参考图像中对应区域或者相关区域的实施方式,包括:
在第一种可行的实施方式中,所述第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域。
在第二种可行的实施方式中,所述解析码流,所述获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域还包括:获得所述局部区域所在的坐标位置与所述第一参考图像中相关区域所在的坐标位置之间的空间偏移
量,所述空间偏移量包括横向偏移量和纵向偏移量;在用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值之前,根据所述第二参考图像的局域区域的所在位置的坐标以及所述的空间偏移量确定所述第一参考图像相关区域的位置。。
优选地,具体实施方式为:对于用于更新所述第一参考图像中对应区域或者相关区域的区域,从码流中读取(cMVx,cMVy),根据(cMVx,cMVy)和区域所在位置(Curx,Cury)按照公式(3)获得其在第一参考图像中的更新位置。
Desx=Curx+cMVx,Desy=Cury+cMVy (3)
步骤S1300当所述参考图像更新信息确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域时,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值之后,可选地,还包括:
S1400,对像素替换后的第一参考图像中对应区域或者相关区域与相邻区域的边界处进行滤波。
优选地,具体实施方式为:
第一步,对更新区域与其右边相邻区域的垂直边界附近像素点进行滤波处理,如图2,P代表更新区域,Q表示右边相邻区域,红色框内的像素点pi,row和qi,row,i=0,1,2分别表示P和Q中的每一行距离垂直边界最近的3个像素点,即待滤波的像素点,利用公式(4)计算获得待滤波像素点的值,公式中省略了像素点下标中的行坐标row;
第二步,对更新区域与其左边相邻区域的垂直边界附近像素点进行滤波处理,处理方法与第一步相同;
第三步,对更新区域与其上边相邻区域的水平边界附近像素点进行滤波处理,如图3,P代表更新区域,Q表示上边相邻区域,红色框内的像素点pcol,j和qcol,j,j=0,1,2分别表示P和Q中的每一列距离水平边界最近的3个像素点,即待滤波的像素点,利用公式(4)计算获得待滤波像素点的值,公式中省略了像素点下标中的列坐标col;
第四步,对更新区域与其下边相邻区域的水平边界附近像素点进行滤波处理,处理方法与第一步相同。
图4示出了根据本发明实施例的参考图像解码的方法的示意性流程图。图4所示的方法可以由解码设备执行,例如解码器,具体地,如图4所示,方法2000包括:
S2100,解析码流,获得第一参考图像的重构图像以及第二参考图像的重构图像,所述第一参考图像先于所述第二参考图像被解码;
S2200,在所述解析码流获得第二参考图像的重构图像之前,或者所述解析码流获得第二参考图像的重构图像之中,或者所述解析码流获得第二参考图像的重构图像之后;解析码流,获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,所述局部区域的尺寸小于或者等于所述第二参考图像的尺寸;
S2300,确定所述第一参考图像中对应区域或者相关区域是否已更新;当所述第一参考图像中对应区域或者相关区域未更新,且所述参考图像更新信息确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或
者相关区域时,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值。
具体而言,解码设备解析码流获得第一参考图像与第二参考图像,并且与编码端相对应的在解析码流获得第二参考图像的重构图像之前,之中或者之后,解析参考图像更新信息,根据更新信息确定第二参考图像的局部区域是否用于更新第一参考图像的对应区域或相关区域,如果确定第二参考图像的局部区域用于更新第一参考图像的对应区域或相关区域,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值。
因此,本发明实施例的参考图像解码的方法,解码设备通过后续参考图像的更新信息,通过像素拷贝的方式,局部地更新第一参考图像,由此,在使用第一参考图像提高压缩效率的同时,降低解码的复杂度,也避免了码率陡增带来的时延。
应理解,在本发明实施例中,所述第二参考图像的局部区域可以是最大编码单元(LCU)、编码单元(CU)、编码单元组(CU group)、预设大小的图像区域中的一种,本发明对此不作限定。
应理解,在本发明实施例中,第一参考图像是在第二参考图像之前解码的图像,作为它所在的视频段内后续图像的参考图像。第一参考图像可以是解析码流获得的第一帧重构图像,也可以是解析码流获得的随机访问点图像,本发明对此不作限定。
应理解,在本发明实施例中,在所述解析码流获得第二参考图像的重构图像之前,或者所述解析码流获得第二参考图像的重构图像之中,或者所述解析码流获得第二参考图像的重构图像之后;解析码流,获得参考图像更新信息,是指和编码端的编码方式相对应的,参考图象更新信息在码流中的位置可以在第二参考图像的编码信息之前,之间或者之后以及参考图象更新信息可以作为第二参考图像的编码信息的一部分存在于码流中,本发明对此不作限定。
步骤S2200中解析码流,获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域的实施方式,包括:
在第一种可行的实施方式中,确定参考图像更新信息,并根据参考图像更新信息确定第二参考图像中的局部区域是否适用于更新第一参考图像中对应区域或者相关区域,包括:
解析所述码流,获取标记,若所述标记为第一取值时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,若所述标记为第二取值时,确定所述第二参考图像中的局部区域不适用于更新所
述第一参考图像中对应区域或者相关区域,第一取值不同于第二取值。
优选地,具体实施方式为:从码流中读取当前待解码帧中各区域的参考图像更新标识,1表示该区域适用于更新第一参考图像,0表示该区域不适用于更新第一参考图像。
在第二种可行的实施方式中,确定参考图像更新信息,并根据参考图像更新信息确定第二参考图像中的局部区域是否适用于更新第一参考图像中对应区域或者相关区域,包括:
解析所述码流,获取编码信息,根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域。
其中,所述编码信息包括所述第二参考图像中的局部区域的变换系数信息,其中,所述变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和;对应,所述根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域包括:
当所述局部区域覆盖范围内的变换系数绝对值之和大于第一阈值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:从码流中读取当前帧中各区域的量化后的变换系数;获得满足如下条件(5)的区域;
Σ|Coefi|>Threshold1 (5)
满足条件(5),则确定所述区域适用于更新第一参考图像,否则确定所述区域不适用于更新第一参考图像。
在第三种可行的实施方式中,确定参考图像更新信息,并根据参考图像更新信息确定第二参考图像中的局部区域是否适用于更新第一参考图像中对应区域或者相关区域,包括:
解析所述码流,获取编码信息,根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域。
其中,所述编码信息包括所述第二参考图像中的局部区域的变换系数信息,其中,所述变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和的平均值;对应,所述根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像包括:
当所述局部区域范围内的变换系数绝对值之和的平均值大于第二阈值,确定
所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:从码流中读取当前帧中各区域的量化后的变换系数;获得满足如下条件(6)的区域,其中numBlock表示当前帧包含的区域的个数;
满足条件(6),则确定所述区域适用于更新第一参考图像,否则确定所述区域不适用于更新第一参考图像。
在第四种可行的实施方式中,确定参考图像更新信息,并根据参考图像更新信息确定第二参考图像中的局部区域是否适用于更新第一参考图像中对应区域或者相关区域,包括:
解析所述码流,获取编码信息,根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域。
其中,所述编码信息包括所述第二参考图像中的局部区域的量化参数偏移值;对应,所述根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域包括:当所述量化参数偏移值的绝对值在第一取值范围内时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域;当所述量化参数偏移值的绝对值不在第一取值范围内时,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:从码流中读取当前待解码帧中各区域的量化参数偏移值(ΔQP),根据其绝对值所在范围判断区域是否适用于更新第一参考图像;若10≤|ΔQP|<20,则适用于更新第一参考图像;若0≤|ΔQP|<10,则不适用于更新第一参考图像。
应理解,本发明实施例中对量化参数偏移值的取值给出了优选值,本发明对量化参数偏移值的取值不做限定。
在第五种可行的实施方式中,确定参考图像更新信息,并根据参考图像更新信息确定第二参考图像中的局部区域是否适用于更新第一参考图像中对应区域或者相关区域,包括:
解析所述码流,获取编码信息,根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域。
所述编码信息包括所述第二参考图像中的局部区域的量化步长的缩放因子;对应,所述根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域包括:当所述量化步长的缩放因子在第二取值范围内时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域;当所述量化步长的缩放因子不在第二取值范围内时,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:读取码流中的缩放因子来判断所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域。
缩放因子F的计算公式如下(7),其取值范围值0.5~1.5:
区域的量化步长计算公式如(8):
当缩放因子F为1时,不适用于更新第一参考图像,否则适用于更新第一参考图像。
应理解,本发明实施例中对缩放因子的取值给出了优选值,本发明对缩放因子的取值不做限定。
在第六种可行的实施方式中,确定参考图像更新信息,并根据参考图像更新信息确定第二参考图像中的局部区域是否适用于更新第一参考图像中对应区域或者相关区域,包括:
解析所述码流,获取编码信息,根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域。
其中,所述编码信息包括所述第二参考图像中的局部区域的运动矢量信息,其中,所述运动矢量信息包括局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值;对应,所述根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像包括:
当所述局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝
对值之和的平均值均小于第三阈值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:获得满足如下条件(9)的区域;
公式(9)中,M表示当前区域中包含的编码块的个数;MVx和MVy分别表示每个编码块的横向运动矢量和纵向运动矢量;计算当前区域中所有编码块的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值;将两个平均值分别与阈值Threshold3进行比较;满足条件(9),则确定所述区域适用于更新第一参考图像,否则确定所述区域不适用于更新第一参考图像。
在第七种可行的实施方式中,确定参考图像更新信息,并根据参考图像更新信息确定第二参考图像中的局部区域是否适用于更新第一参考图像中对应区域或者相关区域,包括:
解析所述码流,获取编码信息,根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域。
其中,所述运动矢量信息包括局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,和所述第二参考图像前一已解码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值;对应,所述根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像包括:
当所述局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值小于所述前一已解码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:获得满足如下条件(10)的区域;
公式(10)中,M表示当前区域中包含的编码块的个数;N表示前一个已编码帧/解码帧中包含的编码块的个数;MVx和MVy分别表示每个编码块的横向运
动矢量和纵向运动矢量;满足条件(10),则确定所述区域适用于更新第一参考图像,否则确定所述区域不适用于更新第一参考图像。需注意的是,所述的前一已解码帧指的是所述在时域内位于所述第二参考图像之前相邻的一个已解码帧或者包括所述相邻的已解码帧的多个连续的已解码帧。
步骤S2200中根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,其中确定所述第一参考图像中对应区域或者相关区域的实施方式,包括:
在第一种可行的实施方式中,所述第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域。
在第二种可行的实施方式中,当所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域被更新过时,以预定顺序依次搜索所述第一参考图像中的区域,所述第一参考图像中对应区域为所述顺序中的第一块没有被更新过的区域,否则,所述第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域。
优选地,具体实施方式为判断第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域是否被更新过;若没有被更新,则第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域;否则,则在该位置邻近区域内按照预定的搜索步骤搜索未被更新的区域位置,则第一参考图像中对应区域为所述未被更新的区域位置。
优选地,预定的搜索步骤的具体实施方式为如图5所示,中心区域0表示当前位置区域,首先按从1到8的顺序搜索最靠近当前位置区域的一圈区域,然后按从1到16的顺序搜索次靠近当前位置区域的一圈区域,以此向外延展,直到找到未被更新过的区域为止。
在第三种可行的实施方式中,
所述解析码流,所述获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域还包括:获得所述局部区域所在的坐标位置与所述第一参考图像中相关区域所在的坐标位置之间的空间偏移量,所述空间偏移量包括横向偏移量和纵向偏移量;在用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值之前,根据所述第二参考图像的局域区域的所在位置的坐标以及所述的空间偏移量确定所述第一参考图像相关区域的位置。
优选地,具体实施方式为:对于用于更新所述第一参考图像中对应区域或者相关区域的区域,从码流中读取(cMVx,cMVy),根据(cMVx,cMVy)和区域所在位置(Curx,Cury)按照公式(11)获得其在第一参考图像中的更新位置。
Desx=Curx+cMVx,Desy=Cury+cMVy (11)
步骤S2300当所述参考图像更新信息确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域时,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值之后,可选地,还包括:
S2400,对像素替换后的第一参考图像中对应区域或者相关区域与相邻区域的边界处进行滤波。
优选地,具体实施方式同S1400相同。
为了更好的证明本发明实施例相对比现有技术的有益效果,测试了采用本发明实施例的方法和现有技术中的方法进行编码时的编码性能进行了对比,结果如表1所示:
表1仿真结果
通过表1可以看写出,采用本发明实施例的参考图像编码的方法,在没有增加解码端复杂度,没有传输整帧参考图像的情况下,比现有技术依然能够节省约8%的码率。
因此,本发明实施例的参考图像解码的方法,解码设备通过后续参考图像
的更新信息,通过像素拷贝的方式,局部地更新第一参考图像,由此,在使用第一参考图像提高压缩效率的同时,降低解码的复杂度,也避免了码率陡增带来的时延。
图6示出了根据本发明实施例的参考图像编码的方法的示意性流程图。应注意,编码端的有关操作本质上与解码端的一致,为了避免重复,在此不再赘述。图6所示的方法可以由编码设备执行,例如编码器,具体地,如图6所示,方法3000包括:
S3100,编码待编码序列,获得第一参考图像的重构图像,编码第二参考图像以获得所述第二参考图像的重构图像,所述第一参考图像先于所述第二参考图像被编码;
S3200,确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,所述局部区域的尺寸小于或者等于所述第二参考图像的尺寸;
S3300,确定所述第一参考图像中对应区域或者相关区域是否已更新;当所述第一参考图像中对应区域或者相关区域未更新,且确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域时,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值;
S3400,将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流。
具体而言,编码设备编码待编码序列,获得第一参考图像的重构图像,编码第二参考图像以获得所述第二参考图像的重构图像,确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域;确定所述第一参考图像中对应区域或者相关区域是否已更新;当所述第一参考图像中对应区域或者相关区域未更新,且确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域时,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值;将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流。
因此,本发明实施例的参考图像编码的方法,编码设备通过后续参考图像的更新信息,通过像素拷贝的方式,局部地更新第一参考图像,由此,在使用第一参考图像提高压缩效率的同时,降低解码的复杂度,也避免了码率陡增带来的时延。
应理解,在本发明实施例中,所述第二参考图像的局部区域可以是最大编码单元(LCU)、编码单元(CU)、编码单元组(CU group)、预设大小的图
像区域的一种,本发明对此不作限定。
应理解,在本发明实施例中,第一参考图像是在第二参考图像之前编码的图像,作为它所在的视频段内后续图像的参考图像。第一参考图像可以是编码待编码序列获得的第一帧重构图像,也可以是编码待编码序列获得的随机访问点图像,本发明对此不作限定。
应理解,在本发明实施例中,将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流,是指参考图象更新信息被编入码流的位置可以在第二参考图像的编码信息之前,之间或者之后以及参考图象更新信息可以作为第二参考图像的编码信息的一部分存在于码流中,本发明对此不作限定。
步骤S3200确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域的实施方式,包括:
在第一种可行的实施方式中,包括:
获取所述第二参考图像的待编码图像与所述局部区域具有相同坐标位置的第一区域,以及所述第二参考图像前一帧的待编码图像与所述局部区域具有相同坐标位置的第二区域;
计算所述第一区域与所述第二区域中的所有像素点的均方误差值;
当所述均方误差值小于第四阈值时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:
第一步,获得当前待编码帧Fi,即第二参考图像,和前一帧Fi-1的原始图像;
第二步,对于当前待编码帧中每个区域,计算其与前一帧中相同位置的区域中所有像素点原始像素值的均方误差(Mean Square Error,MSE);
第三步,获得满足如下条件(12)的区域,其中Threshold1为预设阈值,Flagupdated为参考帧cRefi-1,即第一参考图像,中各区域是否已经被更新过的标识,1表示已被更新,0标识未被更新,cRefi-1为使用当前待编码帧Fi之前的已编码帧的重建像素值局部更新后的参考帧;
满足条件(12)的区域,为适用于更新所述第一参考图像中对应区域或者相关区域;否则,为不适用于更新所述第一参考图像中对应区域或者相关区域。
在第二种可行的实施方式中,包括:
获取所述局部区域的待编码图像进行帧间预测,获得所述局部区域的预测图像;
计算所述局部区域的待编码图像与所述局部区域的预测图像的所有像素点的横轴预测差绝对值和纵轴预测差绝对值之后的平均值;
当所述平均值小于第五阈值时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:
第一步,对当前待编码帧Fi,即第二参考图像,进行预测,Fi可使用cRefi-1,即第一参考图像,作为其参考帧进行帧间预测,也可使用其他短期参考帧进行帧间预测,cRefi-1为使用Fi之前已编码帧的重建像素值局部更新后的参考帧,即第一参考图像;获得Fi中各像素点的预测值(Px,Py)与原始像素值(Ox,Oy)之间的差值,即预测误差;
第二步,获得满足如下条件(13)的区域:
公式(13)中,N为区域中像素点的个数,计算区域中所有像素点预测误差的平均值,并与阈值Threshold5进行比较。满足条件(13)的区域,为适用于更新所述第一参考图像中对应区域或者相关区域;否则,为不适用于更新所述第一参考图像中对应区域或者相关区域。
在第三种可行的实施方式中,包括:
获取所述第二参考图像中的局部区域的变换系数信息,其中,所述变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和;
当所述局部区域覆盖范围内的变换系数绝对值之和大于第六阈值时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:
第一步,对当前待编码帧Fi,即第二参考图像,进行预测编码,Fi可使用cRefi-1,即第一参考图像,作为其参考帧进行帧间预测,也可使用其他短期参考帧进行帧间预测,cRefi-1为使用Fi之前已编码帧的重建像素值局部更新后的参考帧;
第二步,获得当前帧中各区域的编码信息和量化后的变换系数,对其进行
熵编码并写入码流,编码信息包括区域中各编码块的编码模式等;
第三步,获得满足如下条件(14)的区域;
Σ|Coefi|>Threshold6 (14)
满足条件(14)的区域,为适用于更新所述第一参考图像中对应区域或者相关区域;否则,为不适用于更新所述第一参考图像中对应区域或者相关区域。
在第四种可行的实施方式中,包括:
获取所述第二参考图像中的局部区域的变换系数信息,其中,所述变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和的平均值;
当所述局部区域覆盖范围内的变换系数绝对值之和的平均值大于第七阈值时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:
第一步,对当前待编码帧Fi,即第二参考图像,进行预测编码,Fi可使用cRefi-1,即第一参考图像,作为其参考帧进行帧间预测,也可使用其他短期参考帧进行帧间预测,cRefi-1为使用Fi之前已编码帧的重建像素值局部更新后的参考帧;
第二步,获得当前帧中各区域的编码信息和量化后的变换系数,对其进行熵编码并写入码流,编码信息包括区域中各编码块的编码模式等;
第三步,获得满足如下条件(15)的区域,其中numBlock表示当前帧包含的区域的个数;
满足条件(15)的区域,为适用于更新所述第一参考图像中对应区域或者相关区域;否则,为不适用于更新所述第一参考图像中对应区域或者相关区域。
在第五种可行的实施方式中,包括:
统计所述第二参考图像的局部区域的编码比特数和其前一个被编码区域的编码比特数;
当所述第二参考图像的局部区域的编码比特数大于其前一个被编码区域的编码比特数时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
在第六种可行的实施方式中,包括:
统计所述第二参考图像的局部区域的编码比特数和其前一被编码帧的区域
平均编码比特数;
当所述第二参考图像的局部区域的编码比特数大于其前一被编码帧的区域平均编码比特数时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
在第七种可行的实施方式中,包括:
获取所述第二参考图像中的局部区域的运动矢量信息,其中,所述运动矢量信息包括局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值;
当所述局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值均小于第八阈值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:
第一步,对当前待编码帧Fi,即第二参考图像,进行预测编码,Fi可使用cRefi-1,即第一参考图像,作为其参考帧进行帧间预测,也可使用其他短期参考帧进行帧间预测,cRefi-1为使用Fi之前已编码帧的重建像素值局部更新后的参考帧;
第二步,获得当前帧中各区域的编码信息和量化后的变换系数,对其进行熵编码并写入码流,编码信息包括区域中各编码块的编码模式等;
第三步,获得满足如下条件(16)的区域;
公式(16)中,M表示当前区域中包含的编码块的个数;MVx和MVy分别表示每个编码块的横向运动矢量和纵向运动矢量;计算当前区域中所有编码块的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值;将两个平均值分别与阈值Threshold8进行比较;满足条件(16)的区域,为适用于更新所述第一参考图像中对应区域或者相关区域;否则,为不适用于更新所述第一参考图像中对应区域或者相关区域。
在第八种可行的实施方式中,包括:
获取所述第二参考图像中的局部区域运动矢量信息,其中,所述运动矢量信息包括局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,和所述第二参考图像前一已编码帧内的横向运动矢量绝对值与纵向运动
矢量绝对值的和之和的平均值;
当所述局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值小于所述前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:
第一步,对当前待编码帧Fi,即第二参考图像,进行预测编码,Fi可使用cRefi-1,即第一参考图像,作为其参考帧进行帧间预测,也可使用其他短期参考帧进行帧间预测,cRefi-1为使用Fi之前已编码帧的重建像素值局部更新后的参考帧;
第二步,获得当前帧中各区域的编码信息和量化后的变换系数,对其进行熵编码并写入码流,编码信息包括区域中各编码块的编码模式等;
第三步,获得满足如下条件(17)的区域;
公式(17)中,M表示当前区域中包含的编码块的个数;N表示前一个已编码帧/解码帧中包含的编码块的个数;MVx和MVy分别表示每个编码块的横向运动矢量和纵向运动矢量;满足条件(17)的区域,为适用于更新所述第一参考图像中对应区域或者相关区域;否则,为不适用于更新所述第一参考图像中对应区域或者相关区域。
步骤S3400将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流,其中将参考图像更新信息编入码流的实施方式,包括:
在第一种可行的实施方式中,包括:
当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,所述标记为第一取值;当所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域,所述标记为第二取值,第一取值不同于第二取值;
将所述标记的取值编入码流。
优选地,具体实施方式为:
当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,将标记设置为1,并编入码流,否则,将标记设置为0,编入码流。
在第二种可行的实施方式中,包括:
当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,所述量化参数偏移值在第三取值范围内;当所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域,所述量化参数偏移值不在第三取值范围内;
将所述量化参数偏移值编入码流。
优选地,具体实施方式为:
若当前区域为用于更新所述第一参考图像中对应区域或者相关区域的局部区域,则根据此区域的纹理特性设置其QP(QParea)与帧级QP(QPSlice)之间差值ΔQP,本实施例用区域中像素点亮度值的方差作为衡量其纹理特性的方法;如公式(18),利用更新区域像素点亮度值的方差与当前待编码帧中所有区域中像素点亮度值的方差的平均值的比值计算获得ΔQP,其中10≤|ΔQP|<20;公式中,xi,n表示标号为n的区域中像素点i的亮度值,表示标号为n的区域中所有像素点亮度的平均值,N表示当前帧中区域的数量;
可以理解,本实施例使用方差作为衡量纹理特性的方法,也可使用其他方法衡量;同时也可根据除纹理特性之外的其他特性,例如运动特性来设置ΔQP。
量化参数偏移值ΔQP作为编码信息编入码流。
应理解,本发明实施例中对量化参数偏移量的取值给出了优选值,本发明对量化参数的取值不做限定。
在第三种可行的实施方式中,包括:
当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,所述量化步长的缩放因子在第四取值范围内;当所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域,所述量化步长的缩放因子不在第四取值范围内;
将所述量化步长的缩放因子编入码流。
优选地,具体实施方式为:
当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,编码端自适应地调整量化步长(Quantization Step,Qstep),将量化步长的缩放因子进行编码传递到解码端,所述区域的量化步长的缩放因子F不等于1。
缩放因子F的计算公式如下(19),其取值范围值0.5~1.5:
区域的量化步长计算公式如(20):
量化步长的缩放因子F作为编码信息编入码流。
应理解,本发明实施例中对缩放因子的取值给出了优选值,本发明对缩放因子的取值不做限定。
在第四种可行的实施方式中,包括:
当所述局部区域覆盖范围内的变换系数绝对值之和大于第九阈值,且所述第一参考图像中对应区域或者相关区域没有被更新过,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域;
将所述变换系数信息编入码流。
优选地,具体实施方式与解码端相对应不再重复,变换系数信息作为编码信息编入码流。
在第五种可行的实施方式中,包括:
当所述局部区域覆盖范围内的变换系数绝对值之和的平均值大于第十阈值,且所述第一参考图像中对应区域或者相关区域没有被更新过,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域;
将所述变换系数信息编入码流。
优选地,具体实施方式与解码端相对应不再重复,变换系数信息作为编码信息编入码流。
在第六种可行的实施方式中,包括:
当所述局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值均小于第十一阈值,且所述第一参考图像中对应区域或者相关区域没有被更新过,确定所述第二参考图像中的局部区域用于更新所述第一
参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域;
将所述运动矢量信息编入码流。
优选地,具体实施方式与解码端相对应不再重复,运动矢量信息作为编码信息编入码流。
在第七种可行的实施方式中,包括:
当所述局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值小于所述前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,且所述第一参考图像中对应区域或者相关区域没有被更新过,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域;
将所述运动矢量信息编入码流。
优选地,具体实施方式与解码端相对应不再重复,运动矢量信息作为编码信息编入码流。
步骤S3100在所述编码待编码序列获得第二参考图像的重构图像的实施方式,包括:
在第一种可行的实施方式中,包括:使用固定量化参数编码所述第二参考图像的待编码图像,其中,对于所述局部区域使用第一量化参数,对于非所述局部区域使用第二量化参数。
优选地,具体实施方式为:
使用如下公式(21)计算得到的量化参数(Quantization Parameter,QP)对变换后的变换系数进行量化,其中QPSlice为帧级QP,更新区域为所述局部区域,非更新区域为其他区域,表2为QPSlice与ΔQP的取值对应关系。
表2ΔQP取值表
QPSlice取值范围 | 0~10 | 10~37 | 37~51 |
ΔQP | 0 | 5 | 10 |
使用帧级QP-ΔQP作为所述局部区域的量化参数,使用帧级QP作为其他区域的量化参数。
应理解,本发明实施例中对量化参数的取值给出了优选值,本发明对量化参数的取值不做限定。
在第二种可行的实施方式中,包括:使用自适应量化参数编码所述第二参考图像的待编码图像,其中,对于所述局部区域根据纹理信息和运动信息至少其中之一确定量化参数,对于非所述局部区域使用帧级量化参数或者根据编码器规定的码率分配策略或质量控制策略设置确定量化参数。
优选地,具体实施方式为:
若当前区域为不是所述局部区域,则设置其QP(QParea)为帧级QP,也可以根据编码器规定的码率分配策略或质量控制策略设置其ΔQP;ΔQP绝对值的取值范围如公式(22),更新区域为所述局部区域,非更新区域为其他区域:
使用公式(22)中的量化参数作为第二参考图像各个区域的量化参数。
应理解,本发明实施例中对量化参数的取值给出了优选值,本发明对量化参数的取值不做限定。
步骤S3200中确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,其中确定所述第一参考图像中对应区域或者相关区域的实施方式,包括:
在第一种可行的实施方式中,所述第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域。
在第二种可行的实施方式中,当所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域被更新过时,以预定顺序依次搜索所述第一参考图像中的区域,所述第一参考图像中对应区域为所述顺序中的第一块没有被更新过的区域,否则,所述第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域。
优选地,具体实施方式与解码端相对应不再重复。
在第三种可行的实施方式中,所述参考图像更新信息还包括有所述局部区域所在的坐标位置与所述第一参考图像中相关区域所在的坐标位置之间的空间偏移量,所述空间偏移量包括横向偏移量和纵向偏移量;根据所述第二参考图像的局域区域的所在位置的坐标以及所述的空间偏移量确定所述第一参考图像相关区域的位置。该实施方式也可以表述为,所述解析码流,所述获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域还包括:获得所述局
部区域所在的坐标位置与所述第一参考图像中相关区域所在的坐标位置之间的空间偏移量,所述空间偏移量包括横向偏移量和纵向偏移量;并在用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值之前,根据所述第二参考图像的局域区域的所在位置的坐标以及所述的空间偏移量确定所述第一参考图像相关区域的位置。
优选地,具体实施方式与解码端相对应不再重复。
步骤S3400在将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流之后,可选地,还包括:
S3500,对像素替换后的第一参考图像中对应区域或者相关区域与相邻区域的边界处进行滤波。
优选地,具体实施方式同S1400相同。
因此,本发明实施例的参考图像编码的方法,编码设备通过后续参考图像的更新信息,通过像素拷贝的方式,局部地更新第一参考图像,由此,在使用第一参考图像提高压缩效率的同时,降低解码的复杂度,也避免了码率陡增带来的时延。
图7示出了根据本发明实施例的参考图像编码的方法的示意性流程图。图7所示的方法可以由编码设备执行,例如编码器,具体地,如图7所示,方法4000包括:
S4100,检测所述待编码序列;
S4200,判断当前待编码图像是否为场景切换图像;
S4300,编码当前待编码图像,在编码所述待编码图像的重构图像之前或之后,将所述特定顺序号编入码流。
优选地,如图8所示,S4300包括:
S4301,确定当前待编码图像的特定顺序号,其中,当当前待编码图像是场景切换图像时,顺序赋予当前待编码图像顺序号,否则,将当前待编码图像更新范围内的场景切换图像的顺序号的相同或关联顺序号赋予当前待编码图像;
S4302,按照方法3000所述的方法编码当前待编码图像;
S4303,当当前待编码图像不是场景切换图像时,按照方法3000所述的方法更新当前待编码图像所对应的场景切换图像所对应的参考图像;
S4304,在编码所述待编码图像的重构图像之前或之后,将所述特定顺序号编入码流。
可以理解,场景切换图像是指方法3000中的第一参考图像所对应的待编码图像,还可以是和同一视频段内的其他视频帧具有参考关系的第一帧,随机
接入图像等,本发明不作限定。
可以理解,在待编码序列中,可以有一个或者多个场景切换图像或者随机接入图像,本发明不作限定。
图9示出了根据本发明实施例的参考图像解码的方法的示意性流程图。图9所示的方法可以由解码设备执行,例如解码器,具体地,如图9所示,方法5000包括:
S5100,判断当前待解码图像是否为场景切换图像;
S5200,与编码端相对应的,在解码所述待解码图像的重构图像之前或之后,解析码流,获得当前待解码帧的特定顺序号;
S5300,解析码流,获得待解码图像的重构图像;
S5400,当当前待解码图像不为场景切换图像时,根据所述特定顺序号确定对应的场景切换图像;
S5500,当当前待解码图像不为场景切换图像时,按照1000或2000的方法,更新所述特定顺序号确定对应的场景切换图像所对应的参考图像。
可以理解,场景切换图像是指方法1000中的第一参考图像所对应的待解码图像或者方法2000中的第一参考图像所对应的待解码图像,还可以是和同一视频段内的其他视频帧具有参考关系的第一帧,随机接入图像等,本发明不作限定。
可以理解,在待解码序列中,可以有一个或者多个场景切换图像或者随机接入图像,本发明不作限定。
图10示出了根据本发明实施例的参考图像解码的装置的示意性框图。如图10所示,解码设备10包括:
第一解码模块11,用于解析码流,获得第一参考图像的重构图像以及第二参考图像的重构图像,所述第一参考图像先于所述第二参考图像被解码;
第二解码模块12,用于在所述解析码流获得第二参考图像的重构图像之前,或者所述解析码流获得第二参考图像的重构图像之中,或者所述解析码流获得第二参考图像的重构图像之后;解析码流,获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域,所述局部区域的尺寸小于或者等于所述第二参考图像的尺寸;
第三解码模块13,用于当所述参考图像更新信息确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域时,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值。
具体而言,解码设备解析码流获得第一参考图像与第二参考图像,并且与编码端相对应的在解析码流获得第二参考图像的重构图像之前,之中或者之后,解析参考图像更新信息,根据更新信息确定第二参考图像的局部区域是否用于更新第一参考图像的对应区域或相关区域,如果确定第二参考图像的局部区域用于更新第一参考图像的对应区域或相关区域,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值。
因此,本发明实施例的参考图像解码的方法,解码设备通过后续参考图像的更新信息,通过像素拷贝的方式,局部地更新第一参考图像,由此,在使用第一参考图像提高压缩效率的同时,降低解码的复杂度,也避免了码率陡增带来的时延。
应理解,在本发明实施例中,所述第二参考图像的局部区域可以是最大编码单元(LCU)、编码单元(CU)、编码单元组(CU group)、预设大小的图像区域中的一种,本发明对此不作限定。
应理解,在本发明实施例中,第一参考图像是在第二参考图像之前解码的图像,作为它所在的视频段内后续图像的参考图像。第一参考图像可以是解析码流获得的第一帧重构图像,也可以是解析码流获得的随机访问点图像,本发明对此不作限定。
应理解,在本发明实施例中,在所述解析码流获得第二参考图像的重构图像之前,或者所述解析码流获得第二参考图像的重构图像之中,或者所述解析码流获得第二参考图像的重构图像之后;解析码流,获得参考图像更新信息,是指和编码端的编码方式相对应的,参考图象更新信息在码流中的位置可以在第二参考图像的编码信息之前,之间或者之后以及参考图象更新信息可以作为第二参考图像的编码信息的一部分存在于码流中,本发明对此不作限定。
所述第二解码模块12用于解析码流,获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的实施方式,包括:
在第一种可行的实施方式中,所述第二解码模块具体用于:
解析所述码流,获取标记,若所述标记为第一取值时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,若所述标记为第二取值时,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域,第一取值不同于第二取值。
优选地,具体实施方式为:从码流中读取当前待解码帧中各区域的参考图像更新标识,1表示该区域用于更新第一参考图像,0表示该区域不用于更新第一参考图像。
在第二种可行的实施方式中,所述第二解码模块具体用于:
解析所述码流,获取编码信息,根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域。
其中,所述编码信息包括所述第二参考图像中的局部区域的量化参数偏移值;对应,所述第二解码模块具体用于:当所述量化参数偏移值的绝对值在第一取值范围内时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域;当所述量化参数偏移值的绝对值不在第一取值范围内时,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:从码流中读取当前待解码帧中各区域的量化参数偏移值(ΔQP),根据其绝对值所在范围判断区域是否用于更新第一参考图像;若10≤|ΔQP|<20,则用于更新第一参考图像;若0≤|ΔQP|<10,则不用于更新第一参考图像。
应理解,本发明实施例中对量化参数偏移值的取值给出了优选值,本发明对量化参数偏移值的取值不做限定。
在第三种可行的实施方式中,所述第二解码模块具体用于:
解析所述码流,获取编码信息,根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域。
所述编码信息包括所述第二参考图像中的局部区域的量化步长的缩放因子;对应,所述第二解码模块具体用于:当所述量化步长的缩放因子在第二取值范围内时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域;当所述量化步长的缩放因子不在第二取值范围内时,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:读取码流中的缩放因子来判断所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域。
缩放因子F的计算公式如下(23),其取值范围值0.5~1.5:
区域的量化步长计算公式如(24):
当缩放因子F为1时,不用于更新第一参考图像,否则用于更新第一参考图像。
应理解,本发明实施例中对缩放因子的取值给出了优选值,本发明对缩放因子的取值不做限定。
所述第二解码模块12用于根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域,其中确定所述第一参考图像中对应区域或者相关区域的实施方式,包括:
在第一种可行的实施方式中,所述第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域。
在第二种可行的实施方式中,所述第二解码模块还具体用于:获得所述局部区域所在的坐标位置与所述第一参考图像中相关区域所在的坐标位置之间的空间偏移量,所述空间偏移量包括横向偏移量和纵向偏移量,并在所述第三解码模块用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值之前,根据所述第二参考图像的局域区域的所在位置的坐标以及所述的空间偏移量确定所述第一参考图像相关区域的位置。
优选地,具体实施方式为:对于用于更新所述第一参考图像中对应区域或者相关区域的区域,从码流中读取(cMVx,cMVy),根据(cMVx,cMVy)和区域所在位置(Curx,Cury)按照公式(25)获得其在第一参考图像中的更新位置。
Desx=Curx+cMVx,Desy=Cury+cMVy (25)
所述第三解码模块13用于当所述参考图像更新信息确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域时,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值之后,可选地,还包括第四解码模块14,用于对像素替换后的第一参考图像中对应区域或者相关区域与相邻区域的边界处进行滤波。
优选地,具体实施方式为:
第一步,对更新区域与其右边相邻区域的垂直边界附近像素点进行滤波处理,如图2,P代表更新区域,Q表示右边相邻区域,红色框内的像素点pi,row和qi,row,i=0,1,2分别表示P和Q中的每一行距离垂直边界最近的3个像素点,即待滤波的像素点,利用公式(26)计算获得待滤波像素点的值,公式中省略了像素点下标中的行坐标row;
第二步,对更新区域与其左边相邻区域的垂直边界附近像素点进行滤波处理,处理方法与第一步相同;
第三步,对更新区域与其上边相邻区域的水平边界附近像素点进行滤波处理,如图3,P代表更新区域,Q表示上边相邻区域,红色框内的像素点pcol,j和qcol,j,j=0,1,2分别表示P和Q中的每一列距离水平边界最近的3个像素点,即待滤波的像素点,利用公式(26)计算获得待滤波像素点的值,公式中省略了像素点下标中的列坐标col;
第四步,对更新区域与其下边相邻区域的水平边界附近像素点进行滤波处理,处理方法与第一步相同。
图11示出了根据本发明实施例的参考图像解码的装置的示意性框图。如图11所示,解码设备20包括:
第一解码模块21,用于解析码流,获得第一参考图像的重构图像以及第二参考图像的重构图像,所述第一参考图像先于所述第二参考图像被解码;
第二解码模块22,用于在所述解析码流获得第二参考图像的重构图像之前,或者所述解析码流获得第二参考图像的重构图像之中,或者所述解析码流获得第二参考图像的重构图像之后;解析码流,获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,所述局部区域的尺寸小于或者等于所述第二参考图像的尺寸;
第三解码模块23,用于确定所述第一参考图像中对应区域或者相关区域是否已更新;当所述第一参考图像中对应区域或者相关区域未更新,且所述参考图像更新信息确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域时,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值。
具体而言,解码设备解析码流获得第一参考图像与第二参考图像,并且与编码端相对应的在解析码流获得第二参考图像的重构图像之前,之中或者之后,解析参考图像更新信息,根据更新信息确定第二参考图像的局部区域是否用于更新第一参考图像的对应区域或相关区域,如果确定第二参考图像的局部区域用于更新第一参考图像的对应区域或相关区域,用所述第二参考图像中局部区
域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值。
因此,本发明实施例的参考图像解码的方法,解码设备通过后续参考图像的更新信息,通过像素拷贝的方式,局部地更新第一参考图像,由此,在使用第一参考图像提高压缩效率的同时,降低解码的复杂度,也避免了码率陡增带来的时延。
应理解,在本发明实施例中,所述第二参考图像的局部区域可以是最大编码单元(LCU)、编码单元(CU)、编码单元组(CU group)、预设大小的图像区域中的一种,本发明对此不作限定。
应理解,在本发明实施例中,第一参考图像是在第二参考图像之前解码的图像,作为它所在的视频段内后续图像的参考图像。第一参考图像可以是解析码流获得的第一帧重构图像,也可以是解析码流获得的随机访问点图像,本发明对此不作限定。
应理解,在本发明实施例中,在所述解析码流获得第二参考图像的重构图像之前,或者所述解析码流获得第二参考图像的重构图像之中,或者所述解析码流获得第二参考图像的重构图像之后;解析码流,获得参考图像更新信息,是指和编码端的编码方式相对应的,参考图象更新信息在码流中的位置可以在第二参考图像的编码信息之前,之间或者之后以及参考图象更新信息可以作为第二参考图像的编码信息的一部分存在于码流中,本发明对此不作限定。
所述第二解码模块22用于解析码流,获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域的实施方式,包括:
在第一种可行的实施方式中,所述第二解码模块具体用于:
解析所述码流,获取标记,若所述标记为第一取值时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,若所述标记为第二取值时,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域,第一取值不同于第二取值。
优选地,具体实施方式为:从码流中读取当前待解码帧中各区域的参考图像更新标识,1表示该区域适用于更新第一参考图像,0表示该区域不适用于更新第一参考图像。
在第二种可行的实施方式中,所述第二解码模块具体用于:
解析所述码流,获取编码信息,根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域。
其中,所述编码信息包括所述第二参考图像中的局部区域的变换系数信息,
其中,所述变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和;对应,所述第二解码模块具体用于:
当所述局部区域覆盖范围内的变换系数绝对值之和大于第一阈值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:从码流中读取当前帧中各区域的量化后的变换系数;获得满足如下条件(27)的区域;
Σ|Coefi|>Threshold9 (27)
满足条件(27),则确定所述区域适用于更新第一参考图像,否则确定所述区域不适用于更新第一参考图像。
在第三种可行的实施方式中,所述第二解码模块具体用于:
解析所述码流,获取编码信息,根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域。
其中,所述编码信息包括所述第二参考图像中的局部区域的变换系数信息,其中,所述变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和的平均值;对应,所述第二解码模块具体用于:
当所述局部区域范围内的变换系数绝对值之和的平均值大于第二阈值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:从码流中读取当前帧中各区域的量化后的变换系数;获得满足如下条件(28)的区域,其中numBlock表示当前帧包含的区域的个数;
满足条件(28),则确定所述区域适用于更新第一参考图像,否则确定所述区域不适用于更新第一参考图像。
在第四种可行的实施方式中,所述第二解码模块具体用于:
解析所述码流,获取编码信息,根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域。
其中,所述编码信息包括所述第二参考图像中的局部区域的量化参数偏移
值;对应,所述第二解码模块具体用于:当所述量化参数偏移值的绝对值在第一取值范围内时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域;当所述量化参数偏移值的绝对值不在第一取值范围内时,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:从码流中读取当前待解码帧中各区域的量化参数偏移值(ΔQP),根据其绝对值所在范围判断区域是否适用于更新第一参考图像;若10≤|ΔQP|<20,则适用于更新第一参考图像;若0≤|ΔQP|<10,则不适用于更新第一参考图像。
应理解,本发明实施例中对量化参数偏移值的取值给出了优选值,本发明对量化参数偏移值的取值不做限定。
在第五种可行的实施方式中,所述第二解码模块具体用于:
解析所述码流,获取编码信息,根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域。
所述编码信息包括所述第二参考图像中的局部区域的量化步长的缩放因子;对应,所述第二解码模块具体用于:当所述量化步长的缩放因子在第二取值范围内时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域;当所述量化步长的缩放因子不在第二取值范围内时,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:读取码流中的缩放因子来判断所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域。
缩放因子F的计算公式如下(29),其取值范围值0.5~1.5:
区域的量化步长计算公式如(30):
当缩放因子F为1时,不适用于更新第一参考图像,否则适用于更新第一参考图像。
应理解,本发明实施例中对缩放因子的取值给出了优选值,本发明对缩放因子的取值不做限定。
在第六种可行的实施方式中,所述第二解码模块具体用于:
解析所述码流,获取编码信息,根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域。
其中,所述编码信息包括所述第二参考图像中的局部区域的运动矢量信息,其中,所述运动矢量信息包括局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值;对应,所述第二解码模块具体用于:
当所述局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值均小于第三阈值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:获得满足如下条件(31)的区域;
公式(31)中,M表示当前区域中包含的编码块的个数;MVx和MVy分别表示每个编码块的横向运动矢量和纵向运动矢量;计算当前区域中所有编码块的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值;将两个平均值分别与阈值Threshold11进行比较;满足条件(31),则确定所述区域适用于更新第一参考图像,否则确定所述区域不适用于更新第一参考图像。
在第七种可行的实施方式中,所述第二解码模块具体用于:
解析所述码流,获取编码信息,根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域。
其中,所述运动矢量信息包括局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,和所述第二参考图像前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值;对应,所述第二解码模块具体用于:
当所述局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值小于所述前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部
区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:获得满足如下条件(32)的区域;
公式(32)中,M表示当前区域中包含的编码块的个数;N表示前一个已编码帧/解码帧中包含的编码块的个数;MVx和MVy分别表示每个编码块的横向运动矢量和纵向运动矢量;满足条件(32),则确定所述区域适用于更新第一参考图像,否则确定所述区域不适用于更新第一参考图像。
所述第二解码模块22用于根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,其中确定所述第一参考图像中对应区域或者相关区域的实施方式,包括:
在第一种可行的实施方式中,所述第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域。
在第二种可行的实施方式中,所述第二解码模块还具体用于:当所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域被更新过时,以预定顺序依次搜索所述第一参考图像中的区域,所述第一参考图像中对应区域为所述顺序中的第一块没有被更新过的区域,否则,所述第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域。
优选地,具体实施方式为判断第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域是否被更新过;若没有被更新,则第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域;否则,则在该位置邻近区域内按照预定的搜索步骤搜索未被更新的区域位置,则第一参考图像中对应区域为所述未被更新的区域位置。
优选地,预定的搜索步骤的具体实施方式为如图5所示,中心区域0表示当前位置区域,首先按从1到8的顺序搜索最靠近当前位置区域的一圈区域,然后按从1到16的顺序搜索次靠近当前位置区域的一圈区域,以此向外延展,直到找到未被更新过的区域为止。
在第三种可行的实施方式中,所述第二解码模块还具体用于:获得所述局部区域所在的坐标位置与所述第一参考图像中相关区域所在的坐标位置之间的空间偏移量,所述空间偏移量包括横向偏移量和纵向偏移量,并在所述第三解码模块用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值之前,根据所述第二参考图像的局域区域的所在位置的坐标以及所述的空间偏移量确定所述第一参考图像相关区域的位置。
优选地,具体实施方式为:对于用于更新所述第一参考图像中对应区域或者相关区域的区域,从码流中读取(cMVx,cMVy),根据(cMVx,cMVy)和区域所在位置(Curx,Cury)按照公式(33)获得其在第一参考图像中的更新位置。
Desx=Curx+cMVx,Desy=Cury+cMVy (33)
所述第三解码模块23,用于当所述参考图像更新信息确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域时,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值之后,可选地,还包括第四解码模块24,用于对像素替换后的第一参考图像中对应区域或者相关区域与相邻区域的边界处进行滤波。
优选地,具体实施方式同第四解码模块14相同。
因此,本发明实施例的参考图像解码的方法,解码设备通过后续参考图像的更新信息,通过像素拷贝的方式,局部地更新第一参考图像,由此,在使用第一参考图像提高压缩效率的同时,降低解码的复杂度,也避免了码率陡增带来的时延。
图12示出了根据本发明实施例的参考图像编码的装置的示意性框图。应注意,编码端的有关操作本质上与解码端的一致,为了避免重复,在此不再赘述。如图12所示,解码设备30包括:
第一编码模块31,用于编码待编码序列,获得第一参考图像的重构图像,编码第二参考图像以获得所述第二参考图像的重构图像,所述第一参考图像先于所述第二参考图像被编码;
第二编码模块32,用于确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,所述局部区域的尺寸小于或者等于所述第二参考图像的尺寸;
第三编码模块33,用于确定所述第一参考图像中对应区域或者相关区域是否已更新;当所述第一参考图像中对应区域或者相关区域未更新,且确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域时,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值;
第四编码模块34,用于将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流。
具体而言,编码设备编码待编码序列,获得第一参考图像的重构图像,编码第二参考图像以获得所述第二参考图像的重构图像,确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域;确定所述第一参考图像中对应区域或者相关区域是否已更新;当所述第一参考图
像中对应区域或者相关区域未更新,且确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域时,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值;将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流。
因此,本发明实施例的参考图像编码的方法,编码设备通过后续参考图像的更新信息,通过像素拷贝的方式,局部地更新第一参考图像,由此,在使用第一参考图像提高压缩效率的同时,降低解码的复杂度,也避免了码率陡增带来的时延。
应理解,在本发明实施例中,所述第二参考图像的局部区域可以是最大编码单元(LCU)、编码单元(CU)、编码单元组(CU group)、预设大小的图像区域的一种,本发明对此不作限定。
应理解,在本发明实施例中,第一参考图像是在第二参考图像之前编码的图像,作为它所在的视频段内后续图像的参考图像。第一参考图像可以是编码待编码序列获得的第一帧重构图像,也可以是编码待编码序列获得的随机访问点图像,本发明对此不作限定。
应理解,在本发明实施例中,将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流,是指参考图象更新信息被编入码流的位置可以在第二参考图像的编码信息之前,之间或者之后以及参考图象更新信息可以作为第二参考图像的编码信息的一部分存在于码流中,本发明对此不作限定。
所述第二编码模块32用于确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域的实施方式,包括:
在第一种可行的实施方式中,所述第二编码模块具体用于:
获取所述第二参考图像的待编码图像与所述局部区域具有相同坐标位置的第一区域,以及所述第二参考图像前一帧的待编码图像与所述局部区域具有相同坐标位置的第二区域;
计算所述第一区域与所述第二区域中的所有像素点的均方误差值;
当所述均方误差值小于第四阈值时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:
第一步,获得当前待编码帧Fi,即第二参考图像,和前一帧Fi-1的原始图像;
第二步,对于当前待编码帧中每个区域,计算其与前一帧中相同位置的区域中所有像素点原始像素值的均方误差(Mean Square Error,MSE);
第三步,获得满足如下条件(34)的区域,其中Threshold1为预设阈值,Flagupdated为参考帧cRefi-1,即第一参考图像,中各区域是否已经被更新过的标识,1表示已被更新,0标识未被更新,cRefi-1为使用当前待编码帧Fi之前的已编码帧的重建像素值局部更新后的参考帧;
满足条件(34)的区域,为适用于更新所述第一参考图像中对应区域或者相关区域;否则,为不适用于更新所述第一参考图像中对应区域或者相关区域。
在第二种可行的实施方式中,所述第二编码模块具体用于:
获取所述局部区域的待编码图像进行帧间预测,获得所述局部区域的预测图像;
计算所述局部区域的待编码图像与所述局部区域的预测图像的所有像素点的横轴预测差绝对值和纵轴预测差绝对值之后的平均值;
当所述平均值小于第五阈值时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:
第一步,对当前待编码帧Fi,即第二参考图像,进行预测,Fi可使用cRefi-1,即第一参考图像,作为其参考帧进行帧间预测,也可使用其他短期参考帧进行帧间预测,cRefi-1为使用Fi之前已编码帧的重建像素值局部更新后的参考帧,即第一参考图像;获得Fi中各像素点的预测值(Px,Py)与原始像素值(Ox,Oy)之间的差值,即预测误差;
第二步,获得满足如下条件(35)的区域:
公式(35)中,N为区域中像素点的个数,计算区域中所有像素点预测误差的平均值,并与阈值Threshold2进行比较。满足条件(35)的区域,为适用于更新所述第一参考图像中对应区域或者相关区域;否则,为不适用于更新所述第一参考图像中对应区域或者相关区域。
在第三种可行的实施方式中,所述第二编码模块具体用于:
获取所述第二参考图像中的局部区域的变换系数信息,其中,所述变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和;
当所述局部区域覆盖范围内的变换系数绝对值之和大于第六阈值时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:
第一步,对当前待编码帧Fi,即第二参考图像,进行预测编码,Fi可使用cRefi-1,即第一参考图像,作为其参考帧进行帧间预测,也可使用其他短期参考帧进行帧间预测,cRefi-1为使用Fi之前已编码帧的重建像素值局部更新后的参考帧;
第二步,获得当前帧中各区域的编码信息和量化后的变换系数,对其进行熵编码并写入码流,编码信息包括区域中各编码块的编码模式等;
第三步,获得满足如下条件(36)的区域;
Σ|Coefi|>Threshold14 (36)
满足条件(36)的区域,为适用于更新所述第一参考图像中对应区域或者相关区域;否则,为不适用于更新所述第一参考图像中对应区域或者相关区域。
在第四种可行的实施方式中,所述第二编码模块具体用于:
获取所述第二参考图像中的局部区域的变换系数信息,其中,所述变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和的平均值;
当所述局部区域覆盖范围内的变换系数绝对值之和的平均值大于第七阈值时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:
第一步,对当前待编码帧Fi,即第二参考图像,进行预测编码,Fi可使用cRefi-1,即第一参考图像,作为其参考帧进行帧间预测,也可使用其他短期参考帧进行帧间预测,cRefi-1为使用Fi之前已编码帧的重建像素值局部更新后的参考帧;
第二步,获得当前帧中各区域的编码信息和量化后的变换系数,对其进行熵编码并写入码流,编码信息包括区域中各编码块的编码模式等;
第三步,获得满足如下条件(37)的区域;
满足条件(37)的区域,为适用于更新所述第一参考图像中对应区域或者相关区域;否则,为不适用于更新所述第一参考图像中对应区域或者相关区域。
在第五种可行的实施方式中,所述第二编码模块具体用于:
统计所述第二参考图像的局部区域的编码比特数和其前一个被编码区域的编码比特数;
当所述第二参考图像的局部区域的编码比特数大于其前一个被编码区域的编码比特数时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
在第六种可行的实施方式中,所述第二编码模块具体用于:
统计所述第二参考图像的局部区域的编码比特数和其前一被编码帧的区域平均编码比特数;
当所述第二参考图像的局部区域的编码比特数大于其前一被编码帧的区域平均编码比特数时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
在第七种可行的实施方式中,所述第二编码模块具体用于:
获取所述第二参考图像中的局部区域的运动矢量信息,其中,所述运动矢量信息包括局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值;
当所述局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值均小于第八阈值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:
第一步,对当前待编码帧Fi,即第二参考图像,进行预测编码,Fi可使用cRefi-1,即第一参考图像,作为其参考帧进行帧间预测,也可使用其他短期参考帧进行帧间预测,cRefi-1为使用Fi之前已编码帧的重建像素值局部更新后的参考帧;
第二步,获得当前帧中各区域的编码信息和量化后的变换系数,对其进行熵编码并写入码流,编码信息包括区域中各编码块的编码模式等;
第三步,获得满足如下条件(38)的区域;
公式(38)中,M表示当前区域中包含的编码块的个数;MVx和MVy分别表
示每个编码块的横向运动矢量和纵向运动矢量;计算当前区域中所有编码块的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值;将两个平均值分别与阈值Threshold16进行比较;满足条件(38)的区域,为适用于更新所述第一参考图像中对应区域或者相关区域;否则,为不适用于更新所述第一参考图像中对应区域或者相关区域。
在第八种可行的实施方式中,所述第二编码模块具体用于:
获取所述第二参考图像中的局部区域运动矢量信息,其中,所述运动矢量信息包括局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,和所述第二参考图像前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值;
当所述局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值小于所述前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
优选地,具体实施方式为:
第一步,对当前待编码帧Fi,即第二参考图像,进行预测编码,Fi可使用cRefi-1,即第一参考图像,作为其参考帧进行帧间预测,也可使用其他短期参考帧进行帧间预测,cRefi-1为使用Fi之前已编码帧的重建像素值局部更新后的参考帧;
第二步,获得当前帧中各区域的编码信息和量化后的变换系数,对其进行熵编码并写入码流,编码信息包括区域中各编码块的编码模式等;
第三步,获得满足如下条件(39)的区域;
公式(39)中,M表示当前区域中包含的编码块的个数;N表示前一个已编码帧/解码帧中包含的编码块的个数;MVx和MVy分别表示每个编码块的横向运动矢量和纵向运动矢量;满足条件(39)的区域,为适用于更新所述第一参考图像中对应区域或者相关区域;否则,为不适用于更新所述第一参考图像中对应区域或者相关区域。
所述第四编码模块34用于将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流,其中将参考图像更新信息编入码流的实施方式,包括:
在第一种可行的实施方式中,所述第四编码模块具体用于:
当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,所述标记为第一取值;当所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域,所述标记为第二取值,第一取值不同于第二取值;
将所述标记的取值编入码流。
优选地,具体实施方式为:
当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,将标记设置为1,并编入码流,否则,将标记设置为0,编入码流。
在第二种可行的实施方式中,所述第四编码模块具体用于:
当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,所述量化参数偏移值在第三取值范围内;当所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域,所述量化参数偏移值不在第三取值范围内;
将所述量化参数偏移值编入码流。
优选地,具体实施方式为:
若当前区域为用于更新所述第一参考图像中对应区域或者相关区域的局部区域,则根据此区域的纹理特性设置其QP(QParea)与帧级QP(QPSlice)之间差值ΔQP,本实施例用区域中像素点亮度值的方差作为衡量其纹理特性的方法;如公式(40),利用更新区域像素点亮度值的方差与当前待编码帧中所有区域中像素点亮度值的方差的平均值的比值计算获得ΔQP,其中10≤|ΔQP|<20;公式中,xi,n表示标号为n的区域中像素点i的亮度值,表示标号为n的区域中所有像素点亮度的平均值,N表示当前帧中区域的数量;
可以理解,本实施例使用方差作为衡量纹理特性的方法,也可使用其他方法衡量;同时也可根据除纹理特性之外的其他特性,例如运动特性来设置ΔQP。
量化参数偏移值ΔQP作为编码信息编入码流。
应理解,本发明实施例中对量化参数偏移量的取值给出了优选值,本发明对量化参数的取值不做限定。
在第三种可行的实施方式中,所述第四编码模块具体用于:
当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域
或者相关区域,所述量化步长的缩放因子在第四取值范围内;当所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域,所述量化步长的缩放因子不在第四取值范围内;
将所述量化步长的缩放因子编入码流。
优选地,具体实施方式为:
当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,编码端自适应地调整量化步长(Quantization Step,Qstep),将量化步长的缩放因子进行编码传递到解码端,所述区域的量化步长的缩放因子F不等于1。
缩放因子F的计算公式如下(41),其取值范围值0.5~1.5:
区域的量化步长计算公式如(42):
量化步长的缩放因子F作为编码信息编入码流。
应理解,本发明实施例中对缩放因子的取值给出了优选值,本发明对缩放因子的取值不做限定。
在第四种可行的实施方式中,所述第四编码模块具体用于:
当所述局部区域覆盖范围内的变换系数绝对值之和大于第九阈值,且所述第一参考图像中对应区域或者相关区域没有被更新过,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域;
将所述变换系数信息编入码流。
优选地,具体实施方式与解码端相对应不再重复,变换系数信息作为编码信息编入码流。
在第五种可行的实施方式中,所述第四编码模块具体用于:
当所述局部区域覆盖范围内的变换系数绝对值之和的平均值大于第十阈值,且所述第一参考图像中对应区域或者相关区域没有被更新过,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,否
则,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域;
将所述变换系数信息编入码流。
优选地,具体实施方式与解码端相对应不再重复,变换系数信息作为编码信息编入码流。
在第六种可行的实施方式中,所述第四编码模块具体用于:
当所述局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值均小于第十一阈值,且所述第一参考图像中对应区域或者相关区域没有被更新过,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域;
将所述运动矢量信息编入码流。
优选地,具体实施方式与解码端相对应不再重复,运动矢量信息作为编码信息编入码流。
在第七种可行的实施方式中,所述第四编码模块具体用于:
当所述局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值小于所述前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,且所述第一参考图像中对应区域或者相关区域没有被更新过,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域;
将所述运动矢量信息编入码流。
优选地,具体实施方式与解码端相对应不再重复,运动矢量信息作为编码信息编入码流。
所述第一编码模块31用于在所述编码待编码序列获得第二参考图像的重构图像的实施方式,包括:
在第一种可行的实施方式中,所述第一编码模块具体用于:使用固定量化参数编码所述第二参考图像的待编码图像,其中,对于所述局部区域使用第一量化参数,对于非所述局部区域使用第二量化参数。
优选地,具体实施方式为:
使用如下公式(43)计算得到的量化参数(Quantization Parameter,QP)对变换后的变换系数进行量化,其中QPSlice为帧级QP,更新区域为所述局部区域,非更新区域为其他区域,表3为QPSlice与ΔQP的取值对应关系。
表3ΔQP取值表
QPSlice取值范围 | 0~10 | 10~37 | 37~51 |
ΔQP | 0 | 5 | 10 |
使用帧级QP-ΔQP作为所述局部区域的量化参数,使用帧级QP作为其他区域的量化参数。
应理解,本发明实施例中对量化参数的取值给出了优选值,本发明对量化参数的取值不做限定。
在第二种可行的实施方式中,所述第一编码模块具体用于:使用自适应量化参数编码所述第二参考图像的待编码图像,其中,对于所述局部区域根据纹理信息和运动信息至少其中之一确定量化参数,对于非所述局部区域使用帧级量化参数或者根据编码器规定的码率分配策略或质量控制策略设置确定量化参数。
优选地,具体实施方式为:
若当前区域为不是所述局部区域,则设置其QP(QParea)为帧级QP,也可以根据编码器规定的码率分配策略或质量控制策略设置其ΔQP;ΔQP绝对值的取值范围如公式(44),更新区域为所述局部区域,非更新区域为其他区域:
使用公式(44)中的量化参数作为第二参考图像各个区域的量化参数。
应理解,本发明实施例中对量化参数的取值给出了优选值,本发明对量化参数的取值不做限定。
所述第二编码模块32用于确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,其中确定所述第一参考图像中对应区域或者相关区域的实施方式,包括:
在第一种可行的实施方式中,所述第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域。
在第二种可行的实施方式中,所述第二编码模块具体用于:当所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域被更新过时,以预定顺序依次搜索所述第一参考图像中的区域,所述第一参考图像中对
应区域为所述顺序中的第一块没有被更新过的区域,否则,所述第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域。
优选地,具体实施方式与解码端相对应不再重复。
在第三种可行的实施方式中,所述第二解码模块还具体用于:获得所述局部区域所在的坐标位置与所述第一参考图像中相关区域所在的坐标位置之间的空间偏移量,所述空间偏移量包括横向偏移量和纵向偏移量,并在所述第三解码模块用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值之前,根据所述第二参考图像的局域区域的所在位置的坐标以及所述的空间偏移量确定所述第一参考图像相关区域的位置。
优选地,具体实施方式与解码端相对应不再重复。
第四编码模块34用于在将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流之后,可选地,还包括第五编码模块35,用于对像素替换后的第一参考图像中对应区域或者相关区域与相邻区域的边界处进行滤波。
优选地,具体实施方式同第四编码模块14相同。
因此,本发明实施例的参考图像编码的方法,编码设备通过后续参考图像的更新信息,通过像素拷贝的方式,局部地更新第一参考图像,由此,在使用第一参考图像提高压缩效率的同时,降低解码的复杂度,也避免了码率陡增带来的时延。
图13示出了根据本发明实施例的参考图像编码的装置的示意性框图。如图13所示,编码设备40包括:
第一编码模块41,用于检测所述待编码序列;
第二编码模块42,用于判断当前待编码图像是否为场景切换图像;
第三编码模块43,用于编码当前待编码图像,在编码所述待编码图像的重构图像之前或之后,将所述特定顺序号编入码流。
优选地,如图14所示,第三编码模块43包括:
第一编码模块431,用于确定当前待编码图像的特定顺序号,其中,当当前待编码图像是场景切换图像时,顺序赋予当前待编图像顺序号,否则,将当前待编码图像更新范围内的场景切换图像的顺序号的相同或关联顺序号赋予当前待编码图像;
第二编码模块432,用于使用设备30编码当前待编码图像;
第三编码模块433,用于当当前待编码图像不是场景切换图像时,使用设备30更新当前待编码图像所对应的场景切换图像所对应的参考图像;
第四编码模块434,用于在编码所述待编码图像的重构图像之前或之后,
将所述特定顺序号编入码流。
可以理解,场景切换图像是指设备30中的第一参考图像所对应的待编码图像,还可以是和同一视频段内的其他视频帧具有参考关系的第一帧,随机接入图像等,本发明不作限定。
可以理解,在待编码序列中,可以有一个或者多个场景切换图像或者随机接入图像,本发明不作限定。
图15示出了根据本发明实施例的参考图像解码的装置的示意性框图。如图15所示,解码设备50包括:
第一解码模块51,用于判断当前待解码图像是否为场景切换图像;
第二解码模块52,用于与编码端相对应的,在解码所述待解码图像的重构图像之前或之后,解析码流,获得当前待解码图像的特定顺序号;
第三解码模块53,用于解析码流,获得待解码图像的重构图像;
第四解码模块54,用于当当前待解码图像不为场景切换图像时,根据所述特定顺序号确定对应的场景切换图像;
第五解码模块55,用于当当前待解码图像不为场景切换图像时,使用设备10或20,更新所述特定顺序号确定对应的场景切换图像所对应的参考图像。
可以理解,场景切换图像是指设备10中的第一参考图像所对应的待解码图像或者设备20中的第一参考图像所对应的待解码图像,还可以是和同一视频段内的其他视频帧具有参考关系的第一帧,随机接入图像等,本发明不作限定。
可以理解,在待解码序列中,可以有一个或者多个场景切换图像或者随机接入图像,本发明不作限定。
如图16所示,本发明实施例还提供了一种编码设备60,包括处理器61、存储器62和总线***63。其中,处理器61和存储器62通过总线***63相连,该存储器62用于存储指令,该处理器61用于执行该存储器62存储的指令。编码设备60的存储器62存储程序代码,且处理器61可以调用存储器62中存储的程序代码执行以下操作:编码待编码序列,获得第一参考图像的重构图像,编码第二参考图像以获得所述第二参考图像的重构图像,所述第一参考图像先于所述第二参考图像被编码;确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,所述局部区域的尺寸小于或者等于所述第二参考图像的尺寸;确定所述第一参考图像中对应区域或者相关区域是否已更新;当所述第一参考图像中对应区域或者相关区域未更新,且确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域时,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值;将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像
更新信息编入码流。
因此,本发明实施例的参考图像编码的方法,编码设备通过后续参考图像的更新信息,通过像素拷贝的方式,局部地更新第一参考图像,由此,在使用第一参考图像提高压缩效率的同时,降低解码的复杂度,也避免了码率陡增带来的时延。
应理解,在本发明实施例中,该处理器61可以是中央处理单元(Central Processing Unit,简称为“CPU”),该处理器61还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器62可以包括只读存储器和随机存取存储器,并向处理器61提供指令和数据。存储器62的一部分还可以包括非易失性随机存取存储器。例如,存储器62还可以存储设备类型的信息。
该总线***63除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线***63。
在实现过程中,上述方法的各步骤可以通过处理器61中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器62,处理器61读取存储器62中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,根据本发明实施例的编码设备60可对应于本发明实施例中的编码设备30,并可以对应于执行根据本发明实施例的方法3000中的相应主体,为了简洁,在此不再赘述。
如图17所示,本发明实施例还提供了一种解码设备70,包括处理器71、存储器72和总线***73。其中,处理器71和存储器72通过总线***73相连,该存储器72用于存储指令,该处理器71用于执行该存储器72存储的指令。解码设备70的存储器72存储程序代码,且处理器71可以调用存储器72中存储的程序代码执行以下操作:解析码流,获得第一参考图像的重构图像以及第二参考图像的重构图像,所述第一参考图像先于所述第二参考图像被解码;在所述解析码流获得第二参考图像的重构图像之前,或者所述解析码流获得第二参考图像的重构图像之中,或者所述解析码流获得第二参考图像的重构图像之后;解析码流,获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或
者相关区域,所述局部区域的尺寸小于或者等于所述第二参考图像的尺寸;当所述参考图像更新信息确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域时,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值。
因此,本发明实施例的参考图像解码的方法,解码设备通过后续参考图像的更新信息,通过像素拷贝的方式,局部地更新第一参考图像,由此,在使用第一参考图像提高压缩效率的同时,降低解码的复杂度,也避免了码率陡增带来的时延。
应理解,在本发明实施例中,该处理器71可以是中央处理单元(Central Processing Unit,简称为“CPU”),该处理器71还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器72可以包括只读存储器和随机存取存储器,并向处理器71提供指令和数据。存储器72的一部分还可以包括非易失性随机存取存储器。例如,存储器72还可以存储设备类型的信息。
该总线***73除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线***73。
在实现过程中,上述方法的各步骤可以通过处理器71中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器72,处理器71读取存储器72中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,根据本发明实施例的编码设备70可对应于本发明实施例中的编码设备10,并可以对应于执行根据本发明实施例的方法1000中的相应主体,为了简洁,在此不再赘述。
如图18所示,本发明实施例还提供了一种解码设备80,包括处理器81、存储器82和总线***83。其中,处理器81和存储器82通过总线***83相连,该存储器82用于存储指令,该处理器81用于执行该存储器82存储的指令。解码设备80的存储器82存储程序代码,且处理器81可以调用存储器82中存储的程序代码执行以下操作:解析码流,获得第一参考图像的重构图像以及第二参考图像的重构图像,所述第一参考图像先于所述第二参考图像被解码;在所述解析码流获得第二参考图像的重构图像之前,或者所述解析码流获得第
二参考图像的重构图像之中,或者所述解析码流获得第二参考图像的重构图像之后;解析码流,获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,所述局部区域的尺寸小于或者等于所述第二参考图像的尺寸;确定所述第一参考图像中对应区域或者相关区域是否已更新;当所述第一参考图像中对应区域或者相关区域未更新,且所述参考图像更新信息确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域时,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值。
因此,本发明实施例的参考图像解码的方法,解码设备通过后续参考图像的更新信息,通过像素拷贝的方式,局部地更新第一参考图像,由此,在使用第一参考图像提高压缩效率的同时,降低解码的复杂度,也避免了码率陡增带来的时延。
应理解,在本发明实施例中,该处理器81可以是中央处理单元(Central Processing Unit,简称为“CPU”),该处理器81还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器82可以包括只读存储器和随机存取存储器,并向处理器81提供指令和数据。存储器82的一部分还可以包括非易失性随机存取存储器。例如,存储器82还可以存储设备类型的信息。
该总线***83除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线***83。
在实现过程中,上述方法的各步骤可以通过处理器81中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器82,处理器81读取存储器82中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,根据本发明实施例的编码设备80可对应于本发明实施例中的编码设备20,并可以对应于执行根据本发明实施例的方法2000中的相应主体,为了简洁,在此不再赘述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个
说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
另外,本文中术语“***”和“网络”在本文中常可互换使用。应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,
也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称为“ROM”)、随机存取存储器(Random Access Memory,简称为“RAM”)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (130)
- 一种参考图像的解码方法,其特征在于,包括:解析码流,获得第一参考图像的重构图像以及第二参考图像的重构图像,所述第一参考图像先于所述第二参考图像被解码;在所述解析码流获得第二参考图像的重构图像之前,或者所述解析码流获得第二参考图像的重构图像之中,或者所述解析码流获得第二参考图像的重构图像之后,获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域,所述局部区域的尺寸小于或者等于所述第二参考图像的尺寸;当所述参考图像更新信息确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域时,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值。
- 根据权利要求1所述的解码方法,其特征在于:所述解析码流,获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域包括:解析所述码流,获取标记,若所述标记为第一取值时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,若所述标记为第二取值时,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域,第一取值不同于第二取值。
- 根据权利要求1所述的解码方法,其特征在于:所述解析码流,获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域包括:解析所述码流,获取编码信息,根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求3所述的解码方法,其特征在于:所述编码信息包括所述第二参考图像中的局部区域的量化参数偏移值;对应,所述根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域包括:当所述量化参数偏移值的绝对值在第一取值范围内时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域;当所述量化参数偏移值的绝对值不在第一取值范围内时,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求4所述的解码方法,其特征在于:包括:所述第一取值范围为大于等于10,且小于20。
- 根据权利要求3所述的解码方法,其特征在于:所述编码信息包括所述第二参考图像中的局部区域的量化步长的缩放因子;对应,所述根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域包括:当所述量化步长的缩放因子在第二取值范围内时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域;当所述量化步长的缩放因子不在第二取值范围内时,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求6所述的解码方法,其特征在于:所述当所述量化步长的缩放因子在第二取值范围内时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域包括:当所述量化步长的所述缩放因子大于等于0.5,且小于1;或所述缩放因子小于等于1.5,且大于1时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求1至7任意一项所述的解码方法,其特征在于:所述第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域。
- 根据权利要求1至7任意一项所述的解码方法,其特征在于:所述解析码流,所述获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域还包括:获得所述局部区域所在的坐标位置与所述第一参考图像中相关区域所在的坐标位置之间的空间偏移量,所述空间偏移量包括横向偏移量和纵向偏移量;所述方法还包括:在用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值之前,根据所述第二参考图像的局域区域的所在位置的坐标以及所述的空间偏移量确定所述第一参考图像相关区域的位置。。
- 根据权利要求1至9任意一项所述的解码方法,还包括:对像素替换后的第一参考图像中对应区域或者相关区域与相邻区域的边界处进行滤波。
- 根据权利要求1至10任意一项所述的解码方法,其特征在于:所述第一参考图像为解析码流获得的第一帧重构图像。
- 根据权利要求1至10任意一项所述的解码方法,其特征在于:所述第一参考图像为解析码流获得的随机访问点图像。
- 根据权利要求1至12任意一项所述的解码方法,其特征在于,所述第二参考图像的局部区域是最大编码单元、编码单元、编码单元组、预设大小的图像区域中的一种。
- 根据权利要求1所述的解码方法,其特征在于,所述解析码流获得第一参考图像的重构图像,包括:解析所述码流获得所述第一参考图像的特定顺序号,并获得具有所述特定顺序号的第一参考图像的重构图像。
- 根据权利要求14所述的解码方法,其特征在于,所述解析码流获得第二参考图像的重构图像,包括:解析所述码流获得所述第二参考图像的特定顺序号,所述第二参考图像的特定顺序号与被所述第二参考图像更新的所述第一参考图像的特定顺序号相关联,并获得具有所述第二参考图像的特定顺序号的第二参考图像的重构图像。
- 一种参考图像的解码方法,其特征在于,包括:解析码流,获得第一参考图像的重构图像以及第二参考图像的重构图像,所述第一参考图像先于所述第二参考图像被解码;在所述解析码流获得第二参考图像的重构图像之前,或者所述解析码流获得第二参考图像的重构图像之中,或者所述解析码流获得第二参考图像的重构图像之后,获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,所述局部区域的尺寸小于或者等于所述第二参考图像的尺寸;确定所述第一参考图像中对应区域或者相关区域是否已更新;当所述第一参考图像中对应区域或者相关区域未更新,且所述参考图像更新信息确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域时,用所述第二参考图像中局部区域的像素值替换所述第一 参考图像中对应区域或者相关区域的像素值。
- 根据权利要求16所述的解码方法,其特征在于:所述解析码流,获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域包括:解析所述码流,获取标记,若所述标记为第一取值时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,若所述标记为第二取值时,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域,第一取值不同于第二取值。
- 根据权利要求16所述的解码方法,其特征在于:所述解析码流,获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域包括:解析所述码流,获取编码信息,根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求18所述的解码方法,其特征在于:所述编码信息包括所述第二参考图像中的局部区域的变换系数信息,其中,所述变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和;对应,所述根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域包括:当所述局部区域覆盖范围内的变换系数绝对值之和大于第一阈值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求18所述的解码方法,其特征在于:所述编码信息包括所述第二参考图像中的局部区域的变换系数信息,其中,所述变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和的平均值;对应,所述根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像包括:当所述局部区域覆盖范围内的变换系数绝对值之和的平均值大于第二阈值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述 第一参考图像中对应区域或者相关区域。
- 根据权利要求18所述的解码方法,其特征在于:所述编码信息包括所述第二参考图像中的局部区域的量化参数偏移值;对应,所述根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域包括:当所述量化参数偏移值的绝对值在第一取值范围内时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域;当所述量化参数偏移值的绝对值不在第一取值范围内时,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求21所述的解码方法,其特征在于:包括:所述第一取值范围为大于等于10,且小于20。
- 根据权利要求18所述的解码方法,其特征在于:所述编码信息包括所述第二参考图像中的局部区域的量化步长的缩放因子;对应,所述根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域包括:当所述量化步长的缩放因子在第二取值范围内时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域;当所述量化步长的缩放因子不在第二取值范围内时,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求23所述的解码方法,其特征在于:所述当所述量化步长的缩放因子在第二取值范围内时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域包括:当所述量化步长的所述缩放因子大于等于0.5,且小于1;或所述缩放因子小于等于1.5,且大于1时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求18所述的解码方法,其特征在于:所述编码信息包括所述第二参考图像中的局部区域的运动矢量信息,其中,所述运动矢量信息包括局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值;对应,所述根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像包括:当所述局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值均小于第三阈值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求18所述的解码方法,其特征在于:所述编码信息包括所述第二参考图像中的局部区域的运动矢量信息,其中,所述运动矢量信息包括局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,和所述第二参考图像前一已解码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值;对应,所述根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像包括:当所述局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值小于所述前一已解码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求16至26任意一项所述的解码方法,其特征在于:所述第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域。
- 根据权利要求16至26任意一项所述的解码方法,其特征在于:当所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域被更新过时,以预定顺序依次搜索所述第一参考图像中的区域,所述第一参考图像中对应区域为所述顺序中的第一块没有被更新过的区域,否则,所述第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域。
- 根据权利要求16至26任意一项所述的解码方法,其特征在于:所述解析码流,所述获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域还包括:获得所述局部区域所在的坐标位置与所述第一参考图像中相关区域所在的坐标位置之间的空间偏移量,所述空间偏移量包括横向偏移量和纵向偏移量;所述方法还包括:在用所述第二参考图像中局部区域的像素值替换所述第一 参考图像中对应区域或者相关区域的像素值之前,根据所述第二参考图像的局域区域的所在位置的坐标以及所述的空间偏移量确定所述第一参考图像相关区域的位置。
- 根据权利要求16至29任意一项所述的解码方法,还包括:对像素替换后的第一参考图像中对应区域或者相关区域与相邻区域的边界处进行滤波。
- 根据权利要求16至30任意一项所述的解码方法,其特征在于:所述第一参考图像为解析码流获得的第一帧重构图像。
- 根据权利要求16至30任意一项所述的解码方法,其特征在于:所述第一参考图像为解析码流获得的随机访问点图像。
- 根据权利要求16至32任意一项所述的解码方法,其特征在于,所述第二参考图像的局部区域是最大编码单元、编码单元、编码单元组、预设大小的图像区域中的一种。
- 根据权利要求16所述的解码方法,其特征在于,所述解析码流获得第一参考图像的重构图像,还包括:解析所述码流获得所述第一参考图像的特定顺序号,并获得具有所述特定顺序号的第一参考图像的重构图像。
- 根据权利要求34所述的解码方法,其特征在于,所述解析码流获得第二参考图像的重构图像,还包括:解析所述码流获得所述第二参考图像的特定顺序号,所述第二参考图像的特定顺序号与被所述第二参考图像更新的所述第一参考图像的特定顺序号相关联,并获得具有所述第二参考图像的特定顺序号的第二参考图像的重构图像。
- 一种参考图像的编码方法,其特征在于,包括:编码待编码序列,获得第一参考图像的重构图像,编码第二参考图像以获得所述第二参考图像的重构图像,所述第一参考图像先于所述第二参考图像被编码;确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,所述局部区域的尺寸小于或者等于所述第二参考图像的尺寸;确定所述第一参考图像中对应区域或者相关区域是否已更新;当所述第一参考图像中对应区域或者相关区域未更新,且确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域时, 用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值;将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流。
- 根据权利要求36所述的一种编码方法,其特征在于:所述确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,包括:获取所述第二参考图像的待编码图像与所述局部区域具有相同坐标位置的第一区域,以及所述第二参考图像前一帧的待编码图像与所述局部区域具有相同坐标位置的第二区域;计算所述第一区域与所述第二区域中的所有像素点的均方误差值;当所述均方误差值小于第四阈值时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求36所述的一种编码方法,其特征在于:所述确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,包括:获取所述局部区域的待编码图像进行帧间预测,获得所述局部区域的预测图像;计算所述局部区域的待编码图像与所述局部区域的预测图像的所有像素点的横轴预测差绝对值和纵轴预测差绝对值之后的平均值;当所述平均值小于第五阈值时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求36所述的一种编码方法,其特征在于:所述确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,包括:获取所述第二参考图像中的局部区域的变换系数信息,其中,所述变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和;当所述局部区域覆盖范围内的变换系数绝对值之和大于第六阈值时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相 关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求36所述的一种编码方法,其特征在于:所述确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,包括:获取所述第二参考图像中的局部区域的变换系数信息,其中,所述变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和的平均值;当所述局部区域覆盖范围内的变换系数绝对值之和的平均值大于第七阈值时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求36所述的一种编码方法,其特征在于:所述确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,包括:统计所述第二参考图像的局部区域的编码比特数和其前一个被编码区域的编码比特数;当所述第二参考图像的局部区域的编码比特数大于其前一个被编码区域的编码比特数时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求36所述的一种编码方法,其特征在于:所述确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,包括:统计所述第二参考图像的局部区域的编码比特数和其前一被编码帧的区域平均编码比特数;当所述第二参考图像的局部区域的编码比特数大于其前一被编码帧的区域平均编码比特数时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求36所述的一种编码方法,其特征在于:所述确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相 关区域,包括:获取所述第二参考图像中的局部区域的运动矢量信息,其中,所述运动矢量信息包括局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值;当所述局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值均小于第八阈值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求36所述的一种编码方法,其特征在于:所述确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,包括:获取所述第二参考图像中的局部区域运动矢量信息,其中,所述运动矢量信息包括局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,和所述第二参考图像前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值;当所述局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值小于所述前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求36所述的编码方法,其特征在于,所述参考图像更新信息,包括:确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的标记;对应,将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流,包括:将所述标记的取值编入码流,当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,所述标记为第一取值;当所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域,所述标记为第二取值,第一取值不同于第二取值。
- 根据权利要求36所述的编码方法,其特征在于,所述参考图像更新信息,包括:所述第二参考图像的局部区域的量化参数偏移值;对应,将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流,包括:将所述量化参数偏移值编入码流,当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,所述量化参数偏移值的绝对值在第三取值范围内;当所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域,所述量化参数偏移值的绝对值不在第三取值范围内。
- 根据权利要求46所述的编码方法,其特征在于:包括:所述第三取值范围为大于等于10,且小于20。
- 根据权利要求36所述的编码方法,其特征在于,所述参考图像更新信息,包括:所述第二参考图像的局部区域的量化步长的缩放因子;对应,将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流,包括:将所述量化步长的缩放因子编入码流,当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,所述量化步长的缩放因子在第四取值范围内;当所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域,所述量化步长的缩放因子不在第四取值范围内。
- 根据权利要求48所述的编码方法,其特征在于:所述当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,所述量化步长的缩放因子在第四取值范围内包括:当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,所述量化步长的所述缩放因子大于等于0.5,且小于1;或所述缩放因子小于等于1.5,且大于1。
- 根据权利要求36所述的编码方法,其特征在于,所述参考图像更新信息,包括:所述第二参考图像的局部区域的变换系数信息,其中,所述变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和;对应,将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流,包括:将所述变换系数信息编入码流,当所述局部区域覆盖范围内的变换系数绝对值之和大于第九阈值,且所述第一参考图像中对应区域或者相关区域没有被更新过,确 定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求36所述的编码方法,其特征在于,所述参考图像更新信息,包括:所述第二参考图像的局部区域的变换系数信息,其中,所述变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和的平均值;对应,将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流,包括:将所述变换系数信息编入码流,当所述局部区域覆盖范围内的变换系数绝对值之和的平均值大于第十阈值,且所述第一参考图像中对应区域或者相关区域没有被更新过,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求36所述的编码方法,其特征在于,所述参考图像更新信息,包括:所述第二参考图像的局部区域的运动矢量信息,其中,所述运动矢量信息包括局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值;对应,将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流,包括:将所述运动矢量信息编入码流,当所述局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值均小于第十一阈值,且所述第一参考图像中对应区域或者相关区域没有被更新过,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求36所述的编码方法,其特征在于,所述参考图像更新信息,包括:所述第二参考图像中的局部区域运动矢量信息,其中,所述运动矢量信息包括局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,和所述第二参考图像前一已编码帧内的横向运动矢量绝对值与纵向运动矢 量绝对值的和之和的平均值;对应,将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流,包括:将所述运动矢量信息编入码流,当所述局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值小于所述前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,且所述第一参考图像中对应区域或者相关区域没有被更新过,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求36所述的编码方法,其特征在于,所述编码待编码序列,获得第二参考图像的重构图像,包括:使用固定量化参数编码所述第二参考图像的待编码图像,其中,对于所述局部区域使用第一量化参数,对于非所述局部区域使用第二量化参数。
- 根据权利要求54所述的编码方法,其特征在于,包括:当第二量化参数大于等于0,且小于10时,第一量化参数为第二量化参数;当第二量化参数大于等于10,且小于37时,第一量化参数为第二量化参数减5;当第二量化参数大于等于37,且小于等于51时,第一量化参数为第二量化参数减10。
- 根据权利要求36所述的编码方法,其特征在于,所述编码待编码序列,获得第二参考图像的重构图像,包括:使用自适应量化参数编码所述第二参考图像的待编码图像,其中,对于所述局部区域根据纹理信息和运动信息至少其中之一确定量化参数,对于非所述局部区域使用帧级量化参数或者根据编码器规定的码率分配策略或质量控制策略设置确定量化参数。
- 根据权利要求36至56任意一项所述的编码方法,其特征在于:所述第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域。
- 根据权利要求36至56任意一项所述的编码方法,其特征在于:当所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域被 更新过时,以预定顺序依次搜索所述第一参考图像中的区域,所述第一参考图像中对应区域为所述顺序中的第一块没有被更新过的区域,否则,所述第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域。
- 根据权利要求36至56任意一项所述的编码方法,其特征在于:所述参考图像更新信息还包括有所述局部区域所在的坐标位置与所述第一参考图像中相关区域所在的坐标位置之间的空间偏移量,所述空间偏移量包括横向偏移量和纵向偏移量;对应,所述方法还包括:将所述空间偏移量编入码流。
- 根据权利要求36至59任意一项所述的编码方法,还包括:对像素替换后的第一参考图像中对应区域或者相关区域与相邻区域的边界处进行滤波。
- 根据权利要求36至60任意一项所述的编码方法,其特征在于:所述第一参考图像为编码待编码序列获得的第一帧重构图像。
- 根据权利要求36至60任意一项所述的编码方法,其特征在于:所述第一参考图像为编码待编码序列获得的随机访问点图像。
- 根据权利要求36至62任意一项所述的编码方法,其特征在于,所述第二参考图像的局部区域是最大编码单元、编码单元、编码单元组、预设大小的图像区域中的一种。
- 根据权利要求36所述的编码方法,其特征在于,所述编码待编码序列,获得第一参考图像的重构图像,还包括:检测所述待编码序列;判断所述第一参考图像是否为场景切换图像;确定所述第一参考图像特定顺序号;在编码所述第一参考图像的待编码图像之前或之后,将所述特定顺序号编入码流。
- 根据权利要求36所述的编码方法,其特征在于,所述编码待编码序列,获得第二参考图像的重构图像,还包括:确定被所述第二参考图像所更新的所述第一参考图像的特定顺序号;在编码所述第二参考图像的待编码图像之前或之后,将所述特定顺序号或者与所述特定顺序号关联的号码编入码流。
- 一种参考图像的解码设备,其特征在于,包括:第一解码模块,用于解析码流,获得第一参考图像的重构图像以及第二参考图像的重构图像,所述第一参考图像先于所述第二参考图像被解码;第二解码模块,在所述解析码流获得第二参考图像的重构图像之前,或者所述解析码流获得第二参考图像的重构图像之中,或者所述解析码流获得第二参考图像的重构图像之后,获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域,所述局部区域的尺寸小于或者等于所述第二参考图像的尺寸;第三解码模块,当所述参考图像更新信息确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域时,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值。
- 根据权利要求66所述的解码设备,其特征在于,所述第二解码模块具体用于:解析所述码流,获取标记,若所述标记为第一取值时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,若所述标记为第二取值时,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域,第一取值不同于第二取值。
- 根据权利要求66所述的解码设备,其特征在于,所述第二解码模块具体用于:解析所述码流,获取编码信息,根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求68所述的解码设备,其特征在于:所述编码信息包括所述第二参考图像中的局部区域的量化参数偏移值;对应,所述第二解码模块具体用于:当所述量化参数偏移值的绝对值在第一取值范围内时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域;当所述量化参数偏移值的绝对值不在第一取值范围内时,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求69所述的解码设备,其特征在于:包括:所述第一取值范围为大于等于10,且小于20。
- 根据权利要求68所述的解码设备,其特征在于:所述编码信息包括所述第二参考图像中的局部区域的量化步长的缩放因子;对应,所述第二解码模块具体用于:当所述量化步长的缩放因子在第二取值范围内时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域;当所述量化步长的缩放因子不在第二取值范围内时,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求71所述的解码设备,其特征在于:所述当所述量化步长的缩放因子在第二取值范围内时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域包括:当所述量化步长的所述缩放因子大于等于0.5,且小于1;或所述缩放因子小于等于1.5,且大于1时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求66至72任意一项所述的解码设备,其特征在于:所述第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域。
- 根据权利要求66至72任意一项所述的解码设备,其特征在于:所述第二解码模块还具体用于:获得所述局部区域所在的坐标位置与所述第一参考图像中相关区域所在的坐标位置之间的空间偏移量,所述空间偏移量包括横向偏移量和纵向偏移量,并在所述第三解码模块用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值之前,根据所述第二参考图像的局域区域的所在位置的坐标以及所述的空间偏移量确定所述第一参考图像相关区域的位置。
- 根据权利要求66至74任意一项所述的解码设备,还包括第四解码模块,所述第四解码模块具体用于:对像素替换后的第一参考图像中对应区域或者相关区域与相邻区域的边界处进行滤波。
- 根据权利要求66至75任意一项所述的解码设备,其特征在于:所述第一参考图像为解析码流获得的第一帧重构图像。
- 根据权利要求66至75任意一项所述的解码设备,其特征在于:所述第一参考图像为解析码流获得的随机访问点图像。
- 根据权利要求66至77任意一项所述的解码设备,其特征在于,所述第二参考图像的局部区域是最大编码单元、编码单元、编码单元组、预设大小的图像区域中的一种。
- 根据权利要求66所述的解码设备,其特征在于,所述第一解码模块还具体用于:解析所述码流获得所述第一参考图像的特定顺序号。
- 根据权利要求79所述的解码设备,其特征在于,所述第一解码模块还具体用于:解析所述码流获得所述第二参考图像的特定顺序号,所述特定顺序号与被所述第二参考图像更新的所述第一参考图像的特定顺序号相关联。
- 一种参考图像的解码设备,其特征在于,包括:第一解码模块,用于解析码流,获得第一参考图像的重构图像以及第二参考图像的重构图像,所述第一参考图像先于所述第二参考图像被解码;第二解码模块,用于在所述解析码流获得第二参考图像的重构图像之前,或者所述解析码流获得第二参考图像的重构图像之中,或者所述解析码流获得第二参考图像的重构图像之后;解析码流,获得参考图像更新信息,并根据所述参考图像更新信息确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,所述局部区域的尺寸小于或者等于所述第二参考图像的尺寸;第三解码模块,用于确定所述第一参考图像中对应区域或者相关区域是否已更新;当所述第一参考图像中对应区域或者相关区域未更新,且所述参考图像更新信息确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域时,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值。
- 根据权利要求81所述的解码设备,其特征在于:所述第二解码模块具体用于:解析所述码流,获取标记,若所述标记为第一取值时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,若所述标记为第二取值时,确定所述第二参考图像中的局部区域不适用于 更新所述第一参考图像中对应区域或者相关区域,第一取值不同于第二取值。
- 根据权利要求81所述的解码设备,其特征在于:所述第二解码模块具体用于:解析所述码流,获取编码信息,根据所述编码信息以及预设规则来确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求83所述的解码设备,其特征在于:所述编码信息包括所述第二参考图像中的局部区域的变换系数信息,其中,所述变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和;对应,所述第二解码模块具体用于:当所述局部区域覆盖范围内的变换系数绝对值之和大于第一阈值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求83所述的解码设备,其特征在于:所述编码信息包括所述第二参考图像中的局部区域的变换系数信息,其中,所述变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和的平均值;对应,所述第二解码模块具体用于:当所述局部区域覆盖范围内的变换系数绝对值之和的平均值大于第二阈值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求83所述的解码设备,其特征在于:所述编码信息包括所述第二参考图像中的局部区域的量化参数偏移值;对应,所述第二解码模块具体用于:当所述量化参数偏移值的绝对值在第一取值范围内时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域;当所述量化参数偏移值的绝对值不在第一取值范围内时,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求86所述的解码设备,其特征在于:包括:所述第一取值范围为大于等于10,且小于20。
- 根据权利要求83所述的解码设备,其特征在于:所述编码信息包括所述第二参考图像中的局部区域的量化步长的缩放因子;对应,所述第二解码模块具体用于:当所述量化步长的缩放因子在第二取值范围内时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域;当所述量化步长的缩放因子不在第二取值范围内时,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求88所述的解码设备,其特征在于:所述当所述量化步长的缩放因子在第二取值范围内时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域包括:当所述量化步长的所述缩放因子大于等于0.5,且小于1;或所述缩放因子小于等于1.5,且大于1时,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求83所述的解码设备,其特征在于:所述编码信息包括所述第二参考图像中的局部区域的运动矢量信息,其中,所述运动矢量信息包括局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值;对应,所述第二解码模块具体用于:当所述局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值均小于第三阈值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求83所述的解码设备,其特征在于:所述编码信息包括所述第二参考图像中的局部区域的运动矢量信息,其中,所述运动矢量信息包括局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,和所述第二参考图像前一已解码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值;对应,所述第二解码模块具体用于:当所述局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值小于所述前一已解码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求81至91任意一项所述的解码设备,其特征在于:所述第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域。
- 根据权利要求81至91任意一项所述的解码设备,其特征在于,所述第二解码模块还具体用于:当所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域被更新过时,以预定顺序依次搜索所述第一参考图像中的区域,所述第一参考图像中对应区域为所述顺序中的第一块没有被更新过的区域,否则,所述第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域。
- 根据权利要求81至91任意一项所述的解码设备,其特征在于:所述第二解码模块还具体用于:获得所述局部区域所在的坐标位置与所述第一参考图像中相关区域所在的坐标位置之间的空间偏移量,所述空间偏移量包括横向偏移量和纵向偏移量,并在所述第三解码模块用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值之前,根据所述第二参考图像的局域区域的所在位置的坐标以及所述的空间偏移量确定所述第一参考图像相关区域的位置。
- 根据权利要求81至94任意一项所述的解码设备,还包括第四解码模块,所述第四解码模块还具体用于:对像素替换后的第一参考图像中对应区域或者相关区域与相邻区域的边界处进行滤波。
- 根据权利要求81至95任意一项所述的解码设备,其特征在于:所述第一参考图像为解析码流获得的第一帧重构图像。
- 根据权利要求81至95任意一项所述的解码设备,其特征在于:所述第一参考图像为解析码流获得的随机访问点图像。
- 根据权利要求81至97任意一项所述的解码设备,其特征在于,所述第二参考图像的局部区域是最大编码单元、编码单元、编码单元组、预设大小的图像区域中的一种。
- 根据权利要求81所述的解码设备,其特征在于,所述第一解码模块具体用于:解析所述码流获得所述第一参考图像的特定顺序号。
- 根据权利要求99所述的解码设备,其特征在于,所述第一解码模块还具体用于:解析所述码流获得所述第二参考图像的特定顺序号,所述特定顺序号与被所述第二参考图像更新的所述第一参考图像的特定顺序号相关联。
- 一种参考图像的编码设备,其特征在于,包括:第一编码模块,用于编码待编码序列,获得第一参考图像的重构图像,编码第二参考图像以获得所述第二参考图像的重构图像,所述第一参考图像先于所述第二参考图像被编码;第二编码模块,用于确定所述第二参考图像中的局部区域是否适用于更新所述第一参考图像中对应区域或者相关区域,所述局部区域的尺寸小于或者等于所述第二参考图像的尺寸;第三编码模块,用于确定所述第一参考图像中对应区域或者相关区域是否已更新;当所述第一参考图像中对应区域或者相关区域未更新,且确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域时,用所述第二参考图像中局部区域的像素值替换所述第一参考图像中对应区域或者相关区域的像素值;第四编码模块,用于将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流。
- 根据权利要求101所述的一种编码设备,其特征在于:所述第二编码模块具体用于:获取所述第二参考图像的待编码图像与所述局部区域具有相同坐标位置的第一区域,以及所述第二参考图像前一帧的待编码图像与所述局部区域具有相同坐标位置的第二区域;计算所述第一区域与所述第二区域中的所有像素点的均方误差值;当所述均方误差值小于第四阈值时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求101所述的一种编码设备,其特征在于:所述第二编码模块具体用于:获取所述局部区域的待编码图像进行帧间预测,获得所述局部区域的预测图 像;计算所述局部区域的待编码图像与所述局部区域的预测图像的所有像素点的横轴预测差绝对值和纵轴预测差绝对值之后的平均值;当所述平均值小于第五阈值时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求101所述的一种编码设备,其特征在于:所述第二编码模块具体用于:获取所述第二参考图像中的局部区域的变换系数信息,其中,所述变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和;当所述局部区域覆盖范围内的变换系数绝对值之和大于第六阈值时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求101所述的一种编码设备,其特征在于:所述第二编码模块具体用于:获取所述第二参考图像中的局部区域的变换系数信息,其中,所述变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和的平均值;当所述局部区域覆盖范围内的变换系数绝对值之和的平均值大于第七阈值时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求101所述的一种编码设备,其特征在于:所述第二编码模块具体用于:统计所述第二参考图像的局部区域的编码比特数和其前一个被编码区域的编码比特数;当所述第二参考图像的局部区域的编码比特数大于其前一个被编码区域的编码比特数时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求101所述的一种编码设备,其特征在于:所述第二编码模块具体用于:统计所述第二参考图像的局部区域的编码比特数和其前一被编码帧的区域平均编码比特数;当所述第二参考图像的局部区域的编码比特数大于其前一被编码帧的区域平均编码比特数时,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求101所述的一种编码设备,其特征在于:所述第二编码模块具体用于:获取所述第二参考图像中的局部区域的运动矢量信息,其中,所述运动矢量信息包括局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值;当所述局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值均小于第八阈值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求101所述的一种编码设备,其特征在于:所述第二编码模块具体用于:获取所述第二参考图像中的局部区域运动矢量信息,其中,所述运动矢量信息包括局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,和所述第二参考图像前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值;当所述局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值小于所述前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,确定所述第二参考图像中的局部区域适用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不适用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求101所述的编码设备,其特征在于,所述第四编码模块具体用于:确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的标记;对应,将用来确定所述第二参考图像中的局部区域是否用于更新所述第一参考图像中对应区域或者相关区域的参考图像更新信息编入码流,包括:将所述 标记的取值编入码流,当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,所述标记为第一取值;当所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域,所述标记为第二取值,第一取值不同于第二取值。
- 根据权利要求101所述的编码设备,其特征在于,所述参考图像更新信息,包括:所述第二参考图像的局部区域的量化参数偏移值;对应,所述第四编码模块具体用于:将所述量化参数偏移值编入码流,当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,所述量化参数偏移值的绝对值在第三取值范围内;当所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域,所述量化参数偏移值的绝对值不在第三取值范围内。
- 根据权利要求111所述的编码设备,其特征在于:包括:所述第三取值范围为大于等于10,且小于20。
- 根据权利要求101所述的编码设备,其特征在于,所述参考图像更新信息,包括:所述第二参考图像的局部区域的量化步长的缩放因子;对应,所述第四编码模块具体用于:将所述量化步长的缩放因子编入码流,当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,所述量化步长的缩放因子在第四取值范围内;当所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域,所述量化步长的缩放因子不在第四取值范围内。
- 根据权利要求113所述的编码设备,其特征在于:所述当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,所述量化步长的缩放因子在第四取值范围内包括:当所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,所述量化步长的所述缩放因子大于等于0.5,且小于1;或所述缩放因子小于等于1.5,且大于1。
- 根据权利要求101所述的编码设备,其特征在于,所述参考图像更新信息,包括:所述第二参考图像的局部区域的变换系数信息,其中,所述变换系数信息包 括局部区域覆盖范围内的变换系数绝对值之和;对应,所述第四编码模块具体用于:将所述变换系数信息编入码流,当所述局部区域覆盖范围内的变换系数绝对值之和大于第九阈值,且所述第一参考图像中对应区域或者相关区域没有被更新过,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求101所述的编码设备,其特征在于,所述参考图像更新信息,包括:所述第二参考图像的局部区域的变换系数信息,其中,所述变换系数信息包括局部区域覆盖范围内的变换系数绝对值之和的平均值;对应,所述第四编码模块具体用于:将所述变换系数信息编入码流,当所述局部区域覆盖范围内的变换系数绝对值之和的平均值大于第十阈值,且所述第一参考图像中对应区域或者相关区域没有被更新过,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求101所述的编码设备,其特征在于,所述参考图像更新信息,包括:所述第二参考图像的局部区域的运动矢量信息,其中,所述运动矢量信息包括局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值;对应,所述第四编码模块具体用于:将所述运动矢量信息编入码流,当所述局部区域内的横向运动矢量绝对值之和的平均值和纵向运动矢量绝对值之和的平均值均小于第十一阈值,且所述第一参考图像中对应区域或者相关区域没有被更新过,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求101所述的编码设备,其特征在于,所述参考图像更新信息,包括:所述第二参考图像中的局部区域运动矢量信息,其中,所述运动矢量信息包括局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均 值,和所述第二参考图像前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值;对应,所述第四编码模块具体用于:将所述运动矢量信息编入码流,当所述局部区域内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值小于所述前一已编码帧内的横向运动矢量绝对值与纵向运动矢量绝对值的和之和的平均值,且所述第一参考图像中对应区域或者相关区域没有被更新过,确定所述第二参考图像中的局部区域用于更新所述第一参考图像中对应区域或者相关区域,否则,确定所述第二参考图像中的局部区域不用于更新所述第一参考图像中对应区域或者相关区域。
- 根据权利要求101所述的编码设备,其特征在于,所述第一编码模块具体用于:使用固定量化参数编码所述第二参考图像的待编码图像,其中,对于所述局部区域使用第一量化参数,对于非所述局部区域使用第二量化参数。
- 根据权利要求119所述的编码设备,其特征在于,包括:当第二量化参数大于等于0,且小于10时,第一量化参数为第二量化参数;当第二量化参数大于等于10,且小于37时,第一量化参数为第二量化参数减5;当第二量化参数大于等于37,且小于等于51时,第一量化参数为第二量化参数减10。
- 根据权利要求101所述的编码设备,其特征在于,所述第一编码模块具体用于:使用自适应量化参数编码所述第二参考图像的待编码图像,其中,对于所述局部区域根据纹理信息和运动信息至少其中之一确定量化参数,对于非所述局部区域使用帧级量化参数或者根据编码器规定的码率分配策略或质量控制策略设置确定量化参数。
- 根据权利要求101至121任意一项所述的编码设备,其特征在于:所述第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域。
- 根据权利要求101至121任意一项所述的编码设备,其特征在于:所述第二编码模块还具体用于:当所述第一参考图像中与所述第二参考图像中的 局部区域的坐标位置相同的区域被更新过时,以预定顺序依次搜索所述第一参考图像中的区域,所述第一参考图像中对应区域为所述顺序中的第一块没有被更新过的区域,否则,所述第一参考图像中对应区域为所述第一参考图像中与所述第二参考图像中的局部区域的坐标位置相同的区域。
- 根据权利要求101至121任意一项所述的编码设备,其特征在于:所述参考图像更新信息还包括有所述局部区域所在的坐标位置与所述第一参考图像中相关区域所在的坐标位置之间的空间偏移量,所述空间偏移量包括横向偏移量和纵向偏移量;对应,所述第二编码模块还具体用于:将所述空间偏移量编入码流。
- 根据权利要求101至124任意一项所述的编码设备,还包括第五编码模块,所述第五编码模块还具体用于:对像素替换后的第一参考图像中对应区域或者相关区域与相邻区域的边界处进行滤波。
- 根据权利要求101至125任意一项所述的编码设备,其特征在于:所述第一参考图像为编码待编码序列获得的第一帧重构图像。
- 根据权利要求101至125任意一项所述的编码设备,其特征在于:所述第一参考图像为编码待编码序列获得的随机访问点图像。
- 根据权利要求101至127任意一项所述的编码设备,其特征在于,所述第二参考图像的局部区域是最大编码单元、编码单元、编码单元组、预设大小的图像区域中的一种。
- 根据权利要求101所述的编码设备,其特征在于,还包括第六模块,所述第六模块具体用于:检测所述待编码序列;判断所述第一参考图像是否为场景切换图像;确定所述第一参考图像特定顺序号;在编码所述第一参考图像的待编码图像之前或之后,将所述特定顺序号编入码流。
- 根据权利要求101所述的编码设备,其特征在于,所述第一编码模块还具体用于:确定被所述第二参考图像所更新的所述第一参考图像的特定顺序号;在编码所述第二参考图像的待编码图像之前或之后,将所述特定顺序号或者与所述特定顺序号关联的号码编入码流。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16820792.6A EP3306932A4 (en) | 2015-07-03 | 2016-07-01 | Method for encoding and decoding reference image, encoding device, and decoding device |
KR1020187001858A KR102094222B1 (ko) | 2015-07-03 | 2016-07-01 | 참조 영상 인코딩 방법, 참조 영상 디코딩 방법, 참조 영상 인코딩 디바이스 및 참조 영상 디코딩 디바이스 |
US15/861,218 US10979722B2 (en) | 2015-07-03 | 2018-01-03 | Reference image encoding method, reference image decoding method, reference image encoding device, and reference image decoding device |
US17/217,808 US11968376B2 (en) | 2015-07-03 | 2021-03-30 | Reference image encoding method, reference image decoding method, reference image encoding device, and reference image decoding device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510392066.4 | 2015-07-03 | ||
CN201510392066.4A CN106331700B (zh) | 2015-07-03 | 2015-07-03 | 参考图像编码和解码的方法、编码设备和解码设备 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/861,218 Continuation US10979722B2 (en) | 2015-07-03 | 2018-01-03 | Reference image encoding method, reference image decoding method, reference image encoding device, and reference image decoding device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017005141A1 true WO2017005141A1 (zh) | 2017-01-12 |
Family
ID=57684732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2016/088144 WO2017005141A1 (zh) | 2015-07-03 | 2016-07-01 | 参考图像编码和解码的方法、编码设备和解码设备 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10979722B2 (zh) |
EP (1) | EP3306932A4 (zh) |
KR (1) | KR102094222B1 (zh) |
CN (1) | CN106331700B (zh) |
WO (1) | WO2017005141A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110062235A (zh) * | 2019-04-08 | 2019-07-26 | 上海大学 | 背景帧生成及更新方法、***、装置及介质 |
CN114416000A (zh) * | 2021-12-29 | 2022-04-29 | 上海赫千电子科技有限公司 | 一种应用于智能汽车的多屏互动方法、多屏互动*** |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108243339B (zh) * | 2016-12-27 | 2021-02-26 | 浙江大学 | 图像编解码方法及装置 |
CN110832861A (zh) * | 2018-07-03 | 2020-02-21 | 深圳市大疆创新科技有限公司 | 视频处理方法和设备 |
CN109862360B (zh) * | 2019-02-18 | 2021-09-14 | 格兰菲智能科技有限公司 | 图像压缩方法以及图像处理*** |
CN109862366B (zh) * | 2019-02-18 | 2021-07-13 | 格兰菲智能科技有限公司 | 图像压缩方法以及图像处理*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202913A (zh) * | 2006-11-28 | 2008-06-18 | 三星电子株式会社 | 用于编码和解码视频图像的方法和设备 |
WO2009102011A1 (ja) * | 2008-02-14 | 2009-08-20 | Nec Corporation | 更新領域検出装置 |
US20090208126A1 (en) * | 2008-02-19 | 2009-08-20 | Canon Kabushiki Kaisha | Image encoding apparatus, image processing apparatus and control method thereof |
CN102006473A (zh) * | 2010-11-18 | 2011-04-06 | 无锡中星微电子有限公司 | 视频编码器和编码方法以及视频解码器和解码方法 |
CN102208016A (zh) * | 2010-03-30 | 2011-10-05 | 索尼公司 | 图像处理设备和方法、以及程序 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4414904B2 (ja) * | 2004-04-16 | 2010-02-17 | 株式会社エヌ・ティ・ティ・ドコモ | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム |
US9602838B2 (en) * | 2006-12-28 | 2017-03-21 | Thomson Licensing | Method and apparatus for automatic visual artifact analysis and artifact reduction |
CN101272494B (zh) | 2008-01-25 | 2011-06-08 | 浙江大学 | 利用合成参考帧的视频编解码方法及装置 |
US8385404B2 (en) | 2008-09-11 | 2013-02-26 | Google Inc. | System and method for video encoding using constructed reference frame |
CN101883284B (zh) | 2010-06-21 | 2013-06-26 | 北京大学 | 基于背景建模和可选差分模式的视频编/解码方法及*** |
US9661325B1 (en) * | 2012-02-17 | 2017-05-23 | Polycom, Inc. | Lossy channel video blur avoidance |
KR102209447B1 (ko) * | 2013-02-15 | 2021-02-01 | 삼성전자주식회사 | 전자장치 및 전자장치의 객체인식방법 |
WO2015085575A1 (en) * | 2013-12-13 | 2015-06-18 | Mediatek Singapore Pte. Ltd. | Methods for background residual prediction |
US9807411B2 (en) * | 2014-03-18 | 2017-10-31 | Panasonic Intellectual Property Management Co., Ltd. | Image coding apparatus, image decoding apparatus, image processing system, image coding method, and image decoding method |
CN103957341B (zh) * | 2014-04-30 | 2016-09-28 | 华为软件技术有限公司 | 图片传输的方法及其相关设备 |
-
2015
- 2015-07-03 CN CN201510392066.4A patent/CN106331700B/zh active Active
-
2016
- 2016-07-01 EP EP16820792.6A patent/EP3306932A4/en active Pending
- 2016-07-01 WO PCT/CN2016/088144 patent/WO2017005141A1/zh active Application Filing
- 2016-07-01 KR KR1020187001858A patent/KR102094222B1/ko active IP Right Grant
-
2018
- 2018-01-03 US US15/861,218 patent/US10979722B2/en active Active
-
2021
- 2021-03-30 US US17/217,808 patent/US11968376B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202913A (zh) * | 2006-11-28 | 2008-06-18 | 三星电子株式会社 | 用于编码和解码视频图像的方法和设备 |
WO2009102011A1 (ja) * | 2008-02-14 | 2009-08-20 | Nec Corporation | 更新領域検出装置 |
US20090208126A1 (en) * | 2008-02-19 | 2009-08-20 | Canon Kabushiki Kaisha | Image encoding apparatus, image processing apparatus and control method thereof |
CN102208016A (zh) * | 2010-03-30 | 2011-10-05 | 索尼公司 | 图像处理设备和方法、以及程序 |
CN102006473A (zh) * | 2010-11-18 | 2011-04-06 | 无锡中星微电子有限公司 | 视频编码器和编码方法以及视频解码器和解码方法 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3306932A4 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110062235A (zh) * | 2019-04-08 | 2019-07-26 | 上海大学 | 背景帧生成及更新方法、***、装置及介质 |
CN114416000A (zh) * | 2021-12-29 | 2022-04-29 | 上海赫千电子科技有限公司 | 一种应用于智能汽车的多屏互动方法、多屏互动*** |
CN114416000B (zh) * | 2021-12-29 | 2024-02-20 | 上海赫千电子科技有限公司 | 一种应用于智能汽车的多屏互动方法、多屏互动*** |
Also Published As
Publication number | Publication date |
---|---|
US11968376B2 (en) | 2024-04-23 |
KR20180019215A (ko) | 2018-02-23 |
CN106331700B (zh) | 2019-07-19 |
US20210289214A1 (en) | 2021-09-16 |
CN106331700A (zh) | 2017-01-11 |
EP3306932A1 (en) | 2018-04-11 |
KR102094222B1 (ko) | 2020-03-27 |
EP3306932A4 (en) | 2018-10-24 |
US20180131948A1 (en) | 2018-05-10 |
US10979722B2 (en) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11496732B2 (en) | Video image encoding and decoding method, apparatus, and device | |
US11979601B2 (en) | Encoder-side search ranges having horizontal bias or vertical bias | |
US11979559B2 (en) | Image prediction method and device | |
US11252436B2 (en) | Video picture inter prediction method and apparatus, and codec | |
WO2017005141A1 (zh) | 参考图像编码和解码的方法、编码设备和解码设备 | |
TWI535269B (zh) | 執行視訊寫碼之運動向量預測 | |
WO2016184261A1 (zh) | 视频图像编码和解码的方法、编码设备和解码设备 | |
WO2019179401A1 (zh) | 图像滤波方法、装置及视频编解码器 | |
US20200267409A1 (en) | Early termination of block-matching for collaborative filtering | |
RU2771955C2 (ru) | Устройство, оборудование, способ кодирования и декодирования видеоизображений | |
WO2020000487A1 (zh) | 变换方法、反变换方法及装置 | |
KR20230157975A (ko) | 딥러닝 기반 yuv 비디오 압축을 위한 모션 흐름 코딩 | |
CN114760467A (zh) | 编码模式的确定方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16820792 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 20187001858 Country of ref document: KR Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2016820792 Country of ref document: EP |