Decoding variable coded resolution video with native range/resolution post-processing operation
First Claim
1. A method of decoding video using a computing device that implements a video decoder, comprising:
- with the computing device that implements the video decoder, parsing plural syntax elements from a sequence header for a video bit stream, where the sequence header is integral to the video bit stream, the video bit stream having a plurality of entry point segments of a video sequence, at least one of said entry point segments comprising coded content of a group of pictures separate from that of another of said entry point segments of the video sequence, and wherein the plural syntax elements parsed from the sequence header include plural coded resolution syntax elements that indicate a maximum coded width and a maximum coded height for the video sequence;
with the computing device that implements that video decoder, decoding one of the entry point segments of the video sequence, wherein values of the pictures in the entry point segment have a first range, and wherein the decoding includes;
for the entry point segment, determining whether to use the maximum coded width and the maximum coded height for the video sequence as coded width and coded height, respectively, for the pictures of the entry point segment, and, if not, determining the coded width and the coded height for the pictures of the entry point segment from plural coded resolution syntax elements of an entry point header for the entry point segment; and
decoding the pictures of the entry point segment;
with the computing device that implements that video decoder, applying one or more post-processing operations to the respective pictures of the decoded entry point segment, including performing range remapping to remap the values of the respective pictures from the first range to a second range, wherein the one or more post-processing operations further comprise a color conversion operation; and
with the computing device that implements that video decoder, reconstructing at least part of the video sequence with the decoded entry point segment.
2 Assignments
0 Petitions
Accused Products
Abstract
A video codec provides for encoding and decoding pictures of a video sequence at various coded resolutions, such that pictures can be encoded at lower coded resolutions based on bit rate or other constraints while maintaining a consistent display resolution. The video codec further provide for encoding and decoding pictures of the video sequence at ranges lower than that used for display, and then expanding the range after decoding for display. The video codec applies post-processing operations, such as de-blocking, de-ringing, and color conversion, at the native resolution and range of the decoded video, prior to range expansion and upsampling for display.
60 Citations
20 Claims
-
1. A method of decoding video using a computing device that implements a video decoder, comprising:
-
with the computing device that implements the video decoder, parsing plural syntax elements from a sequence header for a video bit stream, where the sequence header is integral to the video bit stream, the video bit stream having a plurality of entry point segments of a video sequence, at least one of said entry point segments comprising coded content of a group of pictures separate from that of another of said entry point segments of the video sequence, and wherein the plural syntax elements parsed from the sequence header include plural coded resolution syntax elements that indicate a maximum coded width and a maximum coded height for the video sequence; with the computing device that implements that video decoder, decoding one of the entry point segments of the video sequence, wherein values of the pictures in the entry point segment have a first range, and wherein the decoding includes; for the entry point segment, determining whether to use the maximum coded width and the maximum coded height for the video sequence as coded width and coded height, respectively, for the pictures of the entry point segment, and, if not, determining the coded width and the coded height for the pictures of the entry point segment from plural coded resolution syntax elements of an entry point header for the entry point segment; and decoding the pictures of the entry point segment; with the computing device that implements that video decoder, applying one or more post-processing operations to the respective pictures of the decoded entry point segment, including performing range remapping to remap the values of the respective pictures from the first range to a second range, wherein the one or more post-processing operations further comprise a color conversion operation; and with the computing device that implements that video decoder, reconstructing at least part of the video sequence with the decoded entry point segment. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A video decoder, comprising:
-
means for reading elements specifying a maximum coded resolution for a video sequence from a sequence header of the video sequence in a compressed video bit stream, the video sequence having a plurality of entry point segments for separate sub-sequences of pictures of the video sequence, each of the entry point segments being marked by a separate entry point and having coded content of a group of at least one picture, at least two of the entry point segments having coded content of separate groups of at least one picture; means for reading a flag indicative of whether all of one of the entry point segments in the video sequence is encoded at a lower coded resolution, the flag being signaled in an entry point header for the entry point segment; means for reading elements specifying the lower coded resolution from the entry point header for the entry point segment when indicated for the entry point segment by the flag; means for decoding the at least one picture of the entry point segment; means for reading elements in the compressed video bit stream specifying whether post-processing is to be performed for the at least one picture of the entry point segment, wherein the elements specifying whether post-processing is to be performed comprise bits encoding whether to perform de blocking, de ringing, de blocking and de-ringing, or neither; means for optionally applying a post-processing operation to the at least one decoded picture while at the lower coded resolution, wherein the means for optionally applying the post-processing operation applies the post-processing operation in accordance with the elements specifying whether post-processing is to be performed; and means for up-sampling the at least one picture of the entry point segment from the lower coded resolution to the maximum coded resolution of the video sequence after said optionally applying the post-processing operation. - View Dependent Claims (13)
-
-
14. A method of decoding video using a computing device that implements a video decoder, comprising:
-
with the computing device that implements the video decoder, parsing plural syntax elements from a sequence header for a video bit stream, where the sequence header is integral to the video bit stream, the video bit stream having a plurality of entry point segments of a video sequence, at least one of said entry point segments comprising coded content of a group of pictures separate from that of another of said entry point segments of the video sequence, and wherein the plural syntax elements parsed from the sequence header include plural coded resolution syntax elements that indicate a maximum coded width and a maximum coded height for the video sequence; with the computing device that implements that video decoder, decoding one of the entry point segments of the video sequence, wherein values of the pictures in the entry point segment have a first range, and wherein the decoding includes; for the entry point segment, determining whether to use the maximum coded width and the maximum coded height for the video sequence as coded width and coded height, respectively, for the pictures of the entry point segment, and, if not, determining the coded width and the coded height for the pictures of the entry point segment from plural coded resolution syntax elements of an entry point header for the entry point segment; and decoding the pictures of the entry point segment, including for each of the pictures of the entry point segment, decoding a post-processing operation-signaling syntax element signaling whether one or more post-processing operations are to be applied to the respective pictures of the decoded entry point segment, wherein the post-processing operation-signaling syntax element signals to optionally apply de-blocking, de-ringing, or a combination of de-blocking and de-ringing; and with the computing device that implements that video decoder, applying one or more post-processing operations to the respective pictures of the decoded entry point segment, including performing range remapping to remap the values of the respective pictures from the first range to a second range, and further including for each of the respective pictures, applying the post-processing operations as signaled by the post-processing operation-signaling syntax element for that picture; and with the computing device that implements that video decoder, reconstructing at least part of the video sequence with the decoded entry point segment. - View Dependent Claims (15, 16, 17)
-
-
18. A method of decoding video using a computing device that implements a video decoder, comprising:
-
with the computing device that implements the video decoder, parsing plural syntax elements from a sequence header for a video bit stream, where the sequence header is integral to the video bit stream, the video bit stream having a plurality of entry point segments of a video sequence, at least one of said entry point segments comprising coded content of a group of pictures separate from that of another of said entry point segments of the video sequence, and wherein the plural syntax elements parsed from the sequence header include plural coded resolution syntax elements that indicate a maximum coded width and a maximum coded height for the video sequence; with the computing device that implements that video decoder, decoding one of the entry point segments of the video sequence, wherein values of the pictures in the entry point segment have a first range, and wherein the decoding includes; for the entry point segment, determining whether to use the maximum coded width and the maximum coded height for the video sequence as coded width and coded height, respectively, for the pictures of the entry point segment, and, if not, determining the coded width and the coded height for the pictures of the entry point segment from plural coded resolution syntax elements of an entry point header for the entry point segment; and decoding the pictures of the entry point segment; with the computing device that implements that video decoder, applying one or more post-processing operations to the respective pictures of the decoded entry point segment, including performing range remapping to remap the values of the respective pictures from the first range to a second range, wherein the one or more post-processing operations further comprise one or more de-ringing filter stages; and with the computing device that implements that video decoder, reconstructing at least part of the video sequence with the decoded entry point segment. - View Dependent Claims (19, 20)
-
Specification