WO2024011370A1 - 视频图像处理方法及装置、编解码器、码流、存储介质 - Google Patents

视频图像处理方法及装置、编解码器、码流、存储介质 Download PDF

Info

Publication number
WO2024011370A1
WO2024011370A1 PCT/CN2022/104980 CN2022104980W WO2024011370A1 WO 2024011370 A1 WO2024011370 A1 WO 2024011370A1 CN 2022104980 W CN2022104980 W CN 2022104980W WO 2024011370 A1 WO2024011370 A1 WO 2024011370A1
Authority
WO
WIPO (PCT)
Prior art keywords
sample
image
list
value
component
Prior art date
Application number
PCT/CN2022/104980
Other languages
English (en)
French (fr)
Inventor
杨铀
蒋小广
刘琼
Original Assignee
Oppo广东移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to PCT/CN2022/104980 priority Critical patent/WO2024011370A1/zh
Priority to TW112125657A priority patent/TW202408235A/zh
Publication of WO2024011370A1 publication Critical patent/WO2024011370A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Definitions

  • the embodiments of this application relate to video technology, including but not limited to video image processing methods and devices, codecs, code streams, and storage media.
  • Some depth cameras output images with three channels (such as RGB images).
  • image 102 color image
  • YUV420 format image 102
  • VVC two-dimensional encoder
  • the transformation relationship between the RGB image and the depth image needs to be known before the RGB image can be restored to the depth image.
  • the video image processing method and device, codec, code stream, and storage medium provided by the embodiments of the present application are capable of changing the transformation relationship between the first image (such as RGB image) and the second image (such as depth image) at the decoding end. If known, the first image is restored to a second image (such as a depth image); the video image processing method and device, codec, code stream, and storage medium provided by the embodiments of the present application are implemented as follows:
  • a video image processing method is provided.
  • the method is applied to a decoder.
  • the method includes: sorting the samples according to the difference between the samples in the first image, Obtain a first list; according to the index number of the sample in the first list and the bit depth of the first component, obtain the sample value of the first component in the second image that has the same position coordinates as the sample.
  • the decoder when the transformation relationship between the first image and the second image is unknown, the first image can be restored to the second image; the encoder does not need to transform the first image into the second image.
  • the relationship is transmitted to the decoder, thereby saving transmission resources; the decoder does not need to receive and decode the transformation relationship, thereby saving power consumption.
  • a video image processing method is provided.
  • the method is applied to an encoder.
  • the method includes: sorting the samples according to the difference between the samples in the first image. , obtain the first list; according to the index number of the sample in the first list and the bit depth of the first component, obtain the sample value of the first component in the second image that has the same position coordinates as the sample.
  • the encoder when the transformation relationship between the first image and the second image is unknown, the first image can be restored to the second image; therefore, on the one hand, since the first image is transformed into a single The second image of the channel, that is, the first component has content. Therefore, while improving the transformation efficiency and saving calculation overhead, it also reduces the data amount of the second image, and then the workload is smaller when compressing and encoding the second image. This saves power consumption and saves transmission overhead because the amount of compressed and encoded data is small; on the other hand, the decoder does not need to transform the code stream after decoding it to obtain the second image.
  • a video image processing device is provided, the device is applied to a decoder, the device includes: a first sorting module and a first mapping module; wherein, the first sorting module, The first mapping module is configured to sort the samples according to the difference between the samples in the first image to obtain a first list; the first mapping module is configured to sort the samples according to the index number of the sample in the first list. and the bit depth of the first component to obtain the sample value of the first component having the same position coordinates as the sample in the second image.
  • a video image processing device is provided.
  • the device is applied to an encoder.
  • the device includes: a second sorting module and a second mapping module; wherein, the second sorting module,
  • the second mapping module is configured to sort the samples according to the difference between the samples in the first image to obtain a first list; the second mapping module is configured to sort the samples according to the index number of the sample in the first list. and the bit depth of the first component to obtain the sample value of the first component having the same position coordinates as the sample in the second image.
  • a decoder including a first memory and a first processor; wherein the first memory is used to store a computer program that can run on the first processor. ; The first processor is configured to execute the video image processing method applied to the decoder described in the embodiment of the present application when running the computer program.
  • an encoder including a second memory and a second processor; wherein the second memory is used to store a computer program that can run on the second processor. ;
  • the second processor is configured to execute the video image processing method applied to the encoder described in the embodiment of the present application when running the computer program.
  • a code stream is provided, the code stream is generated by bit encoding a second image; wherein the second image is generated by video image processing applied to the encoder Obtained from the steps in the method.
  • a computer-readable storage medium stores a computer program, and when the computer program is executed, the application described in the embodiment of the present application is implemented.
  • Figure 1 is a schematic diagram of the processing flow of a three-channel image 101
  • Figure 2 is a schematic structural diagram of the encoder 20 of the encoding and decoding system 1 provided by the embodiment of the present application;
  • Figure 3 is a schematic structural diagram of the decoder 30 of the encoding and decoding system 1 provided by the embodiment of the present application;
  • Figure 4 is a schematic structural diagram of the encoder 40 of the encoding and decoding system 2 provided by the embodiment of the present application;
  • Figure 5 is a schematic structural diagram of the decoder 50 of the encoding and decoding system 2 provided by the embodiment of the present application;
  • Figure 6 is a schematic flow chart of the implementation of the video image processing method provided by the embodiment of the present application.
  • Figure 7 is a schematic diagram of colormap
  • Figure 8 is a schematic flow chart of the implementation of the sorting processing method provided by the embodiment of the present application.
  • FIG. 9 is a schematic flowchart of the implementation of another sorting processing method provided by an embodiment of the present application.
  • Figure 10 is a schematic flow chart of the implementation of the video image processing method provided by the embodiment of the present application.
  • Figure 11 is a schematic diagram of the principle of pseudo-color transformation
  • Figure 12 is a schematic diagram of pseudo-color transformation on the depth map 1201
  • FIG. 13 is a schematic diagram of the processing flow of RGB24 sequence 1202
  • FIG 14 is a schematic diagram of the processing flow of RGB24 sequence 1202 provided by the embodiment of the present application.
  • Figure 15 is a schematic structural diagram of a video image processing device provided by an embodiment of the present application.
  • Figure 16 is a schematic structural diagram of another video image processing device provided by an embodiment of the present application.
  • Figure 17 is a schematic structural diagram of a decoder provided by an embodiment of the present application.
  • Figure 18 is a schematic structural diagram of an encoder provided by an embodiment of the present application.
  • first ⁇ second ⁇ third involved in the embodiments of this application are used to distinguish similar or different objects and do not represent a specific ordering of objects. It is understandable that “first ⁇ second ⁇ third” The specific order or sequence of "three” may be interchanged where permitted, so that the embodiments of the application described herein can be implemented in an order other than that illustrated or described herein.
  • the coding and decoding system 1 includes the encoder 20 shown in Figure 2 and the decoder 30 shown in Figure 3.
  • the encoder 20 may include a color space transformation module 200 and an encoding module 201; wherein the encoding module 201 includes: a transformation and quantization unit 2011, an intra-frame estimation unit 2012, a frame Intra prediction unit 2013, motion compensation unit 2014, motion estimation unit 2015, inverse transformation and inverse quantization unit 2016, filter control analysis unit 2017, filtering unit 2018, encoding unit 2019 and decoded image cache unit 2010, etc.; among them, filtering unit 2018 Deblocking filtering and Sample Adaptive Offset (SAO) filtering can be implemented.
  • the encoding unit 2019 can implement header information encoding and Context-based Adaptive Binary Arithmetic Coding (CABAC).
  • CABAC Context-based Adaptive Binary Arithmetic Coding
  • the color space transformation module 200 performs a sorting process on the input first image according to the difference between the samples in the first image to obtain a first list; according to the position of the sample in the first list The index number and the bit depth of the first component are used to obtain the sample value of the first component in the second image that has the same position coordinate as the sample; then, the obtained second image is output to the encoding module 201;
  • the encoding module 201 for the input second image, can obtain a video coding block by dividing the coding tree block (Coding Tree Unit, CTU), and then transform and transform the residual pixel information obtained after intra-frame or inter-frame prediction.
  • the quantization unit 2011 transforms the video coding block, including transforming the residual information from the pixel domain to the transform domain, and quantizing the resulting transform coefficients to further reduce the bit rate;
  • the intra-frame estimation unit 2012 and the intra-frame prediction unit 2013 is used to perform intra prediction on the video encoding block; specifically, the intra estimation unit 2012 and the intra prediction unit 2013 are used to determine the intra prediction mode to be used to encode the video encoding block;
  • the motion compensation unit 2014 and motion estimation unit 2015 for performing inter-frame predictive encoding of the received video encoded block relative to one or more blocks in one or more reference frames to provide temporal prediction information;
  • the motion estimation performed by motion estimation unit 2015 is The process of generating a motion vector that can estimate the motion of the video encoding block, and then
  • the reconstructed residual block removes block artifacts through the filter control analysis unit 2017 and the filtering unit 2018, and then the reconstructed residual block is The block is added to a predictive block in the frame of the decoded image cache unit 2010 to generate a reconstructed video encoding block; the encoding unit 2019 is used to encode various encoding parameters and quantized transform coefficients, in the CABAC-based In the encoding algorithm, the contextual content can be based on adjacent coding blocks, can be used to encode information indicating the determined intra prediction mode, and output the code stream of the second image; and the decoded image buffer unit 2010 is used to store the reconstructed video Coding block, used for prediction reference. As the video image encoding proceeds, new reconstructed video encoding blocks will be continuously generated, and these reconstructed video encoding blocks will be stored in the decoded image cache unit 2010 .
  • the decoder (specifically, a "video decoder") 30 includes a decoding unit 301, an inverse transform and inverse quantization unit 302, an intra prediction unit 303, a motion compensation unit 304, a filtering unit 305 and a decoded image cache unit. 306, etc., wherein the decoding unit 301 can implement header information decoding and CABAC decoding, and the filtering unit 305 can implement deblocking filtering and SAO filtering.
  • the code stream of the second image is output; the code stream is input to the decoder 30 and first passes through the decoding unit 301 to obtain the decoded transform coefficients.
  • the transform coefficients are processed by the inverse transform and inverse quantization unit 302 to generate a residual block in the pixel domain; the intra prediction unit 303 can be used to base on the determined intra prediction mode and previous predictions from the current frame or picture.
  • the data of the decoded block generates prediction data for the current video decoding block; the motion compensation unit 304 determines prediction information for the video decoding block by parsing motion vectors and other associated syntax elements, and uses the prediction information to generate the prediction data being decoded.
  • Predictive block of the video decoded block a decoded video block is formed by summing the residual block from inverse transform and inverse quantization unit 302 and the corresponding predictive block produced by intra prediction unit 303 or motion compensation unit 304 ;
  • the decoded video signal passes through the filtering unit 305 to remove blocking artifacts, which can improve the video quality; the decoded video blocks are then stored in the decoded image cache unit 306, which stores them for subsequent intra prediction Or the reference image for motion compensation is also used for the output of the video signal, that is, the restored second image is obtained.
  • the encoding and decoding system 2 includes the encoder 40 shown in Figure 4 and the decoder 50 shown in Figure 5.
  • the encoder 40 includes: a color space transformation module 400 and an encoding module 401; wherein the encoding module 401 has the same structure as the encoding module 201 shown in Figure 2, Therefore the description will not be repeated here.
  • the function of the color space transformation module 400 is different from the function of the color space transformation module 200, and the color space transformation algorithm adopted by it is different.
  • the color space transformation module 400 transforms the input first image into a third image with the same number of components according to a predefined pseudo-color transformation relationship (for example, colormap); where the third image is the same as the second image.
  • the images have different number of channels.
  • the third image is an image in YUV420 format
  • the second image is a depth image
  • the first image is an RGB image (it can be an RGB image in any format); then, the obtained third image is output to the encoding module 401;
  • a video coding block can be obtained by dividing the coding tree block (Coding Tree Unit, CTU), and then the residual pixel information obtained after intra-frame or inter-frame prediction is transformed and
  • the quantization unit 4011 transforms the video coding block, including transforming the residual information from the pixel domain to the transform domain, and quantizing the resulting transform coefficients to further reduce the bit rate;
  • the intra-frame estimation unit 4012 and the intra-frame prediction unit 4013 is used to perform intra prediction on the video encoding block; specifically, the intra estimation unit 4012 and the intra prediction unit 4013 are used to determine the intra prediction mode to be used to encode the video encoding block;
  • the motion compensation unit 4014 and motion estimation unit 4015 for performing inter-frame predictive encoding of the received video encoding block relative to one or more blocks in one or more reference frames to provide temporal prediction information;
  • the motion estimation performed by motion estimation unit 4015 is The process of generating a motion vector that can estimate the motion of the video encoding block, and then performing
  • the reconstructed residual block removes block artifacts through the filter control analysis unit 4017 and the filtering unit 4018, and then the reconstructed residual block is The block is added to a predictive block in the frame of the decoded image cache unit 4010 to generate a reconstructed video encoding block; the encoding unit 4019 is used to encode various encoding parameters and quantized transform coefficients, in the CABAC-based In the encoding algorithm, the contextual content can be based on adjacent coding blocks, can be used to encode information indicating the determined intra prediction mode, and output the code stream of the third image; and the decoded image buffer unit 4010 is used to store the reconstructed video Coding block, used for prediction reference. As the video image encoding proceeds, new reconstructed video encoding blocks will be continuously generated, and these reconstructed video encoding blocks will be stored in the decoded image cache unit 4010.
  • the decoder 50 includes a color space transformation module 501 and a decoding module 502; wherein the structure of the decoding module 502 is the same as that of the decoder 30 shown in Figure 3, so The description will not be repeated here.
  • the code stream of the third image is output; the code stream is input to the decoding module 502 of the decoder 50, and first passes through the decoding unit 5021 for The decoded transform coefficient is obtained; the transform coefficient is processed by the inverse transform and inverse quantization unit 5022 to generate a residual block in the pixel domain; the intra prediction unit 5023 can be used to determine the intra prediction mode based on the current Prediction data for the current video decoding block is generated by using data from previously decoded blocks of frames or pictures; motion compensation unit 5024 determines prediction information for the video decoding block by parsing motion vectors and other associated syntax elements, and uses the prediction information to produce a predictive block of the video decoding block being decoded; by summing the residual block from inverse transform and inverse quantization unit 5022 with the corresponding predictive block produced by intra prediction unit 5023 or motion compensation unit 5024, Decoded video blocks are formed; the decoded video signals pass through the filtering unit 50
  • the module 501 is configured to: utilize and The encoding-end color space transformation module 400 reverses the transformation relationship, that is, inversely transforms the third image into the first image based on a predefined pseudo-color transformation relationship (such as colormap) or a predefined pseudo-color inverse transformation relationship; and, according to the first image Sorting the samples on the difference between the samples in an image to obtain a first list; and obtaining a second list based on the index number of the sample in the first list and the bit depth of the first component. The sample value of the first component in the image that has the same position coordinate as the sample is recovered to obtain the second image.
  • a predefined pseudo-color transformation relationship such as colormap
  • a predefined pseudo-color inverse transformation relationship such as colormap
  • the second image can be restored without knowing the transformation relationship between the second image and the first image. Therefore, the encoder 40 does not need to transmit the transformation relationship between the first image and the second image to the decoder 50, thereby saving resource overhead caused by transmission; the decoder does not need to receive and decode the transformation relationship, thereby saving power consumption.
  • the color space transformation module 200 in the encoder 20 directly transforms the first image into The second image is then output to the encoding module 201; thus, on the one hand, since the first image is transformed into a single-channel second image, that is, the first component has content, the number of transformed samples is reduced, thereby improving the transformation While efficiency and saving calculation overhead, it also reduces the data amount of the second image, thereby saving power consumption due to the smaller workload when compressing and encoding the second image, and saving due to the smaller amount of data after compression and encoding.
  • the overhead caused by the transmission is eliminated; on the other hand, the decoder 30 does not need to transform the code stream after decoding it to obtain the second image.
  • the color space transformation module 501 still needs to restore the third image through two transformations to obtain the second image.
  • the decoder 30 saves two transformation processes, thereby saving power consumption and improving the efficiency of the decoder 30 work efficiency.
  • the coding block CB
  • these three color components are a brightness component, a blue chroma component and a red chroma component.
  • the brightness component is usually represented by the symbol Y
  • the blue chroma component is usually represented by the symbol Cb or U
  • the red chroma component is usually represented by the symbol Cr or V; in this way, the video image can be represented in the YCbCr format or YUV Format representation.
  • the video image may also be in RGB format or YCgCo format, etc., and the embodiments of this application do not impose any limitations.
  • FIG. 6 is a schematic flow chart of the implementation of the video image processing method provided by the embodiment of the present application. As shown in Figure 6, The method includes the following steps 601 and 603:
  • Step 601 Sort the samples in the first image according to the differences between the samples to obtain a first list.
  • this can be implemented through steps 6011 to 6019 in the following embodiments, which will not be described here.
  • the first image is an image with three channels, for example, the first image is an RGB image.
  • the samples in the first image refer to samples of three components.
  • the samples include samples of the R component, the G component, and the B component.
  • the format of the first image is not limited and can be a three-channel image in any format.
  • the first image is a single-channel image transformed into a three-channel image based on the pseudo-color transformation relationship.
  • the information of the single-channel image is represented by a three-channel image.
  • the video image processing methods provided by the embodiments of the present application are applicable.
  • the depth image is transformed, and the obtained transformation result is an example of the first image; among them, the colormap is predefined, just for the convenience of human eyes to distinguish, and there is no specific physical meaning.
  • the R component, G component, and B component change as the depth value changes, for example, increase as the depth value increases, or decrease as the depth value increases.
  • Step 602 Obtain the sample value of the first component in the second image that has the same position coordinates as the sample according to the index number of the sample in the first list and the bit depth of the first component.
  • the sample value of a certain component represents actual information, that is, Can.
  • the first image is transformed from the depth image, and the sample value of the first component of the second image represents the depth information, while the sample values of the remaining components of the second image have no practical meaning.
  • the sample value of the remaining component of each position coordinate may be set to a first value.
  • the format of the second image may be YUV400 or YUV420.
  • the first component is the brightness component
  • the second component and the third component are the chrominance components
  • the sample values of the second component and the third component of the second image are set to the first value. .
  • the first numerical value can be any numerical value.
  • the first value is 0 or 2 N-1
  • N is the bit depth of the first component.
  • Step 603 Encode the second image and write the resulting encoded bits into a code stream.
  • the encoder 20 can transform the first image into the second image through the above steps 601 and 602 without knowing the transformation relationship between the first image and the second image. ; Since the first image is transformed into a single-channel second image, that is, the first component has content, the number of transformed samples is reduced, thereby improving the transformation efficiency and saving computational overhead, and also reducing the second image. The amount of data, thus saving power consumption due to the smaller workload when compressing and encoding the second image, and saving the overhead caused by transmission due to the smaller amount of compressed and encoded data; on the other hand, the decoder 30 After decoding the code stream to obtain the second image, there is no need to transform it. Compared with the decoder 50 shown in FIG.
  • the decoder 30 saves two transformation processes, thereby saving power consumption and improving the working efficiency of the decoder 30 .
  • step 601 the samples in the first image are sorted according to differences between the samples to obtain a first list.
  • step 601 can be implemented through the following steps 6011 to 6019:
  • Step 6011 Set the index number of the first sample in the first image in the first list to a second value.
  • the first sample in the case where the first image is an image with three components, includes samples of three components of the same position coordinate in the first image.
  • the samples of the three components at the same position coordinates can be treated as a whole (that is, a combination or vector), and an index number can be assigned to the whole.
  • the samples in the first image are sorted through a linked list, and then the samples of the three components of the same position coordinates can be stored in the same node.
  • the first sample may be a sample at any position coordinate in the first image, for example, it may be a sample at the position coordinate (0, 0).
  • the second numerical value can be any numerical value, as long as it can accurately represent the ranking of the first sample in the first list and obtain an accurate second image.
  • the second value is 1.
  • Step 6012 Determine the difference between the first sample and the adjacent second sample.
  • the adjacent refers to adjacent position coordinates.
  • the second sample is a sample adjacent to the position coordinate of the first sample.
  • the position coordinate of the first sample is (i, j)
  • the position coordinate of the second sample is (i+1, j) or (i, j+1).
  • the first sample includes samples of the three components of the same position coordinate in the first image, and the same is true for the second sample. Accordingly, the difference between the first sample and the second sample refers to the sum of the corresponding differences of the three components.
  • the method of calculating the difference there is no limit on the method of calculating the difference. That is to say, there is no limit on the parameters characterizing the difference.
  • the Manhattan distance between the first sample and the second sample can be As the difference value, the cosine similarity or the Euclidean distance between the first sample and the second sample may also be used as the difference value. In short, it is enough to be able to measure the difference in sample values between two samples.
  • Step 6013 Determine whether the absolute value of the difference between the first sample and the second sample is equal to the second threshold; if so, perform step 6014; otherwise, perform step 6015.
  • the second threshold is equal to 0; that is, the sample value of the second sample is the same as the sample value of the first sample.
  • the sample value of the R component in the first sample is R1, the sample value of the G component is G1, and the sample value of the B component is B1; the sample value of the R component in the second sample is also R1, and the sample value of the G component is also R1. is also G1, and the sample value of the B component is also B1; then the absolute value of the difference between the first sample and the second sample is equal to 0, and the sample values of the two are the same; among them, R1, G1 and B1 are constants.
  • the size of the second threshold is not limited and may be equal to 0 or a value greater than 0.
  • the second threshold is greater than 0, the index numbers of two sample values that are similar are set to the same value.
  • Step 6014 The index number of the second sample is the same as the index number of the first sample; enter step 6018;
  • Step 6015 Determine whether the absolute value of the difference between the first sample and the second sample is less than or equal to the first threshold; if so, perform step 6017; otherwise, perform step 6016; wherein the first threshold is greater than the second threshold.
  • step 6015 is to determine whether the Manhattan distance between the first sample and the second sample is equal to 1; if If yes, perform step 6017; otherwise, perform step 6016.
  • the samples in the first image can be finally determined according to the size relationship, and the order of each sample (here refers to the sample combination of the same position coordinates) can be determined Just relationship.
  • Step 6016 Add the second sample to the first list, and do not sort the second sample; that is, do not set an index number for the second sample; enter step 6018;
  • Step 6017 Set the index number of the second sample in the first list to a third value; enter step 6018;
  • the third numerical value is greater than the second numerical value; in other embodiments, the third numerical value is less than the second numerical value.
  • the absolute value of the difference between the third value and the second value is 1.
  • the second value is 1 and the third value is 2.
  • Step 6018 Perform the first operation on the untraversed third sample adjacent to the second sample in the first image
  • the first operation includes: finding a first target sample whose absolute value of the difference between the first list and the third sample is equal to a second threshold; after finding the first target sample In this case, the index number of the third sample is the same as the index number of the first target sample; if the first target sample is not found, search for the third sample in the first list. For a second target sample whose absolute value of the difference is less than or equal to the first threshold and greater than the second threshold, the index number of the third sample in the first list is set to that of the second target sample.
  • step 6019 Add a fourth value to the index number; if the second target sample of the third sample is not found, add the third sample to the first list, and do not sort the third sample; then, Continue to perform the first operation on the untraversed samples adjacent to the third sample in the first image until the last sample of the first image is traversed, and the first list is obtained; then , enter step 6019.
  • samples that have not been traversed refer to samples that have not yet been added to the first list.
  • the sample for which the index number is set is already in the first list.
  • the index number of the third sample in the first list is set as the second target. Add a fourth value to the index number of the sample; then, continue to perform the first operation on the untraversed samples adjacent to the third sample in the first image until the last one of the first image is traversed. Up to the samples, the first list is obtained; then, step 6019 is entered.
  • the fourth numerical value may be any numerical value, for example, the fourth numerical value is 1. In short, it is enough to accurately represent the position of the sample in the first list and obtain an accurate second image.
  • Step 6019 Perform the second operation on the unsorted samples in the first list
  • the second operation includes: selecting any unsorted sample in the first list as the current sample, and determining the distance between the current sample and the remaining unsorted samples that are different from the current sample.
  • the third target sample with the smallest absolute value of the difference; set the index number of the third target sample in the first list to the index number of the current sample plus a fourth value.
  • the cut-off condition is that there are 2 unsorted samples in the first list, and one of these two samples is used as the starting point of the list, and the other is used as the end point of the list.
  • the above steps 6011 to 6019 can be implemented in any way.
  • the data structure of the first list can be a linked list structure or other types of data structures; in short, it only needs to be able to represent the sequence relationship of each sample.
  • the doubly linked list can be obtained as follows (ie, step 901 to step 908):
  • Step 901 select a certain position coordinate in the first image as the current position, use the samples of the three components at the current position as the node of the doubly linked list, and the pointer of the node points to NULL; then enter step 902;
  • Step 902 Determine whether the current position is the last untraversed position in the first image; if so, execute step 907; otherwise, execute step 903;
  • Step 903 select the next position coordinate as the current position, and determine whether the samples of the three components at the current position are already in the linked list; if so, return to step 903; otherwise, perform step 904;
  • Step 904 use the three component samples at the current position as a linked list node, the pointer of the node points to NULL, and then enter step 905;
  • Step 905 traverse the nodes in the linked list, calculate the Manhattan distance between the three component samples at the current position and other nodes in the linked list; determine whether the distance is equal to 1; if so, perform step 906; otherwise, continue to traverse the linked list the next node until the traversal ends, and then return to step 903;
  • Step 906 Point the pointer of the linked list node corresponding to the current position to the other node, and point the pointer of the other node to the linked list node corresponding to the current position; then, return to step 903;
  • Step 907 determine whether the number of linked list endpoints is greater than 2; if so, execute step 908; otherwise, end; wherein, the linked list endpoint refers to the node in the linked list whose pointer points to NULL;
  • Step 908 Select any linked list endpoint as the current node, find the target endpoint with the smallest Manhattan distance from the current node in the linked list, point the pointer of the current node to the target endpoint, and point the pointer of the target endpoint to the current node, and then return Execute step 907.
  • step 602 according to the index number of the sample in the first list and the bit depth of the first component, the sample value of the first component in the second image that has the same position coordinates as the sample is obtained.
  • the second image is obtained through the following steps 6021 to 6022, that is, step 602 is implemented:
  • Step 6021 Determine the maximum sample value representing the first component according to the bit depth of the first component.
  • the maximum sample value is (2 N -1), where N is the bit depth of the first component.
  • Step 6022 Obtain the sample value of the first component in the second image that has the same position coordinates as the sample according to the index number of the sample in the first list and the maximum sample value.
  • the first ratio is determined based on the index number of the sample in the first list and the total number of index numbers in the first list; wherein the first ratio is (k The ratio of -1) to (M-1); M is the total number of index numbers, k is the index number of the sample in the first list; and the ratio of the first ratio to the maximum sample value
  • the product is taken as the sample value of the first component in the second image that has the same position coordinates as the sample.
  • the sample value y(k) of the first component in the second image that has the same position coordinate as the sample is obtained through the following formula (1):
  • M is the total number of index numbers, and k is the index number of the sample in the first list.
  • step 603 the second image is encoded, and the resulting encoded bits are written into a code stream.
  • the second image can be sent to the encoding module 201 to implement encoding of the second image.
  • the method further includes: setting sample values of the second component and the third component of the second image to a first value.
  • the first numerical value may be any value.
  • the first value is 0 or 2 raised to the (N-1) power, where N is the bit depth.
  • the samples of the first image represent depth information.
  • the samples of the first component of the second image represent depth information.
  • the difference between the first image and the second image lies in their different formats.
  • the first image is an image in RGB format
  • the second image is an image in YUV format.
  • FIG. 10 is a schematic flow chart of the implementation of the video image processing method provided by the embodiment of the present application, as shown in Figure 10 , the method includes the following steps 1001 to 1004:
  • Step 1001 decode the received code stream to obtain the third image
  • Step 1002 perform color space transformation on the third image to obtain the first image
  • Step 1003 Sort the samples in the first image according to the differences between the samples to obtain a first list
  • Step 1004 According to the index number of the sample in the first list and the bit depth of the first component, obtain the sample value of the first component in the second image that has the same position coordinates as the sample.
  • sorting the samples according to the difference between the samples in the first image includes: changing the index of the first sample in the first image in the first list
  • the serial number is set to a second value to determine the difference between the first sample and the adjacent second sample; and the absolute value of the difference between the first sample and the second sample is less than Or equal to the first threshold and greater than the second threshold, set the index number of the second sample in the first list to a third value; between the first sample and the second sample When the absolute value of the difference between is equal to the second threshold, the index number of the second sample is the same as the index number of the first sample; Perform a first operation on the third sample that has not been traversed, and the first operation includes: finding a first target sample whose absolute value of the difference between the first list and the third sample is equal to a second threshold; If the first target sample is found, the index number of the third sample is the same as the index number of the first target sample; if the first target sample is not found, the index number of the third sample is the same as the index
  • the index of the third sample in the first list is The sequence number is set to the index sequence number of the second target sample plus a fourth numerical value.
  • the method further includes: when the absolute value of the difference between the first sample and the second sample is greater than a first threshold, adding the second sample to the in the first list, and the second sample is not sorted; the first operation also includes: when the second target sample of the third sample is not found, adding the third sample to the third sample. in a list, and the third sample is not sorted; accordingly, after traversing to the last sample of the first image, the method further includes: performing a second operation on the unsorted samples in the first list ; The second operation includes: selecting any unsorted sample in the first list as the current sample, and determining the difference with the current sample from the remaining unsorted samples that are different from the current sample. The third target sample with the smallest absolute value; the index number of the third target sample in the first list is set to the index number of the current sample plus a fourth numerical value.
  • a sample of the first component in the second image that has the same position coordinates as the sample is obtained. value, including: determining the maximum sample value representing the first component according to the bit depth; obtaining the index number of the sample in the first list and the maximum sample value in the second image and The samples have sample values of the first component of the same position coordinate.
  • the first component of the second image having the same position coordinates as the sample is obtained based on the index number of the sample in the first list and the maximum sample value.
  • the sample value includes: determining a first ratio based on the index number of the sample in the first list and the total number of index numbers in the first list; wherein the first ratio is (k-1) and (M-1); M is the total number of index numbers, k is the index number of the sample in the first list; the product of the first ratio and the maximum sample value is used as the second image
  • the sample value of the first component in has the same position coordinate as the sample.
  • the method further includes: setting sample values of the second component and the third component of the second image to a first value.
  • the first value is 0 or 2 raised to the (N-1) power, where N is the bit depth.
  • the samples of the first image represent depth information.
  • the samples of the first component of the second image represent depth information.
  • RGB24 format that is, the output is an RGB depth sequence.
  • RGB texture map sequence obtained by visible light imaging
  • pseudo-color transformation of depth values The principle of pseudo-color transformation is shown in Figure 11. The depth value is transformed into RGB three components through the three transformation relationships of red transformation, green transformation and blue transformation.
  • the pseudo-color transformation relationship in Figure 11 is predefined, just for the convenience of human eyes to distinguish, and has no specific physical meaning.
  • Commonly used pseudo-color transformation relationships are continuous functions that map continuously changing depth values into continuous red, green or blue components. That is, the sample value of the R, G, or B component changes as the depth value changes.
  • the transformation relationship between the three components determines a colormap.
  • the normalized depth value and the colormap have a one-to-one correspondence. For example, as shown in Figure 7, it is a common HSV colormap. Based on this HSV colormap, as shown in Figure 12, a pseudo-color transformation is performed on the depth map 1201 to obtain an RGB24 sequence 1202.
  • the RGB24 sequence 1202 needs to be converted into the YUV420 sequence 1301 through color space transformation. After the conversion is completed, a two-dimensional encoder can be used. Like VVC, compress it. At the decoding end, after decoding to obtain the YUV420 sequence 1302, it is converted back to the RGB24 sequence 1303.
  • the processing of the RGB24 sequence 1202 at the encoding end shown in FIG. 13 ignores the depth characteristics of the RGB24 sequence 1202.
  • the RGB image sequence obtained by visible light imaging pixel values are discretely distributed in the RGB color space with no specific rules.
  • the pixel values are only distributed on the colormap used for the pseudo-color transformation, that is, they are only distributed on a specific curve in the RGB color space.
  • a universal algorithm is provided to fit a The transformation relationship is similar to the pseudo-color transformation, and the normalized single-channel gray value is restored.
  • the normalized single-channel gray value is scaled as the Y component in the YUV420 format.
  • the overall framework of this algorithm i.e., an example of the overall framework of the encoding and decoding system 1.
  • This algorithm is used to process the RGB24 sequence 1202 (i.e., the first step described in the video image processing method on the encoder 20 side).
  • the image performs grayscale value restoration to obtain the YUV420 sequence 1401 in which only the Y component has content (i.e., an example of the second image described in the video image processing method on the encoder 20 side); and then through the two-dimensional An encoder (such as VVC, an example of encoding module 201) compresses it.
  • decoding yields the YUV420 sequence 1402, which only has content in the Y component;
  • the YUV420 sequence 1401 input to the two-dimensional encoder only has content in the Y component, so it is easy to compress and transmit, reducing the consumption of computing resources and transmission bandwidth; on the other hand, for the decoding end, In other words, the decoded YUV240 sequence 1402 does not need to be converted into an RGB24 sequence, that is, a gray value similar to the depth value can be restored when the colormap is unknown.
  • the processing flow of this algorithm includes the following steps 1601 to 1606:
  • Step 1601 Select the first pixel (r 1 , g 1 , b 1 ) of the RGB24 sequence 1202 as the current pixel, as the node of the doubly linked list, and the pointer points to NULL.
  • samples of three components at the same position coordinate constitute a pixel.
  • Step 1602 if the current pixel is the last pixel, go to step 1605. If the current pixel is not the last pixel, select the next pixel as the current pixel;
  • Step 1603 If the current pixel (r j , g j , b j ) is already in the linked list, go to step 1602; if the current pixel (r j , g j , b j ) is not in the linked list, use it as a linked list node. The pointer points to NULL, then go to step 1604;
  • Step 1605 if the endpoint of the linked list (that is, at least one pointer pointing to a NULL node) is greater than 2, select any endpoint of the linked list as the current node, and go to 1606; if the number of endpoints of the linked list is 2, end;
  • Step 1606 Find the linked list endpoint with the smallest Manhattan distance from the current node. Point the current node to the endpoint, and the endpoint points to the current node, and go to step 1605;
  • a linked list is established. Select one end of the linked list as the starting point, corresponding to the gray value 0, and the other end of the linked list as the end point, corresponding to the gray value 2 N -1, where N is the bit depth.
  • N is the bit depth.
  • the corresponding relationship between the RGB24 image 1202 and the grayscale image is established, which is mapped to a grayscale image as the Y component of the YUV420 format, and the UV component is set to 0 or 2 N-1 .
  • this algorithm can restore the gray value close to the depth value without knowing the colormap; on the other hand, in this algorithm, the YUV420 sequence obtained only has the Y component. There is content. Compared with the YUV420 sequence 1301 in Figure 13, the YUV420 sequence obtained by this algorithm is easy to compress and transmit.
  • FIG. 15 is a schematic structural diagram of the video image processing device provided by an embodiment of the present application.
  • the video image processing device 150 includes: a first sorting module 1501 and a first mapping module 1502; wherein,
  • the first sorting module 1501 is configured to sort the samples in the first image according to the difference between the samples to obtain the first list;
  • the first mapping module 1502 is configured to obtain a sample of the first component in the second image that has the same position coordinates as the sample based on the index number of the sample in the first list and the bit depth of the first component. value.
  • the first sorting module 1501 and the first mapping module 1502 are configured in the color space transformation module 501.
  • the video image processing device 150 further includes a decoding module configured to: decode the received code stream to obtain a third image; and perform color space transformation on the third image to obtain the first image.
  • the first sorting module 1501 is configured to: set the index number of the first sample in the first image in the first list to a second value, determine the first sample and the difference between the adjacent second sample; and when the absolute value of the difference between the first sample and the second sample is less than or equal to the first threshold and greater than the second threshold, Set the index number of the second sample in the first list to a third value; when the absolute value of the difference between the first sample and the second sample is equal to the second threshold , the index number of the second sample is the same as the index number of the first sample; perform the first operation on the untraversed third sample adjacent to the second sample in the first image,
  • the first operation includes: finding a first target sample whose absolute value of the difference between the first list and the third sample is equal to a second threshold; when the first target sample is found, The index number of the third sample is the same as the index number of the first target sample; if the first target sample is not found, search the difference between the first list and the third sample. For a second target sample
  • the first sorting module 1501 is further configured to: when the absolute value of the difference between the first sample and the second sample is greater than a first threshold, sort the second sample into The sample is added to the first list, and the second sample is not sorted; the first operation also includes: when the second target sample of the third sample is not found, the third sample is Add to the first list, and do not sort the third sample; accordingly, after traversing to the last sample of the first image, perform a second operation on the unsorted samples in the first list; so The second operation includes: selecting any unsorted sample in the first list as the current sample, and determining the difference between the current sample and the remaining unsorted samples that are different from the current sample.
  • the third target sample with the smallest absolute value; set the index number of the third target sample in the first list to the index number of the current sample plus a fourth value.
  • the first mapping module 1502 is configured to: determine the maximum sample value representing the first component according to the bit depth; and determine the maximum sample value representing the first component according to the index number of the sample in the first list and the The maximum sample value is calculated to obtain the sample value of the first component in the second image that has the same position coordinates as the sample.
  • the first mapping module 1502 is configured to: determine a first ratio based on the index number of the sample in the first list and the total number of index numbers in the first list; wherein , the first ratio is the ratio of (k-1) and (M-1); M is the total number of index numbers, k is the index number of the sample in the first list; the first The product of the ratio and the maximum sample value is used as the sample value of the first component in the second image that has the same position coordinate as the sample.
  • FIG. 16 is a schematic structural diagram of the video image processing device provided by an embodiment of the present application, as shown in Figure 16 , the video image processing device 160 includes: a second sorting module 1601 and a second mapping module 1602; wherein,
  • the second sorting module 1601 is configured to sort the samples in the first image according to the difference between the samples to obtain the first list
  • the second mapping module 1602 is configured to obtain a sample of the first component in the second image that has the same position coordinates as the sample based on the index number of the sample in the first list and the bit depth of the first component. value.
  • the second sorting module 1601 and the second mapping module 1602 are configured in the color space transformation module 200 .
  • the video image processing device 160 further includes an encoding module configured to: encode the second image and write the resulting encoded bits into a code stream.
  • the second sorting module 1601 is configured to: set the index number of the first sample in the first image in the first list to a second value, determine the first sample and the difference between the adjacent second sample; and when the absolute value of the difference between the first sample and the second sample is less than or equal to the first threshold and greater than the second threshold, Set the index number of the second sample in the first list to a third value; when the absolute value of the difference between the first sample and the second sample is equal to the second threshold , the index number of the second sample is the same as the index number of the first sample; perform the first operation on the untraversed third sample adjacent to the second sample in the first image,
  • the first operation includes: finding a first target sample whose absolute value of the difference between the first list and the third sample is equal to a second threshold; when the first target sample is found, The index number of the third sample is the same as the index number of the first target sample; if the first target sample is not found, search the difference between the first list and the third sample.
  • the second sorting module 1601 is further configured to: when the absolute value of the difference between the first sample and the second sample is greater than the first threshold, sort the second The sample is added to the first list, and the second sample is not sorted; the first operation also includes: when the second target sample of the third sample is not found, the third sample is Add to the first list, and do not sort the third sample; accordingly, after traversing to the last sample of the first image, perform a second operation on the unsorted samples in the first list; so The second operation includes: selecting any unsorted sample in the first list as the current sample, and determining the difference between the current sample and the remaining unsorted samples that are different from the current sample.
  • the third target sample with the smallest absolute value; set the index number of the third target sample in the first list to the index number of the current sample plus a fourth value.
  • the second mapping module 1602 is configured to: determine the maximum sample value representing the first component according to the bit depth; and determine the maximum sample value representing the first component according to the index number of the sample in the first list and the The maximum sample value is calculated to obtain the sample value of the first component in the second image that has the same position coordinates as the sample.
  • the second mapping module 1602 is configured to: determine the first ratio based on the index number of the sample in the first list and the total number of index numbers in the first list; wherein , the first ratio is the ratio of (k-1) and (M-1); M is the total number of index numbers, k is the index number of the sample in the first list; the first The product of the ratio and the maximum sample value is used as the sample value of the first component in the second image that has the same position coordinate as the sample.
  • each functional unit in various embodiments of the present application may be integrated into one processing unit, may exist independently, or may have two or more units integrated into one unit.
  • the above integrated units can be implemented in the form of hardware or software functional units. It can also be implemented by combining software and hardware.
  • the above method is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium.
  • the computer software product is stored in a storage medium and includes a number of instructions to enable The electronic device executes all or part of the methods described in various embodiments of this application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read Only Memory, ROM), magnetic disk or optical disk and other media that can store program code.
  • embodiments of the present application are not limited to any specific combination of hardware and software.
  • Embodiments of the present application provide a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program.
  • the computer program When executed, it implements a video image processing method on the encoder side, or implements a decoder. Side video image processing method.
  • the decoder 170 includes: a first communication interface 1701, a first memory 1702, and a first processor 1703; each component is coupled together through a first bus system 1704. It can be understood that the first bus system 1704 is used to implement connection communication between these components. In addition to the data bus, the first bus system 1704 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, various buses are labeled as first bus system 1704 in FIG. 17 . in,
  • the first communication interface 1701 is used for receiving and sending signals during the process of sending and receiving information with other external network elements;
  • the first memory 1702 is used to store a computer program capable of running on the first processor 1703;
  • the first processor 1703 is used to execute: when running the computer program:
  • a sample value of the first component having the same position coordinates as the sample in the second image is obtained.
  • the first memory 1702 in the embodiment of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories.
  • non-volatile memory can be read-only memory (Read-Only Memory, ROM), programmable read-only memory (Programmable ROM, PROM), erasable programmable read-only memory (Erasable PROM, EPROM), electrically removable memory. Erase programmable read-only memory (Electrically EPROM, EEPROM) or flash memory.
  • Volatile memory may be Random Access Memory (RAM), which is used as an external cache.
  • RAM static random access memory
  • DRAM dynamic random access memory
  • DRAM synchronous dynamic random access memory
  • SDRAM double data rate synchronous dynamic random access memory
  • Double Data Rate SDRAM DDRSDRAM
  • enhanced SDRAM ESDRAM
  • Synchlink DRAM SLDRAM
  • Direct Rambus RAM DRRAM
  • the first memory 1702 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
  • the first processor 1703 may be an integrated circuit chip with signal processing capabilities. During the implementation process, each step of the above method can be completed by instructions in the form of hardware integrated logic circuits or software in the first processor 1703 .
  • the above-mentioned first processor 1703 can be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), or an off-the-shelf programmable gate array (Field Programmable Gate Array, FPGA). or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • a general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc.
  • the steps of the method disclosed in conjunction with the embodiments of the present application can be directly implemented by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, registers and other mature storage media in this field.
  • the storage medium is located in the first memory 1702.
  • the first processor 1703 reads the information in the first memory 1702 and completes the steps of the above method in combination with its hardware.
  • the embodiments described in this application can be implemented using hardware, software, firmware, middleware, microcode, or a combination thereof.
  • the processing unit can be implemented in one or more Application Specific Integrated Circuits (ASIC), Digital Signal Processing (DSP), Digital Signal Processing Device (DSP Device, DSPD), programmable Logic device (Programmable Logic Device, PLD), Field-Programmable Gate Array (FPGA), general-purpose processor, controller, microcontroller, microprocessor, and other devices used to perform the functions described in this application electronic unit or combination thereof.
  • ASIC Application Specific Integrated Circuits
  • DSP Digital Signal Processing
  • DSP Device Digital Signal Processing Device
  • DSPD Digital Signal Processing Device
  • PLD programmable Logic Device
  • FPGA Field-Programmable Gate Array
  • the technology described in this application can be implemented through modules (such as procedures, functions, etc.) that perform the functions described in this application.
  • Software code may be stored in memory and executed by a processor.
  • the memory can be implemented in the processor or external to the processor.
  • the first processor 1703 is further configured to execute any of the foregoing method embodiments on the decoder 50 side when running the computer program.
  • the encoder 180 includes: a second communication interface 1801, a second memory 1802 and a second processor 1803; each component is coupled together through a second bus system 1804. It can be understood that the second bus system 1804 is used to implement connection communication between these components.
  • the second bus system 1804 also includes a power bus, a control bus and a status signal bus.
  • the various buses are labeled as second bus system 1804 in FIG. 18 . in,
  • the second communication interface 1801 is used for receiving and sending signals during the process of sending and receiving information with other external network elements;
  • the second memory 1802 is used to store computer programs capable of running on the second processor 1803;
  • the second processor 1803 is used to execute: when running the computer program:
  • a sample value of the first component having the same position coordinates as the sample in the second image is obtained.
  • the second processor 1803 is further configured to execute the aforementioned method embodiment on the encoder 20 side when running the computer program.
  • modules described above as separate components may or may not be physically separated; the components shown as modules may or may not be physical modules; they may be located in one place or distributed to multiple network units; Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional module in each embodiment of the present application can be all integrated into one processing unit, or each module can be separately used as a unit, or two or more modules can be integrated into one unit; the above-mentioned integration
  • the module can be implemented in the form of hardware or in the form of hardware plus software functional units.
  • the aforementioned program can be stored in a computer-readable storage medium.
  • the execution includes: The steps of the above method embodiment; and the aforementioned storage media include: mobile storage devices, read-only memory (Read Only Memory, ROM), magnetic disks or optical disks and other various media that can store program codes.
  • the integrated units mentioned above in this application are implemented in the form of software function modules and sold or used as independent products, they can also be stored in a computer-readable storage medium.
  • the technical solutions of the embodiments of the present application can be embodied in the form of software products that are essentially or contribute to related technologies.
  • the computer software product is stored in a storage medium and includes a number of instructions to enable The electronic device executes all or part of the methods described in various embodiments of this application.
  • the aforementioned storage media include: mobile storage devices, ROMs, magnetic disks, optical disks and other media that can store program codes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

