Adaptive video data frame resampling
AssigneeMicrosoft Corporation
InventorsAnkur Varma, Andrew Wayne Walters
Life of this patent
Estimating the term…
Abstract
The arrangements and procedures of this invention adaptively process video data. Specifically, at least first and second fields of an interlaced frame are deinterlaced to form intermediate progressive first and second frames. The first intermediate progressive frame includes scanlines of a first temporal instant. The second intermediate progressive frame includes scanlines of a second temporal instant. The first and second temporal instants are different from one another. The first and second intermediate progressive frames are independently resampled to form respective first and second resampled frames. Scanlines from the first and second resampled frames are interleaved to generate a resampled interlaced frame.
Claims16
A computer-based method to adaptively process video data, the method comprising:
- deinterlacing at least a first and a second field of an interlaced frame to form first and second frames, the first frame comprising scanlines of a first temporal instant, the second frame comprising scanlines of a second temporal instant that is different from the first temporal instant;
- independently resampling the first and second frames to form respective first and second resampled frames;
- interleaving scanlines from the first and second resampled frames to generate a resampled interlaced frame comprising at least first and second resampled fields;
- wherein the interlaced frame further comprises a third field from a third temporal instant that is different from at least the first and/or second temporal instants, and wherein deinterlacing further comprises:
- if the interlaced frame includes motion information, deinterlacing the interlaced frame using the first, second, and third fields to generate the first and second frame;
- and
- if the interlaced frame does not include motion information, deinterlacing the interlaced frame using the first and second fields to generate the first and second frame.
A computer-based method to adaptively process video data, the method comprising:
- deinterlacing at least a first and a second field of an interlaced frame to form first and second frames, the first frame comprising scanlines of a first temporal instant, the second frame comprising scanlines of a second temporal instant that is different from the first temporal instant;
- independently resampling the first and second frames to form respective first and second resampled frames;
- interleaving scanlines from the first and second resampled frames to generate a resampled interlaced frame comprising at least first and second resampled fields;
- if a top and a bottom field of the resampled interlaced frame are from a same temporal instance, filtering the resampled interlaced frame with a sharp filter, and
- if a top and a bottom field of the resampled interlaced frame represent different respective temporal instances, filtering the resampled interlaced frame with a smooth filter.
A computer-based method to adaptively process video data, the method comprising:
- determining whether a frame of received video data is interlaced or progressive;
- if the frame is an interlaced frame, generating a resampled interlaced frame as follows:
- deinterlacing at least a first and a second field of the interlaced frame to form first and second frames, the first frame comprising scanlines of a first temporal instant, the second frame comprising scanlines of a second temporal instant that is different from the first temporal instant;
- independently resampling the first and second frames to form respective first and second resampled frames;
- interleaving scanlines from the first and second resampled frames to generate the resampled interlaced frame comprising at least first and second resampled fields;
- and
- if the frame is a progressive frame, resampling the frame to generate a resampled progressive frame.
A computer-based method to adaptively process video data, the method comprising:
- deinterlacing at least a first and a second field of an interlaced frame to form first and second frames, the first frame comprising scanlines of a first temporal instant, the second frame comprising scanlines of a second temporal instant that is different from the first temporal instant;
- independently resampling the first and second frames to form respective first and second resampled frames;
- interleaving scanlines from the first and second resampled frames to generate a resampled interlaced frame comprising at least first and second resampled fields;
- and
- wherein deinterlacing further comprises adapting deinterlacing from 3-field deinterlacing to 2-field deinterlacing, the interlaced frame corresponding to a scene change, the scene change being identified by substantially non-visually correlated components between at least two of the first, second, and third fields.
A computer-based method to adaptively process video data the method comprising:
- deinterlacing at least a first and a second field of an interlaced frame to form first and second frames, the first frame comprising scanlines of a first temporal instant, the second frame comprising scanlines of a second temporal instant that is different from the first temporal instant;
- responsive to determining that visual content corresponding to a set of the received video data does not change a threshold amount across the set, adapting deinterlacing from 2-field deinterlacing to 3-field deinterlacing;
- and/or
- responsive to calculating that the set changes more than the threshold amount with respect to visual content, adapting deinterlacing from 3-field deinterlacing to 2-field deinterlacing;
- independently resampling the first and second frames to form respective first and second resampled frames;
- interleaving scanlines from the first and second resampled frames to generate a resampled interlaced frame comprising at least first and second resampled fields.
A computer-readable medium comprising computer-program instructions executable by a processor to adaptively process video data, the computer-program instructions comprising instructions for:
- selecting a particular deinterlacing criterion based on whether portions of video data in proximity to the interlaced frame include a threshold amount of motion compensation information, the particular deinterlacing criterion being selected from a first and a second deinterlacing criterion, selecting the particular deinterlacing criterion is being performed at a scene change identified by substantially non-visually correlated components between at least two fields of three fields of the interlaced frame;
- and
- deinterlacing the interlaced frame based on the particular deinterlacing criterion to generate at least one progressive frame.
A computer-readable medium comprising computer-program instructions executable by a processor to adaptively process video data, the computer-program instructions comprising instructions for:
- selecting a particular deinterlacing criterion based on whether portions of video data in proximity to the interlaced frame include a threshold amount of motion compensation information, the particular deinterlacing criterion being selected from a first and a second deinterlacing criterion;
- and
- deinterlacing the interlaced frame based on the particular deinterlacing criterion to generate at least one progressive frame, the at least one progressive frame is a first frame and a second frame, the first frame comprising scanlines from a first temporal instant, the second frame comprising scanlines from a second temporal instant, the first and second temporal instants being different from one another;
- resampling the first and second frames to form respective first and second resampled frames;
- and
- interleaving scanlines from the first and second resampled frames to generate a resampled interlaced frame.
A computer-readable medium comprising computer-program instructions executable by a processor to adaptively process video data, the computer-program instructions comprising instructions for:
- selecting a particular deinterlacing criterion based on whether portions of video data in proximity to the interlaced frame include a threshold amount of motion compensation information, the particular deinterlacing criterion being selected from a first and a second deinterlacing criterion;
- deinterlacing the interlaced frame based on the particular deinterlacing criterion to generate at least one progressive frame;
- and
- selectively filtering a resampled frame with a particular filter of a plurality of filters, the resampled frame being based on the at least one progressive frame, the particular filter being selected based on whether the resampled frame is a progressive or an interlaced frame.
A computing-device to adaptively process video data, the computing device comprising:
- a Processor coupled to a memory, the memory comprising computer-program instructions executable by the processor, the computer-program instructions comprising instructions for:
- adaptively resampling a frame of video data based on whether the frame is progressive or interlaced to generate a resampled frame;
- determining an output data format based on characteristics of a target display device, the output data format being a progressive or interlaced data format;
- if the corresponding resampled frame is not of the output data format, converting the resampled frame to the output data format;
- selecting a particular filter of a plurality of filters based on the output data format such that:
- if the output data format is interlaced and the resampled frame is interlaced, the particular filter is a smooth filter;
- if the output data format is progressive and an input frame corresponding to the resampled frame was interlaced, creating a resampled progressive frame from the resampled frame, the resampled progressive frame being the resampled frame, the particular filter being a sharp filter;
- if the output data format is interlaced and the resampled frame is progressive converting the resampled progressive frame to a resampled interlaced frame, the resampled interlaced frame being the resampled frame, and the particular filter being a smooth filter;
- if the output data format is progressive and the resampled frame is progressive, the particular filter being a sharp filter;
- filtering the resampled frame with the particular filter.
A computing device to adaptively process video data, the computing device comprising:
- a processor coupled to a memory, the memory comprising computer-program instructions executable by the processor, the computer-program instructions comprising instructions for:
- adaptively resampling a interlaced frame of video data to generate a resampled frame by:
- deinterlacing the interlaced frame to generate a plurality of intermediate frames;
- resampling the intermediate frames;
- and
- interlacing scanlines of the intermediate frames to generate the resampled frame;
- determining an output data format based on characteristics of a target display device, the output data format being a progressive or interlaced data format;
- if the corresponding resampled frame is not of the output data format, converting the resampled frame to the output data format;
- selecting a particular filter of a plurality of filters based on the output data format;
- and
- filtering the resampled frame with the particular filter.
Dependencies are inferred from the claim text.