WO2024077611A1 - Decoding method, encoding method, decoder, and encoder - Google Patents

Decoding method, encoding method, decoder, and encoder Download PDF

Info

Publication number
WO2024077611A1
WO2024077611A1 PCT/CN2022/125476 CN2022125476W WO2024077611A1 WO 2024077611 A1 WO2024077611 A1 WO 2024077611A1 CN 2022125476 W CN2022125476 W CN 2022125476W WO 2024077611 A1 WO2024077611 A1 WO 2024077611A1
Authority
WO
WIPO (PCT)
Prior art keywords
transformation
sub
image block
illumination
current sub
Prior art date
Application number
PCT/CN2022/125476
Other languages
French (fr)
Chinese (zh)
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/125476 priority Critical patent/WO2024077611A1/en
Publication of WO2024077611A1 publication Critical patent/WO2024077611A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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 the present application relate to the field of coding and decoding, and more specifically, to a decoding method, an encoding method, a decoder and an encoder.
  • a limited number of viewpoints can be selected as basic viewpoints in the reference viewpoints, and the selected basic viewpoints can express the visible range of the scene as much as possible.
  • the image under the basic viewpoint also called the basic view
  • the non-basic viewpoint also called the additional view
  • extracting the effective information into sub-blocks and reorganizing them with the image under the basic viewpoint to form a larger rectangular image also called a mosaic or mosaic image
  • a larger rectangular image also called a mosaic or mosaic image
  • the pixel pruning module can be used to detect repeated pixels between the basic view and the additional view, and prune the repeated pixels in the additional view.
  • the retained pixels may include pixels that are greatly affected by lighting (such as highlight pixels).
  • the information of highlight pixels will be degraded after video encoding and decoding, such as the loss of texture information of sub-blocks, thereby reducing the decoding performance.
  • the embodiments of the present application provide a decoding method, an encoding method, a decoder and an encoder, which can improve decoding performance.
  • an embodiment of the present application provides a decoding method, including:
  • illumination transformation is performed on the current sub-image block to obtain a sub-image block after illumination transformation.
  • an embodiment of the present application provides an encoding method, including:
  • the sub-image block after the illumination transformation is encoded to obtain a bit stream.
  • an embodiment of the present application provides a decoder, including:
  • a decoding unit used for decoding the code stream and determining a current sub-block in a current image
  • a determination unit used to determine whether to perform illumination transformation on the current sub-block
  • the transformation unit is used to perform the illumination transformation on the current sub-image block when it is determined to perform the illumination transformation on the current sub-image block, so as to obtain the sub-image block after the illumination transformation.
  • an encoder including:
  • a first determining unit configured to determine a current sub-block in a current image
  • a second determining unit used to determine whether to perform illumination transformation on the current sub-block
  • a transformation unit configured to perform a lighting transformation on the current sub-image block to obtain a sub-image block after the lighting transformation when it is determined to perform a lighting transformation on the current sub-image block;
  • the encoding unit is used to encode the sub-image block after the illumination transformation to obtain a code stream.
  • an embodiment of the present application provides a decoder, including:
  • a processor adapted to implement computer instructions
  • a computer-readable storage medium stores computer instructions, wherein the computer instructions are suitable for being loaded by a processor and executing the decoding method in the first aspect or its various implementations involved above.
  • the number of the processor is one or more, and the number of the memory is one or more.
  • the computer-readable storage medium may be integrated with the processor, or the computer-readable storage medium may be disposed separately from the processor.
  • an encoder including:
  • a processor adapted to implement computer instructions
  • a computer-readable storage medium wherein the computer-readable storage medium stores computer instructions, and the computer instructions are suitable for being loaded by a processor and executing the encoding method in the second aspect or its various implementation methods involved above.
  • the number of the processor is one or more, and the number of the memory is one or more.
  • the computer-readable storage medium may be integrated with the processor, or the computer-readable storage medium may be disposed separately from the processor.
  • an embodiment of the present application provides a computer-readable storage medium, which stores computer instructions.
  • the computer instructions When the computer instructions are read and executed by a processor of a computer device, the computer device executes the decoding method involved in the first aspect mentioned above or the encoding method involved in the second aspect mentioned above.
  • an embodiment of the present application provides a computer program product or a computer program, the computer program product or the computer program including a computer instruction, the computer instruction being stored in a computer-readable storage medium.
  • a processor of a computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the decoding method involved in the first aspect mentioned above or the encoding method involved in the second aspect mentioned above.
  • an embodiment of the present application provides a code stream, which is a code stream as described in the method described in the first aspect above or a code stream generated by the method described in the second aspect above.
  • the illumination transformation of the current sub-block can not only restore the illumination effect of the current sub-block, but also ensure that the sub-block decoded by the decoder is the sub-block after quality enhancement by the encoder, thereby alleviating the problem of quality degradation of its pixel information after video encoding and decoding, for example, it can alleviate the problem of texture information loss of the sub-block, thereby improving the decoding performance.
  • FIG. 1 is an example of a MIV encoding and decoding system provided in an embodiment of the present application.
  • FIG. 2 is an example of a preprocessing process provided in an embodiment of the present application.
  • FIG. 3 is an example of a depth map provided by an embodiment of the present application.
  • FIG. 4 is an example of a texture map provided in an embodiment of the present application.
  • FIG. 5 is an example of an occupancy map provided by an embodiment of the present application.
  • FIG. 6 is an example of a process for generating a mosaic graph provided in an embodiment of the present application.
  • FIG. 7 is a schematic flowchart of a decoding method provided in an embodiment of the present application.
  • FIG8 is a schematic flowchart of the encoding method provided in an embodiment of the present application.
  • FIG. 9 is an example of a mapping relationship between pixels in a base view and a pixel block where pixels in a current sub-block are located, provided in an embodiment of the present application.
  • FIG. 10 is an example of a similar pixel pair determination process provided in an embodiment of the present application.
  • FIG. 11 is an example of incorporating illumination transformation into the determination process of similar pixel pairs provided in an embodiment of the present application.
  • FIG12 is a schematic block diagram of a decoder provided in an embodiment of the present application.
  • FIG13 is a schematic block diagram of an encoder provided in an embodiment of the present application.
  • FIG. 14 is an example of an electronic device provided by an embodiment of the present application.
  • FIG. 1 is an example of a MIV encoding and decoding system 10 provided in an embodiment of the present application.
  • the MIV encoding and decoding system 10 can be roughly divided into the following modules according to the task line: a data acquisition module 11 , a pre-processing module 12 , a video encoding framework 13 , a video decoding framework 14 and a post-processing module 15 .
  • the data acquisition module 11 is used to collect data.
  • the data collected by the data acquisition module 11 may include not only texture information, but also depth information corresponding to the texture information.
  • the texture information may be a three-channel color image, and the depth information may be a depth map.
  • the pixel value of the depth map may be used to reflect the distance measurement from the corresponding point to the acquisition device, that is, the pixel value of the depth map may be used to reflect the geometric information of the corresponding point.
  • the preprocessing module 12 is used to organize and express the data collected by the data acquisition module 11 to obtain the video to be encoded.
  • the input source format of the preprocessing module 12 is a multi-viewpoint texture plus depth video, and the format of the video can be a perspective-projected plane video or a panoramic video.
  • the preprocessing module 12 can first perform lighting balance and color correction on the images in the video sequence, and can also perform camera calibration and image calibration. If the video format collected by the data acquisition module 11 is a panoramic video, the preprocessing module 12 can also use image stitching technology to stitch the images in the panoramic video, and map the stitched stitching image into a two-dimensional plane video.
  • FIG. 2 is an example of a preprocessing process provided in an embodiment of the present application.
  • the reference viewpoint is the viewpoint used by the data acquisition module 11 to collect data.
  • the reference viewpoint can be associated through viewpoint parameters, texture data and geometric data.
  • the preprocessing module 12 can select a limited number of viewpoints from the reference viewpoint as basic viewpoints, and can enable the selected basic viewpoints to express the visible range of the scene as much as possible.
  • the image under the basic viewpoint (also called basic view) can be transmitted as a complete image. Furthermore, the redundant pixels between the remaining non-basic viewpoints (also called additional views) and the basic viewpoint can be removed, that is, only the valid information of non-repetitive expression is retained, and then the valid information is extracted into sub-blocks and reorganized with the image under the basic viewpoint to form a larger rectangular image (also called a mosaic or mosaic image).
  • the spliced image can be used to generate video data
  • the video data may include texture video data and geometry video data.
  • the video data may be used as an input image of the video encoding framework 13, and the output of the video encoding framework 13 is a code stream obtained by encoding the input image.
  • the code stream output by the video encoding framework 13 may include a geometry code stream and an attribute code stream.
  • the geometry code stream is a code stream generated by encoding a geometry depth map (such as the depth map shown in FIG. 3), which is used to represent geometry information
  • the attribute code stream is a code stream generated by encoding a texture map (such as the texture map shown in FIG. 4), which is used to represent attribute information.
  • the code stream output by the video encoding framework 13 may also include an occupancy code stream, which is a code stream generated by encoding an occupancy map (such as the occupancy map shown in FIG. 5), which is used to indicate valid areas in the depth map and the texture map; these three types of images are encoded and decoded using a video encoder.
  • the code stream output by the video encoding framework 13 may be used as an input code stream of the video decoding framework 14.
  • auxiliary data related to the stitching information of the sub-blocks can also be written into the bitstream, thereby reducing the transmission pixel rate while retaining scene information as much as possible, thereby ensuring that there is sufficient information for the post-processing module 15 to render the reconstructed image to obtain the final view.
  • FIG. 6 is an example of a process for generating a mosaic graph provided in an embodiment of the present application.
  • the reference viewpoint may include viewpoint 0, viewpoint 1 and viewpoint 2.
  • the reference viewpoint image collected at viewpoint 0 can be used to extract sub-block 2 and sub-block 4
  • the reference viewpoint image collected at viewpoint 1 can be used to extract sub-block 8
  • the reference viewpoint image collected at viewpoint 2 can be used to extract sub-block 3 and sub-block 7.
  • mosaic image 0 can be obtained based on sub-block 2, sub-block 4 and sub-block 8, and mosaic image 1 can be obtained based on sub-block 3 and sub-block 7; then mosaic image 0 and mosaic image 1 are spliced to the image under the basic viewpoint to obtain the final mosaic image, and the final mosaic image can be used as the input image of the video encoding framework 13 to encode the input image to obtain a bitstream.
  • the video encoding framework 13 is used to encode and compress the video
  • the video decoding framework 14 is used to decode and reconstruct the video.
  • the present application does not limit the specific implementation of the video encoding framework 13 and the video decoding framework 14.
  • a codec framework that applies three-dimensional video encoding technologies such as MV-HEVC and 3D-HEVC to multi-viewpoint video can be used, and the encoding and decoding efficiency of this codec framework is higher than that of HEVC.
  • a codec framework of traditional planar video hybrid encoding technologies such as HEVC and VVC can be used.
  • the post-processing module 15 is used to synthesize and render the image decoded by the video decoding framework 14 to obtain the final view.
  • the target view at the user's viewpoint position can be synthesized and rendered based on the decoded and reconstructed image and the user's current posture information.
  • FIG7 is a schematic flow chart of a decoding method 200 provided in an embodiment of the present application. It should be understood that the decoding method 200 can be executed by a decoder. For example, it is applied to the decoding framework 14 shown in FIG1. For ease of description, the following description is made by taking a decoder as an example.
  • the decoding method 200 may include part or all of the following:
  • the current image may have an additional view.
  • the current sub-image block may be an image block obtained by the encoder processing the additional view.
  • the encoder may remove redundant pixels between the base view and the additional view, that is, retain only valid pixels (also referred to as valid pixel clusters) that are not repeatedly expressed, and then divide and pack the valid pixel clusters to form image blocks (i.e., sub-image blocks) of regular shapes, and then reorganize the base view and one or more sub-image blocks obtained based on the additional view (for example, splicing the base view and the sub-image blocks obtained based on the additional view) to form a larger rectangular image (also referred to as a spliced image or a spliced image), which may be used to generate video data so that the encoder can encode the video data to obtain a bitstream.
  • the decoder may restore or decode the additional view based on the current sub-image block.
  • the decoder may determine, based on the current sub-image block, a valid pixel cluster retained by the encoder after clipping redundant pixels in the additional view, and then restore the additional view based on the valid pixel cluster. For example, the decoder may determine the position of the current sub-image block in the additional view based on the clipping mask of the additional view, and based on the position of the decoded valid pixel cluster, use pixels in the base view to restore the clipped redundant pixels in the additional view, and then restore the additional view based on the pixels of the current sub-image block and the clipped points in the additional view.
  • the current sub-image block may be a rectangular image block.
  • the encoder by introducing illumination transformation for the current sub-block that needs illumination transformation on the decoder side, it is beneficial for the encoder to enhance the quality of the current sub-block by illumination transformation of the current sub-block.
  • the illumination transformation of the current sub-block can not only restore the illumination effect of the current sub-block, but also ensure that the sub-block decoded by the decoder is the sub-block whose quality has been enhanced by the encoder, thereby alleviating the problem of quality degradation of its pixel information after video encoding and decoding, for example, it can alleviate the problem of texture information loss of the sub-block, thereby improving the decoding performance.
  • the S220 may include:
  • the decoder determines that the current sub-block is to be illuminated by a transformation if the sub-block identifier of the current sub-block indicates that the current sub-block is to be illuminated by a transformation; if the sub-block identifier of the current sub-block indicates that the current sub-block is not to be illuminated by a transformation, the decoder determines that the current sub-block is not to be illuminated by a transformation.
  • whether to perform illumination transformation on the current sub-tile may also be determined in other ways.
  • the decoder may determine whether to perform illumination transformation on the current sub-image block based on whether the bitstream carries the identifier of the current sub-image block. For example, if the bitstream carries the identifier of the current sub-image block, the decoder determines to perform illumination transformation on the current sub-image block; if the bitstream does not carry the identifier of the current sub-image block, the decoder determines not to perform illumination transformation on the current sub-image block.
  • the decoder may also perform a pixel-level illumination transformation or a view-level illumination transformation. For example, the decoder may also determine whether to perform an illumination transformation on the current pixel based on an identifier corresponding to the current pixel in the current sub-image block, where the identifier corresponding to the current pixel indicates whether to perform an illumination transformation on the current pixel. For another example, the decoder may also determine whether to perform an illumination transformation on a sub-image block in an additional view based on an identifier corresponding to an additional view to which the current sub-image block belongs; wherein the identifier corresponding to the additional illustration indicates whether to perform illumination changes with the sub-image block in the additional illustration.
  • the decoder may also decode the bitstream to determine an enable flag of the sub-picture block identifier of the current sub-picture block; the enable flag indicates whether the bitstream carries the sub-picture block identifier of the current sub-picture block.
  • the enable flag may be carried in an Atlas sequence parameter set MIV extension syntax in the code stream.
  • Atlas sequence parameter set MIV extended syntax may be as shown in Table 1:
  • asme_ic_enabled_flag is an enable flag.
  • asme_ic_enabled_flag is 1, which means that the syntax element pdu_ic_flag[tileID][p] exists in the syntax structure pdu_miv_extension().
  • asme_ic_enabled_flag is 0, which means that the syntax element pdu_ic_flag[tileID][p] does not exist in the syntax structure pdu_miv_extension().
  • asme_ic_enabled_flag When asme_ic_enabled_flag does not exist, its value defaults to 0. (asme_ic_enabled_flag equal to 1 specifies that the pdu_ic_flag[tileID][p]syntax elements are present in the pdu_miv_extension()syntax structure.
  • asme_ic_enabled_flag 0 specifies that the pdu_ic_flag[tileID][p]syntax elements are not present in the pdu_miv_extension()syntax structure. When not present, the value of asme_ic_enabled_flag is inferred to be equal to 0).
  • the sub-tile identifier of the current sub-tile may be carried in a Patch data unit MIV extension syntax (Patch data unit MIV extension syntax) in the code stream.
  • Patch data unit MIV extension syntax Patch data unit MIV extension syntax
  • sub-block data unit MIV extended syntax may be as shown in Table 2:
  • pdu_ic_flag[tileID][p] is the sub-tile identifier.
  • pdu_ic_flag[tileID][p] is 1, which means that the sub-tile performs lighting transformation.
  • pdu_ic_flag[tileID][p] is 0, which means that the sub-tile does not perform lighting transformation.
  • pdu_ic_flag[tileID][p] does not exist, its value defaults to 0.
  • pdu_ic_flag[tileID][p]equal to 1 specifies that the patch is an IC patch.
  • pdu_ic_flag[tileID][p] is equal to 0, then the patch is not an IC patch.
  • the value of pdu_ic_flag[tileID][p] is inferred to be equal to 0.
  • the S230 may include:
  • the current sub-image block is subjected to illumination transformation to obtain the sub-image block after illumination transformation.
  • the decoder determines to perform illumination transformation on the current sub-image block, it first determines the target transformation method and the target transformation parameters, and then performs illumination transformation on the current sub-image block using the target transformation method based on the target transformation parameters to obtain the sub-image block after illumination transformation.
  • the target transformation mode is a default transformation mode.
  • the default transformation method may be a logarithmic transformation method, a gamma transformation method, or other transformation methods, and even the default transformation method may be a transformation method based on machine learning, which is not specifically limited in the present application.
  • the decoder may also decode the code stream to determine the target transformation mode, and this application does not make any specific limitation on this.
  • the target transformation parameters are transformation parameters used by the target transformation method by default.
  • the decoder may also decode the code stream to determine the target transformation parameters, which is not specifically limited in the present application.
  • the contrast of the attribute information of the pixels in the current sub-block is adjusted to obtain the sub-block after the illumination transformation; wherein the contrast between the attribute information of the pixels in the sub-block after the illumination transformation is greater than the contrast between the attribute information of the pixels in the current sub-block.
  • the target transformation parameters used by the current sub-block can increase the contrast between the attribute information of the pixels in the current sub-block.
  • the contrast of the attribute information of the pixels in the current sub-block may be the contrast between the texture information of the pixels in the current sub-block.
  • the target transformation parameters used by the current sub-block can increase the contrast between the texture information of the pixels in the current sub-block.
  • the contrast of the attribute information of the pixels in the current sub-block may be the contrast between the color information of the pixels in the current sub-block.
  • the target transformation parameters used by the current sub-block can increase the contrast between the color information of the pixels in the current sub-block.
  • the decoder can also determine the difference between the contrast between the attribute information of the pixels in the sub-image block after the illumination transformation and the contrast between the attribute information of the pixels in the current sub-image block by decoding the code stream, and then determine the target transformation mode and the target transformation parameters based on the difference between the contrast between the attribute information of the pixels in the sub-image block after the illumination transformation and the contrast between the attribute information of the pixels in the current sub-image block, as well as the contrast of the sub-image block after the illumination transformation.
  • the present application does not make specific limitations on this.
  • the method 200 may further include:
  • a decoded image of the current image is determined.
  • the decoder determines a decoded image of the additional image to which the current sub-image block belongs based on the sub-image block after the illumination transformation.
  • the decoding method according to the embodiment of the present application is described in detail above from the perspective of a decoder.
  • the encoding method according to the embodiment of the present application will be described below from the perspective of an encoder.
  • FIG8 is a schematic flow chart of a coding method 310 provided in an embodiment of the present application. It should be understood that the coding method 310 can be executed by an encoder. For example, it is applied to the coding framework 13 shown in FIG1. For ease of description, the following description is made by taking an encoder as an example.
  • the decoding method 310 may include part or all of the following:
  • S314 Encode the sub-image block after the illumination transformation to obtain a bit stream.
  • the current image may have an additional view.
  • the current sub-image block may be an image block obtained by the encoder processing the additional view.
  • the encoder may remove redundant pixels between the base view and the additional view, that is, retain only valid pixels (also referred to as valid pixel clusters) that are not repeatedly expressed, and then divide and pack the valid pixel clusters to form image blocks (i.e., sub-image blocks) of regular shapes, and then reorganize the base view and one or more sub-image blocks obtained based on the additional view (for example, splicing the base view and the sub-image blocks obtained based on the additional view) to form a larger rectangular image (also referred to as a spliced image or a spliced image), which may be used to generate video data so that the encoder can encode the video data to obtain a bitstream.
  • the current sub-image block may be a rectangular image block.
  • the encoder can enhance the quality of the current sub-block by illumination transformation of the current sub-block.
  • the illumination transformation of the current sub-block can not only restore the illumination effect of the current sub-block, but also ensure that the sub-block decoded by the decoder is the sub-block whose quality has been enhanced by the encoder.
  • the problem of quality degradation of its pixel information after video encoding and decoding can be alleviated, for example, the problem of texture information loss of the sub-block can be alleviated, thereby improving the decoding performance.
  • the S314 may include:
  • the sub-image block identifier of the current sub-image block indicates whether to perform illumination transformation on the current sub-image block
  • the sub-image block identifier of the current sub-image block and the sub-image block after the illumination transformation are encoded to obtain the code stream.
  • the encoder encodes the identifier of the sub-image block that needs to be transformed for illumination, so that the decoder determines whether to perform the illumination transformation based on the decoded sub-image block identifier.
  • the decoder may determine whether to perform the illumination transformation on the current sub-image block based on whether the bitstream carries the identifier of the current sub-image block. For example, if the bitstream carries the identifier of the current sub-image block, the decoder determines to perform the illumination transformation on the current sub-image block; if the bitstream does not carry the identifier of the current sub-image block, the decoder determines not to perform the illumination transformation on the current sub-image block.
  • the encoder may also encode a pixel-level illumination change identifier or a view-level illumination change identifier.
  • the decoder may determine whether to perform an illumination change on the current pixel based on an identifier corresponding to the current pixel in the current sub-image block, and the identifier corresponding to the current pixel indicates whether to perform an illumination change on the current pixel.
  • the decoder may also determine whether to perform an illumination change on a sub-image block in an additional view based on an identifier corresponding to an additional view to which the current sub-image block belongs; wherein the identifier corresponding to the additional illustration indicates whether to perform illumination changes with the sub-image block in the additional illustration.
  • the S312 may include:
  • the encoder may first map any pixel of the base view to the additional view to which the current sub-image block belongs based on parameters of a camera used to capture the base view, parameters of a camera used to capture the additional view to which the current sub-image block belongs, depth information of the base view, and depth information of the additional view to which the current sub-image block belongs, so as to obtain one or more pixel pairs formed by pixels in the base view and pixels in the current sub-image block.
  • the pixel in the pixel pair from the current sub-image block when the pixel in the pixel pair from the base view is projected or mapped to the current sub-image block, is the pixel of the current sub-image block at the projection position or the mapping position.
  • FIG. 9 is an example of a mapping relationship between pixels in a base view and a pixel block where pixels in a current sub-image block are located, provided in an embodiment of the present application.
  • any pixel of view v0 can be mapped to view v1 based on the parameters of the camera used to capture view v0, the parameters of the camera used to capture view v1, the depth information of view v0, and the depth information of view v1 to obtain view v0, so as to obtain one or more pixel pairs formed by pixels in view v0 and pixels in the current sub-image block; for example, the figure exemplarily shows a pixel pair formed by pixel 1 in view v0 and pixel 2 in the current sub-image block.
  • a distribution difference value between color information of pixels in the base view and color information of pixels in the current sub-block is determined; and based on the distribution difference value, it is determined whether the pixel pair is a pixel pair with inconsistent illumination.
  • the distribution difference value may be used to characterize the difference between the illumination effect of the color information of the pixel in the base view and the illumination effect of the color information of the pixel in the current sub-image block. For example, if the distribution difference value is smaller, it means that the illumination effect of the color information of the pixel in the base view is closer to the illumination effect of the color information of the pixel in the current sub-image block, and thus it can be shown that the pixel pair is not an illumination-inconsistent pixel pair.
  • the distribution difference value is larger, it means that the illumination effect of the color information of the pixel in the base view is different from the illumination effect of the color information of the pixel in the current sub-image block, and thus it can be shown that the pixel pair is an illumination-inconsistent pixel pair.
  • the maximum difference value among (1-R 1 )/(1-R 2 ), (1-G 1 )/(1-G 2 ) and (1-B 1 )/(1-B 2 ) is determined as the distribution difference value; wherein R 1 , G 1 , B 1 respectively represent the values of the B component, G component, and B component of the pixel in the current sub-block; and R 2 , G 2 , B 2 respectively represent the values of the B component, G component, and B component of the pixel in the base view.
  • the encoder may first determine the difference between (1-R 1 )/(1-R 2 ) and (1-G 1 )/(1-G 2 ), the difference between (1-R 1 )/(1-R 2 ) and (1-B 1 )/(1-B 2 ), and the difference between (1-B 1 )/(1-B 2 ) and (1-G 1 )/(1-G 2 ), and convert the difference between (1-R 1 )/(1-R 2 ) and (1-G 1 )/(1-G 2 ), the difference between (1-R 1 )/(1-R 2 ) and (1-B 1 )/(1-B 2 ), and the difference between (1-B 1 )/(1-B 2 ) and (1-G 1 )/(1-G 2 ). ) is determined as the distribution difference value.
  • the encoder may also determine the distribution difference value by taking the difference between two items of (1-R 1 )/(1-R 2 ), (1-G 1 )/(1-G 2 ) and (1-B 1 )/(1-B 2 ).
  • This application does not impose any specific limitation on this.
  • the encoder may determine the distribution difference value by the difference between (1-R 1 )/(1-R 2 ) and (1-G 1 )/(1-G 2 ). For another example, the encoder may determine the distribution difference value by the difference between (1-R 1 )/(1-R 2 ) and (1-B 1 )/(1-B 2 ). For another example, the encoder may determine the distribution difference value by the difference between (1-B 1 )/(1-B 2 ) and (1-G 1 )/(1-G 2 ).
  • the pixel pair if the distribution difference value is less than or equal to a first threshold, the pixel pair is determined to be a pixel pair with inconsistent illumination; if the distribution difference value is greater than the first threshold, the pixel pair is determined not to be a pixel pair with inconsistent illumination.
  • the first threshold may be a preset threshold, such as a threshold predefined by a standard.
  • the encoder may also determine whether the pixel pair is a pixel pair with inconsistent illumination based on the range to which the distribution difference value belongs. For example, if the range to which the distribution difference value belongs is a first range, the pixel pair is determined to be a pixel pair with inconsistent illumination, and if the range to which the distribution difference value belongs is a second range, the pixel pair is determined not to be a pixel pair with consistent illumination.
  • the maximum value of the first range is less than or equal to the minimum value of the second range.
  • the proportion of the pixel pairs with inconsistent illumination is determined; and based on the proportion of the pixel pairs with inconsistent illumination, it is determined whether to perform illumination transformation on the current sub-image block.
  • the encoder may determine the ratio of the number of the illumination-inconsistent pixel pairs to the number of pixels in the current sub-block as the proportion of the illumination-inconsistent pixel pairs.
  • the current sub-block is determined to be a sub-block that requires lighting transformation; if the proportion of the pixel pairs with inconsistent lighting is less than the second threshold, the current sub-block is determined to be a sub-block that does not require lighting transformation.
  • the second threshold may be a predefined threshold, such as a standard predefined threshold.
  • the encoder triggers illumination detection on the pixel pair only when it determines that the pixel pair is not a similar pixel pair, and further determines whether the pixel pair is a pixel pair with inconsistent illumination.
  • the S312 may include:
  • the depth difference value is less than a third threshold and the brightness difference value is less than a fourth threshold, determining that the pixel pair is a similar pixel pair;
  • the depth difference value is greater than or equal to the third threshold or the brightness difference value is greater than or equal to the fourth threshold, it is determined that the pixel pair is not a similar pixel pair.
  • the encoder may determine the difference value between the brightness of the pixel in the base view and the brightness of each pixel in the pixel block, and determine the maximum value of the determined difference values as the maximum difference value. For example, assuming that the pixel block is a 3 ⁇ 3 pixel block centered on the pixel in the current sub-block, the encoder may determine the difference value (i.e., 9 difference values) between the brightness of the pixel in the base view and the brightness of each pixel in the 3 ⁇ 3 pixel block and determine the maximum value of the determined 9 difference values as the maximum difference value.
  • the difference value i.e., 9 difference values
  • the encoder may determine the depth difference value in a pixel-to-pixel manner and determine the brightness difference value in a pixel-to-block manner.
  • this application does not specifically limit this.
  • the encoder may also determine the brightness difference value in a pixel-to-pixel manner.
  • the encoder may also perform illumination detection on the pixel pair when the depth difference value is greater than or equal to the third threshold value to determine whether the pixel pair is a pixel pair with inconsistent illumination. That is, when the encoder determines that the pixel pair is not a pixel pair with similar brightness, it may trigger illumination detection on the pixel pair to further determine whether the pixel pair is a pixel pair with inconsistent illumination.
  • FIG. 10 is an example of a similar pixel pair determination process 320 provided in an embodiment of the present application.
  • the determination process 320 may include:
  • the encoder determines whether the depth difference value is less than t1 .
  • the encoder may calculate a depth difference value of a pixel pair formed by a pixel in the base view and a pixel in the additional image, and determine whether the depth difference value is less than t1. For example, if the depth difference value is less than t1, the encoder determines that the pixel pair is a pixel pair with similar depth, otherwise, the encoder determines that the pixel pair is not a pixel pair with similar depth.
  • the pixel in the base view may be pixel 1 as shown in FIG. 9, and the pixel in the additional image may be pixel 2 as shown in FIG. 9.
  • the encoder determines whether the brightness difference value is less than t2.
  • the encoder may determine the difference value between the brightness of the pixel in the base view and the brightness of each pixel in the pixel block where the pixel in the additional image is located, and determine the maximum value of the determined difference values as the maximum difference value. For example, assuming that the pixel block is a 3 ⁇ 3 pixel block centered on the pixel in the additional image, the encoder may determine the difference value (i.e., 9 difference values) between the brightness of the pixel in the base view and the brightness of each pixel in the 3 ⁇ 3 pixel block and determine the maximum value of the determined 9 difference values as the brightness difference value, and determine whether the brightness difference value is less than t2. For example, if the brightness difference value is less than t2, the encoder determines that the pixel pair is a pixel pair with similar brightness, otherwise, the encoder determines that the pixel pair is not a pixel pair with similar brightness.
  • the difference value i.e. 9 difference values
  • the above S321 and S322 can be understood as the first stage of similarity detection on the pixel pair.
  • the second stage can be executed on the suspected pixel pair output by the first stage.
  • the final similar pixel pair can be determined.
  • the encoder performs the second stage detection on the suspected similar pixel pair, it can determine whether the suspected similar pixel pair is a similar pixel based on the color difference value between the suspected similar pixel pair. It is worth noting that the execution step of the second stage can be an optional step.
  • the pixels can be pruned in subsequent processing, that is, only the valid pixels with non-repetitive expression (also called valid pixel clusters) are retained, and then the valid pixel clusters are divided and packed to form image blocks of regular shapes (i.e.
  • the base view and one or more sub-blocks obtained based on the additional view are reorganized (for example, the base view and the sub-blocks obtained based on the additional view are spliced) to form a larger rectangular image (also called a spliced image or a spliced image), which can be used to generate video data so that the encoder can encode the video data to obtain a bit stream.
  • a larger rectangular image also called a spliced image or a spliced image
  • FIG. 11 is an example of combining illumination transformation with the determination process 330 of similar pixel pairs provided in an embodiment of the present application.
  • the determination process 330 may include:
  • the encoder determines whether the depth difference value is less than t1 .
  • the encoder may calculate a depth difference value of a pixel pair formed by a pixel in the base view and a pixel in the additional image, and determine whether the depth difference value is less than t1. For example, if the depth difference value is less than t1, the encoder determines that the pixel pair is a pixel pair with similar depth, otherwise, the encoder determines that the pixel pair is not a pixel pair with similar depth.
  • the pixel in the base view may be pixel 1 as shown in FIG. 9, and the pixel in the additional image may be pixel 2 as shown in FIG. 9.
  • the encoder determines whether the brightness difference value is less than t2.
  • the encoder may determine the difference value between the brightness of the pixel in the base view and the brightness of each pixel in the pixel block where the pixel in the additional image is located, and determine the maximum value of the determined difference values as the maximum difference value. For example, assuming that the pixel block is a 3 ⁇ 3 pixel block centered on the pixel in the additional image, the encoder may determine the difference value (i.e., 9 difference values) between the brightness of the pixel in the base view and the brightness of each pixel in the 3 ⁇ 3 pixel block and determine the maximum value of the determined 9 difference values as the brightness difference value, and determine whether the brightness difference value is less than t2. For example, if the brightness difference value is less than t2, the encoder determines that the pixel pair is a pixel pair with similar brightness, otherwise, the encoder determines that the pixel pair is not a pixel pair with similar brightness.
  • the difference value i.e. 9 difference values
  • the above S321 and S322 can be understood as the first stage of similarity detection on the pixel pairs.
  • the second stage can be executed on the suspected pixel pairs output by the first stage.
  • the final similar pixel pairs can be determined.
  • the encoder performs the second stage detection on the suspected similar pixel pairs, it can determine whether the suspected similar pixel pairs are similar pixels based on the color difference value between the suspected similar pixel pairs. It is worth noting that the execution step of the second stage can be an optional step.
  • the encoder determines whether the distribution difference value is less than t3.
  • the encoder may also perform illumination detection on the pixel pair when the depth difference value is greater than or equal to t1 to determine whether the pixel pair is an illumination-inconsistent pixel pair. That is, when the encoder determines that the pixel pair is not a pixel pair with similar brightness, it may trigger illumination detection on the pixel pair to further determine whether the pixel pair is an illumination-inconsistent pixel pair. For example, if the distribution difference value of the pixel pair is less than t3, the pixel pair is determined to be an illumination-inconsistent pixel pair; otherwise, the pixel pair is determined not to be an illumination-inconsistent pixel pair.
  • S335 The encoder determines whether to perform illumination transformation on the current sub-block based on the detection result of the pixel pairs with inconsistent illumination.
  • the encoder performs a transformation on the current sub-block.
  • the pixels can be pruned in subsequent processing, that is, only the valid pixels with non-repeated expression (also called valid pixel clusters) are retained, and then the valid pixel clusters are divided and packed to form image blocks of regular shapes (i.e., sub-blocks), and then the sub-blocks that need to be illuminated in the one or more obtained sub-blocks are illuminated, and the illuminated sub-blocks are obtained; then the basic view and the sub-blocks that do not need to be illuminated obtained based on the additional view, as well as the illuminated sub-blocks that need to be illuminated are reorganized (for example, the basic view and the sub-blocks obtained based on the additional view are spliced) to form a larger rectangular image (also called a spliced image or a spliced image), which can be used to generate video data so that the encoder can encode the video data and obtain
  • a target transformation method used by the current sub-image block is determined; target transformation parameters used by the current sub-image block are determined; and based on the target transformation method and the target transformation parameters, an illumination transformation is performed on the current sub-image block to obtain the sub-image block after the illumination transformation.
  • the encoder determines to perform illumination transformation on the current sub-image block, it first determines the target transformation method and the target transformation parameters, and then performs illumination transformation on the current sub-image block using the target transformation method based on the target transformation parameters to obtain the sub-image block after illumination transformation.
  • the target transformation mode is a default transformation mode.
  • the default transformation method may be a logarithmic transformation method, a gamma transformation method, or other transformation methods, and even the default transformation method may be a transformation method based on machine learning, which is not specifically limited in the present application.
  • the encoder may also write the target transformation mode into the bitstream, and this application does not make any specific limitation on this.
  • the target transformation parameters are transformation parameters used by the target transformation method by default.
  • the encoder may also write the target transformation parameters into the bitstream, which is not specifically limited in the present application.
  • the contrast of the attribute information of the pixels in the current sub-block is adjusted to obtain the sub-block after the illumination transformation; wherein the contrast between the attribute information of the pixels in the sub-block after the illumination transformation is less than the contrast between the attribute information of the pixels in the current sub-block.
  • the target transformation parameters used by the current sub-image block can reduce the contrast between the attribute information of the pixels in the current sub-image block.
  • the contrast of the attribute information of the pixels in the current sub-image block may be the contrast between the texture information of the pixels in the current sub-image block.
  • the target transformation parameters used by the current sub-image block can reduce the contrast between the texture information of the pixels in the current sub-image block.
  • the contrast of the attribute information of the pixels in the current sub-block may be the contrast between the color information of the pixels in the current sub-block.
  • the target transformation parameters used by the current sub-block can reduce the contrast between the color information of the pixels in the current sub-block.
  • the encoder strengthens the contrast between the attribute information of the pixels in the current sub-block
  • the decoder needs to weaken the contrast between the attribute information of the pixels in the current sub-block when restoring the attribute information of the pixels in the current sub-block.
  • the encoder performs illumination transformation on the current sub-block
  • the illumination transformation performed on the current sub-block can also be understood as the inverse illumination transformation performed by the encoder on the current sub-block. This application does not make specific limitations on this.
  • the encoder can also determine the difference between the contrast between the attribute information of the pixels in the sub-image block after the illumination transformation and the contrast between the attribute information of the pixels in the current sub-image block by decoding the code stream, and then determine the target transformation mode and the target transformation parameters based on the difference between the contrast between the attribute information of the pixels in the sub-image block after the illumination transformation and the contrast between the attribute information of the pixels in the current sub-image block, as well as the contrast of the sub-image block after the illumination transformation.
  • the present application does not make specific limitations on this.
  • the sub-image block after the illumination transformation is spliced with a base view to obtain a spliced image; and pixels in the spliced image and pixels in the sub-image block after the illumination transformation are encoded to obtain the code stream.
  • the encoder may remove redundant pixels between the base view and the additional view, that is, retain only valid pixels (also referred to as valid pixel clusters) that are not expressed repeatedly, and then divide and pack the valid pixel clusters to form image blocks of regular shapes (i.e., sub-blocks), and then perform illumination transformation on the sub-blocks that need to be illuminated in the one or more obtained sub-blocks, and obtain the sub-blocks after illumination transformation; and then reorganize the base view and the sub-blocks that do not need to be illuminated obtained based on the additional view, as well as the sub-blocks that need to be illuminated and obtained after illumination transformation (for example, the base view and the sub-blocks obtained based on the additional view are spliced) to form a larger rectangular image (also referred to as a spliced image or a spliced image), which can be used to generate video data so that the encoder can encode the video data and obtain a bitstream.
  • a larger rectangular image also referred to as
  • the size of the sequence number of each process mentioned above does not mean the order of execution.
  • the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application.
  • FIG. 12 is a schematic block diagram of a decoder 400 according to an embodiment of the present application.
  • the decoder 400 may include:
  • a decoding unit 410 configured to decode the bitstream and determine a current sub-block in a current image
  • a determination unit 420 configured to determine whether to perform illumination transformation on the current sub-block
  • the transformation unit 430 is configured to perform a lighting transformation on the current sub-image block to obtain a sub-image block after the lighting transformation when it is determined to perform a lighting transformation on the current sub-image block.
  • the determining unit 420 is specifically configured to:
  • the transform unit 430 is specifically used to:
  • the current sub-image block is subjected to illumination transformation to obtain the sub-image block after illumination transformation.
  • the target transformation mode is a default transformation mode.
  • the target transformation parameters are transformation parameters used by the target transformation method by default.
  • the transform unit 430 is specifically used for:
  • the contrast of the attribute information of the pixels in the current sub-image block is adjusted to obtain the sub-image block after the illumination transformation; wherein the contrast between the attribute information of the pixels in the sub-image block after the illumination transformation is greater than the contrast between the attribute information of the pixels in the current sub-image block.
  • the decoding unit 410 is further configured to:
  • a decoded image of the current image is determined.
  • FIG. 13 is a schematic block diagram of an encoder 500 according to an embodiment of the present application.
  • the encoder 500 may include:
  • a first determining unit 510 configured to determine a current sub-block in a current image
  • a second determining unit 520 configured to determine whether to perform illumination transformation on the current sub-block
  • a transformation unit 530 configured to perform a lighting transformation on the current sub-image block to obtain a sub-image block after the lighting transformation when it is determined to perform a lighting transformation on the current sub-image block;
  • the encoding unit 540 is used to encode the sub-block after the illumination transformation to obtain a code stream.
  • the encoding unit 540 is specifically used to:
  • the sub-image block identifier of the current sub-image block indicates whether to perform illumination transformation on the current sub-image block
  • the sub-image block identifier of the current sub-image block and the sub-image block after the illumination transformation are encoded to obtain the code stream.
  • the second determining unit 520 is specifically configured to:
  • the second determining unit 520 is specifically configured to:
  • the second determining unit 520 is specifically configured to:
  • the maximum difference value among (1-R 1 )/(1-R 2 ), (1-G 1 )/(1-G 2 ) and (1-B 1 )/(1-B 2 ) is determined as the distribution difference value; wherein R 1 , G 1 , B 1 respectively represent the values of the B component, G component, and B component of the pixel in the current sub-block; and R 2 , G 2 , B 2 respectively represent the values of the B component, G component, and B component of the pixel in the base view.
  • the second determining unit 520 is specifically configured to:
  • the distribution difference value is less than or equal to a first threshold, determining that the pixel pair is a pixel pair with inconsistent illumination
  • the distribution difference value is greater than the first threshold, it is determined that the pixel pair is not a pixel pair with inconsistent illumination.
  • the second determining unit 520 is specifically configured to:
  • the second determining unit 520 is specifically configured to:
  • the current sub-block is determined to be a sub-block that does not require lighting change.
  • the second determining unit 520 is specifically configured to:
  • the second determining unit 520 is specifically configured to:
  • the depth difference value is less than a third threshold and the brightness difference value is less than a fourth threshold, determining that the pixel pair is a similar pixel pair;
  • the depth difference value is greater than or equal to the third threshold or the brightness difference value is greater than or equal to the fourth threshold, it is determined that the pixel pair is not a similar pixel pair.
  • the transform unit 530 is specifically used to:
  • the current sub-image block is subjected to illumination transformation to obtain the sub-image block after illumination transformation.
  • the target transformation mode is a default transformation mode.
  • the target transformation parameters are transformation parameters used by the target transformation method by default.
  • the transform unit 530 is specifically used to:
  • the contrast of the attribute information of the pixels in the current sub-image block is adjusted to obtain the sub-image block after the illumination transformation; wherein the contrast between the attribute information of the pixels in the sub-image block after the illumination transformation is smaller than the contrast between the attribute information of the pixels in the current sub-image block.
  • the encoding unit 540 is specifically used to:
  • the pixels in the spliced image and the pixels in the sub-image block after the illumination transformation are encoded to obtain the code stream.
  • the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, it will not be repeated here.
  • the decoder 400 shown in Figure 12 may correspond to the corresponding subject in the method 200 for executing the embodiment of the present application, and the aforementioned and other operations and/or functions of each unit in the decoder 400 are respectively for implementing the corresponding process in the method 210.
  • the encoder 500 shown in Figure 13 may correspond to the corresponding subject in the methods 310 to 330 for executing the embodiment of the present application, that is, the aforementioned and other operations and/or functions of each unit in the encoder 500 are respectively for implementing the corresponding processes in the methods 310 to 330.
  • the various units in the decoder 400 or encoder 500 involved in the embodiment of the present application can be respectively or all merged into one or several other units to constitute, or some (some) units therein can also be split into multiple smaller units in function to constitute, which can achieve the same operation without affecting the realization of the technical effect of the embodiment of the present application.
  • the units involved in the above are divided based on logical functions. In practical applications, the function of a unit can also be realized by multiple units, or the function of multiple units is realized by one unit. In other embodiments of the present application, the decoder 400 or encoder 500 may also include other units. In practical applications, these functions can also be implemented by other units to assist in implementation, and can be implemented by multiple units in collaboration.
  • the decoder 400 or encoder 500 involved in the embodiment of the present application can be constructed by running a computer program (including program code) capable of executing each step involved in the corresponding method on a general computing device including a general-purpose computer such as a central processing unit (CPU), a random access storage medium (RAM), a read-only storage medium (ROM) and a processing element and a storage element.
  • a general-purpose computer such as a central processing unit (CPU), a random access storage medium (RAM), a read-only storage medium (ROM) and a processing element and a storage element.
  • the computer program can be recorded on, for example, a computer-readable storage medium, and loaded into an electronic device through the computer-readable storage medium and run therein to implement the corresponding method of the embodiment of the present application.
  • the units mentioned above can be implemented in hardware form, can be implemented in software form, or can be implemented in the form of a combination of software and hardware.
  • the steps of the method embodiments in the embodiments of the present application can be completed by the hardware integrated logic circuit and/or software form instructions in the processor, and the steps of the method disclosed in the embodiments of the present application can be directly embodied as a hardware decoding processor to execute, or the hardware and software combination in the decoding processor can be executed.
  • the software can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, etc.
  • the storage medium is located in a memory, and the processor reads the information in the memory, and completes the steps in the method embodiments mentioned above in combination with its hardware.
  • FIG. 14 is a schematic structural diagram of an electronic device 600 provided in an embodiment of the present application.
  • the electronic device 600 includes at least a processor 610 and a computer-readable storage medium 620.
  • the processor 610 and the computer-readable storage medium 620 may be connected via a bus or other means.
  • the computer-readable storage medium 620 is used to store a computer program 621, which includes computer instructions, and the processor 610 is used to execute the computer instructions stored in the computer-readable storage medium 620.
  • the processor 610 is the computing core and control core of the electronic device 600, which is suitable for implementing one or more computer instructions, and is specifically suitable for loading and executing one or more computer instructions to implement the corresponding method flow or corresponding function.
  • the processor 610 may also be referred to as a central processing unit (CPU).
  • the processor 610 may include, but is not limited to, a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, discrete hardware components, and the like.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • the computer-readable storage medium 620 may be a high-speed RAM memory, or a non-volatile memory (Non-Volatile Memory), such as at least one disk memory; optionally, it may also be at least one computer-readable storage medium located away from the aforementioned processor 610.
  • the computer-readable storage medium 620 includes, but is not limited to: a volatile memory and/or a non-volatile memory.
  • the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory.
  • the volatile memory may be a random access memory (RAM), which is used as an external cache.
  • RAM random access memory
  • DRAM dynamic RAM
  • SDRAM synchronous DRAM
  • DDR SDRAM double data rate synchronous dynamic random access memory
  • ESDRAM enhanced synchronous dynamic random access memory
  • SLDRAM synchronous link DRAM
  • Direct Rambus RAM Direct Rambus RAM, DR RAM
  • the electronic device 600 may be an encoder or encoding framework involved in an embodiment of the present application; a first computer instruction is stored in the computer-readable storage medium 620; the first computer instruction stored in the computer-readable storage medium 620 is loaded and executed by the processor 610 to implement the corresponding steps in the encoding method provided in an embodiment of the present application; in other words, the first computer instruction in the computer-readable storage medium 620 is loaded by the processor 610 and the corresponding steps are executed. To avoid repetition, it will not be repeated here.
  • the electronic device 600 may be a decoder or decoding framework involved in an embodiment of the present application; a second computer instruction is stored in the computer-readable storage medium 620; the second computer instruction stored in the computer-readable storage medium 620 is loaded and executed by the processor 610 to implement the corresponding steps in the decoding method provided in an embodiment of the present application; in other words, the second computer instruction in the computer-readable storage medium 620 is loaded by the processor 610 and the corresponding steps are executed, which will not be repeated here to avoid repetition.
  • the present application also provides a coding and decoding system, including the encoder and decoder mentioned above.
  • the present application also provides a computer-readable storage medium (Memory), which is a memory device in the electronic device 600 for storing programs and data.
  • a computer-readable storage medium 620 is a memory device in the electronic device 600 for storing programs and data.
  • a computer-readable storage medium 620 can include both the built-in storage medium in the electronic device 600 and the extended storage medium supported by the electronic device 600.
  • the computer-readable storage medium provides a storage space, which stores the operating system of the electronic device 600.
  • one or more computer instructions suitable for being loaded and executed by the processor 610 are also stored in the storage space, and these computer instructions can be one or more computer programs 621 (including program codes).
  • the present application further provides a computer program product or a computer program, which includes a computer instruction, and the computer instruction is stored in a computer-readable storage medium.
  • a computer program 621 the data processing device 600 can be a computer, and the processor 610 reads the computer instruction from the computer-readable storage medium 620, and the processor 610 executes the computer instruction, so that the computer executes the encoding method or decoding method provided in the various optional methods mentioned above.
  • the computer program product includes one or more computer instructions.
  • the process of the embodiment of the present application is run in whole or in part or the function of the embodiment of the present application is implemented.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device.
  • the computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center.
  • wired e.g., coaxial cable, optical fiber, digital subscriber line (DSL)
  • wireless e.g., infrared, wireless, microwave, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Embodiments of the present application provide a decoding method, an encoding method, a decoder, and an encoder. The decoding method comprises: decoding a code stream, and determining a current sub-image block in a current image; determining whether the current sub-image block is a sub-image block needing illumination transformation; and when the current sub-image block is a sub-image block needing illumination transformation, performing illumination transformation on the current sub-image block, and obtaining a sub-image block after illumination transformation. The decoding method provided by the present application can improve decoding performance.

Description

解码方法、编码方法、解码器以及编码器Decoding method, encoding method, decoder and encoder 技术领域Technical Field
本申请实施例涉及编解码领域,并且更具体地,涉及解码方法、编码方法、解码器以及编码器。The embodiments of the present application relate to the field of coding and decoding, and more specifically, to a decoding method, an encoding method, a decoder and an encoder.
背景技术Background technique
对于动态图像专家组沉浸式视频(Moving Picture Experts Group Immersive Video,MIV)编码过程,可以先在参考视点中选择有限数量的视点作为基础视点,且能够使得选择的基础视点能够尽可能表达场景的可视范围。其中,基础视点下的图像(也可以称为基础视图)可以作为完整图像传输;然后,可以通过去除基础视图与非基础视点下的图像(也可以称为附加视图)之间的冗余像素,即仅保留非重复表达的有效信息,再将有效信息提取为子图块与基础视点下的图像进行重组织,形成更大的矩形图像(也可称为拼接图或拼接图像),该拼接图像可用于生成视频数据,以便编码器对该视频数据进行编码后得到码流。例如,可以利用像素裁剪(Prune Pixel)模块检测基础视图和附加视图之间重复的像素点,并裁剪(prune)附加视图中重复的像素点。但是,由于基础视图和附加视图之间重复的像素点的检测是基于深度差异值和亮度差异值进行的检测,因此保留的可能包括受光照影响比较大的像素(例如高光像素),而高光像素的信息经过视频编解码后会存在质量劣化的问题,例如子图块的纹理信息丢失的问题,进而降低了解码性能。For the Moving Picture Experts Group Immersive Video (MIV) encoding process, a limited number of viewpoints can be selected as basic viewpoints in the reference viewpoints, and the selected basic viewpoints can express the visible range of the scene as much as possible. Among them, the image under the basic viewpoint (also called the basic view) can be transmitted as a complete image; then, by removing the redundant pixels between the basic view and the image under the non-basic viewpoint (also called the additional view), that is, only retaining the effective information of non-repeated expression, and then extracting the effective information into sub-blocks and reorganizing them with the image under the basic viewpoint to form a larger rectangular image (also called a mosaic or mosaic image), which can be used to generate video data so that the encoder can encode the video data to obtain a bitstream. For example, the pixel pruning module can be used to detect repeated pixels between the basic view and the additional view, and prune the repeated pixels in the additional view. However, since the detection of repeated pixels between the base view and the additional view is based on depth difference values and brightness difference values, the retained pixels may include pixels that are greatly affected by lighting (such as highlight pixels). The information of highlight pixels will be degraded after video encoding and decoding, such as the loss of texture information of sub-blocks, thereby reducing the decoding performance.
发明内容Summary of the invention
本申请实施例提供了一种解码方法、编码方法、解码器以及编码器,能够提升解码性能。The embodiments of the present application provide a decoding method, an encoding method, a decoder and an encoder, which can improve decoding performance.
第一方面,本申请实施例提供了一种解码方法,包括:In a first aspect, an embodiment of the present application provides a decoding method, including:
对码流解码,确定当前图像中的当前子图块;Decode the code stream and determine the current sub-block in the current image;
确定是否对所述当前子图块进行光照变换;Determining whether to perform illumination transformation on the current sub-block;
在确定对所述当前子图块进行光照变换时,对所述当前子图块进行光照变换,得到光照变换后的子图块。When it is determined to perform illumination transformation on the current sub-image block, illumination transformation is performed on the current sub-image block to obtain a sub-image block after illumination transformation.
第二方面,本申请实施例提供了一种编码方法,包括:In a second aspect, an embodiment of the present application provides an encoding method, including:
确定当前图像中的当前子图块;Determine a current sub-block in a current image;
确定是否对所述当前子图块进行光照变换;Determining whether to perform illumination transformation on the current sub-block;
在确定对所述当前子图块进行光照变换时,对所述当前子图块进行光照变换,得到光照变换后的子图块;When it is determined to perform illumination transformation on the current sub-image block, perform illumination transformation on the current sub-image block to obtain a sub-image block after illumination transformation;
对所述光照变换后的子图块进行编码,得到码流。The sub-image block after the illumination transformation is encoded to obtain a bit stream.
第三方面,本申请实施例提供了一种解码器,包括:In a third aspect, an embodiment of the present application provides a decoder, including:
解码单元,用于对码流解码,确定当前图像中的当前子图块;A decoding unit, used for decoding the code stream and determining a current sub-block in a current image;
确定单元,用于确定是否对所述当前子图块进行光照变换;A determination unit, used to determine whether to perform illumination transformation on the current sub-block;
变换单元,用于在确定对所述当前子图块进行光照变换时,对所述当前子图块进行光照变换,得到光照变换后的子图块。The transformation unit is used to perform the illumination transformation on the current sub-image block when it is determined to perform the illumination transformation on the current sub-image block, so as to obtain the sub-image block after the illumination transformation.
第四方面,本申请实施例提供了一种编码器,包括:In a fourth aspect, an embodiment of the present application provides an encoder, including:
第一确定单元,用于确定当前图像中的当前子图块;A first determining unit, configured to determine a current sub-block in a current image;
第二确定单元,用于确定是否对所述当前子图块进行光照变换;A second determining unit, used to determine whether to perform illumination transformation on the current sub-block;
变换单元,用于在确定对所述当前子图块进行光照变换时,对所述当前子图块进行光照变换,得到光照变换后的子图块;A transformation unit, configured to perform a lighting transformation on the current sub-image block to obtain a sub-image block after the lighting transformation when it is determined to perform a lighting transformation on the current sub-image block;
编码单元,用于对所述光照变换后的子图块进行编码,得到码流。The encoding unit is used to encode the sub-image block after the illumination transformation to obtain a code stream.
第五方面,本申请实施例提供了一种解码器,包括:In a fifth aspect, an embodiment of the present application provides a decoder, including:
处理器,适于实现计算机指令;以及,a processor adapted to implement computer instructions; and,
计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令适于由处理器加载并执行上文涉及的第一方面或其各实现方式中的解码方法。A computer-readable storage medium stores computer instructions, wherein the computer instructions are suitable for being loaded by a processor and executing the decoding method in the first aspect or its various implementations involved above.
在一种实现方式中,该处理器为一个或多个,该存储器为一个或多个。In one implementation, the number of the processor is one or more, and the number of the memory is one or more.
在一种实现方式中,该计算机可读存储介质可以与该处理器集成在一起,或者该计算机可读存储介质与处理器分离设置。In one implementation, the computer-readable storage medium may be integrated with the processor, or the computer-readable storage medium may be disposed separately from the processor.
第六方面,本申请实施例提供了一种编码器,包括:In a sixth aspect, an embodiment of the present application provides an encoder, including:
处理器,适于实现计算机指令;以及,a processor adapted to implement computer instructions; and,
计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令适于由处理器加载并执 行上文涉及的第二方面或其各实现方式中的编码方法。A computer-readable storage medium, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are suitable for being loaded by a processor and executing the encoding method in the second aspect or its various implementation methods involved above.
在一种实现方式中,该处理器为一个或多个,该存储器为一个或多个。In one implementation, the number of the processor is one or more, and the number of the memory is one or more.
在一种实现方式中,该计算机可读存储介质可以与该处理器集成在一起,或者该计算机可读存储介质与处理器分离设置。In one implementation, the computer-readable storage medium may be integrated with the processor, or the computer-readable storage medium may be disposed separately from the processor.
第七方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机指令被计算机设备的处理器读取并执行时,使得计算机设备执行上文涉及的第一方面涉及的解码方法或上文涉及的第二方面涉及的编码方法。In the seventh aspect, an embodiment of the present application provides a computer-readable storage medium, which stores computer instructions. When the computer instructions are read and executed by a processor of a computer device, the computer device executes the decoding method involved in the first aspect mentioned above or the encoding method involved in the second aspect mentioned above.
第八方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上文涉及的第一方面涉及的解码方法或上文涉及的第二方面涉及的编码方法。In an eighth aspect, an embodiment of the present application provides a computer program product or a computer program, the computer program product or the computer program including a computer instruction, the computer instruction being stored in a computer-readable storage medium. A processor of a computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the decoding method involved in the first aspect mentioned above or the encoding method involved in the second aspect mentioned above.
第九方面,本申请实施例提供了一种码流,该码流如上文涉及的第一方面所述的方法中涉及的码流或如上文涉及的第二方面所述的方法生成的码流。In a ninth aspect, an embodiment of the present application provides a code stream, which is a code stream as described in the method described in the first aspect above or a code stream generated by the method described in the second aspect above.
基于以上技术方案,通过在解码器侧对需要进行光照变换的当前子图块引入光照变换,有利于编码器通过对当前子图块的光照变换来强化当前子图块的质量,对解码器而言,对当前子图块的光照变换不仅能够恢复该当前子图块光照效果,还能够保证解码器解码的子图块为经过编码器进行质量强化后的子图块,进而,能够缓解其像素的信息经过视频编解码后存在质量劣化的问题,例如能够缓解子图块的纹理信息丢失的问题,提升了解码性能。Based on the above technical scheme, by introducing illumination transformation for the current sub-block that needs illumination transformation on the decoder side, it is beneficial for the encoder to enhance the quality of the current sub-block by illumination transformation of the current sub-block. For the decoder, the illumination transformation of the current sub-block can not only restore the illumination effect of the current sub-block, but also ensure that the sub-block decoded by the decoder is the sub-block after quality enhancement by the encoder, thereby alleviating the problem of quality degradation of its pixel information after video encoding and decoding, for example, it can alleviate the problem of texture information loss of the sub-block, thereby improving the decoding performance.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1是本申请实施例提供的MIV的编解码系统的示例。FIG. 1 is an example of a MIV encoding and decoding system provided in an embodiment of the present application.
图2是本申请实施例提供的预处理过程的示例。FIG. 2 is an example of a preprocessing process provided in an embodiment of the present application.
图3是本申请实施例提供的深度图的示例。FIG. 3 is an example of a depth map provided by an embodiment of the present application.
图4是本申请实施例提供的纹理图的示例。FIG. 4 is an example of a texture map provided in an embodiment of the present application.
图5是本申请实施例提供的占用图的示例。FIG. 5 is an example of an occupancy map provided by an embodiment of the present application.
图6是本申请实施例提供的拼接图的生成过程的示例。FIG. 6 is an example of a process for generating a mosaic graph provided in an embodiment of the present application.
图7是本申请实施例提供的解码方法的示意性流程图。FIG. 7 is a schematic flowchart of a decoding method provided in an embodiment of the present application.
图8是本申请实施例提供的编码方法的示意性流程图。FIG8 is a schematic flowchart of the encoding method provided in an embodiment of the present application.
图9是本申请实施例提供的基础视图中的像素和当前子图块中的像素所在的像素块之间的映射关系的示例。FIG. 9 is an example of a mapping relationship between pixels in a base view and a pixel block where pixels in a current sub-block are located, provided in an embodiment of the present application.
图10是本申请实施例提供的相似像素对的判断流程的示例。FIG. 10 is an example of a similar pixel pair determination process provided in an embodiment of the present application.
图11是本申请实施例提供的将光照变换结合至相似像素对的判断流程中的示例。FIG. 11 is an example of incorporating illumination transformation into the determination process of similar pixel pairs provided in an embodiment of the present application.
图12是本申请实施例提供的解码器的示意性框图。FIG12 is a schematic block diagram of a decoder provided in an embodiment of the present application.
图13是本申请实施例提供的编码器的示意性框图。FIG13 is a schematic block diagram of an encoder provided in an embodiment of the present application.
图14是本申请实施例提供的电子设备的示例。FIG. 14 is an example of an electronic device provided by an embodiment of the present application.
具体实施方式Detailed ways
下面将结合附图,对本申请实施例中的技术方案进行描述。The technical solutions in the embodiments of the present application will be described below in conjunction with the accompanying drawings.
图1是本申请实施例提供的MIV的编解码系统10的示例。FIG. 1 is an example of a MIV encoding and decoding system 10 provided in an embodiment of the present application.
如图1所示,MIV的编解码系统10根据任务线可大致分为以下几个模块:数据采集模块11、预处理模块12、视频编码框架13、视频解码框架14以及后处理模块15。As shown in FIG. 1 , the MIV encoding and decoding system 10 can be roughly divided into the following modules according to the task line: a data acquisition module 11 , a pre-processing module 12 , a video encoding framework 13 , a video decoding framework 14 and a post-processing module 15 .
数据采集模块11用于采集数据。数据采集模块11采集的数据不仅可以包括纹理信息,还可以包括与纹理信息一一对应的深度信息,纹理信息可以为三通道彩色图像,深度信息可以是深度图。可选的,深度图的像素值可以用于反映对应点到采集设备的距离度量,即深度图的像素值可以用于反映对应点几何信息。The data acquisition module 11 is used to collect data. The data collected by the data acquisition module 11 may include not only texture information, but also depth information corresponding to the texture information. The texture information may be a three-channel color image, and the depth information may be a depth map. Optionally, the pixel value of the depth map may be used to reflect the distance measurement from the corresponding point to the acquisition device, that is, the pixel value of the depth map may be used to reflect the geometric information of the corresponding point.
预处理模块12用于对数据采集模块11采集到的数据进行组织与表达以得到待编码视频。预处理模块12的输入源格式为多视点纹理加深度视频,视频的格式可以是透视投影的平面视频,也可以是全景视频。具体的,数据采集模块11通过不同位置的相机采集对应的视频序列后,预处理模块12可以先对视频序列中的图像做光照均衡以及色彩矫正等,还可以进行相机标定和图像校准。如果数据采集模块11采集到的视频格式为全景视频,预处理模块12还可以对全景视频中的图像利用图像拼接技术进行拼接,并将拼接后的拼接图映射成二维平面视频。The preprocessing module 12 is used to organize and express the data collected by the data acquisition module 11 to obtain the video to be encoded. The input source format of the preprocessing module 12 is a multi-viewpoint texture plus depth video, and the format of the video can be a perspective-projected plane video or a panoramic video. Specifically, after the data acquisition module 11 collects the corresponding video sequence through cameras at different positions, the preprocessing module 12 can first perform lighting balance and color correction on the images in the video sequence, and can also perform camera calibration and image calibration. If the video format collected by the data acquisition module 11 is a panoramic video, the preprocessing module 12 can also use image stitching technology to stitch the images in the panoramic video, and map the stitched stitching image into a two-dimensional plane video.
图2是本申请实施例提供的预处理过程的示例。FIG. 2 is an example of a preprocessing process provided in an embodiment of the present application.
如图2所示,参考视点为数据采集模块11用于采集数据的视点,参考视点可通过视点参数、纹理数据以及几何数据进行关联,预处理模块12可以在参考视点中选择有限数量的视点作为基础视点,且能够使得选择的基础视点能够尽可能表达场景的可视范围。As shown in Figure 2, the reference viewpoint is the viewpoint used by the data acquisition module 11 to collect data. The reference viewpoint can be associated through viewpoint parameters, texture data and geometric data. The preprocessing module 12 can select a limited number of viewpoints from the reference viewpoint as basic viewpoints, and can enable the selected basic viewpoints to express the visible range of the scene as much as possible.
其中,基础视点下的图像(也可以称为基础视图)可以作为完整图像传输,进一步的,可以去除剩余非基础视点(也可以称为附加视图)与基础视点之间的冗余像素,即仅保留非重复表达的有效信息,再将有效信息提取为子图块与基础视点下的图像进行重组织,形成更大的矩形图像(也可称为拼接图或拼接图像)。Among them, the image under the basic viewpoint (also called basic view) can be transmitted as a complete image. Furthermore, the redundant pixels between the remaining non-basic viewpoints (also called additional views) and the basic viewpoint can be removed, that is, only the valid information of non-repetitive expression is retained, and then the valid information is extracted into sub-blocks and reorganized with the image under the basic viewpoint to form a larger rectangular image (also called a mosaic or mosaic image).
进一步的,拼接图像可用于生成视频数据,视频数据可包括纹理视频数据和几何视频数据。视频数据可作为视频编码框架13的输入图像,视频编码框架13的输出为对输入图像进行编码得到的码流。视频编码框架13的输出的码流可包括几何码流和属性码流,几何码流是对几何深度图(例如图3所示的深度图)编码产生的码流,其用来表示几何信息;属性码流是对纹理图编码(例如图4所示的纹理图)产生的码流,其用来表示属性信息。可选的,视频编码框架13的输出的码流也可以包括占用码流,该占用码流是对占用图(例如图5所示的占用图)编码产生的码流,其用来指示深度图和纹理图中的有效区域;这三种类型的图像都使用视频编码器进行编解码。视频编码框架13的输出的码流可作为视频解码框架14的输入码流。Further, the spliced image can be used to generate video data, and the video data may include texture video data and geometry video data. The video data may be used as an input image of the video encoding framework 13, and the output of the video encoding framework 13 is a code stream obtained by encoding the input image. The code stream output by the video encoding framework 13 may include a geometry code stream and an attribute code stream. The geometry code stream is a code stream generated by encoding a geometry depth map (such as the depth map shown in FIG. 3), which is used to represent geometry information; the attribute code stream is a code stream generated by encoding a texture map (such as the texture map shown in FIG. 4), which is used to represent attribute information. Optionally, the code stream output by the video encoding framework 13 may also include an occupancy code stream, which is a code stream generated by encoding an occupancy map (such as the occupancy map shown in FIG. 5), which is used to indicate valid areas in the depth map and the texture map; these three types of images are encoded and decoded using a video encoder. The code stream output by the video encoding framework 13 may be used as an input code stream of the video decoding framework 14.
当然,针对拼接图像,也可以可存在与子图块拼接有关的辅助数据。Of course, for the stitched image, there may also be auxiliary data related to the stitching of sub-blocks.
如图2所示,与子图块的拼接信息有关的辅助数据也可以写入码流,由此,能够降低传输像素率的同时尽可能保留场景信息,进而保证有足够的信息用于后处理模块15对重建图像进行渲染以得到最终的视图。As shown in FIG. 2 , auxiliary data related to the stitching information of the sub-blocks can also be written into the bitstream, thereby reducing the transmission pixel rate while retaining scene information as much as possible, thereby ensuring that there is sufficient information for the post-processing module 15 to render the reconstructed image to obtain the final view.
图6是本申请实施例提供的拼接图的生成过程的示例。FIG. 6 is an example of a process for generating a mosaic graph provided in an embodiment of the present application.
如图6所示,参考视点可包括视点0、视点1以及视点2,在视点0下采集到参考视点图像可以用于提取子图块2和子图块4,在视点1下采集到参考视点图像可以用于提取子图块8,在视点2下采集到参考视点图像可以用于提取子图块3和子图块7,进一步的,可以基于子图块2、子图块4以及子图块8得到拼接图0,基于子图块3和子图块7得到拼接图1;然后将拼接图0和拼接图1拼接至基础视点下的图像以得到的最终的拼接图,并将最终的拼接图可以作为视频编码框架13的输入图像,以对输入图像进行编码得到码流。As shown in Figure 6, the reference viewpoint may include viewpoint 0, viewpoint 1 and viewpoint 2. The reference viewpoint image collected at viewpoint 0 can be used to extract sub-block 2 and sub-block 4, the reference viewpoint image collected at viewpoint 1 can be used to extract sub-block 8, and the reference viewpoint image collected at viewpoint 2 can be used to extract sub-block 3 and sub-block 7. Furthermore, mosaic image 0 can be obtained based on sub-block 2, sub-block 4 and sub-block 8, and mosaic image 1 can be obtained based on sub-block 3 and sub-block 7; then mosaic image 0 and mosaic image 1 are spliced to the image under the basic viewpoint to obtain the final mosaic image, and the final mosaic image can be used as the input image of the video encoding framework 13 to encode the input image to obtain a bitstream.
视频编码框架13用于对视频的进行编码压缩,视频解码框架14用于对视频进行解码重建。The video encoding framework 13 is used to encode and compress the video, and the video decoding framework 14 is used to decode and reconstruct the video.
需要说明的是,本申请对视频编码框架13和视频解码框架14的具体实现方式不作限定。例如,可以采用将MV-HEVC和3D-HEVC等三维视频编码技术应用在多视点视频上的编解码框架,这种编解码框架的编解码效率高于HEVC。当然,可以使用HEVC、VVC等传统平面视频混合编码技术的编解码框架。It should be noted that the present application does not limit the specific implementation of the video encoding framework 13 and the video decoding framework 14. For example, a codec framework that applies three-dimensional video encoding technologies such as MV-HEVC and 3D-HEVC to multi-viewpoint video can be used, and the encoding and decoding efficiency of this codec framework is higher than that of HEVC. Of course, a codec framework of traditional planar video hybrid encoding technologies such as HEVC and VVC can be used.
后处理模块15用于对视频解码框架14解码得到的图像进行合成渲染,以得到最终的视图。例如,可以根据已解码重建后的图像以及用户当前时刻的位姿信息,合成渲染在用户视点位置朝向处的目标视图。The post-processing module 15 is used to synthesize and render the image decoded by the video decoding framework 14 to obtain the final view. For example, the target view at the user's viewpoint position can be synthesized and rendered based on the decoded and reconstructed image and the user's current posture information.
图7是本申请实施例提供的解码方法200的示意性流程图。应理解,该解码方法200可由解码器执行。例如应用于图1所示的解码框架14。为便于描述,下面以解码器为例进行说明。FIG7 is a schematic flow chart of a decoding method 200 provided in an embodiment of the present application. It should be understood that the decoding method 200 can be executed by a decoder. For example, it is applied to the decoding framework 14 shown in FIG1. For ease of description, the following description is made by taking a decoder as an example.
如图7所示,所述解码方法200可包括以下中的部分或全部:As shown in FIG. 7 , the decoding method 200 may include part or all of the following:
S210,对码流解码,确定当前图像中的当前子图块;S210, decoding the code stream to determine a current sub-block in the current image;
S220,确定是否对所述当前子图块进行光照变换;S220, determining whether to perform illumination transformation on the current sub-block;
S230,在确定对所述当前子图块进行光照变换时,对所述当前子图块进行光照变换,得到光照变换后的子图块。S230: When it is determined to perform illumination transformation on the current sub-image block, perform illumination transformation on the current sub-image block to obtain a sub-image block after illumination transformation.
示例性地,所述当前图像可以附加视图。Exemplarily, the current image may have an additional view.
示例性地,所述当前子图块可以是编码器对所述附加视图进行处理得到的图像块。例如,编码器可以通过去除基础视图与所述附加视图之间的冗余像素,即仅保留非重复表达的有效像素(也可称为有效像素簇(cluster)),再通过对有效像素簇进行划分以及打包(pack)形成规则形状的图像块(即子图块),然后对所述基础视图与基于所述附加视图得到的一个或多个子图块进行重组织(例如对所述基础视图与基于所述附加视图得到的子图块进行拼接),形成更大的矩形图像(也可称为拼接图或拼接图像),该拼接图像可用于生成视频数据,以便编码器对该视频数据进行编码后得到码流。Exemplarily, the current sub-image block may be an image block obtained by the encoder processing the additional view. For example, the encoder may remove redundant pixels between the base view and the additional view, that is, retain only valid pixels (also referred to as valid pixel clusters) that are not repeatedly expressed, and then divide and pack the valid pixel clusters to form image blocks (i.e., sub-image blocks) of regular shapes, and then reorganize the base view and one or more sub-image blocks obtained based on the additional view (for example, splicing the base view and the sub-image blocks obtained based on the additional view) to form a larger rectangular image (also referred to as a spliced image or a spliced image), which may be used to generate video data so that the encoder can encode the video data to obtain a bitstream.
相应的,解码器可基于所述当前子图块,恢复或解码附加视图。Accordingly, the decoder may restore or decode the additional view based on the current sub-image block.
具体而言,解码器可以基于所述当前子图块,确定编码器对附加视图中的冗余像素进行裁剪后保留的有效像素簇(cluster),然后,基于会出出的有效像素簇,恢复所述附加视图。例如,解码器可以基于所述附加视图的裁剪掩码确定所述当前子图块在所述附加视图中的位置,并基于解码得到的有效像素 簇的位置,利用所述基础视图中的像素恢复所述附加视图中被裁剪掉的冗余像素,进而基于所述当前子图块和所述附加视图中被裁剪点的像素,恢复所述附加视图。Specifically, the decoder may determine, based on the current sub-image block, a valid pixel cluster retained by the encoder after clipping redundant pixels in the additional view, and then restore the additional view based on the valid pixel cluster. For example, the decoder may determine the position of the current sub-image block in the additional view based on the clipping mask of the additional view, and based on the position of the decoded valid pixel cluster, use pixels in the base view to restore the clipped redundant pixels in the additional view, and then restore the additional view based on the pixels of the current sub-image block and the clipped points in the additional view.
示例性地,所述当前子图块可以是矩形图像块。Exemplarily, the current sub-image block may be a rectangular image block.
本实施例中,通过在解码器侧对需要进行光照变换的当前子图块引入光照变换,有利于编码器通过对当前子图块的光照变换来强化当前子图块的质量,对解码器而言,对当前子图块的光照变换不仅能够恢复该当前子图块光照效果,还能够保证解码器解码的子图块为经过编码器进行质量强化后的子图块,进而,能够缓解其像素的信息经过视频编解码后存在质量劣化的问题,例如能够缓解子图块的纹理信息丢失的问题,提升了解码性能。In this embodiment, by introducing illumination transformation for the current sub-block that needs illumination transformation on the decoder side, it is beneficial for the encoder to enhance the quality of the current sub-block by illumination transformation of the current sub-block. For the decoder, the illumination transformation of the current sub-block can not only restore the illumination effect of the current sub-block, but also ensure that the sub-block decoded by the decoder is the sub-block whose quality has been enhanced by the encoder, thereby alleviating the problem of quality degradation of its pixel information after video encoding and decoding, for example, it can alleviate the problem of texture information loss of the sub-block, thereby improving the decoding performance.
在一些实施例中,所述S220可包括:In some embodiments, the S220 may include:
对所述码流解码,确定所述当前子图块的子图块标识;所述当前子图块的子图块标识指示是否对所述当前子图块进行光照变换;Decoding the bitstream to determine a sub-image block identifier of the current sub-image block; the sub-image block identifier of the current sub-image block indicates whether to perform illumination transformation on the current sub-image block;
基于所述当前子图块的子图块标识,确定是否对所述当前子图块进行光照变换。Based on the sub-image block identifier of the current sub-image block, it is determined whether to perform illumination transformation on the current sub-image block.
示例性地,若所述当前子图块的子图块标识指示对所述当前子图块进行光照变换,则所述解码器确定对所述当前子图块进行光照变换,若所述当前子图块的子图块标识指示不对所述当前子图块进行光照变换,则所述解码器确定不对所述当前子图块进行光照变换。Exemplarily, if the sub-block identifier of the current sub-block indicates that the current sub-block is to be illuminated by a transformation, the decoder determines that the current sub-block is to be illuminated by a transformation; if the sub-block identifier of the current sub-block indicates that the current sub-block is not to be illuminated by a transformation, the decoder determines that the current sub-block is not to be illuminated by a transformation.
当然,在其他可替代实施例中,也可以通过其他方式确定是否对当前子图块进行光照变换。Of course, in other alternative embodiments, whether to perform illumination transformation on the current sub-tile may also be determined in other ways.
在一种可能的实现方式中,解码器可以基于所述码流中是否携带有所述当前子图块的标识,确定是否对所述当前子图块进行光照变换。例如,若所述码流中携带有所述当前子图块的标识,则解码器确定对所述当前子图块进行光照变换,若所述码流中未携带所述当前子图块的标识,则解码器确定不对所述当前子图块进行光照变换。In a possible implementation, the decoder may determine whether to perform illumination transformation on the current sub-image block based on whether the bitstream carries the identifier of the current sub-image block. For example, if the bitstream carries the identifier of the current sub-image block, the decoder determines to perform illumination transformation on the current sub-image block; if the bitstream does not carry the identifier of the current sub-image block, the decoder determines not to perform illumination transformation on the current sub-image block.
在另一种可能的实现方式中,解码器还可以进行像素级别的光照变换或视图级别的光照变换。例如,解码器还可以基于所述当前子图块中的当前像素对应的标识,确定是否对所述当前像素进行光照变换,所述当前像素对应的标识指示是否对所述当前像素进行光照变换。再如,解码器还可以基于所述当前子图块所属的附加视图对应的标识,确定是否对所述附加视图中的子图块进行光照变换;其中,所述附加附图对应的标识指示是否随所述附加附图中的子图块进行光照变化。In another possible implementation, the decoder may also perform a pixel-level illumination transformation or a view-level illumination transformation. For example, the decoder may also determine whether to perform an illumination transformation on the current pixel based on an identifier corresponding to the current pixel in the current sub-image block, where the identifier corresponding to the current pixel indicates whether to perform an illumination transformation on the current pixel. For another example, the decoder may also determine whether to perform an illumination transformation on a sub-image block in an additional view based on an identifier corresponding to an additional view to which the current sub-image block belongs; wherein the identifier corresponding to the additional illustration indicates whether to perform illumination changes with the sub-image block in the additional illustration.
在一些实施例中,解码器也可以解码所述码流,确定所述当前子图块的子图块标识的使能标识;所述使能标识指示所述码流是否携带有所述当前子图块的子图块标识。In some embodiments, the decoder may also decode the bitstream to determine an enable flag of the sub-picture block identifier of the current sub-picture block; the enable flag indicates whether the bitstream carries the sub-picture block identifier of the current sub-picture block.
示例性地,所述使能标识可以携带在所述码流中的Atlas序列参数集MIV扩展语法(Atlas sequence parameter set MIV extension syntax)内。Exemplarily, the enable flag may be carried in an Atlas sequence parameter set MIV extension syntax in the code stream.
示例性地,Atlas序列参数集MIV扩展语法可以如表1所示:Exemplarily, the Atlas sequence parameter set MIV extended syntax may be as shown in Table 1:
表1Table 1
Figure PCTCN2022125476-appb-000001
Figure PCTCN2022125476-appb-000001
Figure PCTCN2022125476-appb-000002
Figure PCTCN2022125476-appb-000002
如表1所示,asme_ic_enabled_flag为使能标识。As shown in Table 1, asme_ic_enabled_flag is an enable flag.
其中,asme_ic_enabled_flag为1意味着语法元素pdu_ic_flag[tileID][p]存在于语法结构pdu_miv_extension()中。asme_ic_enabled_flag为0意味着语法元素pdu_ic_flag[tileID][p]不存在于语法结构pdu_miv_extension()中。当asme_ic_enabled_flag不存在时,其值默认为0。(asme_ic_enabled_flag equal to 1 specifies that the pdu_ic_flag[tileID][p]syntax elements are present in the pdu_miv_extension()syntax structure.asme_ic_enabled_flag equal to 0 specifies that the pdu_ic_flag[tileID][p]syntax elements are not present in the pdu_miv_extension()syntax structure.When not present,the value of asme_ic_enabled_flag is inferred to be equal to 0)。Where asme_ic_enabled_flag is 1, which means that the syntax element pdu_ic_flag[tileID][p] exists in the syntax structure pdu_miv_extension(). asme_ic_enabled_flag is 0, which means that the syntax element pdu_ic_flag[tileID][p] does not exist in the syntax structure pdu_miv_extension(). When asme_ic_enabled_flag does not exist, its value defaults to 0. (asme_ic_enabled_flag equal to 1 specifies that the pdu_ic_flag[tileID][p]syntax elements are present in the pdu_miv_extension()syntax structure. asme_ic_enabled_flag equal to 0 specifies that the pdu_ic_flag[tileID][p]syntax elements are not present in the pdu_miv_extension()syntax structure. When not present, the value of asme_ic_enabled_flag is inferred to be equal to 0).
示例性地,所述当前子图块的子图块标识可以携带在所述码流中的子图块数据单元MIV扩展语法(Patch data unit MIV extension syntax)内。Exemplarily, the sub-tile identifier of the current sub-tile may be carried in a Patch data unit MIV extension syntax (Patch data unit MIV extension syntax) in the code stream.
示例性地,所述子图块数据单元MIV扩展语法可以如表2所示:Exemplarily, the sub-block data unit MIV extended syntax may be as shown in Table 2:
表2Table 2
Figure PCTCN2022125476-appb-000003
Figure PCTCN2022125476-appb-000003
如表2所示,pdu_ic_flag[tileID][p]为子图块标识。As shown in Table 2, pdu_ic_flag[tileID][p] is the sub-tile identifier.
其中,pdu_ic_flag[tileID][p]为1意味着该子图块进行光照变换。pdu_ic_flag[tileID][p]为0意味着该子图块不进行光照变换。当pdu_ic_flag[tileID][p]不存在时,其值默认为0。(pdu_ic_flag[tileID][p]equal to 1 specifies that the patch is an IC patch.When pdu_ic_flag[tileID][p]is equal to 0,then the patch is not an IC patch.When not present,the value of pdu_ic_flag[tileID][p]is inferred to be equal to 0.)Among them, pdu_ic_flag[tileID][p] is 1, which means that the sub-tile performs lighting transformation. pdu_ic_flag[tileID][p] is 0, which means that the sub-tile does not perform lighting transformation. When pdu_ic_flag[tileID][p] does not exist, its value defaults to 0. (pdu_ic_flag[tileID][p]equal to 1 specifies that the patch is an IC patch. When pdu_ic_flag[tileID][p]is equal to 0, then the patch is not an IC patch. When not present, the value of pdu_ic_flag[tileID][p] is inferred to be equal to 0.)
在一些实施例中,所述S230可包括:In some embodiments, the S230 may include:
确定所述当前子图块使用的目标变换方式;Determine a target transformation mode used by the current sub-block;
确定所述当前子图块使用的目标变换参数;Determining target transformation parameters used by the current sub-block;
基于所述目标变换方式和所述目标变换参数,对所述当前子图块进行光照变换并得到所述光照变换后的子图块。Based on the target transformation mode and the target transformation parameters, the current sub-image block is subjected to illumination transformation to obtain the sub-image block after illumination transformation.
示例性地,解码器确定对所述当前子图块进行光照变换时,先确定所述目标变换方式和所述目标变换参数,然后基于所述目标变换参数利用所述目标变换方式对所述当前子图块进行光照变换,得到所述光照变换后的子图块。Exemplarily, when the decoder determines to perform illumination transformation on the current sub-image block, it first determines the target transformation method and the target transformation parameters, and then performs illumination transformation on the current sub-image block using the target transformation method based on the target transformation parameters to obtain the sub-image block after illumination transformation.
在一些实施例中,所述目标变换方式为默认的变换方式。In some embodiments, the target transformation mode is a default transformation mode.
示例性地,所述默认的变换方式可以是对数变换方式、伽马变换等方式或其他变换方式,甚至于所述默认的变换方式还可以是基于机器学习的变换方式,本申请对此不作具体限定。Exemplarily, the default transformation method may be a logarithmic transformation method, a gamma transformation method, or other transformation methods, and even the default transformation method may be a transformation method based on machine learning, which is not specifically limited in the present application.
当然,在其他可替代实施例中,解码器也可以解码所述码流来确定所述目标变换方式,本申请对此不作具体限定。Of course, in other alternative embodiments, the decoder may also decode the code stream to determine the target transformation mode, and this application does not make any specific limitation on this.
在一些实施例中,所述目标变换参数为所述目标变换方式默认使用的变换参数。In some embodiments, the target transformation parameters are transformation parameters used by the target transformation method by default.
当然,在其他可替代实施例中,解码器也可以解码所述码流来确定所述目标变换参数,本申请对此不作具体限定。Of course, in other alternative embodiments, the decoder may also decode the code stream to determine the target transformation parameters, which is not specifically limited in the present application.
在一些实施例中,基于所述目标变换方式和所述目标变换参数,对所述当前子图块中像素的属性信息的对比度进行调整,得到所述光照变换后的子图块;其中,所述光照变换后的子图块中像素的属性信息之间的对比度大于所述当前子图块中像素的属性信息之间的对比度。In some embodiments, based on the target transformation mode and the target transformation parameters, the contrast of the attribute information of the pixels in the current sub-block is adjusted to obtain the sub-block after the illumination transformation; wherein the contrast between the attribute information of the pixels in the sub-block after the illumination transformation is greater than the contrast between the attribute information of the pixels in the current sub-block.
换言之,所述当前子图块使用的目标变换参数能够增大所述当前子图块中像素的属性信息之间的对 比度。In other words, the target transformation parameters used by the current sub-block can increase the contrast between the attribute information of the pixels in the current sub-block.
示例性地,所述当前子图块中像素的属性信息的对比度可以是所述当前子图块中像素的纹理信息之间的对比度。换言之,所述当前子图块使用的目标变换参数能够增大所述当前子图块中像素的纹理信息之间的对比度。Exemplarily, the contrast of the attribute information of the pixels in the current sub-block may be the contrast between the texture information of the pixels in the current sub-block. In other words, the target transformation parameters used by the current sub-block can increase the contrast between the texture information of the pixels in the current sub-block.
示例性地,所述当前子图块中像素的属性信息的对比度可以是所述当前子图块中的像素的颜色信息之间的对比度。换言之,所述当前子图块使用的目标变换参数能够增大所述当前子图块中的像素的颜色信息之间的对比度。Exemplarily, the contrast of the attribute information of the pixels in the current sub-block may be the contrast between the color information of the pixels in the current sub-block. In other words, the target transformation parameters used by the current sub-block can increase the contrast between the color information of the pixels in the current sub-block.
值得注意的是,在所述目标变换方式和所述目标变换方式固定的情况下,所述光照变换后的子图块中像素的属性信息之间的对比度与所述当前子图块中像素的属性信息之间的对比度之间的差异也是固定的,因此,所述解码器也可以通过解码所述码流,来确定所述光照变换后的子图块中像素的属性信息之间的对比度与所述当前子图块中像素的属性信息之间的对比度之间的差异,然后基于所述光照变换后的子图块中像素的属性信息之间的对比度与所述当前子图块中像素的属性信息之间的对比度之间的差异,以及所述光照变换后的子图块的对比度,来确定所述目标变换方式以及所述目标变换参数,本申请对此不作具体限定。It is worth noting that when the target transformation mode and the target transformation mode are fixed, the difference between the contrast between the attribute information of the pixels in the sub-image block after the illumination transformation and the contrast between the attribute information of the pixels in the current sub-image block is also fixed. Therefore, the decoder can also determine the difference between the contrast between the attribute information of the pixels in the sub-image block after the illumination transformation and the contrast between the attribute information of the pixels in the current sub-image block by decoding the code stream, and then determine the target transformation mode and the target transformation parameters based on the difference between the contrast between the attribute information of the pixels in the sub-image block after the illumination transformation and the contrast between the attribute information of the pixels in the current sub-image block, as well as the contrast of the sub-image block after the illumination transformation. The present application does not make specific limitations on this.
在一些实施例中,所述方法200还可包括:In some embodiments, the method 200 may further include:
基于所述光照变换后的子图块,确定所述当前图像的解码图像。Based on the sub-image block after the illumination transformation, a decoded image of the current image is determined.
示例性地,解码器基于所述光照变换后的子图块,确定所述当前子图块所属的附加图像的解码图像。Exemplarily, the decoder determines a decoded image of the additional image to which the current sub-image block belongs based on the sub-image block after the illumination transformation.
上文中从解码器的角度详细描述了根据本申请实施例的解码方法,下面将从编码器的角度描述根据本申请实施例的编码方法。The decoding method according to the embodiment of the present application is described in detail above from the perspective of a decoder. The encoding method according to the embodiment of the present application will be described below from the perspective of an encoder.
图8是本申请实施例提供的编码方法310的示意性流程图。应理解,所述编码方法310可由编码器执行。例如应用于图1所示的编码框架13。为便于描述,下面以编码器为例进行说明。FIG8 is a schematic flow chart of a coding method 310 provided in an embodiment of the present application. It should be understood that the coding method 310 can be executed by an encoder. For example, it is applied to the coding framework 13 shown in FIG1. For ease of description, the following description is made by taking an encoder as an example.
如图8所示,所述解码方法310可包括以下中的部分或全部:As shown in FIG8 , the decoding method 310 may include part or all of the following:
S311,确定当前图像中的当前子图块;S311, determining a current sub-block in the current image;
S312,确定是否对所述当前子图块进行光照变换;S312, determining whether to perform illumination transformation on the current sub-block;
S313,在确定对所述当前子图块进行光照变换时,对所述当前子图块进行光照变换,得到光照变换后的子图块;S313, when it is determined to perform illumination transformation on the current sub-image block, perform illumination transformation on the current sub-image block to obtain a sub-image block after illumination transformation;
S314,对所述光照变换后的子图块进行编码,得到码流。S314: Encode the sub-image block after the illumination transformation to obtain a bit stream.
示例性地,所述当前图像可以附加视图。Exemplarily, the current image may have an additional view.
示例性地,所述当前子图块可以是编码器对所述附加视图进行处理得到的图像块。例如,编码器可以通过去除基础视图与所述附加视图之间的冗余像素,即仅保留非重复表达的有效像素(也可称为有效像素簇(cluster)),再通过对有效像素簇进行划分以及打包(pack)形成规则形状的图像块(即子图块),然后对所述基础视图与基于所述附加视图得到的一个或多个子图块进行重组织(例如对所述基础视图与基于所述附加视图得到的子图块进行拼接),形成更大的矩形图像(也可称为拼接图或拼接图像),该拼接图像可用于生成视频数据,以便编码器对该视频数据进行编码后得到码流。Exemplarily, the current sub-image block may be an image block obtained by the encoder processing the additional view. For example, the encoder may remove redundant pixels between the base view and the additional view, that is, retain only valid pixels (also referred to as valid pixel clusters) that are not repeatedly expressed, and then divide and pack the valid pixel clusters to form image blocks (i.e., sub-image blocks) of regular shapes, and then reorganize the base view and one or more sub-image blocks obtained based on the additional view (for example, splicing the base view and the sub-image blocks obtained based on the additional view) to form a larger rectangular image (also referred to as a spliced image or a spliced image), which may be used to generate video data so that the encoder can encode the video data to obtain a bitstream.
示例性地,所述当前子图块可以是矩形图像块。Exemplarily, the current sub-image block may be a rectangular image block.
本实施例中,通过在编码器侧对需要进行光照变换的当前子图块引入光照变换,有利于编码器通过对当前子图块的光照变换来强化当前子图块的质量,对解码器而言,对当前子图块的光照变换不仅能够恢复该当前子图块光照效果,还能够保证解码器解码的子图块为经过编码器进行质量强化后的子图块,进而,能够缓解其像素的信息经过视频编解码后存在质量劣化的问题,例如能够缓解子图块的纹理信息丢失的问题,提升了解码性能。In this embodiment, by introducing illumination transformation for the current sub-block that needs illumination transformation on the encoder side, the encoder can enhance the quality of the current sub-block by illumination transformation of the current sub-block. For the decoder, the illumination transformation of the current sub-block can not only restore the illumination effect of the current sub-block, but also ensure that the sub-block decoded by the decoder is the sub-block whose quality has been enhanced by the encoder. Furthermore, the problem of quality degradation of its pixel information after video encoding and decoding can be alleviated, for example, the problem of texture information loss of the sub-block can be alleviated, thereby improving the decoding performance.
在一些实施例中,所述S314可包括:In some embodiments, the S314 may include:
获取所述当前子图块的子图块标识;所述当前子图块的子图块标识指示是否对所述当前子图块进行光照变换;Acquire a sub-image block identifier of the current sub-image block; the sub-image block identifier of the current sub-image block indicates whether to perform illumination transformation on the current sub-image block;
对所述当前子图块的子图块标识和所述光照变换后的子图块进行编码,得到所述码流。The sub-image block identifier of the current sub-image block and the sub-image block after the illumination transformation are encoded to obtain the code stream.
本实施例中,通过将所述当前子图块的子图块标识写入所述码流,有利于解码器解码所述码流,确定是否随所述当前子图块进行光照变换,能够保证解码器和编码器对是否需要对所述当前子图块进行光照变换的理解保持一致,提升了编解码效率。In this embodiment, by writing the sub-block identifier of the current sub-block into the bitstream, it is helpful for the decoder to decode the bitstream and determine whether to perform illumination transformation with the current sub-block. This can ensure that the decoder and the encoder have consistent understanding of whether illumination transformation is required for the current sub-block, thereby improving encoding and decoding efficiency.
当然,在其他可替代实施例中,也可以通过其他方式向解码器指示是否对当前子图块进行光照变换。Of course, in other alternative embodiments, other methods may be used to indicate to the decoder whether to perform illumination transformation on the current sub-block.
在一种可能的实现方式中,编码器对需要进行光照变换的子图块的标识进行编码,以便解码器基于解码的子图块标识确定是否进行光照变换。例如,所述解码器可以基于所述码流中是否携带有所述当前子图块的标识,确定是否对所述当前子图块进行光照变换。例如,若所述码流中携带有所述当前子图块的标识,则解码器确定对所述当前子图块进行光照变换,若所述码流中未携带所述当前子图块的标识, 则解码器确定不对所述当前子图块进行光照变换。In a possible implementation, the encoder encodes the identifier of the sub-image block that needs to be transformed for illumination, so that the decoder determines whether to perform the illumination transformation based on the decoded sub-image block identifier. For example, the decoder may determine whether to perform the illumination transformation on the current sub-image block based on whether the bitstream carries the identifier of the current sub-image block. For example, if the bitstream carries the identifier of the current sub-image block, the decoder determines to perform the illumination transformation on the current sub-image block; if the bitstream does not carry the identifier of the current sub-image block, the decoder determines not to perform the illumination transformation on the current sub-image block.
在另一种可能的实现方式中,编码器也可以对像素级别的光照变换标识或视图级别的光照变换标识进行编码。例如,解码器可以基于所述当前子图块中的当前像素对应的标识,确定是否对所述当前像素进行光照变换,所述当前像素对应的标识指示是否对所述当前像素进行光照变换。再如,解码器还可以基于所述当前子图块所属的附加视图对应的标识,确定是否对所述附加视图中的子图块进行光照变换;其中,所述附加附图对应的标识指示是否随所述附加附图中的子图块进行光照变化。In another possible implementation, the encoder may also encode a pixel-level illumination change identifier or a view-level illumination change identifier. For example, the decoder may determine whether to perform an illumination change on the current pixel based on an identifier corresponding to the current pixel in the current sub-image block, and the identifier corresponding to the current pixel indicates whether to perform an illumination change on the current pixel. For another example, the decoder may also determine whether to perform an illumination change on a sub-image block in an additional view based on an identifier corresponding to an additional view to which the current sub-image block belongs; wherein the identifier corresponding to the additional illustration indicates whether to perform illumination changes with the sub-image block in the additional illustration.
在一些实施例中,所述S312可包括:In some embodiments, the S312 may include:
获取基础视图;Get the base view;
对所述基础视图中的像素和所述当前子图块中的像素形成的像素对进行光照检测,确定所述像素对是否为光照不一致的像素对;Performing illumination detection on a pixel pair formed by a pixel in the base view and a pixel in the current sub-image block to determine whether the pixel pair is a pixel pair with inconsistent illumination;
基于所述光照不一致的像素对的数量,确定是否对所述当前子图块进行光照变换。Based on the number of the pixel pairs with inconsistent illumination, it is determined whether to perform illumination transformation on the current sub-block.
示例性地,编码器可以先基于用于采集所述基础视图的相机的参数、用于采集所述当前子图块所属的附加视图的相机的参数、所述基础视图的深度信息以及所述当前子图块所属的附加视图的深度信息,将基础视图的任意像素映射到所述当前子图块所属的附加视图,以得到由所述基础视图中的像素和所述当前子图块中的像素形成的一个或多个像素对。Exemplarily, the encoder may first map any pixel of the base view to the additional view to which the current sub-image block belongs based on parameters of a camera used to capture the base view, parameters of a camera used to capture the additional view to which the current sub-image block belongs, depth information of the base view, and depth information of the additional view to which the current sub-image block belongs, so as to obtain one or more pixel pairs formed by pixels in the base view and pixels in the current sub-image block.
示例性地,所述像素对中来自所述当前子图块的像素,所述像素对中来自所述基础视图中的像素投影或映射至所述当前子图块时,所述当前子图块在投影位置或映射位置处的像素。Exemplarily, the pixel in the pixel pair from the current sub-image block, when the pixel in the pixel pair from the base view is projected or mapped to the current sub-image block, is the pixel of the current sub-image block at the projection position or the mapping position.
图9是本申请实施例提供的基础视图中的像素和当前子图块中的像素所在的像素块之间的映射关系的示例。FIG. 9 is an example of a mapping relationship between pixels in a base view and a pixel block where pixels in a current sub-image block are located, provided in an embodiment of the present application.
如图9所示,假设视图v0为基础视图且视图v1为所述当前子图块所属的附加视图,则可以先基于用于采集视图v0的相机的参数、用于采集视图v1的相机的参数、视图v0的深度信息以及视图v1的深度信息,将视图v0的任意像素映射到视图v1中得到视图v0,以得到由视图v0中的像素和所述当前子图块中的像素形成的一个或多个像素对;例如,图中示例性示出了视图v0中的像素1和所述当前子图块中的像素2形成的像素对。As shown in Figure 9, assuming that view v0 is the base view and view v1 is the additional view to which the current sub-image block belongs, any pixel of view v0 can be mapped to view v1 based on the parameters of the camera used to capture view v0, the parameters of the camera used to capture view v1, the depth information of view v0, and the depth information of view v1 to obtain view v0, so as to obtain one or more pixel pairs formed by pixels in view v0 and pixels in the current sub-image block; for example, the figure exemplarily shows a pixel pair formed by pixel 1 in view v0 and pixel 2 in the current sub-image block.
在一些实施例中,确定所述基础视图中的像素的颜色信息和所述当前子图块中的像素的颜色信息之间的分布差异值;基于所述分布差异值,确定所述像素对是否为光照不一致的像素对。In some embodiments, a distribution difference value between color information of pixels in the base view and color information of pixels in the current sub-block is determined; and based on the distribution difference value, it is determined whether the pixel pair is a pixel pair with inconsistent illumination.
示例性地,所述分布差异值可用于表征所述基础视图中的像素的颜色信息的光照效果和所述当前子图块中的像素的颜色信息之间的光照效果之间的差异性,例如,若所述分布差异值越小,则说明所述基础视图中的像素的颜色信息的光照效果和所述当前子图块中的像素的颜色信息之间的光照效果越接近,进而可以说明所述像素对不为光照不一致的像素对。反之,若所述分布差异值越大,则说明所述基础视图中的像素的颜色信息的光照效果和所述当前子图块中的像素的颜色信息之间的光照效果差异越大,进而可以说明所述像素对为光照不一致的像素对。Exemplarily, the distribution difference value may be used to characterize the difference between the illumination effect of the color information of the pixel in the base view and the illumination effect of the color information of the pixel in the current sub-image block. For example, if the distribution difference value is smaller, it means that the illumination effect of the color information of the pixel in the base view is closer to the illumination effect of the color information of the pixel in the current sub-image block, and thus it can be shown that the pixel pair is not an illumination-inconsistent pixel pair. Conversely, if the distribution difference value is larger, it means that the illumination effect of the color information of the pixel in the base view is different from the illumination effect of the color information of the pixel in the current sub-image block, and thus it can be shown that the pixel pair is an illumination-inconsistent pixel pair.
在一些实施例中,将(1-R 1)/(1-R 2)、(1-G 1)/(1-G 2)以及(1-B 1)/(1-B 2)之间的最大差异值,确定为所述分布差异值;其中,R 1、G 1、B 1分别表示所述当前子图块中的像素的B分量、G分量、B分量的取值;R 2、G 2、B 2分别表示所述基础视图中的像素的B分量、G分量、B分量的取值。 In some embodiments, the maximum difference value among (1-R 1 )/(1-R 2 ), (1-G 1 )/(1-G 2 ) and (1-B 1 )/(1-B 2 ) is determined as the distribution difference value; wherein R 1 , G 1 , B 1 respectively represent the values of the B component, G component, and B component of the pixel in the current sub-block; and R 2 , G 2 , B 2 respectively represent the values of the B component, G component, and B component of the pixel in the base view.
示例性地,编码器可以先确定(1-R 1)/(1-R 2)与(1-G 1)/(1-G 2)的差值、(1-R 1)/(1-R 2)与(1-B 1)/(1-B 2)的差值以及(1-B 1)/(1-B 2)与(1-G 1)/(1-G 2)的差值,并将(1-R 1)/(1-R 2)与(1-G 1)/(1-G 2)的差值、(1-R 1)/(1-R 2)与(1-B 1)/(1-B 2)的差值以及(1-B 1)/(1-B 2)与(1-G 1)/(1-G 2)的差值中的最大差值,确定为所述分布差异值。 For example, the encoder may first determine the difference between (1-R 1 )/(1-R 2 ) and (1-G 1 )/(1-G 2 ), the difference between (1-R 1 )/(1-R 2 ) and (1-B 1 )/(1-B 2 ), and the difference between (1-B 1 )/(1-B 2 ) and (1-G 1 )/(1-G 2 ), and convert the difference between (1-R 1 )/(1-R 2 ) and (1-G 1 )/(1-G 2 ), the difference between (1-R 1 )/(1-R 2 ) and (1-B 1 )/(1-B 2 ), and the difference between (1-B 1 )/(1-B 2 ) and (1-G 1 )/(1-G 2 ). ) is determined as the distribution difference value.
由于所述当前子图块中的像素的光照效果越接近高光的光照效果,所述当前子图块中的像素的B分量、G分量、B分量的取值越接近1,因此,本申请实施例将(1-R 1)/(1-R 2)、(1-G 1)/(1-G 2)以及(1-B 1)/(1-B 2)之间越接近,说明所述当前子图块中的像素的颜色信息之间的光照效果越接近高亮效果,可以实现对高亮的子图块的检测,相当于,编码器可以对高亮的子图块进行光照变换,进而,能够缓解其像素的信息经过视频编解码后存在质量劣化的问题,例如能够缓解子图块的纹理信息丢失的问题,提升了解码性能。 Since the illumination effect of the pixels in the current sub-block is closer to the illumination effect of the highlight, the values of the B component, G component, and B component of the pixels in the current sub-block are closer to 1. Therefore, in the embodiment of the present application, the closer (1-R 1 )/(1-R 2 ), (1-G 1 )/(1-G 2 ), and (1-B 1 )/(1-B 2 ) are, the closer the illumination effect between the color information of the pixels in the current sub-block is to the highlight effect, and the detection of the highlighted sub-block can be achieved, which is equivalent to that the encoder can perform illumination transformation on the highlighted sub-block, and further, the problem of quality degradation of its pixel information after video encoding and decoding can be alleviated, for example, the problem of texture information loss of the sub-block can be alleviated, thereby improving the decoding performance.
当然,在其他可替代实施例中,编码器也可以将(1-R 1)/(1-R 2)、(1-G 1)/(1-G 2)以及(1-B 1)/(1-B 2)中的两项的差值,确定所述分布差异值。本申请对此不作具体限制。 Of course, in other alternative embodiments, the encoder may also determine the distribution difference value by taking the difference between two items of (1-R 1 )/(1-R 2 ), (1-G 1 )/(1-G 2 ) and (1-B 1 )/(1-B 2 ). This application does not impose any specific limitation on this.
例如,编码器可以将(1-R 1)/(1-R 2)与(1-G 1)/(1-G 2)的差值,确定所述分布差异值。再如,编码器可以将(1-R 1)/(1-R 2)与(1-B 1)/(1-B 2)的差值,确定所述分布差异值。再如,编码器可以将(1-B 1)/(1-B 2)与(1-G 1)/(1-G 2)的差值,确定所述分布差异值。 For example, the encoder may determine the distribution difference value by the difference between (1-R 1 )/(1-R 2 ) and (1-G 1 )/(1-G 2 ). For another example, the encoder may determine the distribution difference value by the difference between (1-R 1 )/(1-R 2 ) and (1-B 1 )/(1-B 2 ). For another example, the encoder may determine the distribution difference value by the difference between (1-B 1 )/(1-B 2 ) and (1-G 1 )/(1-G 2 ).
在一些实施例中,若所述分布差异值小于或等于第一阈值,则确定所述像素对为光照不一致的像素对;若所述分布差异值大于所述第一阈值,则确定所述像素对不为光照不一致的像素对。In some embodiments, if the distribution difference value is less than or equal to a first threshold, the pixel pair is determined to be a pixel pair with inconsistent illumination; if the distribution difference value is greater than the first threshold, the pixel pair is determined not to be a pixel pair with inconsistent illumination.
示例性地,所述第一阈值可以是预设的阈值,例如标准预定义的阈值。Exemplarily, the first threshold may be a preset threshold, such as a threshold predefined by a standard.
当然,在其他可替代实施例中,编码器也可以基于所述分布差异值所属的范围,确定所述像素对是 否为光照不一致的像素对。例如,若所述分布差异值所属的范围为第一范围,则确定所述像素对为光照不一致的像素对,若所述分布差异值所属的范围为第二范围,则确定所述像素对不为光照一致的像素对。可选的,所述第一范围的最大值小于或等于所述第二范围的最小值。Of course, in other alternative embodiments, the encoder may also determine whether the pixel pair is a pixel pair with inconsistent illumination based on the range to which the distribution difference value belongs. For example, if the range to which the distribution difference value belongs is a first range, the pixel pair is determined to be a pixel pair with inconsistent illumination, and if the range to which the distribution difference value belongs is a second range, the pixel pair is determined not to be a pixel pair with consistent illumination. Optionally, the maximum value of the first range is less than or equal to the minimum value of the second range.
在一些实施例中,基于所述光照不一致的像素对的数量,确定所述光照不一致的像素对的占比;基于所述光照不一致的像素对的占比,确定是否对所述当前子图块进行光照变换。In some embodiments, based on the number of the pixel pairs with inconsistent illumination, the proportion of the pixel pairs with inconsistent illumination is determined; and based on the proportion of the pixel pairs with inconsistent illumination, it is determined whether to perform illumination transformation on the current sub-image block.
示例性地,编码器可将所述光照不一致的像素对的数量和所述当前子图块中的像素的数量的比值,确定为所述光照不一致像素对的占比。Exemplarily, the encoder may determine the ratio of the number of the illumination-inconsistent pixel pairs to the number of pixels in the current sub-block as the proportion of the illumination-inconsistent pixel pairs.
在一些实施例中,若所述光照不一致的像素对的占比大于或等于第二阈值,则确定所述当前子图块为需要进行光照变换的子图块;若所述光照不一致的像素对的占比小于所述第二阈值,则确定所述当前子图块为不需要进行光照变换的子图块。In some embodiments, if the proportion of the pixel pairs with inconsistent lighting is greater than or equal to a second threshold, the current sub-block is determined to be a sub-block that requires lighting transformation; if the proportion of the pixel pairs with inconsistent lighting is less than the second threshold, the current sub-block is determined to be a sub-block that does not require lighting transformation.
示例性地,所述第二阈值可以是预定义的阈值,例如标准预定义的阈值。Exemplarily, the second threshold may be a predefined threshold, such as a standard predefined threshold.
在一些实施例中,确定所述像素对是否为相似像素对;在所述像素对不为相似像素对时,对所述像素对进行光照检测,确定所述像素对是否为光照不一致的像素对。In some embodiments, it is determined whether the pixel pair is a similar pixel pair; when the pixel pair is not a similar pixel pair, illumination detection is performed on the pixel pair to determine whether the pixel pair is a pixel pair with inconsistent illumination.
示例性地,编码器在确定所述像素对不为相似像素对的情况下,才会触发对所述像素对进行光照检测,进而确定所述像素对是否为光照不一致的像素对。Exemplarily, the encoder triggers illumination detection on the pixel pair only when it determines that the pixel pair is not a similar pixel pair, and further determines whether the pixel pair is a pixel pair with inconsistent illumination.
在一些实施例中,所述S312可包括:In some embodiments, the S312 may include:
确定所述像素对之间的深度差异值;determining a depth difference value between the pixel pairs;
确定所述基础视图中的像素和所述当前子图块中的像素所在的像素块之间的亮度差异值;Determine a brightness difference value between a pixel in the base view and a pixel block where a pixel in the current sub-block is located;
在所述深度差异值小于第三阈值且所述亮度差异值小于第四阈值时,确定所述像素对为相似像素对;When the depth difference value is less than a third threshold and the brightness difference value is less than a fourth threshold, determining that the pixel pair is a similar pixel pair;
在所述深度差异值大于或等于所述第三阈值或所述亮度差异值大于或等于所述第四阈值时,确定所述像素对不为相似像素对。When the depth difference value is greater than or equal to the third threshold or the brightness difference value is greater than or equal to the fourth threshold, it is determined that the pixel pair is not a similar pixel pair.
示例性地,编码器可以确定所述基础视图中的像素的亮度和所述像素块中的各个像素的亮度之间的差异值,并将确定的差异值中的最大值确定为所述最大差异值。例如,假设所述像素块为以所述当前子图块中的像素为中心的3×3像素块,则编码器可以确定所述基础视图中的像素的亮度和所述3×3像素块中的各个像素的亮度之间的差异值(即9个差异值)并将确定的9个差异值中的最大值确定为所述最大差异值。Exemplarily, the encoder may determine the difference value between the brightness of the pixel in the base view and the brightness of each pixel in the pixel block, and determine the maximum value of the determined difference values as the maximum difference value. For example, assuming that the pixel block is a 3×3 pixel block centered on the pixel in the current sub-block, the encoder may determine the difference value (i.e., 9 difference values) between the brightness of the pixel in the base view and the brightness of each pixel in the 3×3 pixel block and determine the maximum value of the determined 9 difference values as the maximum difference value.
值得注意的是,编码器可以以像素对像素(pixel-to-pixel)的方式确定所述深度差异值,以像素对像素块(pixel-to-block)的方式确定所述亮度差异值。但本申请对此不作具体限定,例如,在其他可替代实施例中,编码器也可以以像素对像素(pixel-to-pixel)的方式确定所述亮度差异值。It is worth noting that the encoder may determine the depth difference value in a pixel-to-pixel manner and determine the brightness difference value in a pixel-to-block manner. However, this application does not specifically limit this. For example, in other alternative embodiments, the encoder may also determine the brightness difference value in a pixel-to-pixel manner.
当然,在其他可替代实施例中,编码器也可以在所述深度差异值大于或等于所述第三阈值时,对所述像素对进行光照检测,确定所述像素对是否为光照不一致的像素对。即编码器在确定所述像素对不为亮度相似的像素对的情况下,就可以触发对所述像素对进行光照检测,进而确定所述像素对是否为光照不一致的像素对。Of course, in other alternative embodiments, the encoder may also perform illumination detection on the pixel pair when the depth difference value is greater than or equal to the third threshold value to determine whether the pixel pair is a pixel pair with inconsistent illumination. That is, when the encoder determines that the pixel pair is not a pixel pair with similar brightness, it may trigger illumination detection on the pixel pair to further determine whether the pixel pair is a pixel pair with inconsistent illumination.
图10是本申请实施例提供的相似像素对的判断流程320的示例。FIG. 10 is an example of a similar pixel pair determination process 320 provided in an embodiment of the present application.
如图10所示,所述判断流程320可包括:As shown in FIG. 10 , the determination process 320 may include:
S321,编码器确定深度差异值是否小于t1。S321 , the encoder determines whether the depth difference value is less than t1 .
示例性地,编码器可以对基础视图中的像素和附加图像中的像素形成的像素对的深度差异值,并确定深度差异值是否小于t1。例如,若所述深度差异值小于t1,则编码器确定所述像素对为深度相似的像素对,否则,编码器确定所述像素对不为深度相似的像素对。其中,所述基础视图中的像素可以是如图9所示的像素1,所述附加图像中的像素可以是如图9所示的像素2。Exemplarily, the encoder may calculate a depth difference value of a pixel pair formed by a pixel in the base view and a pixel in the additional image, and determine whether the depth difference value is less than t1. For example, if the depth difference value is less than t1, the encoder determines that the pixel pair is a pixel pair with similar depth, otherwise, the encoder determines that the pixel pair is not a pixel pair with similar depth. The pixel in the base view may be pixel 1 as shown in FIG. 9, and the pixel in the additional image may be pixel 2 as shown in FIG. 9.
S322,该编码器确定亮度差异值是否小于t2。S322, the encoder determines whether the brightness difference value is less than t2.
示例性地,编码器可以确定所述基础视图中的像素的亮度和所述附加图像中的像素所在的像素块中的各个像素的亮度之间的差异值,并将确定的差异值中的最大值确定为所述最大差异值。例如,假设所述像素块为以所述附加图像中的像素为中心的3×3像素块,则编码器可以确定所述基础视图中的像素的亮度和所述3×3像素块中的各个像素的亮度之间的差异值(即9个差异值)并将确定的9个差异值中的最大值确定为所述亮度差异值,并确定亮度差异值是否小于t2。例如,若所述亮度差异值小于t2,则编码器确定所述像素对为亮度相似的像素对,否则,编码器确定所述像素对不为亮度相似的像素对。Exemplarily, the encoder may determine the difference value between the brightness of the pixel in the base view and the brightness of each pixel in the pixel block where the pixel in the additional image is located, and determine the maximum value of the determined difference values as the maximum difference value. For example, assuming that the pixel block is a 3×3 pixel block centered on the pixel in the additional image, the encoder may determine the difference value (i.e., 9 difference values) between the brightness of the pixel in the base view and the brightness of each pixel in the 3×3 pixel block and determine the maximum value of the determined 9 difference values as the brightness difference value, and determine whether the brightness difference value is less than t2. For example, if the brightness difference value is less than t2, the encoder determines that the pixel pair is a pixel pair with similar brightness, otherwise, the encoder determines that the pixel pair is not a pixel pair with similar brightness.
S323,执行第二阶段。S323, execute the second stage.
示例性地,上述S321和S322可以理解为对所述像素对进行相似检测的第一阶段,执行完第一阶段后,还可以对第一阶段输出的疑似像素对执行第二阶段,所述第二阶段执行后,可以确定最终的相似像素对。可选的,编码器在对疑似相似像素对执行第二阶段的检测时,可以基于所述疑似相似像素对之 间的颜色差异值,确定所述疑似相似像素对是否为相似像素。值得注意的是,所述第二阶段的执行步骤可以是可选步骤。Exemplarily, the above S321 and S322 can be understood as the first stage of similarity detection on the pixel pair. After the first stage is executed, the second stage can be executed on the suspected pixel pair output by the first stage. After the second stage is executed, the final similar pixel pair can be determined. Optionally, when the encoder performs the second stage detection on the suspected similar pixel pair, it can determine whether the suspected similar pixel pair is a similar pixel based on the color difference value between the suspected similar pixel pair. It is worth noting that the execution step of the second stage can be an optional step.
本实施例中,编码器利用像素裁剪(Prune Pixel)模块检测附加视图中与基础视图中像素的像素后,可以在后续的处理中将像素的像素点裁剪(prune)掉,即仅保留非重复表达的有效像素(也可称为有效像素簇(cluster)),再通过对有效像素簇进行划分以及打包(pack)形成规则形状的图像块(即子图块),然后对所述基础视图与基于所述附加视图得到的一个或多个子图块进行重组织(例如对所述基础视图与基于所述附加视图得到的子图块进行拼接),形成更大的矩形图像(也可称为拼接图或拼接图像),该拼接图像可用于生成视频数据,以便编码器对该视频数据进行编码后得到码流。In this embodiment, after the encoder uses the pixel pruning module to detect the pixels in the additional view and the pixels in the base view, the pixels can be pruned in subsequent processing, that is, only the valid pixels with non-repetitive expression (also called valid pixel clusters) are retained, and then the valid pixel clusters are divided and packed to form image blocks of regular shapes (i.e. sub-blocks), and then the base view and one or more sub-blocks obtained based on the additional view are reorganized (for example, the base view and the sub-blocks obtained based on the additional view are spliced) to form a larger rectangular image (also called a spliced image or a spliced image), which can be used to generate video data so that the encoder can encode the video data to obtain a bit stream.
图11是本申请实施例提供的将光照变换结合至相似像素对的判断流程330中的示例。FIG. 11 is an example of combining illumination transformation with the determination process 330 of similar pixel pairs provided in an embodiment of the present application.
如图11所示,所述判断流程330可包括:As shown in FIG. 11 , the determination process 330 may include:
S331,编码器确定深度差异值是否小于t1。S331 , the encoder determines whether the depth difference value is less than t1 .
示例性地,编码器可以对基础视图中的像素和附加图像中的像素形成的像素对的深度差异值,并确定深度差异值是否小于t1。例如,若所述深度差异值小于t1,则编码器确定所述像素对为深度相似的像素对,否则,编码器确定所述像素对不为深度相似的像素对。其中,所述基础视图中的像素可以是如图9所示的像素1,所述附加图像中的像素可以是如图9所示的像素2。Exemplarily, the encoder may calculate a depth difference value of a pixel pair formed by a pixel in the base view and a pixel in the additional image, and determine whether the depth difference value is less than t1. For example, if the depth difference value is less than t1, the encoder determines that the pixel pair is a pixel pair with similar depth, otherwise, the encoder determines that the pixel pair is not a pixel pair with similar depth. The pixel in the base view may be pixel 1 as shown in FIG. 9, and the pixel in the additional image may be pixel 2 as shown in FIG. 9.
S332,该编码器确定亮度差异值是否小于t2。S332, the encoder determines whether the brightness difference value is less than t2.
示例性地,编码器可以确定所述基础视图中的像素的亮度和所述附加图像中的像素所在的像素块中的各个像素的亮度之间的差异值,并将确定的差异值中的最大值确定为所述最大差异值。例如,假设所述像素块为以所述附加图像中的像素为中心的3×3像素块,则编码器可以确定所述基础视图中的像素的亮度和所述3×3像素块中的各个像素的亮度之间的差异值(即9个差异值)并将确定的9个差异值中的最大值确定为所述亮度差异值,并确定亮度差异值是否小于t2。例如,若所述亮度差异值小于t2,则编码器确定所述像素对为亮度相似的像素对,否则,编码器确定所述像素对不为亮度相似的像素对。Exemplarily, the encoder may determine the difference value between the brightness of the pixel in the base view and the brightness of each pixel in the pixel block where the pixel in the additional image is located, and determine the maximum value of the determined difference values as the maximum difference value. For example, assuming that the pixel block is a 3×3 pixel block centered on the pixel in the additional image, the encoder may determine the difference value (i.e., 9 difference values) between the brightness of the pixel in the base view and the brightness of each pixel in the 3×3 pixel block and determine the maximum value of the determined 9 difference values as the brightness difference value, and determine whether the brightness difference value is less than t2. For example, if the brightness difference value is less than t2, the encoder determines that the pixel pair is a pixel pair with similar brightness, otherwise, the encoder determines that the pixel pair is not a pixel pair with similar brightness.
S333,执行第二阶段。S333, execute the second stage.
示例性地,上述S321和S322可以理解为对所述像素对进行相似检测的第一阶段,执行完第一阶段后,还可以对第一阶段输出的疑似像素对执行第二阶段,所述第二阶段执行后,可以确定最终的相似像素对。可选的,编码器在对疑似相似像素对执行第二阶段的检测时,可以基于所述疑似相似像素对之间的颜色差异值,确定所述疑似相似像素对是否为相似像素。值得注意的是,所述第二阶段的执行步骤可以是可选步骤。Exemplarily, the above S321 and S322 can be understood as the first stage of similarity detection on the pixel pairs. After executing the first stage, the second stage can be executed on the suspected pixel pairs output by the first stage. After the second stage is executed, the final similar pixel pairs can be determined. Optionally, when the encoder performs the second stage detection on the suspected similar pixel pairs, it can determine whether the suspected similar pixel pairs are similar pixels based on the color difference value between the suspected similar pixel pairs. It is worth noting that the execution step of the second stage can be an optional step.
S334,编码器确定分布差异值是否小于t3。S334, the encoder determines whether the distribution difference value is less than t3.
示例性地,编码器也可以在所述深度差异值大于或等于t1时,对所述像素对进行光照检测,确定所述像素对是否为光照不一致的像素对。即编码器在确定所述像素对不为亮度相似的像素对的情况下,可以触发对所述像素对进行光照检测,进而确定所述像素对是否为光照不一致的像素对。例如,若所述像素对的分布差异值小于t3,则确定所述像素对为光照不一致像素对,否则,确定所述像素对不为光照不一致像素对。Exemplarily, the encoder may also perform illumination detection on the pixel pair when the depth difference value is greater than or equal to t1 to determine whether the pixel pair is an illumination-inconsistent pixel pair. That is, when the encoder determines that the pixel pair is not a pixel pair with similar brightness, it may trigger illumination detection on the pixel pair to further determine whether the pixel pair is an illumination-inconsistent pixel pair. For example, if the distribution difference value of the pixel pair is less than t3, the pixel pair is determined to be an illumination-inconsistent pixel pair; otherwise, the pixel pair is determined not to be an illumination-inconsistent pixel pair.
S335,编码器基于光照不一致的像素对的检测结果确定是否对当前子图块进行光照变换。S335 : The encoder determines whether to perform illumination transformation on the current sub-block based on the detection result of the pixel pairs with inconsistent illumination.
S336,编码器当前子图块进行关照变换。S336, the encoder performs a transformation on the current sub-block.
应理解,上述S335和S336可参考方法310中的描述,为避免重复,此处不再赘述。It should be understood that the above S335 and S336 may refer to the description in method 310, and will not be repeated here to avoid repetition.
本实施例中,编码器利用像素裁剪(Prune Pixel)模块检测附加视图中与基础视图中像素的像素后,可以在后续的处理中将像素的像素点裁剪(prune)掉,即仅保留非重复表达的有效像素(也可称为有效像素簇(cluster)),再通过对有效像素簇进行划分以及打包(pack)形成规则形状的图像块(即子图块),接着对得到的一个或多个子图块中需要进行光照变换的子图块进行光照变换,并得到光照变换后的子图块;然后对所述基础视图与基于所述附加视图得到的不需要进行光照变换的子图块、以及对需要进行光照变换的子图块进行光照变换后得到光照变换后的子图块进行重组织(例如对所述基础视图与基于所述附加视图得到的子图块进行拼接),形成更大的矩形图像(也可称为拼接图或拼接图像),该拼接图像可用于生成视频数据,以便编码器对该视频数据进行编码后得到码流。In this embodiment, after the encoder uses the pixel pruning module to detect the pixels in the additional view and the pixels in the basic view, the pixels can be pruned in subsequent processing, that is, only the valid pixels with non-repeated expression (also called valid pixel clusters) are retained, and then the valid pixel clusters are divided and packed to form image blocks of regular shapes (i.e., sub-blocks), and then the sub-blocks that need to be illuminated in the one or more obtained sub-blocks are illuminated, and the illuminated sub-blocks are obtained; then the basic view and the sub-blocks that do not need to be illuminated obtained based on the additional view, as well as the illuminated sub-blocks that need to be illuminated are reorganized (for example, the basic view and the sub-blocks obtained based on the additional view are spliced) to form a larger rectangular image (also called a spliced image or a spliced image), which can be used to generate video data so that the encoder can encode the video data and obtain a bitstream.
在一些实施例中,确定所述当前子图块使用的目标变换方式;确定所述当前子图块使用的目标变换参数;基于所述目标变换方式和所述目标变换参数,对所述当前子图块进行光照变换并得到所述光照变换后的子图块。In some embodiments, a target transformation method used by the current sub-image block is determined; target transformation parameters used by the current sub-image block are determined; and based on the target transformation method and the target transformation parameters, an illumination transformation is performed on the current sub-image block to obtain the sub-image block after the illumination transformation.
示例性地,编码器确定对所述当前子图块进行光照变换时,先确定所述目标变换方式和所述目标变换参数,然后基于所述目标变换参数利用所述目标变换方式对所述当前子图块进行光照变换,得到所述光照变换后的子图块。Exemplarily, when the encoder determines to perform illumination transformation on the current sub-image block, it first determines the target transformation method and the target transformation parameters, and then performs illumination transformation on the current sub-image block using the target transformation method based on the target transformation parameters to obtain the sub-image block after illumination transformation.
在一些实施例中,所述目标变换方式为默认的变换方式。In some embodiments, the target transformation mode is a default transformation mode.
示例性地,所述默认的变换方式可以是对数变换方式、伽马变换等方式或其他变换方式,甚至于所述默认的变换方式还可以是基于机器学习的变换方式,本申请对此不作具体限定。Exemplarily, the default transformation method may be a logarithmic transformation method, a gamma transformation method, or other transformation methods, and even the default transformation method may be a transformation method based on machine learning, which is not specifically limited in the present application.
当然,在其他可替代实施例中,编码器也可以将所述目标变换方式写入所述码流,本申请对此不作具体限定。Of course, in other alternative embodiments, the encoder may also write the target transformation mode into the bitstream, and this application does not make any specific limitation on this.
在一些实施例中,所述目标变换参数为所述目标变换方式默认使用的变换参数。In some embodiments, the target transformation parameters are transformation parameters used by the target transformation method by default.
当然,在其他可替代实施例中,编码器也可以将所述目标变换参数写入所述码流,本申请对此不作具体限定。Of course, in other alternative embodiments, the encoder may also write the target transformation parameters into the bitstream, which is not specifically limited in the present application.
在一些实施例中,基于所述目标变换方式和所述目标变换参数,对所述当前子图块中像素的属性信息的对比度进行调整,得到所述光照变换后的子图块;其中,所述光照变换后的子图块中像素的属性信息之间的对比度小于所述当前子图块中像素的属性信息之间的对比度。In some embodiments, based on the target transformation method and the target transformation parameters, the contrast of the attribute information of the pixels in the current sub-block is adjusted to obtain the sub-block after the illumination transformation; wherein the contrast between the attribute information of the pixels in the sub-block after the illumination transformation is less than the contrast between the attribute information of the pixels in the current sub-block.
换言之,所述当前子图块使用的目标变换参数能够减小所述当前子图块中像素的属性信息之间的对比度。In other words, the target transformation parameters used by the current sub-image block can reduce the contrast between the attribute information of the pixels in the current sub-image block.
示例性地,所述当前子图块中像素的属性信息的对比度可以是所述当前子图块中像素的纹理信息之间的对比度。换言之,所述当前子图块使用的目标变换参数能够减小所述当前子图块中像素的纹理信息之间的对比度。Exemplarily, the contrast of the attribute information of the pixels in the current sub-image block may be the contrast between the texture information of the pixels in the current sub-image block. In other words, the target transformation parameters used by the current sub-image block can reduce the contrast between the texture information of the pixels in the current sub-image block.
示例性地,所述当前子图块中像素的属性信息的对比度可以是所述当前子图块中的像素的颜色信息之间的对比度。换言之,所述当前子图块使用的目标变换参数能够减小所述当前子图块中的像素的颜色信息之间的对比度。Exemplarily, the contrast of the attribute information of the pixels in the current sub-block may be the contrast between the color information of the pixels in the current sub-block. In other words, the target transformation parameters used by the current sub-block can reduce the contrast between the color information of the pixels in the current sub-block.
值得注意的是,由于编码器是强化所述当前子图块中像素的属性信息之间的对比度,因此,解码器恢复所述当前子图块中的像素的属性信息时,需要弱化所述当前子图块中像素的属性信息之间的对比度。当然,在其他可替代实施例中,编码器而言对当前子图块进行光照变换,对解码器而言,其对当前子图块进行的光照变换也可以理解为编码器对所述当前子图块进行的光照反变换。本申请对此不作具体限定。It is worth noting that, since the encoder strengthens the contrast between the attribute information of the pixels in the current sub-block, the decoder needs to weaken the contrast between the attribute information of the pixels in the current sub-block when restoring the attribute information of the pixels in the current sub-block. Of course, in other alternative embodiments, the encoder performs illumination transformation on the current sub-block, and for the decoder, the illumination transformation performed on the current sub-block can also be understood as the inverse illumination transformation performed by the encoder on the current sub-block. This application does not make specific limitations on this.
值得注意的是,在所述目标变换方式和所述目标变换方式固定的情况下,所述光照变换后的子图块中像素的属性信息之间的对比度与所述当前子图块中像素的属性信息之间的对比度之间的差异也是固定的,因此,所述编码器也可以通过解码所述码流,来确定所述光照变换后的子图块中像素的属性信息之间的对比度与所述当前子图块中像素的属性信息之间的对比度之间的差异,然后基于所述光照变换后的子图块中像素的属性信息之间的对比度与所述当前子图块中像素的属性信息之间的对比度之间的差异,以及所述光照变换后的子图块的对比度,来确定所述目标变换方式以及所述目标变换参数,本申请对此不作具体限定。It is worth noting that when the target transformation mode and the target transformation mode are fixed, the difference between the contrast between the attribute information of the pixels in the sub-image block after the illumination transformation and the contrast between the attribute information of the pixels in the current sub-image block is also fixed. Therefore, the encoder can also determine the difference between the contrast between the attribute information of the pixels in the sub-image block after the illumination transformation and the contrast between the attribute information of the pixels in the current sub-image block by decoding the code stream, and then determine the target transformation mode and the target transformation parameters based on the difference between the contrast between the attribute information of the pixels in the sub-image block after the illumination transformation and the contrast between the attribute information of the pixels in the current sub-image block, as well as the contrast of the sub-image block after the illumination transformation. The present application does not make specific limitations on this.
在一些实施例中,将所述光照变换后的子图块与基础视图进行拼接,得到拼接图像;对所述拼接图像中的像素和所述光照变换后的子图块中的像素进行编码,得到所述码流。In some embodiments, the sub-image block after the illumination transformation is spliced with a base view to obtain a spliced image; and pixels in the spliced image and pixels in the sub-image block after the illumination transformation are encoded to obtain the code stream.
示例性地,编码器可以通过去除基础视图与所述附加视图之间的冗余像素,即仅保留非重复表达的有效像素(也可称为有效像素簇(cluster)),再通过对有效像素簇进行划分以及打包(pack)形成规则形状的图像块(即子图块),接着对得到的一个或多个子图块中需要进行光照变换的子图块进行光照变换,并得到光照变换后的子图块;然后对所述基础视图与基于所述附加视图得到的不需要进行光照变换的子图块、以及对需要进行光照变换的子图块进行光照变换后得到光照变换后的子图块进行重组织(例如对所述基础视图与基于所述附加视图得到的子图块进行拼接),形成更大的矩形图像(也可称为拼接图或拼接图像),该拼接图像可用于生成视频数据,以便编码器对该视频数据进行编码后得到码流。Exemplarily, the encoder may remove redundant pixels between the base view and the additional view, that is, retain only valid pixels (also referred to as valid pixel clusters) that are not expressed repeatedly, and then divide and pack the valid pixel clusters to form image blocks of regular shapes (i.e., sub-blocks), and then perform illumination transformation on the sub-blocks that need to be illuminated in the one or more obtained sub-blocks, and obtain the sub-blocks after illumination transformation; and then reorganize the base view and the sub-blocks that do not need to be illuminated obtained based on the additional view, as well as the sub-blocks that need to be illuminated and obtained after illumination transformation (for example, the base view and the sub-blocks obtained based on the additional view are spliced) to form a larger rectangular image (also referred to as a spliced image or a spliced image), which can be used to generate video data so that the encoder can encode the video data and obtain a bitstream.
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上文涉及的实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上文涉及的具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。还应理解,在本申请的各种方法实施例中,上文涉及的各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。The preferred embodiments of the present application are described in detail above in conjunction with the accompanying drawings. However, the present application is not limited to the specific details in the embodiments mentioned above. Within the technical concept of the present application, the technical solution of the present application can be subjected to a variety of simple modifications, and these simple modifications all belong to the protection scope of the present application. For example, the various specific technical features described in the specific embodiments mentioned above can be combined in any suitable manner without contradiction. In order to avoid unnecessary repetition, the present application will not further explain various possible combinations. For another example, the various different embodiments of the present application can also be combined arbitrarily, as long as they do not violate the idea of the present application, they should also be regarded as the contents disclosed in the present application. It should also be understood that in the various method embodiments of the present application, the size of the sequence number of each process mentioned above does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application.
上文详细描述了本申请的方法实施例,下文结合图12至图14,详细描述本申请的装置实施例。The method embodiment of the present application is described in detail above. The device embodiment of the present application is described in detail below in conjunction with Figures 12 to 14.
图12是本申请实施例的解码器400的示意性框图。FIG. 12 is a schematic block diagram of a decoder 400 according to an embodiment of the present application.
如图12所示,所述解码器400可包括:As shown in FIG. 12 , the decoder 400 may include:
解码单元410,用于对码流解码,确定当前图像中的当前子图块;A decoding unit 410, configured to decode the bitstream and determine a current sub-block in a current image;
确定单元420,用于确定是否对所述当前子图块进行光照变换;A determination unit 420, configured to determine whether to perform illumination transformation on the current sub-block;
变换单元430,用于在确定对所述当前子图块进行光照变换时,对所述当前子图块进行光照变换,得到光照变换后的子图块。The transformation unit 430 is configured to perform a lighting transformation on the current sub-image block to obtain a sub-image block after the lighting transformation when it is determined to perform a lighting transformation on the current sub-image block.
在一些实施例中,所述确定单元420具体用于:In some embodiments, the determining unit 420 is specifically configured to:
对所述码流解码,确定所述当前子图块的子图块标识;所述当前子图块的子图块标识指示是否对所述当前子图块进行光照变换;Decoding the bitstream to determine a sub-image block identifier of the current sub-image block; the sub-image block identifier of the current sub-image block indicates whether to perform illumination transformation on the current sub-image block;
基于所述当前子图块的子图块标识,确定是否对所述当前子图块进行光照变换。Based on the sub-image block identifier of the current sub-image block, it is determined whether to perform illumination transformation on the current sub-image block.
在一些实施例中,所述变换单元430具体用于:In some embodiments, the transform unit 430 is specifically used to:
确定所述当前子图块使用的目标变换方式;Determine a target transformation mode used by the current sub-block;
确定所述当前子图块使用的目标变换参数;Determining target transformation parameters used by the current sub-block;
基于所述目标变换方式和所述目标变换参数,对所述当前子图块进行光照变换并得到所述光照变换后的子图块。Based on the target transformation mode and the target transformation parameters, the current sub-image block is subjected to illumination transformation to obtain the sub-image block after illumination transformation.
在一些实施例中,所述目标变换方式为默认的变换方式。In some embodiments, the target transformation mode is a default transformation mode.
在一些实施例中,所述目标变换参数为所述目标变换方式默认使用的变换参数。In some embodiments, the target transformation parameters are transformation parameters used by the target transformation method by default.
在一些实施例中所述变换单元430具体用于:In some embodiments, the transform unit 430 is specifically used for:
基于所述目标变换方式和所述目标变换参数,对所述当前子图块中像素的属性信息的对比度进行调整,得到所述光照变换后的子图块;其中,所述光照变换后的子图块中像素的属性信息之间的对比度大于所述当前子图块中像素的属性信息之间的对比度。Based on the target transformation mode and the target transformation parameters, the contrast of the attribute information of the pixels in the current sub-image block is adjusted to obtain the sub-image block after the illumination transformation; wherein the contrast between the attribute information of the pixels in the sub-image block after the illumination transformation is greater than the contrast between the attribute information of the pixels in the current sub-image block.
在一些实施例中,所述解码单元410还用于:In some embodiments, the decoding unit 410 is further configured to:
基于所述光照变换后的子图块,确定所述当前图像的解码图像。Based on the sub-image block after the illumination transformation, a decoded image of the current image is determined.
图13是本申请实施例的编码器500的示意性框图。FIG. 13 is a schematic block diagram of an encoder 500 according to an embodiment of the present application.
如图13所示,所述编码器500可包括:As shown in FIG. 13 , the encoder 500 may include:
第一确定单元510,用于确定当前图像中的当前子图块;A first determining unit 510, configured to determine a current sub-block in a current image;
第二确定单元520,用于确定是否对所述当前子图块进行光照变换;A second determining unit 520, configured to determine whether to perform illumination transformation on the current sub-block;
变换单元530,用于在确定对所述当前子图块进行光照变换时,对所述当前子图块进行光照变换,得到光照变换后的子图块;A transformation unit 530, configured to perform a lighting transformation on the current sub-image block to obtain a sub-image block after the lighting transformation when it is determined to perform a lighting transformation on the current sub-image block;
编码单元540,用于对所述光照变换后的子图块进行编码,得到码流。The encoding unit 540 is used to encode the sub-block after the illumination transformation to obtain a code stream.
在一些实施例中,所述编码单元540具体用于:In some embodiments, the encoding unit 540 is specifically used to:
获取所述当前子图块的子图块标识;所述当前子图块的子图块标识指示是否对所述当前子图块进行光照变换;Acquire a sub-image block identifier of the current sub-image block; the sub-image block identifier of the current sub-image block indicates whether to perform illumination transformation on the current sub-image block;
对所述当前子图块的子图块标识和所述光照变换后的子图块进行编码,得到所述码流。The sub-image block identifier of the current sub-image block and the sub-image block after the illumination transformation are encoded to obtain the code stream.
在一些实施例中,所述第二确定单元520具体用于:In some embodiments, the second determining unit 520 is specifically configured to:
获取基础视图;Get the base view;
对所述基础视图中的像素和所述当前子图块中的像素形成的像素对进行光照检测,确定所述像素对是否为光照不一致的像素对;Performing illumination detection on a pixel pair formed by a pixel in the base view and a pixel in the current sub-image block to determine whether the pixel pair is a pixel pair with inconsistent illumination;
基于所述光照不一致的像素对的数量,确定是否对所述当前子图块进行光照变换。Based on the number of the pixel pairs with inconsistent illumination, it is determined whether to perform illumination transformation on the current sub-image block.
在一些实施例中,所述第二确定单元520具体用于:In some embodiments, the second determining unit 520 is specifically configured to:
确定所述基础视图中的像素的颜色信息和所述当前子图块中的像素的颜色信息之间的分布差异值;Determine a distribution difference value between color information of pixels in the base view and color information of pixels in the current sub-block;
基于所述分布差异值,确定所述像素对是否为光照不一致的像素对。Based on the distribution difference value, it is determined whether the pixel pair is a pixel pair with inconsistent illumination.
在一些实施例中,所述第二确定单元520具体用于:In some embodiments, the second determining unit 520 is specifically configured to:
将(1-R 1)/(1-R 2)、(1-G 1)/(1-G 2)以及(1-B 1)/(1-B 2)之间的最大差异值,确定为所述分布差异值;其中,R 1、G 1、B 1分别表示所述当前子图块中的像素的B分量、G分量、B分量的取值;R 2、G 2、B 2分别表示所述基础视图中的像素的B分量、G分量、B分量的取值。 The maximum difference value among (1-R 1 )/(1-R 2 ), (1-G 1 )/(1-G 2 ) and (1-B 1 )/(1-B 2 ) is determined as the distribution difference value; wherein R 1 , G 1 , B 1 respectively represent the values of the B component, G component, and B component of the pixel in the current sub-block; and R 2 , G 2 , B 2 respectively represent the values of the B component, G component, and B component of the pixel in the base view.
在一些实施例中,所述第二确定单元520具体用于:In some embodiments, the second determining unit 520 is specifically configured to:
若所述分布差异值小于或等于第一阈值,则确定所述像素对为光照不一致的像素对;If the distribution difference value is less than or equal to a first threshold, determining that the pixel pair is a pixel pair with inconsistent illumination;
若所述分布差异值大于所述第一阈值,则确定所述像素对不为光照不一致的像素对。If the distribution difference value is greater than the first threshold, it is determined that the pixel pair is not a pixel pair with inconsistent illumination.
在一些实施例中,所述第二确定单元520具体用于:In some embodiments, the second determining unit 520 is specifically configured to:
基于所述光照不一致的像素对的数量,确定所述光照不一致的像素对的占比;Determining a proportion of the pixel pairs with inconsistent illumination based on the number of the pixel pairs with inconsistent illumination;
基于所述光照不一致的像素对的占比,确定是否对所述当前子图块进行光照变换。Based on the proportion of the pixel pairs with inconsistent illumination, it is determined whether to perform illumination transformation on the current sub-image block.
在一些实施例中,所述第二确定单元520具体用于:In some embodiments, the second determining unit 520 is specifically configured to:
若所述光照不一致的像素对的占比大于或等于第二阈值,则确定所述当前子图块为需要进行光照变换的子图块;If the proportion of the pixel pairs with inconsistent illumination is greater than or equal to a second threshold, determining that the current sub-image block is a sub-image block that needs illumination transformation;
若所述光照不一致的像素对的占比小于所述第二阈值,则确定所述当前子图块为不需要进行光照变 换的子图块。If the proportion of the pixel pairs with inconsistent lighting is less than the second threshold, the current sub-block is determined to be a sub-block that does not require lighting change.
在一些实施例中,所述第二确定单元520具体用于:In some embodiments, the second determining unit 520 is specifically configured to:
确定所述像素对是否为相似像素对;Determining whether the pixel pair is a similar pixel pair;
在所述像素对不为相似像素对时,对所述像素对进行光照检测,确定所述像素对是否为光照不一致的像素对。When the pixel pair is not a similar pixel pair, light detection is performed on the pixel pair to determine whether the pixel pair is a pixel pair with inconsistent light.
在一些实施例中,所述第二确定单元520具体用于:In some embodiments, the second determining unit 520 is specifically configured to:
确定所述像素对之间的深度差异值;determining a depth difference value between the pixel pairs;
确定所述基础视图中的像素和所述当前子图块中的像素所在的像素块之间的亮度差异值;Determine a brightness difference value between a pixel in the base view and a pixel block where a pixel in the current sub-block is located;
在所述深度差异值小于第三阈值且所述亮度差异值小于第四阈值时,确定所述像素对为相似像素对;When the depth difference value is less than a third threshold and the brightness difference value is less than a fourth threshold, determining that the pixel pair is a similar pixel pair;
在所述深度差异值大于或等于所述第三阈值或所述亮度差异值大于或等于所述第四阈值时,确定所述像素对不为相似像素对。When the depth difference value is greater than or equal to the third threshold or the brightness difference value is greater than or equal to the fourth threshold, it is determined that the pixel pair is not a similar pixel pair.
在一些实施例中,所述变换单元530具体用于:In some embodiments, the transform unit 530 is specifically used to:
确定所述当前子图块使用的目标变换方式;Determine a target transformation mode used by the current sub-block;
确定所述当前子图块使用的目标变换参数;Determining target transformation parameters used by the current sub-block;
基于所述目标变换方式和所述目标变换参数,对所述当前子图块进行光照变换并得到所述光照变换后的子图块。Based on the target transformation mode and the target transformation parameters, the current sub-image block is subjected to illumination transformation to obtain the sub-image block after illumination transformation.
在一些实施例中,所述目标变换方式为默认的变换方式。In some embodiments, the target transformation mode is a default transformation mode.
在一些实施例中,所述目标变换参数为所述目标变换方式默认使用的变换参数。In some embodiments, the target transformation parameters are transformation parameters used by the target transformation method by default.
在一些实施例中,所述变换单元530具体用于:In some embodiments, the transform unit 530 is specifically used to:
基于所述目标变换方式和所述目标变换参数,对所述当前子图块中像素的属性信息的对比度进行调整,得到所述光照变换后的子图块;其中,所述光照变换后的子图块中像素的属性信息之间的对比度小于所述当前子图块中像素的属性信息之间的对比度。Based on the target transformation mode and the target transformation parameters, the contrast of the attribute information of the pixels in the current sub-image block is adjusted to obtain the sub-image block after the illumination transformation; wherein the contrast between the attribute information of the pixels in the sub-image block after the illumination transformation is smaller than the contrast between the attribute information of the pixels in the current sub-image block.
在一些实施例中,所述编码单元540具体用于:In some embodiments, the encoding unit 540 is specifically used to:
将所述光照变换后的子图块与基础视图进行拼接,得到拼接图像;Splicing the sub-image block after the illumination transformation with the base view to obtain a spliced image;
对所述拼接图像中的像素和所述光照变换后的子图块中的像素进行编码,得到所述码流。The pixels in the spliced image and the pixels in the sub-image block after the illumination transformation are encoded to obtain the code stream.
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图12所示的解码器400可以对应于执行本申请实施例的方法200中的相应主体,并且解码器400中的各个单元的前述和其它操作和/或功能分别为了实现方法210中的相应流程。图13所示的编码器500可以对应于执行本申请实施例的方法310~330中的相应主体,即编码器500中的各个单元的前述和其它操作和/或功能分别为了实现方法310~330中的相应流程。It should be understood that the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, it will not be repeated here. Specifically, the decoder 400 shown in Figure 12 may correspond to the corresponding subject in the method 200 for executing the embodiment of the present application, and the aforementioned and other operations and/or functions of each unit in the decoder 400 are respectively for implementing the corresponding process in the method 210. The encoder 500 shown in Figure 13 may correspond to the corresponding subject in the methods 310 to 330 for executing the embodiment of the present application, that is, the aforementioned and other operations and/or functions of each unit in the encoder 500 are respectively for implementing the corresponding processes in the methods 310 to 330.
还应当理解,本申请实施例涉及的解码器400或编码器500中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上文涉及的单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,该解码器400或编码器500也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。根据本申请的另一个实施例,可以通过在包括例如中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的通用计算机的通用计算设备上运行能够执行相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造本申请实施例涉及的解码器400或编码器500,以及来实现本申请实施例的编码方法或解码方法。计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于电子设备中,并在其中运行,来实现本申请实施例的相应方法。It should also be understood that the various units in the decoder 400 or encoder 500 involved in the embodiment of the present application can be respectively or all merged into one or several other units to constitute, or some (some) units therein can also be split into multiple smaller units in function to constitute, which can achieve the same operation without affecting the realization of the technical effect of the embodiment of the present application. The units involved in the above are divided based on logical functions. In practical applications, the function of a unit can also be realized by multiple units, or the function of multiple units is realized by one unit. In other embodiments of the present application, the decoder 400 or encoder 500 may also include other units. In practical applications, these functions can also be implemented by other units to assist in implementation, and can be implemented by multiple units in collaboration. According to another embodiment of the present application, the decoder 400 or encoder 500 involved in the embodiment of the present application can be constructed by running a computer program (including program code) capable of executing each step involved in the corresponding method on a general computing device including a general-purpose computer such as a central processing unit (CPU), a random access storage medium (RAM), a read-only storage medium (ROM) and a processing element and a storage element. , And to implement the encoding method or decoding method of the embodiment of the present application. The computer program can be recorded on, for example, a computer-readable storage medium, and loaded into an electronic device through the computer-readable storage medium and run therein to implement the corresponding method of the embodiment of the present application.
换言之,上文涉及的单元可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过软硬件结合的形式实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件组合执行完成。可选地,软件可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上文涉及的方法实施例中的步骤。In other words, the units mentioned above can be implemented in hardware form, can be implemented in software form, or can be implemented in the form of a combination of software and hardware. Specifically, the steps of the method embodiments in the embodiments of the present application can be completed by the hardware integrated logic circuit and/or software form instructions in the processor, and the steps of the method disclosed in the embodiments of the present application can be directly embodied as a hardware decoding processor to execute, or the hardware and software combination in the decoding processor can be executed. Optionally, the software can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the information in the memory, and completes the steps in the method embodiments mentioned above in combination with its hardware.
图14是本申请实施例提供的电子设备600的示意结构图。FIG. 14 is a schematic structural diagram of an electronic device 600 provided in an embodiment of the present application.
如图14所示,该电子设备600至少包括处理器610以及计算机可读存储介质620。其中,处理器610以及计算机可读存储介质620可通过总线或者其它方式连接。计算机可读存储介质620用于存储计算机程序621,计算机程序621包括计算机指令,处理器610用于执行计算机可读存储介质620存储的 计算机指令。处理器610是电子设备600的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。As shown in FIG. 14 , the electronic device 600 includes at least a processor 610 and a computer-readable storage medium 620. The processor 610 and the computer-readable storage medium 620 may be connected via a bus or other means. The computer-readable storage medium 620 is used to store a computer program 621, which includes computer instructions, and the processor 610 is used to execute the computer instructions stored in the computer-readable storage medium 620. The processor 610 is the computing core and control core of the electronic device 600, which is suitable for implementing one or more computer instructions, and is specifically suitable for loading and executing one or more computer instructions to implement the corresponding method flow or corresponding function.
示例性地,处理器610也可称为中央处理器(Central Processing Unit,CPU)。处理器610可以包括但不限于:通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、分立硬件组件等等。Exemplarily, the processor 610 may also be referred to as a central processing unit (CPU). The processor 610 may include, but is not limited to, a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, discrete hardware components, and the like.
示例性地,计算机可读存储介质620可以是高速RAM存储器,也可以是非不稳定的存储器(Non-VolatileMemory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器610的计算机可读存储介质。具体而言,计算机可读存储介质620包括但不限于:易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。Exemplarily, the computer-readable storage medium 620 may be a high-speed RAM memory, or a non-volatile memory (Non-Volatile Memory), such as at least one disk memory; optionally, it may also be at least one computer-readable storage medium located away from the aforementioned processor 610. Specifically, the computer-readable storage medium 620 includes, but is not limited to: a volatile memory and/or a non-volatile memory. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM) and direct RAM bus random access memory (Direct Rambus RAM, DR RAM).
示例性地,该电子设备600可以是本申请实施例涉及的编码器或编码框架;该计算机可读存储介质620中存储有第一计算机指令;由处理器610加载并执行计算机可读存储介质620中存放的第一计算机指令,以实现本申请实施例提供的编码方法中的相应步骤;换言之,计算机可读存储介质620中的第一计算机指令由处理器610加载并执行相应步骤,为避免重复,此处不再赘述。Exemplarily, the electronic device 600 may be an encoder or encoding framework involved in an embodiment of the present application; a first computer instruction is stored in the computer-readable storage medium 620; the first computer instruction stored in the computer-readable storage medium 620 is loaded and executed by the processor 610 to implement the corresponding steps in the encoding method provided in an embodiment of the present application; in other words, the first computer instruction in the computer-readable storage medium 620 is loaded by the processor 610 and the corresponding steps are executed. To avoid repetition, it will not be repeated here.
示例性地,该电子设备600可以是本申请实施例涉及的解码器或解码框架;该计算机可读存储介质620中存储有第二计算机指令;由处理器610加载并执行计算机可读存储介质620中存放的第二计算机指令,以实现本申请实施例提供的解码方法中的相应步骤;换言之,计算机可读存储介质620中的第二计算机指令由处理器610加载并执行相应步骤,为避免重复,此处不再赘述。Exemplarily, the electronic device 600 may be a decoder or decoding framework involved in an embodiment of the present application; a second computer instruction is stored in the computer-readable storage medium 620; the second computer instruction stored in the computer-readable storage medium 620 is loaded and executed by the processor 610 to implement the corresponding steps in the decoding method provided in an embodiment of the present application; in other words, the second computer instruction in the computer-readable storage medium 620 is loaded by the processor 610 and the corresponding steps are executed, which will not be repeated here to avoid repetition.
根据本申请的另一方面,本申请还提供了一种编解码系统,包括上文涉及的编码器和解码器。According to another aspect of the present application, the present application also provides a coding and decoding system, including the encoder and decoder mentioned above.
根据本申请的另一方面,本申请还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是电子设备600中的记忆设备,用于存放程序和数据。例如,计算机可读存储介质620。可以理解的是,此处的计算机可读存储介质620既可以包括电子设备600中的内置存储介质,当然也可以包括电子设备600所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了电子设备600的操作系统。并且,在该存储空间中还存放了适于被处理器610加载并执行的一条或多条的计算机指令,这些计算机指令可以是一个或多个的计算机程序621(包括程序代码)。According to another aspect of the present application, the present application also provides a computer-readable storage medium (Memory), which is a memory device in the electronic device 600 for storing programs and data. For example, a computer-readable storage medium 620. It can be understood that the computer-readable storage medium 620 here can include both the built-in storage medium in the electronic device 600 and the extended storage medium supported by the electronic device 600. The computer-readable storage medium provides a storage space, which stores the operating system of the electronic device 600. In addition, one or more computer instructions suitable for being loaded and executed by the processor 610 are also stored in the storage space, and these computer instructions can be one or more computer programs 621 (including program codes).
根据本申请的另一方面,本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。例如,计算机程序621。此时,数据处理设备600可以是计算机,处理器610从计算机可读存储介质620读取该计算机指令,处理器610执行该计算机指令,使得该计算机执行上文涉及的各种可选方式中提供的编码方法或解码方法。According to another aspect of the present application, the present application further provides a computer program product or a computer program, which includes a computer instruction, and the computer instruction is stored in a computer-readable storage medium. For example, a computer program 621. At this time, the data processing device 600 can be a computer, and the processor 610 reads the computer instruction from the computer-readable storage medium 620, and the processor 610 executes the computer instruction, so that the computer executes the encoding method or decoding method provided in the various optional methods mentioned above.
换言之,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地运行本申请实施例的流程或实现本申请实施例的功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质进行传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。In other words, when implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process of the embodiment of the present application is run in whole or in part or the function of the embodiment of the present application is implemented. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元以及流程步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。Those of ordinary skill in the art will appreciate that the units and process steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
最后需要说明的是,以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。Finally, it should be noted that the above content is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims (28)

  1. 一种解码方法,其特征在于,包括:A decoding method, characterized by comprising:
    对码流解码,确定当前图像中的当前子图块;Decode the code stream and determine the current sub-block in the current image;
    确定是否对所述当前子图块进行光照变换;Determining whether to perform illumination transformation on the current sub-block;
    在确定对所述当前子图块进行光照变换时,对所述当前子图块进行光照变换,得到光照变换后的子图块。When it is determined to perform illumination transformation on the current sub-image block, illumination transformation is performed on the current sub-image block to obtain a sub-image block after illumination transformation.
  2. 根据权利要求1所述的方法,其特征在于,所述确定是否对所述当前子图块进行光照变换,包括:The method according to claim 1, characterized in that the determining whether to perform a lighting transformation on the current sub-block comprises:
    对所述码流解码,确定所述当前子图块的子图块标识;所述当前子图块的子图块标识指示是否对所述当前子图块进行光照变换;Decoding the bitstream to determine a sub-image block identifier of the current sub-image block; the sub-image block identifier of the current sub-image block indicates whether to perform illumination transformation on the current sub-image block;
    基于所述当前子图块的子图块标识,确定是否对所述当前子图块进行光照变换。Based on the sub-image block identifier of the current sub-image block, it is determined whether to perform illumination transformation on the current sub-image block.
  3. 根据权利要求1或2所述的方法,其特征在于,所述对所述当前子图块进行光照变换,得到光照变换后的子图块,包括:The method according to claim 1 or 2, characterized in that the step of performing illumination transformation on the current sub-image block to obtain the sub-image block after illumination transformation comprises:
    确定所述当前子图块使用的目标变换方式;Determine a target transformation mode used by the current sub-block;
    确定所述当前子图块使用的目标变换参数;Determining target transformation parameters used by the current sub-block;
    基于所述目标变换方式和所述目标变换参数,对所述当前子图块进行光照变换并得到所述光照变换后的子图块。Based on the target transformation mode and the target transformation parameters, the current sub-image block is subjected to illumination transformation to obtain the sub-image block after illumination transformation.
  4. 根据权利要求3所述的方法,其特征在于,所述目标变换方式为默认的变换方式。The method according to claim 3 is characterized in that the target transformation mode is a default transformation mode.
  5. 根据权利要求3所述的方法,其特征在于,所述目标变换参数为所述目标变换方式默认使用的变换参数。The method according to claim 3 is characterized in that the target transformation parameters are transformation parameters used by default in the target transformation mode.
  6. 根据权利要求3所述的方法,其特征在于,所述基于所述目标变换方式和所述目标变换参数,对所述当前子图块进行光照变换并得到所述光照变换后的子图块,包括:The method according to claim 3, characterized in that the step of performing illumination transformation on the current sub-image block based on the target transformation mode and the target transformation parameters and obtaining the sub-image block after illumination transformation comprises:
    基于所述目标变换方式和所述目标变换参数,对所述当前子图块中像素的属性信息的对比度进行调整,得到所述光照变换后的子图块;其中,所述光照变换后的子图块中像素的属性信息之间的对比度大于所述当前子图块中像素的属性信息之间的对比度。Based on the target transformation mode and the target transformation parameters, the contrast of the attribute information of the pixels in the current sub-image block is adjusted to obtain the sub-image block after the illumination transformation; wherein the contrast between the attribute information of the pixels in the sub-image block after the illumination transformation is greater than the contrast between the attribute information of the pixels in the current sub-image block.
  7. 根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 1 to 6, characterized in that the method further comprises:
    基于所述光照变换后的子图块,确定所述当前图像的解码图像。Based on the sub-image block after the illumination transformation, a decoded image of the current image is determined.
  8. 一种编码方法,其特征在于,包括:A coding method, characterized by comprising:
    确定当前图像中的当前子图块;Determine a current sub-block in a current image;
    确定是否对所述当前子图块进行光照变换;Determining whether to perform illumination transformation on the current sub-block;
    在确定对所述当前子图块进行光照变换时,对所述当前子图块进行光照变换,得到光照变换后的子图块;When it is determined to perform illumination transformation on the current sub-image block, perform illumination transformation on the current sub-image block to obtain a sub-image block after illumination transformation;
    对所述光照变换后的子图块进行编码,得到码流。The sub-image block after the illumination transformation is encoded to obtain a bit stream.
  9. 根据权利要求8所述的方法,其特征在于,所述对所述光照变换后的子图块进行编码,得到码流,包括:The method according to claim 8, characterized in that encoding the sub-image block after the illumination transformation to obtain a bit stream comprises:
    获取所述当前子图块的子图块标识;所述当前子图块的子图块标识指示是否对所述当前子图块进行光照变换;Acquire a sub-image block identifier of the current sub-image block; the sub-image block identifier of the current sub-image block indicates whether to perform illumination transformation on the current sub-image block;
    对所述当前子图块的子图块标识和所述光照变换后的子图块进行编码,得到所述码流。The sub-image block identifier of the current sub-image block and the sub-image block after the illumination transformation are encoded to obtain the code stream.
  10. 根据权利要求8所述的方法,其特征在于,所述确定是否对所述当前子图块进行光照变换,包括:The method according to claim 8, characterized in that the determining whether to perform a lighting transformation on the current sub-block comprises:
    获取基础视图;Get the base view;
    对所述基础视图中的像素和所述当前子图块中的像素形成的像素对进行光照检测,确定所述像素对是否为光照不一致的像素对;Performing illumination detection on a pixel pair formed by a pixel in the base view and a pixel in the current sub-image block to determine whether the pixel pair is a pixel pair with inconsistent illumination;
    基于所述光照不一致的像素对的数量,确定是否对所述当前子图块进行光照变换。Based on the number of the pixel pairs with inconsistent illumination, it is determined whether to perform illumination transformation on the current sub-block.
  11. 根据权利要求10所述的方法,其特征在于,所述对所述基础视图中的像素和所述当前子图块中的像素形成的像素对进行光照检测,确定所述像素对是否为光照不一致的像素对,包括:The method according to claim 10, characterized in that the step of performing illumination detection on a pixel pair formed by a pixel in the base view and a pixel in the current sub-block to determine whether the pixel pair is a pixel pair with inconsistent illumination comprises:
    确定所述基础视图中的像素的颜色信息和所述当前子图块中的像素的颜色信息之间的分布差异值;Determine a distribution difference value between color information of pixels in the base view and color information of pixels in the current sub-block;
    基于所述分布差异值,确定所述像素对是否为光照不一致的像素对。Based on the distribution difference value, it is determined whether the pixel pair is a pixel pair with inconsistent illumination.
  12. 根据权利要求11所述的方法,其特征在于,所述确定所述基础视图中的像素的颜色信息和所述当前子图块中的像素的颜色信息之间的分布差异值,包括:The method according to claim 11, characterized in that the determining of the distribution difference value between the color information of the pixel in the base view and the color information of the pixel in the current sub-block comprises:
    将(1-R 1)/(1-R 2)、(1-G 1)/(1-G 2)以及(1-B 1)/(1-B 2)之间的最大差异值,确定为所述分布差异值;其中,R 1、G 1、B 1分别表示所述当前子图块中的像素的B分量、G分量、B分量的取值;R 2、G 2、B 2分别表示所述基础视图中的像素的B分量、G分量、B分量的取值。 The maximum difference value among (1-R 1 )/(1-R 2 ), (1-G 1 )/(1-G 2 ) and (1-B 1 )/(1-B 2 ) is determined as the distribution difference value; wherein R 1 , G 1 , B 1 respectively represent the values of the B component, G component, and B component of the pixel in the current sub-block; and R 2 , G 2 , B 2 respectively represent the values of the B component, G component, and B component of the pixel in the base view.
  13. 根据权利要求11所述的方法,其特征在于,所述基于所述分布差异值,确定所述像素对是否为光照不一致的像素对,包括:The method according to claim 11, characterized in that the step of determining whether the pixel pair is a pixel pair with inconsistent illumination based on the distribution difference value comprises:
    若所述分布差异值小于或等于第一阈值,则确定所述像素对为光照不一致的像素对;If the distribution difference value is less than or equal to a first threshold, determining that the pixel pair is a pixel pair with inconsistent illumination;
    若所述分布差异值大于所述第一阈值,则确定所述像素对不为光照不一致的像素对。If the distribution difference value is greater than the first threshold, it is determined that the pixel pair is not a pixel pair with inconsistent illumination.
  14. 根据权利要求10所述的方法,其特征在于,所述基于所述光照不一致的像素对的数量,确定是否对所述当前子图块进行光照变换,包括:The method according to claim 10, characterized in that the determining whether to perform illumination transformation on the current sub-block based on the number of pixel pairs with inconsistent illumination comprises:
    基于所述光照不一致的像素对的数量,确定所述光照不一致的像素对的占比;Determining a proportion of the pixel pairs with inconsistent illumination based on the number of the pixel pairs with inconsistent illumination;
    基于所述光照不一致的像素对的占比,确定是否对所述当前子图块进行光照变换。Based on the proportion of the pixel pairs with inconsistent illumination, it is determined whether to perform illumination transformation on the current sub-image block.
  15. 根据权利要求14所述的方法,其特征在于,所述基于所述光照不一致的像素对的占比,确定是否对所述当前子图块进行光照变换,包括:The method according to claim 14, characterized in that the determining whether to perform illumination transformation on the current sub-block based on the proportion of the pixel pairs with inconsistent illumination comprises:
    若所述光照不一致的像素对的占比大于或等于第二阈值,则确定所述当前子图块为需要进行光照变换的子图块;If the proportion of the pixel pairs with inconsistent illumination is greater than or equal to a second threshold, determining that the current sub-image block is a sub-image block that needs illumination transformation;
    若所述光照不一致的像素对的占比小于所述第二阈值,则确定所述当前子图块为不需要进行光照变换的子图块。If the proportion of the pixel pairs with inconsistent illumination is less than the second threshold, it is determined that the current sub-image block is a sub-image block that does not require illumination transformation.
  16. 根据权利要求10所述的方法,其特征在于,所述对所述基础视图中的像素和所述当前子图块中的像素形成的像素对进行光照检测,确定所述像素对是否为光照不一致的像素对,包括:The method according to claim 10, characterized in that the step of performing illumination detection on a pixel pair formed by a pixel in the base view and a pixel in the current sub-block to determine whether the pixel pair is a pixel pair with inconsistent illumination comprises:
    确定所述像素对是否为相似像素对;Determining whether the pixel pair is a similar pixel pair;
    在所述像素对不为相似像素对时,对所述像素对进行光照检测,确定所述像素对是否为光照不一致的像素对。When the pixel pair is not a similar pixel pair, light detection is performed on the pixel pair to determine whether the pixel pair is a pixel pair with inconsistent light.
  17. 根据权利要求16所述的方法,其特征在于,所述确定所述像素对是否为相似像素对,包括:The method according to claim 16, characterized in that the determining whether the pixel pair is a similar pixel pair comprises:
    确定所述像素对之间的深度差异值;determining a depth difference value between the pixel pairs;
    确定所述基础视图中的像素和所述当前子图块中的像素所在的像素块之间的亮度差异值;Determine a brightness difference value between a pixel in the base view and a pixel block where a pixel in the current sub-block is located;
    在所述深度差异值小于第三阈值且所述亮度差异值小于第四阈值时,确定所述像素对为相似像素对;When the depth difference value is less than a third threshold and the brightness difference value is less than a fourth threshold, determining that the pixel pair is a similar pixel pair;
    在所述深度差异值大于或等于所述第三阈值或所述亮度差异值大于或等于所述第四阈值时,确定所述像素对不为相似像素对。When the depth difference value is greater than or equal to the third threshold or the brightness difference value is greater than or equal to the fourth threshold, it is determined that the pixel pair is not a similar pixel pair.
  18. 根据权利要求8至17中任一项所述的方法,其特征在于,所述对所述当前子图块进行光照变换,得到光照变换后的子图块,包括:The method according to any one of claims 8 to 17, characterized in that performing illumination transformation on the current sub-image block to obtain the sub-image block after illumination transformation comprises:
    确定所述当前子图块使用的目标变换方式;Determine a target transformation mode used by the current sub-block;
    确定所述当前子图块使用的目标变换参数;Determining target transformation parameters used by the current sub-block;
    基于所述目标变换方式和所述目标变换参数,对所述当前子图块进行光照变换并得到所述光照变换后的子图块。Based on the target transformation mode and the target transformation parameters, the current sub-image block is subjected to illumination transformation to obtain the sub-image block after illumination transformation.
  19. 根据权利要求18所述的方法,其特征在于,所述目标变换方式为默认的变换方式。The method according to claim 18 is characterized in that the target transformation mode is a default transformation mode.
  20. 根据权利要求18所述的方法,其特征在于,所述目标变换参数为所述目标变换方式默认使用的变换参数。The method according to claim 18 is characterized in that the target transformation parameters are transformation parameters used by default in the target transformation method.
  21. 根据权利要求18所述的方法,其特征在于,所述基于所述目标变换方式和所述目标变换参数,对所述当前子图块进行光照变换并得到所述光照变换后的子图块,包括:The method according to claim 18, characterized in that the step of performing illumination transformation on the current sub-image block based on the target transformation mode and the target transformation parameters and obtaining the sub-image block after illumination transformation comprises:
    基于所述目标变换方式和所述目标变换参数,对所述当前子图块中像素的属性信息的对比度进行调整,得到所述光照变换后的子图块;其中,所述光照变换后的子图块中像素的属性信息之间的对比度小于所述当前子图块中像素的属性信息之间的对比度。Based on the target transformation mode and the target transformation parameters, the contrast of the attribute information of the pixels in the current sub-image block is adjusted to obtain the sub-image block after the illumination transformation; wherein the contrast between the attribute information of the pixels in the sub-image block after the illumination transformation is smaller than the contrast between the attribute information of the pixels in the current sub-image block.
  22. 根据权利要求8至21中任一项所述的方法,其特征在于,所述对所述光照变换后的子图块进行编码,得到码流,包括:The method according to any one of claims 8 to 21, characterized in that encoding the sub-image block after the illumination transformation to obtain a bit stream comprises:
    将所述光照变换后的子图块与基础视图进行拼接,得到拼接图像;Splicing the sub-image block after the illumination transformation with the base view to obtain a spliced image;
    对所述拼接图像中的像素和所述光照变换后的子图块中的像素进行编码,得到所述码流。The pixels in the spliced image and the pixels in the sub-image block after the illumination transformation are encoded to obtain the code stream.
  23. 一种解码器,其特征在于,包括:A decoder, comprising:
    解码单元,用于对码流解码,确定当前图像中的当前子图块;A decoding unit, used for decoding the code stream and determining a current sub-block in a current image;
    确定单元,用于确定是否对所述当前子图块进行光照变换;A determination unit, used to determine whether to perform illumination transformation on the current sub-block;
    变换单元,用于在确定对所述当前子图块进行光照变换时,对所述当前子图块进行光照变换,得到 光照变换后的子图块。A transformation unit is used to perform a lighting transformation on the current sub-image block when it is determined that the current sub-image block is to be subjected to a lighting transformation, so as to obtain a sub-image block after the lighting transformation.
  24. 一种编码器,其特征在于,包括:An encoder, characterized in that it comprises:
    第一确定单元,用于确定当前图像中的当前子图块;A first determining unit, configured to determine a current sub-block in a current image;
    第二确定单元,用于确定是否对所述当前子图块进行光照变换;A second determining unit, used to determine whether to perform illumination transformation on the current sub-block;
    变换单元,用于在确定对所述当前子图块进行光照变换时,对所述当前子图块进行光照变换,得到光照变换后的子图块;A transformation unit, configured to perform a lighting transformation on the current sub-image block to obtain a sub-image block after the lighting transformation when it is determined to perform a lighting transformation on the current sub-image block;
    编码单元,用于对所述光照变换后的子图块进行编码,得到码流。The encoding unit is used to encode the sub-image block after the illumination transformation to obtain a code stream.
  25. 一种电子设备,其特征在于,包括:An electronic device, comprising:
    处理器,适于执行计算机程序;a processor adapted to execute a computer program;
    计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现根据权利要求1至7中任一项所述的方法或根据权利要求8至21中任一项所述的方法。A computer-readable storage medium having a computer program stored therein, wherein when the computer program is executed by the processor, the method according to any one of claims 1 to 7 or the method according to any one of claims 8 to 21 is implemented.
  26. 一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行根据权利要求1至7中任一项所述的方法或根据权利要求8至21中任一项所述的方法。A computer-readable storage medium, characterized in that it is used to store a computer program, wherein the computer program enables a computer to execute the method according to any one of claims 1 to 7 or the method according to any one of claims 8 to 21.
  27. 一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现根据权利要求1至7中任一项所述的方法或根据权利要求8至21中任一项所述的方法。A computer program product, comprising a computer program/instruction, characterized in that when the computer program/instruction is executed by a processor, the method according to any one of claims 1 to 7 or the method according to any one of claims 8 to 21 is implemented.
  28. 一种码流,其特征在于,所述码流为根据权利要求1至7中任一项所述的方法中的码流或根据权利要求8至21中任一项所述的方法生成的码流。A code stream, characterized in that the code stream is a code stream in the method according to any one of claims 1 to 7 or a code stream generated by the method according to any one of claims 8 to 21.
