Efficient repeat padding for hybrid video sequence with arbitrary video resolution
First Claim
1. A method of repeat padding for hybrid video sequences by a video codec device having a processor and a memory, comprising:
- with the video codec device, encoding a hybrid video sequence having plural frames, the plural frames of the video sequence including both progressive frames and interlaced frames, wherein the encoding the hybrid video sequence includes;
setting a maximum coded width and maximum coded height for the video sequence;
for an entry point segment, determining whether to signal coded width and coded height for the entry point segment apart from signaling of the maximum coded width and the maximum coded height, respectively, for the video sequence and, if so, setting the coded width and the coded height for the entry point segment;
determining an active content frame size for a first frame, wherein the active content frame size is a resolution in terms of pixels, wherein the active content frame size of the first frame is indicated by the coded width and the coded height for the entry point segment if the coded width and the coded height for the entry point segment are set, and otherwise the active content frame size is indicated by the maximum coded width and the maximum coded height for the video sequence;
encoding and decoding the first frame, the first frame having a macroblock-aligned vertical size that depends at least in part on frame coding mode of the first frame, wherein the decoded first frame is used as a reference frame;
if the reference frame was coded as a frame of progressive video, expanding from the active content frame size of the reference frame using a first form of repeat padding, wherein the first form of repeat padding includes repeating a last row of active content of the reference frame, the active content being pixels in an area defined by the active content frame size;
if the reference frame was coded as separate fields of interlaced video or frame of interlaced video, expanding from the active content frame size of the reference frame using a second form of repeat padding, wherein the second form of repeat padding includes repeating a last row of each field of the active content of the reference frame; and
for a second frame of plural frames of the entry point segment, setting a frame coding mode that indicates whether the second frame is coded as a frame of progressive video, coded as separate fields of interlaced video or coded as a frame of interlaced video, and encoding the second frame using motion compensation relative to the reference frame; and
outputting, from the video codec device, encoded data for the video sequence in an output bitstream.
2 Assignments
0 Petitions
Accused Products
Abstract
A video codec provides efficient repeat padding of hybrid video sequences having arbitrary video resolution. The video codec repeat pads to expand the active content of pictures in the video sequence out to meet an adaptive vertical macroblock alignment restriction that varies by picture type. For progressive type pictures, the video codec repeats the last row or horizontal boundary edge of the active content. For interlaced type pictures, the video coded repeats the last two rows (last row of each interlaced field) of the active content. This repeat padding differing by picture type provides a better prediction (lower prediction error residual) for macroblocks in following predicted frames whose motion vector points into the padded region.
49 Citations
16 Claims
-
1. A method of repeat padding for hybrid video sequences by a video codec device having a processor and a memory, comprising:
-
with the video codec device, encoding a hybrid video sequence having plural frames, the plural frames of the video sequence including both progressive frames and interlaced frames, wherein the encoding the hybrid video sequence includes; setting a maximum coded width and maximum coded height for the video sequence; for an entry point segment, determining whether to signal coded width and coded height for the entry point segment apart from signaling of the maximum coded width and the maximum coded height, respectively, for the video sequence and, if so, setting the coded width and the coded height for the entry point segment; determining an active content frame size for a first frame, wherein the active content frame size is a resolution in terms of pixels, wherein the active content frame size of the first frame is indicated by the coded width and the coded height for the entry point segment if the coded width and the coded height for the entry point segment are set, and otherwise the active content frame size is indicated by the maximum coded width and the maximum coded height for the video sequence; encoding and decoding the first frame, the first frame having a macroblock-aligned vertical size that depends at least in part on frame coding mode of the first frame, wherein the decoded first frame is used as a reference frame; if the reference frame was coded as a frame of progressive video, expanding from the active content frame size of the reference frame using a first form of repeat padding, wherein the first form of repeat padding includes repeating a last row of active content of the reference frame, the active content being pixels in an area defined by the active content frame size; if the reference frame was coded as separate fields of interlaced video or frame of interlaced video, expanding from the active content frame size of the reference frame using a second form of repeat padding, wherein the second form of repeat padding includes repeating a last row of each field of the active content of the reference frame; and for a second frame of plural frames of the entry point segment, setting a frame coding mode that indicates whether the second frame is coded as a frame of progressive video, coded as separate fields of interlaced video or coded as a frame of interlaced video, and encoding the second frame using motion compensation relative to the reference frame; and outputting, from the video codec device, encoded data for the video sequence in an output bitstream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 11, 12, 13)
-
-
9. A method of padding for hybrid video sequences in a video codec, comprising:
-
with the video codec, determining a picture type of a frame in an entry point segment of a hybrid video sequence comprising progressive frames and interlaced frames, wherein the determining the picture type is based at least in part upon a frame coding mode for the frame; with the video codec, determining an active content frame size for the frame, wherein the active content frame size is a resolution in terms of pixels, wherein the active content frame size of the frame is indicated by a coded width and a coded height for the entry point segment if the coded width and the coded height for the entry point segment are set, and otherwise the active content frame size is indicated by a maximum coded width and a maximum coded height for the video sequence; with the video codec, varying a selection of padding content with which the frame of the hybrid video sequence is padded based on the determined picture type of the frame, wherein a first form of padding is used if the frame is a progressive frame, and a second form of padding is used if the frame is an interlaced frame, and wherein the varying the padding content selection further comprises; if the frame is a progressive frame, selecting a last row of active content in the frame as the padding content selection, the active content being pixels in an area defined by the active content frame size; and if the frame is an interlaced frame, selecting a last row of each field of the active content in the frame as the padding content selection; and with the video codec, repeatedly adding the padding content selection after the active content in the frame to expand the frame to a first padded frame size which is a next multiple of a macroblock height if the frame is a progressive frame, and to a second padded frame size which is a next multiple of twice the macroblock height if the frame is an interlaced frame. - View Dependent Claims (10)
-
-
14. A method of repeat padding for hybrid video sequences by a video decoder device having a processor and a memory, comprising:
-
receiving, at the video decoder device, encoded data in a bitstream for a hybrid video sequence having plural frames, the plural frames of the video sequence including both progressive frames and interlaced frames; and with the video decoder device, decoding at least some of the encoded data, including; determining a maximum coded width and maximum coded height for the video sequence; for an 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 entry point segment, and, if not, determining the coded width and the coded height for the entry point segment; determining an active content frame size for a first frame, wherein the active content frame size is a resolution in terms of pixels, wherein the active content frame size of the first frame is indicated by the coded width and the coded height for the entry point segment if the coded width and the coded height for the entry point segment are used, and otherwise the active content frame size is indicated by the maximum coded width and the maximum coded height for the video sequence; decoding the first frame, the first frame having a macroblock-aligned vertical size that depends at least in part on frame coding mode of the first frame, wherein the decoded first frame is used as a reference frame; if the reference frame was coded as a frame of progressive video, expanding from the active content frame size of the reference frame using a first form of repeat padding, wherein the first form of repeat padding includes repeating a last row of active content of the reference frame, the active content being pixels in an area defined by the active content frame size; if the reference frame was coded as separate fields of interlaced video or frame of interlaced video, expanding from the active content frame size of the reference frame using a second form of repeat padding, wherein the second form of repeat padding includes repeating a last row of each field of the active content of the reference frame; and for a second frame of plural frames of the entry point segment, decoding the second frame using motion compensation relative to the reference frame. - View Dependent Claims (15, 16)
-
Specification