Search

US-12627801-B2 - Method and apparatus for encoding and decoding a video stream with subpictures

US12627801B2US 12627801 B2US12627801 B2US 12627801B2US-12627801-B2

Abstract

An encoding method comprising the encoding of information allowing the decoder to infer the splitting of CTBs located at the right, respectively the bottom of a subpicture, which width, respectively height, is not a multiple of the size of the CTBs, when the subpicture is not located at the right, respectively the bottom, of the image. Corresponding decoding methods for the generated bitstream are also proposed.

Inventors

  • Naël Ouedraogo
  • Franck Denoual

Assignees

  • CANON KABUSHIKI KAISHA

Dates

Publication Date
20260512
Application Date
20240910
Priority Date
20190917

Claims (20)

  1. 1 . A method of encoding video data comprising pictures into a bitstream, pictures being divided into subpictures each including one or more slices, the method comprising: encoding, in a sequence parameter set of the bitstream, a first flag indicating whether information of a subpicture is present; when a value of the first flag is 1, encoding, in the sequence parameter set of the bitstream, a second flag related to a constraint of subpictures; when a value of the second flag is 0, encoding, for a given subpicture in a picture, a third flag and a fourth flag in the sequence parameter set of the bitstream, the third flag indicating whether in-loop filtering operations across subpicture boundaries is enabled and the fourth flag indicating whether the given subpicture is treated as a picture in decoding process excluding in-loop filtering operations, wherein the third flag and the fourth flag are not encoded in the sequence parameter set of the bitstream when the value of the second flag is 1; and encoding coding tree blocks composing the pictures into the bitstream, wherein information for specifying a height of a subpicture is capable of being encoded in the sequence parameter set.
  2. 2 . The method of claim 1 , wherein the second flag is related to all the subpictures.
  3. 3 . The method of claim 1 , wherein subpictures are further identified with a subpicture identifier.
  4. 4 . The method of claim 3 , wherein subpicture identifiers defined in picture parameter sets must be identical in all the picture parameter sets.
  5. 5 . The method of claim 1 , wherein the second flag is associated with a particular profile.
  6. 6 . The method of claim 1 , wherein the method comprises: when the value of the second flag is 1, all the subpictures have borders constrained as picture borders and there is no loop filtering across the subpicture boundaries.
  7. 7 . The method of claim 1 , wherein the method further comprises for at least one subpicture: encoding in the bitstream an information indicating a conformance window for the subpicture.
  8. 8 . The method of claim 1 , wherein when the value of the second flag is 1, the value of the third flag is inferred to be 0 and the value of the fourth flag is inferred to be 1, wherein the third flag, having the value of 0, indicates that the in-loop filtering operations are not performed across boundaries of the given subpicture, and wherein the fourth flag, having the value of 1, indicates that the given subpicture is treated as a picture in the decoding process excluding in-loop filtering operations.
  9. 9 . The method of claim 1 , wherein the third flag is a loop filter across subpic enabled flag, and the fourth flag is a subpic treated as pic flag.
  10. 10 . The method of claim 1 , wherein when the value of the second flag is equal to 1, subpicture boundaries of the subpictures are treated as picture boundaries.
  11. 11 . A method of decoding a bitstream of video data comprising pictures, pictures being divided into subpictures each including one or more slices, the method comprising: decoding, from a sequence parameter set of the bitstream, a first flag indicating whether information of a subpicture is present; when a value of the first flag is 1, decoding, from the sequence parameter set of the bitstream, a second flag related to a constraint of subpictures; when a value of the second flag is 0, decoding, for a given subpicture in a picture, a third flag and a fourth flag from the sequence parameter set of the bitstream, the third flag indicating whether in-loop filtering operations across subpicture boundaries is enabled, and the fourth flag indicating whether the given subpicture is treated as a picture in decoding process excluding in-loop filtering operations, wherein the third flag and the fourth flag are not decoded from the sequence parameter set of the bitstream when the value of the second flag is 1; and decoding the bitstream at least based on the first flag, wherein information for specifying a height of a subpicture is capable of being decoded from the sequence parameter set.
  12. 12 . The method of claim 11 , wherein the method comprises: when the value of the second flag is 1, all the subpictures have boundaries constrained as picture boundaries and there is no loop filtering across the subpicture boundaries.
  13. 13 . The method of claim 11 , wherein the second flag is related to all the subpictures.
  14. 14 . The method of claim 11 , wherein when the value of the second flag is 1, the value of the third flag is inferred to be 0 and the value of the fourth flag is inferred to be 1, wherein the third flag, having the value of 0, indicates that the in-loop filtering operations are not performed across boundaries of the given subpicture, and wherein the fourth flag, having the value of 1, indicates that the given subpicture is treated as a picture in the decoding process excluding in-loop filtering operations.
  15. 15 . The method of claim 11 , wherein the third flag is a loop filter across subpic enabled flag, and the fourth flag is a subpic treated as pic flag.
  16. 16 . The method of claim 11 , wherein when the value of the second flag is equal to 1, subpicture boundaries of the subpictures are treated as picture boundaries.
  17. 17 . A device for encoding video data comprising pictures into a bitstream, pictures being divided into subpictures each including one or more slices, the device comprising a processor configured to execute: encoding, in a sequence parameter set of the bitstream, a first flag indicating whether information of a subpicture is present; when a value of the first flag is 1, encoding, in the sequence parameter set of the bitstream, a second flag related to a constraint of subpictures; when a value of the second flag is 0, encoding, for a given subpicture in a picture, a third flag and a fourth flag in the sequence parameter set of the bitstream, the third flag indicating whether in-loop filtering operations across subpicture boundaries is enabled and the fourth flag indicating whether the given subpicture is treated as a picture in decoding process excluding in-loop filtering operations, wherein the third flag and the fourth flag are not encoded in the sequence parameter set of the bitstream when the value of the second flag is 1; and encoding coding tree blocks composing the pictures into the bitstream, wherein information for specifying a height of a subpicture is capable of being encoded in the sequence parameter set.
  18. 18 . A device for decoding a bitstream of video data comprising pictures, pictures being divided into subpictures each including one or more slices, the devices comprising a processor configured for: decoding, from a sequence parameter set of the bitstream, a first flag indicating whether information of a subpicture is present; when a value of the first flag is 1, decoding, from the sequence parameter set of the bitstream, a second flag related to a constraint of subpictures; when a value of the second flag is 0, decoding, for a given subpicture in a picture, a third flag and a fourth flag from the sequence parameter set of the bitstream, the third flag indicating whether in-loop filtering operations across subpicture boundaries is enabled, and the fourth flag indicating whether the given subpicture is treated as a picture in decoding process excluding in-loop filtering operations, wherein the third flag and the fourth flag are not decoded from the sequence parameter set of the bitstream when the value of the second flag is 1; and decoding the bitstream at least based on the first flag, wherein information for specifying a height of a subpicture is capable of being decoded from the sequence parameter set.
  19. 19 . A non-transitory computer-readable storage medium storing instructions of a computer program for implementing a method, the method comprising: encoding, in a sequence parameter set of the bitstream, a first flag indicating whether information of a subpicture is present; when a value of the first flag is 1, encoding, in the sequence parameter set of the bitstream, a second flag related to a constraint of subpictures; when a value of the second flag is 0, encoding, for a given subpicture in a picture, a third flag and a fourth flag in the sequence parameter set of the bitstream, the third flag indicating whether in-loop filtering operations across subpicture boundaries is enabled and the fourth flag indicating whether the given subpicture is treated as a picture in decoding process excluding in-loop filtering operations, wherein the third flag and the fourth flag are not encoded in the sequence parameter set of the bitstream when the value of the second flag is 1; and encoding coding tree blocks composing the pictures into the bitstream, wherein information for specifying a height of a subpicture is capable of being encoded in the sequence parameter set.
  20. 20 . A non-transitory computer-readable storage medium storing instructions of a computer program for implementing a method, the method comprising: decoding, from a sequence parameter set of the bitstream, a first flag indicating whether information of a subpicture is present; when a value of the first flag is 1, decoding, from the sequence parameter set of the bitstream, a second flag related to a constraint of subpictures; when a value of the second flag is 0, decoding, for a given subpicture in a picture, a third flag and a fourth flag from the sequence parameter set of the bitstream, the third flag indicating whether in-loop filtering operations across subpicture boundaries is enabled, and the fourth flag indicating whether the given subpicture is treated as a picture in decoding process excluding in-loop filtering operations, wherein the third flag and the fourth flag are not decoded from the sequence parameter set of the bitstream when the value of the second flag is 1; and decoding the bitstream at least based on the first flag, wherein information for specifying a height of a subpicture is capable of being decoded from the sequence parameter set.