PCT/CN2022/125476 2022-10-14 2022-10-14 Decoding method, encoding method, decoder, and encoder WO2024077611A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/125476 WO2024077611A1 (en) 2022-10-14 2022-10-14 Decoding method, encoding method, decoder, and encoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/125476 WO2024077611A1 (en) 2022-10-14 2022-10-14 Decoding method, encoding method, decoder, and encoder

Publications (1)

Publication Number Publication Date
WO2024077611A1 true WO2024077611A1 (en) 2024-04-18

Family

ID=90668563

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/125476 WO2024077611A1 (en) 2022-10-14 2022-10-14 Decoding method, encoding method, decoder, and encoder

Country Status (1)

Country Link
WO (1) WO2024077611A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104471941A (en) * 2012-07-09 2015-03-25 联发科技股份有限公司 Method and apparatus of inter-view sub-partition prediction in 3d video coding
CN105122796A (en) * 2013-04-12 2015-12-02 联发科技(新加坡)私人有限公司 Method of error-resilient illumination compensation for three-dimensional video coding
US20160021393A1 (en) * 2013-04-12 2016-01-21 Mediatek Singapore Pte. Ltd. Method of Error-Resilient Illumination Compensation for Three- Dimensional Video Coding
CN108989815A (en) * 2014-03-19 2018-12-11 株式会社Kt The method and decoding apparatus for merging candidate list are generated for multiview video signal
US20190379856A1 (en) * 2018-06-08 2019-12-12 Lg Electronics Inc. Method for processing overlay in 360-degree video system and apparatus for the same
CN113365077A (en) * 2020-03-04 2021-09-07 Oppo广东移动通信有限公司 Inter-frame prediction method, encoder, decoder, computer-readable storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104471941A (en) * 2012-07-09 2015-03-25 联发科技股份有限公司 Method and apparatus of inter-view sub-partition prediction in 3d video coding
CN105122796A (en) * 2013-04-12 2015-12-02 联发科技(新加坡)私人有限公司 Method of error-resilient illumination compensation for three-dimensional video coding
US20160021393A1 (en) * 2013-04-12 2016-01-21 Mediatek Singapore Pte. Ltd. Method of Error-Resilient Illumination Compensation for Three- Dimensional Video Coding
CN108989815A (en) * 2014-03-19 2018-12-11 株式会社Kt The method and decoding apparatus for merging candidate list are generated for multiview video signal
US20190379856A1 (en) * 2018-06-08 2019-12-12 Lg Electronics Inc. Method for processing overlay in 360-degree video system and apparatus for the same
CN113365077A (en) * 2020-03-04 2021-09-07 Oppo广东移动通信有限公司 Inter-frame prediction method, encoder, decoder, computer-readable storage medium