视频图像处理方法及装置、编解码器、码流、存储介质,其中,方法包括:根据第一图像中的样本之间的差值对样本进行排序处理,得到第一列表;根据样本在第一列表中的索引序号和第一分量的比特位深,得到第二图像中与样本具有相同位置坐标的第一分量的样本值。

Description

视频图像处理方法及装置、编解码器、码流、存储介质 技术领域
本申请实施例涉及视频技术,涉及但不限于视频图像处理方法及装置、编解码器、码流、存储介质。
背景技术
一些深度相机输出的图像为具有三通道的图像(例如RGB图像)。在基于此类相机输出的图像进行视频编码时,如图1所示,需要先通过颜色空间变换将该类相机输出的三通道图像101(彩色图像)转换为二维编码器要求的图像格式(例如YUV420格式)的图像102(彩色图像)。转换完成后,便可使用二维编码器103,如VVC,对其进行压缩。在解码端,在通过二维解码器104解码得到YUV420格式的图像105之后,将其转换回RGB图像106,再基于RGB图像106与深度图像的变换关系,恢复出对应的深度图像。对于解码端,需要已知RGB图像与深度图像的变换关系,才能够将RGB图像恢复为深度图像。
发明内容
本申请实施例提供的视频图像处理方法及装置、编解码器、码流、存储介质,在解码端,能够在第一图像(例如RGB图像)与第二图像(如深度图像)的变换关系不可知的情况下,将第一图像恢复为第二图像(例如深度图像);本申请实施例提供的视频图像处理方法及装置、编解码器、码流、存储介质,是这样实现的:
根据本申请实施例的一个方面,提供一种视频图像处理方法,所述方法应用于解码器,所述方法包括:根据第一图像中的样本之间的差值对所述样本进行排序处理,得到第一列表;根据所述样本在所述第一列表中的索引序号和第一分量的比特位深,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
如此,对于解码器而言,在第一图像与第二图像的变换关系不可知的情况下,也能够将第一图像恢复为第二图像;编码器无需将第一图像与第二图像的变换关系传输给解码器,从而节约了传输资源;解码器无需接收并解码该变换关系,从而节约功耗。
根据本申请实施例的另一方面,提供一种视频图像处理方法,所述方法应用于编码器,所述方法包括:根据第一图像中的样本之间的差值对所述样本进行排序处理,得到第一列表;根据所述样本在所述第一列表中的索引序号和第一分量的比特位深,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
如此,对于编码器而言,在第一图像与第二图像的变换关系不可知的情况下,能够将第一图像恢复为第二图像;从而,一方面,由于是将第一图像变换为单通道的第二图像,即第一分量有内容,因此,在提高变换效率以及节约计算开销的同时,也降低了第二图像的数据量,进而在对第二图像压缩编码时因工作量较小而节约了功耗,以及因压缩编码后的数据量较小而节约了传输带来的开销;另一方面,使得解码器在解码码流得到第二图像之后,无需再对其进行变换,相比于图1所示的解码器的处理过程,节约了两次变换过程(例如RGB图像到YUV420图像的变换以及YUV420图像到深度图像的变换),从而节约了解码器的功耗,提高了解码器的工作效率。
根据本申请实施例的又一方面,提供一种视频图像处理装置,所述装置应用于解码器,所述装置包括:第一排序模块和第一映射模块;其中,所述第一排序模块,配置为根据第一图像中的样本之间的差值对所述样本进行排序处理,得到第一列表;所述第一映射模块,配置为根据所述样本在所述第一列表中的索引序号和第一分量的比特位深,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
根据本申请实施例的再一方面,提供一种视频图像处理装置,所述装置应用于编码器,所述装 置包括:第二排序模块和第二映射模块;其中,所述第二排序模块,配置为根据第一图像中的样本之间的差值对所述样本进行排序处理,得到第一列表;所述第二映射模块,配置为根据所述样本在所述第一列表中的索引序号和第一分量的比特位深,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
根据本申请实施例的另一方面,提供一种解码器,包括第一存储器和第一处理器;其中,所述第一存储器,用于存储能够在所述第一处理器上运行的计算机程序;所述第一处理器,用于在运行所述计算机程序时,执行本申请实施例所述的应用于所述解码器的视频图像处理方法。
根据本申请实施例的又一方面,提供一种编码器,包括第二存储器和第二处理器;其中,所述第二存储器,用于存储能够在所述第二处理器上运行的计算机程序;所述第二处理器,用于在运行所述计算机程序时,执行本申请实施例所述的应用于所述编码器的视频图像处理方法。
根据本申请实施例的再一方面,提供一种码流,所述码流是对第二图像进行比特编码生成的;其中,所述第二图像是通过应用于所述编码器的视频图像处理方法中的步骤得到的。
根据本申请实施例的另一方面,提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序被执行时实现本申请实施例所述的应用于所述解码器的视频图像处理方法、或者实现本申请实施例所述的应用于所述编码器的视频图像处理方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1为三通道图像101的处理流程示意图;
图2为本申请实施例提供的编解码系统1的编码器20的结构示意图;
图3为本申请实施例提供的编解码系统1的解码器30的结构示意图;
图4为本申请实施例提供的编解码系统2的编码器40的结构示意图;
图5为本申请实施例提供的编解码系统2的解码器50的结构示意图;
图6为本申请实施例提供的视频图像处理方法的实现流程示意图;
图7为colormap的示意图;
图8为本申请实施例提供的排序处理方法的实现流程示意图;
图9为本申请实施例提供的另一排序处理方法的实现流程示意图;
图10为本申请实施例提供的视频图像处理方法的实现流程示意图;
图11为伪彩变换的原理示意图;
图12为对深度图1201进行伪彩变换的示意图;
图13为RGB24序列1202的处理流程示意图;
图14为本申请实施例提供的RGB24序列1202的处理流程示意图;
图15为本申请实施例提供的视频图像处理装置的结构示意图;
图16为本申请实施例提供的另一视频图像处理装置的结构示意图;
图17为本申请实施例提供的解码器的结构示意图;
图18为本申请实施例提供的编码器的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”是为了区别类似或不同的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
本申请实施例描述的编码器、解码器的框架以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。本领域普通技术人员可知,随着编码器、解码器的演变以及新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例可能适用的一种编解码系统,如图2和3所示,编解码系统1包括图2所示的编码器20和图3所示的解码器30。
如图2所示,编码器(具体为“视频编码器”)20可以包括颜色空间变换模块200和编码模块201;其中,编码模块201包括:变换与量化单元2011、帧内估计单元2012、帧内预测单元2013、运动补偿单元2014、运动估计单元2015、反变换与反量化单元2016、滤波器控制分析单元2017、滤波单元2018、编码单元2019和解码图像缓存单元2010等;其中,滤波单元2018可以实现去方块滤波及样本自适应缩进(Sample Adaptive Offset,SAO)滤波,编码单元2019可以实现头信息编码及基于上下文的自适应二进制算术编码(Context-based Adaptive Binary Arithmetic Coding,CABAC)。
首先,颜色空间变换模块200针对输入的第一图像,根据第一图像中的样本之间的差值对所述样本进行排序处理,得到第一列表;根据所述样本在所述第一列表中的索引序号和第一分量的比特位深,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值;然后,将得到的第二图像输出给编码模块201;
编码模块201,针对输入的第二图像,通过编码树块(Coding Tree Unit,CTU)的划分可以得到一个视频编码块,然后对经过帧内或帧间预测后得到的残差像素信息通过变换与量化单元2011对该视频编码块进行变换,包括将残差信息从像素域变换到变换域,并对所得的变换系数进行量化,用以进一步减少比特率;帧内估计单元2012和帧内预测单元2013是用于对该视频编码块进行帧内预测;明确地说,帧内估计单元2012和帧内预测单元2013用于确定待用以编码该视频编码块的帧内预测模式;运动补偿单元2014和运动估计单元2015用于执行所接收的视频编码块相对于一或多个参考帧中的一或多个块的帧间预测编码以提供时间预测信息;由运动估计单元2015执行的运动估计为产生运动向量的过程,所述运动向量可以估计该视频编码块的运动,然后由运动补偿单元2014基于由运动估计单元2015所确定的运动向量执行运动补偿;在确定帧内预测模式之后,帧内预测单元2013还用于将所选择的帧内预测数据提供到编码单元2019,而且运动估计单元2015将所计算确定的运动向量数据也发送到编码单元2019;此外,反变换与反量化单元2016是用于该视频编码块的重构建,在像素域中重构建残差块,该重构建残差块通过滤波器控制分析单元2017和滤波单元2018去除方块效应伪影,然后将该重构残差块添加到解码图像缓存单元2010的帧中的一个预测性块,用以产生经重构建的视频编码块;编码单元2019是用于编码各种编码参数及量化后的变换系数,在基于CABAC的编码算法中,上下文内容可基于相邻编码块,可用于编码指示所确定的帧内预测模式的信息,输出该第二图像的码流;而解码图像缓存单元2010是用于存放重构建的视频编码块,用于预测参考。随着视频图像编码的进行,会不断生成新的重构建的视频编码块,这些重构建的视频编码块都会被存放在解码图像缓存单元2010中。
如图3所示,解码器(具体为“视频解码器”)30包括解码单元301、反变换与反量化单元302、帧内预测单元303、运动补偿单元304、滤波单元305和解码图像缓存单元306等,其中,解码单元301可以实现头信息解码以及CABAC解码,滤波单元305可以实现去方块滤波以及SAO滤波。第二图像经过图2所示的编码模块201的编码处理之后,输出该第二图像的码流;该码流输入至解码器30中,首先经过解码单元301,用于得到解码后的变换系数;针对该变换系数通过反变换与反量化单元302进行处理,以便在像素域中产生残差块;帧内预测单元303可用于基于所确定的帧内预测模式和来自当前帧或图片的先前经解码块的数据而产生当前视频解码块的预测数据;运动补偿单元304是通过剖析运动向量和其他关联语法元素来确定用于视频解码块的预测信息,并使用该预测信息以产生正被解码的视频解码块的预测性块;通过对来自反变换与反量化单元302的残差块与由 帧内预测单元303或运动补偿单元304产生的对应预测性块进行求和,而形成解码的视频块;该解码的视频信号通过滤波单元305以便去除方块效应伪影,可以改善视频质量;然后将经解码的视频块存储于解码图像缓存单元306中,解码图像缓存单元306存储用于后续帧内预测或运动补偿的参考图像,同时也用于视频信号的输出,即得到了所恢复的第二图像。
本申请实施例可能适用的另一种编解码系统,如图4和5所示,编解码系统2包括图4所示的编码器40和图5所示的解码器50。
如图4所示,编码器(具体为“视频编码器”)40包括:颜色空间变换模块400和编码模块401;其中,编码模块401的结构与图2所示的编码模块201的结构相同,因此这里不再重复描述。颜色空间变换模块400的功能与颜色空间变换模块200的功能不同,其采用的颜色空间变换算法不同。
首先,颜色空间变换模块400针对输入的第一图像,按照预先定义的伪彩变换关系(例如colormap)将第一图像变换为与具有相同分量数目的第三图像;其中,第三图像与第二图像的通道数目不同。例如,第三图像为YUV420格式的图像,第二图像为深度图像,第一图像为RGB图像(可以是任意格式的RGB图像);然后,将得到的第三图像输出给编码模块401;
编码模块401,针对输入的第三图像,通过编码树块(Coding Tree Unit,CTU)的划分可以得到一个视频编码块,然后对经过帧内或帧间预测后得到的残差像素信息通过变换与量化单元4011对该视频编码块进行变换,包括将残差信息从像素域变换到变换域,并对所得的变换系数进行量化,用以进一步减少比特率;帧内估计单元4012和帧内预测单元4013是用于对该视频编码块进行帧内预测;明确地说,帧内估计单元4012和帧内预测单元4013用于确定待用以编码该视频编码块的帧内预测模式;运动补偿单元4014和运动估计单元4015用于执行所接收的视频编码块相对于一或多个参考帧中的一或多个块的帧间预测编码以提供时间预测信息;由运动估计单元4015执行的运动估计为产生运动向量的过程,所述运动向量可以估计该视频编码块的运动,然后由运动补偿单元4014基于由运动估计单元4015所确定的运动向量执行运动补偿;在确定帧内预测模式之后,帧内预测单元4013还用于将所选择的帧内预测数据提供到编码单元4019,而且运动估计单元4015将所计算确定的运动向量数据也发送到编码单元4019;此外,反变换与反量化单元4016是用于该视频编码块的重构建,在像素域中重构建残差块,该重构建残差块通过滤波器控制分析单元4017和滤波单元4018去除方块效应伪影,然后将该重构残差块添加到解码图像缓存单元4010的帧中的一个预测性块,用以产生经重构建的视频编码块;编码单元4019是用于编码各种编码参数及量化后的变换系数,在基于CABAC的编码算法中,上下文内容可基于相邻编码块,可用于编码指示所确定的帧内预测模式的信息,输出该第三图像的码流;而解码图像缓存单元4010是用于存放重构建的视频编码块,用于预测参考。随着视频图像编码的进行,会不断生成新的重构建的视频编码块,这些重构建的视频编码块都会被存放在解码图像缓存单元4010中。
如图5所示,解码器(具体为“视频解码器”)50包括颜色空间变换模块501和解码模块502;其中,解码模块502的结构与图3所示的解码器30的结构相同,因此这里不再重复描述。
输入的第三图像经过图4所示的编码模块401的编码处理之后,输出该第三图像的码流;该码流输入至解码器50的解码模块502中,首先经过解码单元5021,用于得到解码后的变换系数;针对该变换系数通过反变换与反量化单元5022进行处理,以便在像素域中产生残差块;帧内预测单元5023可用于基于所确定的帧内预测模式和来自当前帧或图片的先前经解码块的数据而产生当前视频解码块的预测数据;运动补偿单元5024是通过剖析运动向量和其他关联语法元素来确定用于视频解码块的预测信息,并使用该预测信息以产生正被解码的视频解码块的预测性块;通过对来自反变换与反量化单元5022的残差块与由帧内预测单元5023或运动补偿单元5024产生的对应预测性块进行求和,而形成解码的视频块;该解码的视频信号通过滤波单元5025以便去除方块效应伪影,可以改善视频质量;然后将经解码的视频块存储于解码图像缓存单元5026中,解码图像缓存单元5026存储用于后续帧内预测或运动补偿的参考图像,同时也用于视频信号的输出,即输出第三图像,以及,将第三图像输入至颜色空间变换模块501,该模块501配置为:利用与编码端颜色空间变换模块400相反的变换关系,即基于预先定义的伪彩变换关系(例如colormap),或者预先定义的伪彩反变换关系将第三图像反变换为第一图像;以及,根据第一图像中的样本之间的差值对所述样本进行排序处理,得到第一列表;以及根据所述样本在所述第一列表中的索引序号和第一分量的比特位深,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值,即恢复得到第二图像。
如此,对于颜色空间变换模块501而言,无需已知第二图像与第一图像的变换关系,即可恢复得到第二图像。因此,编码器40无需将第一图像与第二图像的变换关系传输给解码器50,从而节约了传输带来的资源开销;解码端也无需接收并解码该变换关系,从而节约了功耗。
而对于编解码系统1而言,由于编码器20中的颜色空间变换模块200针对输入的第一图像,在第一图像与第二图像的变换关系未知的情况下,将第一图像直接变换为第二图像,然后输出给编码模块201;如此,一方面,由于是将第一图像变换为单通道的第二图像,即第一分量有内容,因此,变换的样本数量减少,从而在提高变换效率以及节约计算开销的同时,也降低了第二图像的数据量,进而在对第二图像压缩编码时因工作量较小而节约可功耗,以及因压缩编码后的数据量较小而节约了传输带来的开销;另一方面,使得解码器30在解码码流得到第二图像之后,无需再对其进行变换,相比于图5所示的解码器50在通过解码模块502得到第三图像之后,还需要通过颜色空间变换模块501将第三图像经过两次变换恢复得到第二图像的处理过程,解码器30节约了两次变换过程,从而节约了功耗,提高了解码器30的工作效率。
需要说明的是,在视频图像中,一般采用三个颜色分量来表征编码块(Coding Block,CB);其中,这三个颜色分量分别为一个亮度分量、一个蓝色色度分量和一个红色色度分量。示例性地,亮度分量通常使用符号Y表示,蓝色色度分量通常使用符号Cb或者U表示,红色色度分量通常使用符号Cr或者V表示;这样,视频图像可以用YCbCr格式表示,也可以用YUV格式表示。除此之外,视频图像也可以是RGB格式或YCgCo格式等,本申请实施例不作任何限定。
本申请实施例提供一种视频图像处理方法,该方法可以应用于图2所示的编码器20,图6为本申请实施例提供的视频图像处理方法的实现流程示意图,如图6所示,该方法包括如下步骤601和步骤603:
步骤601,根据第一图像中的样本之间的差值对所述样本进行排序处理,得到第一列表。
在对所述样本进行排序处理时,是将同一位置坐标的三个样本作为一个组合或者一个整体进行排序。
在一些实施例中,可以通过如下实施例的步骤6011至步骤6019实现,这里不再进行描述。
在一些实施例中,第一图像为具有三个通道的图像,例如,第一图像为RGB图像。相应地,所述的第一图像中的样本是指三个分量的样本。例如,所述样本包括R分量、G分量和B分量的样本。
在本申请实施例中,对于第一图像的格式不做限定,可以是任意格式的三通道图像。总之,第一图像是基于伪彩变换关系将某一单通道图像变换为三通道的图像。本质上是将该单通道图像的信息用三通道的图像来表征,对于这种场景,本申请实施例提供的视频图像处理方法均适用。
举例而言,基于图7所示的colormap,将深度图像进行变换,得到的变换结果即为第一图像的一种示例;其中,colormap是预先定义的,只是为了便于人眼分辨,并无具体物理意义。在该colormap中,R分量、G分量和B分量随着深度值的变化而变化,比如,随着深度值的增大而增大,或者随着深度值的增大而减小。
步骤602,根据所述样本在所述第一列表中的索引序号和第一分量的比特位深,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
在本申请实施例中,对于第二图像的格式不做限制,无论第二图像是具有三个分量的图像,还是具有一个分量的图像,总之,某一分量的样本值表征的是实际信息即可。例如,在编码端,第一图像是由深度图像变换而来的,第二图像的第一分量的样本值表征的是深度信息即可,第二图像的其余分量的样本值则无实际意义,各个位置坐标的所述其余分量的样本值可设置为第一数值。
在一些实施例中,第二图像的格式可以是YUV400,也可以是YUV420。在第二图像的格式是YUV420的情况下,第一分量为亮度分量,第二分量和第三分量为色度分量;第二图像的第二分量和第三分量的样本值设置为第一数值。
其中,第一数值可以为任意数值。例如,第一数值为0或者2 N-1,N为第一分量的比特位深。
步骤603,对所述第二图像进行编码,将所得到的编码比特写入码流。
可以理解地,在本申请实施例中,编码器20在无需已知第一图像与第二图像的变换关系的情况下,通过上述步骤601和步骤602即可将第一图像变换为第二图像;由于是将第一图像变换为单通道的第二图像,即第一分量有内容,因此,变换的样本数量减少,从而在提高变换效率以及节约计算开销的同时,也降低了第二图像的数据量,进而在对第二图像压缩编码时因工作量较小而节约可功耗,以及因压缩编码后的数据量较小而节约了传输带来的开销;另一方面,使得解码器30在解码码流得到第二图像之后,无需再对其进行变换,相比于图5所示的解码器50在通过解码模块502得到第三图像之后,还需要通过颜色空间变换模块501将第三图像经过两次变换恢复得到第二图像的处理过程,解码器30节约了两次变换过程,从而节约了功耗,提高了解码器30的工作效率。
以下分别对上述各个步骤的进一步的可选的实施方式以及相关名词等进行说明。
在步骤601中,根据第一图像中的样本之间的差值对所述样本进行排序处理,得到第一列表。
在一些实施例中,如图8所示,可以通过如下步骤6011至步骤6019实现步骤601:
步骤6011,将所述第一图像中的第一样本在所述第一列表中的索引序号设置为第二数值。
在一些实施例中,在第一图像是具有三分量的图像的情况下,第一样本包括第一图像中同一位置坐标的三个分量的样本。可以将同一位置坐标处的三个分量的样本作为一个整体(即组合或向量),对该整体赋予一个索引序号。
例如,在一些实施例中,通过链表的方式实现对第一图像中的样本的排序,那么可以将同一位置坐标的三个分量的样本存入同一节点。
在本申请实施例中,第一样本可以是第一图像中的任一位置坐标处的样本,例如,可以是位置坐标为(0,0)处的样本。
在本申请实施例中,第二数值可以是任意数值,总之能够准确表示第一样本在第一列表中的排列位次,并能够得到准确的第二图像即可。例如,第二数值为1。
步骤6012,确定所述第一样本与相邻的第二样本之间的差值。
在一些实施例中,所述相邻是指位置坐标相邻。第二样本为与第一样本的位置坐标相邻的样本。例如,第一样本的位置坐标为(i,j),第二样本的位置坐标为(i+1,j)或者(i,j+1)。
在第一图像是具有三分量的图像的情况下,第一样本包括第一图像中同一位置坐标的三个分量的样本,第二样本也是如此。相应地,第一样本与第二样本之间的差值是指三个分量的对应差值的总和。
在本申请实施例中,对于计算所述差值的方法不做限定,也就是说,对于表征所述差值的参数不做限定,可以将第一样本与第二样本之间的曼哈顿距离作为所述差值,也可以将第一样本与第二样本之间的余弦相似度或者欧式距离作为所述差值。总之,能够度量两个样本之间的样本值的差异即可。
如下其他两个样本之间的差值计算方法如同第一样本与第二样本之间的差值计算方法,下文不再赘述。
步骤6013,确定第一样本与第二样本之间的差值的绝对值是否等于第二阈值;如果是,执行步骤6014;否则,执行步骤6015。
在一些实施例中,第二阈值等于0;也就是说,第二样本的样本值与第一样本的样本值相同。
例如,第一样本中R分量的样本值为R1,G分量的样本值为G1,B分量的样本值为B1;第二样本中的R分量的样本值也为R1,G分量的样本值也为G1,B分量的样本值也为B1;则第一样本与第二样本之间的差值的绝对值等于0,二者的样本值相同;其中,R1、G1和B1为常数。
在本申请实施例中,对于第二阈值的大小不做限定,可以等于0,也可以是大于0的数值。在第二阈值大于0的情况下,是将两个样本值相近的索引序号设置为同一数值。
步骤6014,所述第二样本的索引序号与所述第一样本的索引序号相同;进入步骤6018;
步骤6015,确定第一样本与第二样本之间的差值的绝对值是否小于或等于第一阈值;如果是,执行步骤6017;否则,执行步骤6016;其中,第一阈值大于第二阈值。
在一些实施例中,在所述差值通过曼哈顿距离表征的情况下,第一阈值为1,相应地,步骤6015为确定第一样本与第二样本之间的曼哈顿距离是否等于1;如果是,执行步骤6017;否则,执行步骤6016。
在本申请实施例中,对于第一阈值的大小不做限制,总之,能够最终将第一图像中的样本按照大小关系,确定出各个样本(这里是指同一位置坐标的样本组合)的先后顺序关系即可。
步骤6016,将所述第二样本加入所述第一列表中,以及不对所述第二样本排序;也就是,不对第二样本设置索引序号;进入步骤6018;
步骤6017,将所述第二样本在所述第一列表中的索引序号设置为第三数值;进入步骤6018;
在一些实施例中,第三数值大于第二数值;在另一些实施例中,第三数值小于第二数值。
在一些实施例中,第三数值与第二数值的差值的绝对值为1。例如,第二数值为1,第三数值为2。
当然,对于第三数值的大小不做限定,总之,能够准确表示第二样本在第一列表中的排列位次,并能够得到准确的第二图像即可。
步骤6018,对所述第一图像中与所述第二样本相邻的未遍历的第三样本执行第一操作;
其中,所述第一操作包括:查找所述第一列表中与所述第三样本之间的差值的绝对值等于第二阈值的第一目标样本;在查找到所述第一目标样本的情况下,所述第三样本的索引序号与所述第一目标样本的索引序号相同;在未查找到所述第一目标样本的情况下,查找所述第一列表中与所述第 三样本之间的差值的绝对值小于或等于第一阈值且大于第二阈值的第二目标样本,将所述第三样本在所述第一列表中的索引序号设置为所述第二目标样本的索引序号加第四数值;在未查找到所述第三样本的第二目标样本的情况下,将所述第三样本加入所述第一列表中,以及不对所述第三样本排序;然后,继续对所述第一图像中与所述第三样本相邻的未遍历的样本执行所述第一操作,直至遍历至所述第一图像的最后一个样本为止,得到所述第一列表;然后,进入步骤6019。
需要说明的是,所谓未遍历的样本是指还未加入至第一列表中的样本。对于设置了索引序号的样本已经在第一列表中。
在一些实施例中,在未查找到所述第一目标样本的情况下,如果查找到一个第二目标样本,则将第三样本在所述第一列表中的索引序号设置为该第二目标样本的索引序号加第四数值;然后,继续对所述第一图像中与所述第三样本相邻的未遍历的样本执行所述第一操作,直至遍历至所述第一图像的最后一个样本为止,得到所述第一列表;然后,进入步骤6019。
在本申请实施例中,第四数值可以是任意数值,例如,第四数值为1。总之能够准确表示样本在第一列表中的位次,并能够得到准确的第二图像即可。
步骤6019,对所述第一列表中未排序的样本执行第二操作;
其中,所述第二操作包括:选取所述第一列表中未排序的任一样本作为当前样本,从不同于所述当前样本的其余未排序的样本中,确定与所述当前样本之间的差值的绝对值最小的第三目标样本;将所述第三目标样本在所述第一列表中的索引序号设置为所述当前样本的索引序号加第四数值。
然后,返回继续执行所述第二操作,直至满足截止条件为止,得到所述第一列表。这里,截止条件为第一列表中未排序的样本为2个,将这两个样本一个作为列表的起点,另一个作为列表的终点。
在本申请实施例中,可以通过任何方式实现上述步骤6011至步骤6019。对于第一列表的数据结构不做限定,可以是链表结构,也可以是其他类型的数据结构;总之,能够实现表征各个样本的先后顺序关系即可。
以第一列表为双向链表为例,如图9所示,可以这样得到双向链表(即步骤901至步骤908):
步骤901,选取第一图像中某一位置坐标作为当前位置,将当前位置处的三个分量的样本作为双向链表的节点,该节点的指针指向NULL;然后进入步骤902;
步骤902,确定当前位置是否是第一图像中的最后一个未遍历的位置;如果是,执行步骤907;否则,执行步骤903;
步骤903,选取下一个位置坐标作为当前位置,确定该当前位置处的三个分量的样本是否已在链表中;如果是,返回执行步骤903;否则,执行步骤904;
步骤904,将该当前位置处的三个分量的样本作为链表节点,该节点的指针指向NULL,然后进入步骤905;
步骤905,遍历链表中的节点,计算该当前位置处的三个分量的样本与链表中的其他节点的曼哈顿距离;确定该距离是否等于1;如果是,执行步骤906;否则,继续遍历链表中的下一节点,直至遍历结束,然后,返回执行步骤903;
步骤906,将该当前位置对应的链表节点的指针指向该其他节点,将该其他节点的指针指向该当前位置对应的链表节点;然后,返回执行步骤903;
步骤907,确定链表端点数目是否大于2;如果是,执行步骤908;否则,结束;其中,所述链表端点是指链表中指针指向NULL的节点;
步骤908,选取任意链表端点作为当前节点,从链表中找到与当前节点的曼哈顿距离最小的目标端点,将当前节点的指针指向该目标端点,以及将该目标端点的指针指向该当前节点,然后返回执行步骤907。
在步骤602中,根据所述样本在所述第一列表中的索引序号和第一分量的比特位深,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
在一些实施例中,在通过上述方法得到第一列表之后,通过如下步骤6021至步骤6022得到第二图像,即实现步骤602:
步骤6021,根据第一分量的比特位深,确定表示所述第一分量的最大样本值。
在一些实施例中,最大样本值为(2 N-1),其中,N为第一分量的比特位深。
步骤6022,根据所述样本在所述第一列表中的索引序号和所述最大样本值,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
具体地,在一些实施例中,根据所述样本在所述第一列表中的索引序号和所述第一列表中的索引序号总数,确定第一比值;其中,所述第一比值为(k-1)与(M-1)的比值;M为所述索引序号总数,k为所述样本在所述第一列表中的索引序号;以及将所述第一比值与所述最大样本值的乘积作为第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
例如,通过如下公式(1)得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值y(k):
Figure PCTCN2022104980-appb-000001
式(1)中,M为所述索引序号总数,k为所述样本在所述第一列表中的索引序号。
如此,基于公式(1),就建立起了第一图像与第二图像的对应关系,将第一图像变换为第二图像。
在步骤603中,对所述第二图像进行编码,将所得到的编码比特写入码流。
具体地,在一些实施例中,可以将第二图像送入编码模块201中,从而实现对第二图像的编码。
在一些实施例中,所述方法还包括:将所述第二图像的第二分量和第三分量的样本值设置为第一数值。
在本申请实施例中,第一数值可以是任意值。例如,在一些实施例中,所述第一数值为0或2的(N-1)次方,其中,N为所述比特位深。
在一些实施例中,所述第一图像的样本表征的是深度信息。
在一些实施例中,所述第二图像的第一分量的样本表征的是深度信息。
需要说明的是,第一图像与第二图像的区别在于二者的格式不同。例如,第一图像为RGB格式的图像,第二图像为YUV格式的图像。
本申请实施例再提供一种视频图像处理方法,该方法可以应用于图5所示的解码器50,图10为本申请实施例提供的视频图像处理方法的实现流程示意图,如图10所示,该方法包括如下步骤1001至步骤1004:
步骤1001,对接收的码流进行解码,得到第三图像;
步骤1002,对所述第三图像进行颜色空间变换,得到第一图像;
步骤1003,根据第一图像中的样本之间的差值对所述样本进行排序处理,得到第一列表;
步骤1004,根据所述样本在所述第一列表中的索引序号和第一分量的比特位深,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
在一些实施例中,所述根据第一图像中样本之间的差值对所述样本进行排序处理,包括:将所述第一图像中的第一样本在所述第一列表中的索引序号设置为第二数值,确定所述第一样本与相邻的第二样本之间的差值;以及在所述第一样本与所述第二样本之间的差值的绝对值小于或等于第一阈值且大于第二阈值的情况下,将所述第二样本在所述第一列表中的索引序号设置为第三数值;在所述第一样本与所述第二样本之间的差值的绝对值等于第二阈值的情况下,所述第二样本的索引序号与所述第一样本的索引序号相同;对所述第一图像中与所述第二样本相邻的未遍历的第三样本执行第一操作,所述第一操作包括:查找所述第一列表中与所述第三样本之间的差值的绝对值等于第二阈值的第一目标样本;在查找到所述第一目标样本的情况下,所述第三样本的索引序号与所述第一目标样本的索引序号相同;在未查找到所述第一目标样本的情况下,查找所述第一列表中与所述第三样本之间的差值的绝对值小于或等于第一阈值且大于第二阈值的第二目标样本,将所述第三样本在所述第一列表中的索引序号设置为所述第二目标样本的索引序号加第四数值。
在一些实施例中,所述方法还包括:在所述第一样本与所述第二样本之间的差值的绝对值大于第一阈值的情况下,将所述第二样本加入所述第一列表中,以及不对所述第二样本排序;所述第一操作还包括:在未查找到所述第三样本的第二目标样本的情况下,将所述第三样本加入所述第一列表中,以及不对所述第三样本排序;相应地,遍历至所述第一图像的最后一个样本之后,所述方法还包括:对所述第一列表中未排序的样本执行第二操作;所述第二操作包括:选取所述第一列表中未排序的任一样本作为当前样本,从不同于所述当前样本的其余未排序的样本中,确定与所述当前样本之间的差值的绝对值最小的第三目标样本;将所述第三目标样本在所述第一列表中的索引序号设置为所述当前样本的索引序号加第四数值。
在一些实施例中,所述根据所述样本在所述第一列表中的索引序号和第一分量的比特位深,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值,包括:根据所述比特位深,确定 表示所述第一分量的最大样本值;根据所述样本在所述第一列表中的索引序号和所述最大样本值,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
进一步地,在一些实施例中,所述根据所述样本在所述第一列表中的索引序号和所述最大样本值,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值,包括:根据所述样本在所述第一列表中的索引序号和所述第一列表中的索引序号总数,确定第一比值;其中,所述第一比值为(k-1)与(M-1)的比值;M为所述索引序号总数,k为所述样本在所述第一列表中的索引序号;将所述第一比值与所述最大样本值的乘积作为第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
在一些实施例中,所述方法还包括:将所述第二图像的第二分量和第三分量的样本值设置为第一数值。
进一步地,在一些实施例中,所述第一数值为0或2的(N-1)次方,其中,N为所述比特位深。
在一些实施例中,所述第一图像的样本表征的是深度信息。
在一些实施例中,所述第二图像的第一分量的样本表征的是深度信息。
需要说明的是,以上解码器50侧的实施例的描述,与上述编码器20侧的实施例的描述是类似的,对于具有相同技术特征的实施例或实施步骤的未披露的技术细节,请参照上述编码器20侧的实施例的描述而理解。
下面将说明本申请实施例在一个实际的应用场景中的示例性应用。
一些用以采集深度信息的相机输出的图像格式为RGB24格式,即输出的是RGB深度序列。不同于可见光成像得到的RGB纹理图序列,RGB深度序列来自于深度值的伪彩变换。伪彩变换的原理如图11所示,通过红色变换、绿色变换和蓝色变换这三个变换关系将深度值变换为RGB三分量。
图11中的伪彩变换关系是预先定义的,只是为了便于人眼分辨,并无具体物理意义。常用的伪彩变换关系是连续函数,将连续变化的深度值映射为连续的红色、绿色或蓝色分量。也就是说,R、G或B分量的样本值随着深度值的变化而变化。三个分量的变换关系确定了一个colormap。归一化的深度值和colormap具有一一对应的关系。例如图7所示,为常见的HSV colormap,基于该HSV colormap,如图12所示,对深度图1201进行伪彩变换,得到RGB24序列1202。
使用此类型相机得到的RGB24序列在进行视频编码时,如图13所示,需要先通过颜色空间变换的方式将RGB24序列1202转换为YUV420序列1301;转换完成后,便可以用二维编码器,如VVC,对其进行压缩。在解码端,解码得到YUV420序列1302后,再转换回RGB24序列1303。
然而,图13所示的对编码端RGB24序列1202的处理,忽略了RGB24序列1202的深度特性。在可见光成像得到的RGB图像序列中,像素值离散分布于RGB颜色空间中,没有特定的规律。而在深度图1201经过伪彩变换得到的RGB24序列1202中,像素值只分布在伪彩变换所采用的colormap上,即只分布在RGB颜色空间中的某一特定曲线上。
针对将深度图1201进行伪彩变换得到的RGB序列的特殊性,在本申请实施例中,提供一种普适算法,在伪彩变换关系(即colormap)不可知的前提下拟合出一种近似于伪彩变换的变换关系,恢复出归一化的单通道灰度值。归一化的单通道灰度值经过缩放后作为YUV420格式中的Y分量。本算法的整体框架(即编解码系统1的整体框架的一种示例),如图14所示,采用本算法对RGB24序列1202(即编码器20侧的视频图像处理方法中所述的第一图像的一种示例)进行灰度值恢复,得到只有Y分量有内容的YUV420序列1401(即编码器20侧的视频图像处理方法中所述的第二图像的一种示例);然后通过二维编码器(如VVC,即编码模块201的一种示例)对其进行压缩。在解码端,解码得到只有Y分量有内容的YUV420序列1402;
如此,一方面,对于编码端而言,输入二维编码器的YUV420序列1401只有Y分量有内容,因此便于压缩和传输,减少了计算资源和传输带宽的消耗;另一方面,对于解码端而言,对于解码得到的YUV240序列1402,无需再转换为RGB24序列,即在colormap不可知的情况下能够恢复出与深度值相近的灰度值。
对于输入的深度图的RGB24序列1202,本算法的处理流程包括如下步骤1601至步骤1606:
步骤1601,选取RGB24序列1202的第一个像素(r 1,g 1,b 1)作为当前像素,作为双向链表的节点,指针指向NULL。
这里,同一位置坐标处的三个分量的样本构成一个像素。
步骤1602,如果当前像素为最后一个像素,则转到步骤1605。如果当前像素不是最后一个像素,选取下一个像素作为当前像素;
步骤1603,如果当前像素(r j,g j,b j)已在链表中,则转到步骤1602;如果当前像素(r j,g j, b j)不在链表中,将其作为链表节点,指针指向NULL,然后转到步骤1604;
步骤1604,遍历链表中的节点:计算当前像素分别与链表中的节点的曼哈顿距离d(r,g,b),如果d(r,g,b)=1,将当前像素的节点指向对应节点,以及将该对应节点指向当前像素的节点;如果d(r,g,b)≠1,继续遍历下一节点,直至遍历完链表中的所有节点;转到步骤1602;
步骤1605,如果链表端点(即至少一个指针指向NULL的节点)大于2,选取链表任意端点作为当前节点,转到1606;如果链表端点数为2,则结束;
步骤1606,找到与当前节点的曼哈顿距离最小的链表端点。将当前节点指向该端点,该端点指向当前节点,转到步骤1605;
经过上述处理,建立起一条链表。选取链表的一端作为起点,对应灰度值0,链表的另一端作为终点,对应灰度值为2 N-1,其中N为比特位深。有M个节点的链表中,第k个节点对应的灰度值
Figure PCTCN2022104980-appb-000002
由此建立起了RGB24图像1202和灰度图像的对应关系,将其映射为灰度图,作为YUV420格式的Y分量,UV分量设置为0或者2 N-1
相对于图13所示的处理流程,本算法一方面,能够在colormap不可知的情况下恢复出与深度值相近的灰度值;另一方面,在本算法中,得到的YUV420序列只有Y分量有内容。相对于图13中的YUV420序列1301,本算法得到的YUV420序列便于压缩和传输。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等;或者,将不同实施例中步骤组合为新的技术方案。
基于前述的实施例,本申请实施例提供一种视频图像处理装置,应用于解码器(例如图5所示的解码器50),图15为本申请实施例提供的视频图像处理装置的结构示意图,如图15所示,视频图像处理装置150包括:第一排序模块1501和第一映射模块1502;其中,
第一排序模块1501,配置为根据第一图像中的样本之间的差值对所述样本进行排序处理,得到第一列表;
第一映射模块1502,配置为根据所述样本在所述第一列表中的索引序号和第一分量的比特位深,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
在一些实施例中,第一排序模块1501和第一映射模块1502配置在颜色空间变换模块501中。
在一些实施例中,视频图像处理装置150还包括解码模块,配置为:对接收的码流进行解码,得到第三图像;对所述第三图像进行颜色空间变换,得到所述第一图像。
在一些实施例中,第一排序模块1501,配置为:将所述第一图像中的第一样本在所述第一列表中的索引序号设置为第二数值,确定所述第一样本与相邻的第二样本之间的差值;以及在所述第一样本与所述第二样本之间的差值的绝对值小于或等于第一阈值且大于第二阈值的情况下,将所述第二样本在所述第一列表中的索引序号设置为第三数值;在所述第一样本与所述第二样本之间的差值的绝对值等于第二阈值的情况下,所述第二样本的索引序号与所述第一样本的索引序号相同;对所述第一图像中与所述第二样本相邻的未遍历的第三样本执行第一操作,所述第一操作包括:查找所述第一列表中与所述第三样本之间的差值的绝对值等于第二阈值的第一目标样本;在查找到所述第一目标样本的情况下,所述第三样本的索引序号与所述第一目标样本的索引序号相同;在未查找到所述第一目标样本的情况下,查找所述第一列表中与所述第三样本之间的差值的绝对值小于或等于第一阈值且大于第二阈值的第二目标样本,将所述第三样本在所述第一列表中的索引序号设置为所述第二目标样本的索引序号加第四数值。
在一些实施例中,第一排序模块1501,还配置为:在所述第一样本与所述第二样本之间的差值的绝对值大于第一阈值的情况下,将所述第二样本加入所述第一列表中,以及不对所述第二样本排序;所述第一操作还包括:在未查找到所述第三样本的第二目标样本的情况下,将所述第三样本加入所述第一列表中,以及不对所述第三样本排序;相应地,遍历至所述第一图像的最后一个样本之后,对所述第一列表中未排序的样本执行第二操作;所述第二操作包括:选取所述第一列表中未排序的任一样本作为当前样本,从不同于所述当前样本的其余未排序的样本中,确定与所述当前样本之间的差值的绝对值最小的第三目标样本;将所述第三目标样本在所述第一列表中的索引序号设置为所述当前样本的索引序号加第四数值。
在一些实施例中,第一映射模块1502,配置为:根据所述比特位深,确定表示所述第一分量的最大样本值;根据所述样本在所述第一列表中的索引序号和所述最大样本值,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
进一步地,在一些实施例中,第一映射模块1502,配置为:根据所述样本在所述第一列表中的索引序号和所述第一列表中的索引序号总数,确定第一比值;其中,所述第一比值为(k-1)与(M-1)的比值;M为所述索引序号总数,k为所述样本在所述第一列表中的索引序号;将所述第一比值与所述最大样本值的乘积作为第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
本申请实施例提供一种视频图像处理装置,应用于编码器(例如图2所示的编码器20),图16为本申请实施例提供的视频图像处理装置的结构示意图,如图16所示,视频图像处理装置160包括:第二排序模块1601和第二映射模块1602;其中,
第二排序模块1601,配置为根据第一图像中的样本之间的差值对所述样本进行排序处理,得到第一列表;
第二映射模块1602,配置为根据所述样本在所述第一列表中的索引序号和第一分量的比特位深,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
在一些实施例中,第二排序模块1601和第二映射模块1602配置在颜色空间变换模块200中。
在一些实施例中,视频图像处理装置160还包括编码模块,配置为:对所述第二图像进行编码,将所得到的编码比特写入码流。
在一些实施例中,第二排序模块1601,配置为:将所述第一图像中的第一样本在所述第一列表中的索引序号设置为第二数值,确定所述第一样本与相邻的第二样本之间的差值;以及在所述第一样本与所述第二样本之间的差值的绝对值小于或等于第一阈值且大于第二阈值的情况下,将所述第二样本在所述第一列表中的索引序号设置为第三数值;在所述第一样本与所述第二样本之间的差值的绝对值等于第二阈值的情况下,所述第二样本的索引序号与所述第一样本的索引序号相同;对所述第一图像中与所述第二样本相邻的未遍历的第三样本执行第一操作,所述第一操作包括:查找所述第一列表中与所述第三样本之间的差值的绝对值等于第二阈值的第一目标样本;在查找到所述第一目标样本的情况下,所述第三样本的索引序号与所述第一目标样本的索引序号相同;在未查找到所述第一目标样本的情况下,查找所述第一列表中与所述第三样本之间的差值的绝对值小于或等于第一阈值且大于第二阈值的第二目标样本,将所述第三样本在所述第一列表中的索引序号设置为所述第二目标样本的索引序号加第四数值。
在一些实施例中,第二排序模块1601,还配置为:在所述第一样本与所述第二样本之间的差值的绝对值大于第一阈值的情况下,将所述第二样本加入所述第一列表中,以及不对所述第二样本排序;所述第一操作还包括:在未查找到所述第三样本的第二目标样本的情况下,将所述第三样本加入所述第一列表中,以及不对所述第三样本排序;相应地,遍历至所述第一图像的最后一个样本之后,对所述第一列表中未排序的样本执行第二操作;所述第二操作包括:选取所述第一列表中未排序的任一样本作为当前样本,从不同于所述当前样本的其余未排序的样本中,确定与所述当前样本之间的差值的绝对值最小的第三目标样本;将所述第三目标样本在所述第一列表中的索引序号设置为所述当前样本的索引序号加第四数值。
在一些实施例中,第二映射模块1602,配置为:根据所述比特位深,确定表示所述第一分量的最大样本值;根据所述样本在所述第一列表中的索引序号和所述最大样本值,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
进一步地,在一些实施例中,第二映射模块1602,配置为:根据所述样本在所述第一列表中的索引序号和所述第一列表中的索引序号总数,确定第一比值;其中,所述第一比值为(k-1)与(M-1)的比值;M为所述索引序号总数,k为所述样本在所述第一列表中的索引序号;将所述第一比值与所述最大样本值的乘积作为第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例所述的装置对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。也可以采用软件和硬件结合的形式实现。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的方法,并作为独立的 产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
本申请实施例提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序被执行时实现如编码器侧的视频图像处理方法、或者实现如解码器侧的视频图像处理方法。
本申请实施例提供一种解码器,如图17所示,解码器170包括:第一通信接口1701、第一存储器1702和第一处理器1703;各个组件通过第一总线系统1704耦合在一起。可理解,第一总线系统1704用于实现这些组件之间的连接通信。第一总线系统1704除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图17中将各种总线都标为第一总线系统1704。其中,
第一通信接口1701,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第一存储器1702,用于存储能够在第一处理器1703上运行的计算机程序;
第一处理器1703,用于在运行所述计算机程序时,执行:
根据第一图像中的样本之间的差值对所述样本进行排序处理,得到第一列表;
根据所述样本在所述第一列表中的索引序号和第一分量的比特位深,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
可以理解,本申请实施例中的第一存储器1702可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请描述的系统和方法的第一存储器1702旨在包括但不限于这些和任意其它适合类型的存储器。
而第一处理器1703可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过第一处理器1703中的硬件的集成逻辑电路或者软件形式的指令完成。上述的第一处理器1703可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于第一存储器1702,第一处理器1703读取第一存储器1702中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本申请描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。对于软件实现,可通过执行本申请所述功能的模块(例如过程、函数等)来实现本申请所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
可选地,作为另一个实施例,第一处理器1703还配置为在运行所述计算机程序时,执行前述解 码器50侧的任一方法实施例。
本申请实施提供一种编码器,如图18所示,编码器180包括:第二通信接口1801、第二存储器1802和第二处理器1803;各个组件通过第二总线系统1804耦合在一起。可理解,第二总线系统1804用于实现这些组件之间的连接通信。第二总线系统1804除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图18中将各种总线都标为第二总线系统1804。其中,
第二通信接口1801,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第二存储器1802,用于存储能够在第二处理器1803上运行的计算机程序;
第二处理器1803,用于在运行所述计算机程序时,执行:
根据第一图像中的样本之间的差值对所述样本进行排序处理,得到第一列表;
根据所述样本在所述第一列表中的索引序号和第一分量的比特位深,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
可选地,作为另一个实施例,第二处理器1803还配置为在运行所述计算机程序时,执行前述编码器20侧的方法实施例。
可以理解,第二存储器1802与第一存储器1702的硬件功能类似,第二处理器1803与第一处理器1703的硬件功能类似;这里不再详述。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质、存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如对象A和/或对象B,可以表示:单独存在对象A,同时存在对象A和对象B,单独存在对象B这三种情况。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (26)

  1. 一种视频图像处理方法,所述方法应用于解码器,所述方法包括:
    根据第一图像中的样本之间的差值对所述样本进行排序处理,得到第一列表;
    根据所述样本在所述第一列表中的索引序号和第一分量的比特位深,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
  2. 根据权利要求1所述的方法,其中,所述方法还包括:
    将所述第二图像的第二分量和第三分量的样本值设置为第一数值。
  3. 根据权利要求1所述的方法,其中,所述根据第一图像中样本之间的差值对所述样本进行排序处理,包括:
    将所述第一图像中的第一样本在所述第一列表中的索引序号设置为第二数值,确定所述第一样本与相邻的第二样本之间的差值;以及
    在所述第一样本与所述第二样本之间的差值的绝对值小于或等于第一阈值且大于第二阈值的情况下,将所述第二样本在所述第一列表中的索引序号设置为第三数值;
    在所述第一样本与所述第二样本之间的差值的绝对值等于第二阈值的情况下,所述第二样本的索引序号与所述第一样本的索引序号相同;
    对所述第一图像中与所述第二样本相邻的未遍历的第三样本执行第一操作,所述第一操作包括:查找所述第一列表中与所述第三样本之间的差值的绝对值等于第二阈值的第一目标样本;在查找到所述第一目标样本的情况下,所述第三样本的索引序号与所述第一目标样本的索引序号相同;在未查找到所述第一目标样本的情况下,查找所述第一列表中与所述第三样本之间的差值的绝对值小于或等于第一阈值且大于第二阈值的第二目标样本,将所述第三样本在所述第一列表中的索引序号设置为所述第二目标样本的索引序号加第四数值。
  4. 根据权利要求3所述的方法,其中,所述方法还包括:
    在所述第一样本与所述第二样本之间的差值的绝对值大于第一阈值的情况下,将所述第二样本加入所述第一列表中,以及不对所述第二样本排序;
    所述第一操作还包括:在未查找到所述第三样本的第二目标样本的情况下,将所述第三样本加入所述第一列表中,以及不对所述第三样本排序;
    相应地,遍历至所述第一图像的最后一个样本之后,所述方法还包括:
    对所述第一列表中未排序的样本执行第二操作;所述第二操作包括:选取所述第一列表中未排序的任一样本作为当前样本,从不同于所述当前样本的其余未排序的样本中,确定与所述当前样本之间的差值的绝对值最小的第三目标样本;将所述第三目标样本在所述第一列表中的索引序号设置为所述当前样本的索引序号加第四数值。
  5. 根据权利要求1至4任一项所述的方法,其中,所述根据所述样本在所述第一列表中的索引序号和第一分量的比特位深,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值,包括:
    根据所述比特位深,确定表示所述第一分量的最大样本值;
    根据所述样本在所述第一列表中的索引序号和所述最大样本值,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
  6. 根据权利要求5所述的方法,其中,所述根据所述样本在所述第一列表中的索引序号和所述最大样本值,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值,包括:
    根据所述样本在所述第一列表中的索引序号和所述第一列表中的索引序号总数,确定第一比值;其中,所述第一比值为(k-1)与(M-1)的比值;M为所述索引序号总数,k为所述样本在所述第一列表中的索引序号;
    将所述第一比值与所述最大样本值的乘积作为第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
  7. 根据权利要求2所述的方法,其中,所述第一数值为0或2的(N-1)次方,其中,N为所述比特位深。
  8. 根据权利要求1至4任一项所述的方法,其中,所述第一图像的样本表征的是深度信息。
  9. 根据权利要求1至4任一项所述的方法,其中,所述第二图像的第一分量的样本表征的是深 度信息。
  10. 根据权利要求1至4任一项所述的方法,其中,所述方法还包括:
    对接收的码流进行解码,得到第三图像;
    对所述第三图像进行颜色空间变换,得到所述第一图像。
  11. 一种视频图像处理方法,所述方法应用于编码器,所述方法包括:
    根据第一图像中的样本之间的差值对所述样本进行排序处理,得到第一列表;
    根据所述样本在所述第一列表中的索引序号和第一分量的比特位深,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
  12. 根据权利要求11所述的方法,其中,所述方法还包括:
    将所述第二图像的第二分量和第三分量的样本值设置为第一数值。
  13. 根据权利要求11所述的方法,其中,所述根据第一图像中样本之间的差值对所述样本进行排序处理,包括:
    将所述第一图像中的第一样本在所述第一列表中的索引序号设置为第二数值,确定所述第一样本与相邻的第二样本之间的差值;以及
    在所述第一样本与所述第二样本之间的差值的绝对值小于或等于第一阈值且大于第二阈值的情况下,将所述第二样本在所述第一列表中的索引序号设置为第三数值;
    在所述第一样本与所述第二样本之间的差值的绝对值等于第二阈值的情况下,所述第二样本的索引序号与所述第一样本的索引序号相同;
    对所述第一图像中与所述第二样本相邻的未遍历的第三样本执行第一操作,所述第一操作包括:查找所述第一列表中与所述第三样本之间的差值的绝对值等于第二阈值的第一目标样本;在查找到所述第一目标样本的情况下,所述第三样本的索引序号与所述第一目标样本的索引序号相同;在未查找到所述第一目标样本的情况下,查找所述第一列表中与所述第三样本之间的差值的绝对值小于或等于第一阈值且大于第二阈值的第二目标样本,将所述第三样本在所述第一列表中的索引序号设置为所述第二目标样本的索引序号加第四数值。
  14. 根据权利要求13所述的方法,其中,所述方法还包括:
    在所述第一样本与所述第二样本之间的差值的绝对值大于第一阈值的情况下,将所述第二样本加入所述第一列表中,以及不对所述第二样本排序;
    所述第一操作还包括:在未查找到所述第三样本的第二目标样本的情况下,将所述第三样本加入所述第一列表中,以及不对所述第三样本排序;
    相应地,遍历至所述第一图像的最后一个样本之后,所述方法还包括:
    对所述第一列表中未排序的样本执行第二操作;所述第二操作包括:选取所述第一列表中未排序的任一样本作为当前样本,从不同于所述当前样本的其余未排序的样本中,确定与所述当前样本之间的差值的绝对值最小的第三目标样本;将所述第三目标样本在所述第一列表中的索引序号设置为所述当前样本的索引序号加第四数值。
  15. 根据权利要求11至14任一项所述的方法,其中,所述根据所述样本在所述第一列表中的索引序号和第一分量的比特位深,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值,包括:
    根据所述比特位深,确定表示所述第一分量的最大样本值;
    根据所述样本在所述第一列表中的索引序号和所述最大样本值,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
  16. 根据权利要求15所述的方法,其中,所述根据所述样本在所述第一列表中的索引序号和所述最大样本值,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值,包括:
    根据所述样本在所述第一列表中的索引序号和所述第一列表中的索引序号总数,确定第一比值;其中,所述第一比值为(k-1)与(M-1)的比值;M为所述索引序号总数,k为所述样本在所述第一列表中的索引序号;
    将所述第一比值与所述最大样本值的乘积作为第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
  17. 根据权利要求12所述的方法,其中,所述第一数值为0或2的(N-1)次方,其中,N为所述比特位深。
  18. 根据权利要求11至14任一项所述的方法,其中,所述第一图像的样本表征的是深度信息。
  19. 根据权利要求11至14任一项所述的方法,其中,所述第二图像的第一分量的样本表征的是深度信息。
  20. 根据权利要求11至14任一项所述的方法,其中,所述方法还包括:
    对所述第二图像进行编码,将所得到的编码比特写入码流。
  21. 一种视频图像处理装置,应用于解码器,所述装置包括:第一排序模块和第一映射模块;其中,
    所述第一排序模块,配置为根据第一图像中的样本之间的差值对所述样本进行排序处理,得到第一列表;
    所述第一映射模块,配置为根据所述样本在所述第一列表中的索引序号和第一分量的比特位深,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
  22. 一种解码器,包括第一存储器和第一处理器;其中,
    所述第一存储器,用于存储能够在所述第一处理器上运行的计算机程序;
    所述第一处理器,用于在运行所述计算机程序时,执行如权利要求1至10任一项所述的方法。
  23. 一种视频图像处理装置,应用于编码器,所述装置包括:第二排序模块和第二映射模块;其中,
    所述第二排序模块,配置为根据第一图像中的样本之间的差值对所述样本进行排序处理,得到第一列表;
    所述第二映射模块,配置为根据所述样本在所述第一列表中的索引序号和第一分量的比特位深,得到第二图像中与所述样本具有相同位置坐标的第一分量的样本值。
  24. 一种编码器,包括第二存储器和第二处理器;其中,
    所述第二存储器,用于存储能够在所述第二处理器上运行的计算机程序;
    所述第二处理器,用于在运行所述计算机程序时,执行如权利要求11至20任一项所述的方法。
  25. 一种码流,所述码流是对第二图像进行比特编码生成的;其中,所述第二图像是通过权利要求11至20任一项而得到的。
  26. 一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序被执行时实现如权利要求1至10任一项所述的方法、或者实现如权利要求11至20任一项所述的方法。