Description

CROSS REFERENCE TO RELATED APPLICATION This application is a Continuation application of U.S. patent application Ser. No. 17/642,535, filed on Mar. 11, 2022, which is the National Phase application of PCT Application No. PCT/EP2020/074912, filed on Sep. 7, 2020 and entitled “METHOD AND APPARATUS FOR ENCODING AND DECODING A VIDEO STREAM WITH SUBPICTURES”. This application claims the benefit under 35 U.S.C. § 119(a)-(d) of United Kingdom Patent Application No. 1913403.0, filed on Sep. 17, 2019, United Kingdom Patent Application No. 1913976.5, filed on Sep. 27, 2019, and United Kingdom Patent Application No. 1918661.8, filed on Dec. 17, 2019. The above-cited patent applications are incorporated herein by reference in their entirety. BACKGROUND OF THE INVENTION The present disclosure concerns a method and a device for encoding and decoding a video bitstream that facilitates the displacement of subpictures. It concerns more particularly the encoding and decoding of a video bitstream resulting of the merging of subpictures coming from different video bitstreams. The size of an image in a video bitstream may not correspond to a multiple of the size of the coding tree blocks (CTBs) used in the encoding process. The CTBs may be split recursively at encoding, in particular to find the coding block size that optimize the encoding process. Accordingly, a CTB may be divided until the smallest coding block size. When the size of the image is not a multiple of the size of the CTB, the right or bottom boundary of the image crosses the rightmost, or bottommost CTBs. In this case, an inferred split of the CTBs is provided. The coding blocks falling outside the image are typically not encoded. When considering the division of the image into subpicture, the rightmost or bottommost subpicture may contain incomplete CTBs subject to an inferred splitting comprising some not-encoded coding blocks. The decoder is provided in the bitstream with the size of the image in pixels, and the size of the CTBs. Accordingly, the decoder may determine the exact location of the right and bottom boundary of the image and execute the inferred splitting of the rightmost and bottommost CTBs in the image. When considering the displacement of a subpicture located at the right or bottom boundary of the image elsewhere in the image, as the size of the subpicture is provided as an integer number of CTBs, the decoder cannot infer the splitting of the rightmost or bottommost CTBs and the identification of the missing coding blocks. The decoding fails. The present invention has been devised to address one or more of the foregoing concerns. It is proposed an encoding method comprising the encoding of information allowing the decoder to infer the splitting of CTBs located at the right, respectively the bottom of a subpicture, which width, respectively height, is not a multiple of the size of the CTBs, when the subpicture is not located at the right, respectively the bottom, of the image. Corresponding decoding methods for the generated bitstream are also proposed. BRIEF SUMMARY OF THE INVENTION According to an aspect of the invention, it is provided a method of encoding video data comprising pictures into a bitstream, pictures being divided into subpictures, the method comprising for at least one subpicture: encoding in the bitstream an information indicating that the picture has a size that is a multiple of the size of the coding tree block and that the subpicture is independently decodable;encoding the coding tree blocks composing the subpicture into the bitstream. In an embodiment, the information is related to all the subpictures. In an embodiment, the information is defined in a sequence parameter set, the sequence parameter set being a syntax structure containing syntax elements that apply to pictures of the bitstream. In an embodiment, subpictures are further identified with a subpicture identifier. In an embodiment, defining the subpicture identifiers in a picture header is prohibited. In an embodiment, subpicture identifiers defined in picture parameter sets must be identical in all the picture parameter sets. In an embodiment, the information is associated with a particular profile. According to another aspect of the invention, it is provided a method of encoding video data comprising pictures into a bitstream, pictures being divided into subpictures, the method comprising for at least one subpicture: encoding in the bitstream an information indicating a conformance window for the subpicture;encoding the coding tree blocks composing the subpicture into the bitstream. In an embodiment, the information indicating a conformance window is defined in a SEI message. In an embodiment, the information defines for the subpicture a left offset, a right offset, a top offset, and a bottom offset. According to another aspect of the invention, it is provided a method of encoding video data comprising pictures into a bitstream, pictures being divided into subpict