Similar Documents

Publication Publication Date Title
US10819971B2 (en) Mapping of spherical image data into rectangular faces for transport and decoding across networks
US20220180477A1 (en) Video super-resolution processing method and apparatus
CN106331850A (en) Browser live broadcast client, browser live broadcast system and browser live broadcast method
JP2014535191A (en) System and method for encoding and decoding bright-field image files
CN110012310B (en) Free viewpoint-based encoding and decoding method and device
Yin et al. Deep prior guided network for high-quality image fusion
CN111047709A (en) Binocular vision naked eye 3D image generation method
US20230100615A1 (en) Video processing method and apparatus, and device, decoder, system and storage medium
US20200351507A1 (en) Method and apparatus for decoding video bitstream, method and apparatus for generating video bitstream, storage medium, and electronic device
WO2020142456A1 (en) Methods and apparatus for optimized stitching of overcapture content
WO2023202200A1 (en) Method for reconstructing hdr images, terminal, and electronic device
JP2021525032A (en) Image processing method, equipment and 3D imaging system
CN110392266B (en) Light field video coding method based on pseudo video sequence, terminal equipment and storage medium
CN114298942A (en) Image deblurring method and device, computer readable medium and electronic equipment
WO2023089510A1 (en) Method and apparatus for image processing, electronic device, storage medium, program and product
WO2024077611A1 (en) Decoding method, encoding method, decoder, and encoder
Tel et al. Alignment-free hdr deghosting with semantics consistent transformer
CN112184587A (en) Edge data enhancement model, and efficient edge data enhancement method and system based on model
WO2023280266A1 (en) Fisheye image compression method, fisheye video stream compression method and panoramic video generation method
CN116485944A (en) Image processing method and device, computer readable storage medium and electronic equipment
CN108550110B (en) Panorama stitching method and device based on RAW image and electronic equipment
CN113538237A (en) Image splicing system and method and electronic equipment
WO2023142132A1 (en) Resolution-based decoding and encoding methods, decoder, and encoder
CN112489170A (en) Special effect distortion processing method and device, electronic equipment and medium
WO2022073159A1 (en) Feature data encoding method, apparatus and device, feature data decoding method, apparatus and device, and storage medium

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

Country of ref document: EP

Kind code of ref document: A1