PCT/CN2022/104980 2022-07-11 2022-07-11 视频图像处理方法及装置、编解码器、码流、存储介质 WO2024011370A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2022/104980 WO2024011370A1 (zh) 2022-07-11 2022-07-11 视频图像处理方法及装置、编解码器、码流、存储介质
TW112125657A TW202408235A (zh) 2022-07-11 2023-07-10 視訊影像處理方法及裝置、編解碼器、碼流、儲存媒介

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/104980 WO2024011370A1 (zh) 2022-07-11 2022-07-11 视频图像处理方法及装置、编解码器、码流、存储介质

Publications (1)

Publication Number Publication Date
WO2024011370A1 true WO2024011370A1 (zh) 2024-01-18

Family

ID=89535175

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/104980 WO2024011370A1 (zh) 2022-07-11 2022-07-11 视频图像处理方法及装置、编解码器、码流、存储介质

Country Status (2)

Country Link
TW (1) TW202408235A (zh)
WO (1) WO2024011370A1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104023235A (zh) * 2013-02-28 2014-09-03 美国博通公司 图像编码中的索引颜色历史
CN108141585A (zh) * 2015-10-22 2018-06-08 Lg 电子株式会社 视频编码系统中的帧内预测方法和装置
CN109618157A (zh) * 2018-12-29 2019-04-12 东南大学 一种视频显示流压缩编码的硬件实现系统及方法
CN109960738A (zh) * 2019-03-15 2019-07-02 西安电子科技大学 基于深度对抗哈希学习的大规模遥感影像内容检索方法
CN112672132A (zh) * 2018-09-30 2021-04-16 Oppo广东移动通信有限公司 数据处理方法及装置、电子设备及存储介质
CN113826385A (zh) * 2019-07-03 2021-12-21 Oppo广东移动通信有限公司 点云编解码方法、编码器、解码器及计算机存储介质
US20220217364A1 (en) * 2019-10-04 2022-07-07 Lg Electronics Inc. Transform-based image coding method, and apparatus therefor

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104023235A (zh) * 2013-02-28 2014-09-03 美国博通公司 图像编码中的索引颜色历史
CN108141585A (zh) * 2015-10-22 2018-06-08 Lg 电子株式会社 视频编码系统中的帧内预测方法和装置
CN112672132A (zh) * 2018-09-30 2021-04-16 Oppo广东移动通信有限公司 数据处理方法及装置、电子设备及存储介质
CN109618157A (zh) * 2018-12-29 2019-04-12 东南大学 一种视频显示流压缩编码的硬件实现系统及方法
CN109960738A (zh) * 2019-03-15 2019-07-02 西安电子科技大学 基于深度对抗哈希学习的大规模遥感影像内容检索方法
CN113826385A (zh) * 2019-07-03 2021-12-21 Oppo广东移动通信有限公司 点云编解码方法、编码器、解码器及计算机存储介质
US20220217364A1 (en) * 2019-10-04 2022-07-07 Lg Electronics Inc. Transform-based image coding method, and apparatus therefor

Also Published As

Publication number Publication date
TW202408235A (zh) 2024-02-16

Similar Documents

Publication Publication Date Title
WO2021004152A1 (zh) 图像分量的预测方法、编码器、解码器以及存储介质
WO2022104498A1 (zh) 帧内预测方法、编码器、解码器以及计算机存储介质
WO2020001325A1 (zh) 一种图像编码方法、解码方法、编码器、解码器及存储介质
WO2023230996A1 (zh) 编解码方法、编码器、解码器以及可读存储介质
WO2020192085A1 (zh) 图像预测方法、编码器、解码器以及存储介质
CN115836525B (zh) 用于从多个交叉分量进行预测的视频编码、解码方法和设备
CN113068026B (zh) 编码预测方法、装置及计算机存储介质
CN117897952A (zh) 用于执行组合帧间和帧内预测的方法和系统
WO2020186763A1 (zh) 图像分量预测方法、编码器、解码器以及存储介质
WO2024011370A1 (zh) 视频图像处理方法及装置、编解码器、码流、存储介质
AU2019357929A1 (en) Video image component prediction method and apparatus, and computer storage medium
WO2022227082A1 (zh) 块划分方法、编码器、解码器以及计算机存储介质
CN118044184A (zh) 用于执行组合帧间预测和帧内预测的方法和系统
WO2022067776A1 (zh) 点云的解码、编码方法、解码器、编码器和编解码系统
WO2021134303A1 (zh) 变换方法、编码器、解码器以及存储介质
WO2020192084A1 (zh) 图像预测方法、编码器、解码器以及存储介质
WO2021134327A1 (zh) 变换方法、编码器、解码器以及存储介质
CN113940076A (zh) 应用隐式变换选择
WO2020140214A1 (zh) 解码预测方法、装置及计算机存储介质
WO2023245544A1 (zh) 编解码方法、码流、编码器、解码器以及存储介质
WO2024007116A1 (zh) 解码方法、编码方法、解码器以及编码器
CN112313950A (zh) 视频图像分量的预测方法、装置及计算机存储介质
WO2023141781A1 (zh) 编解码方法、装置、编码设备、解码设备以及存储介质
WO2024016775A1 (zh) 数据处理方法、装置、设备
WO2023123467A1 (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: 22950501

Country of ref document: EP

Kind code of ref document: A1