Reducing judder using motion vectors
AssigneeDisplaylink (UK) Limited
InventorTrevor Hall
Life of this patent
Estimating the term…
Abstract
A method at a client device for mitigating motion judder in frames of an image due to display data for a particular frame being unavailable at a required time at the client device. The method involves receiving (S35) the display data for a current frame n, and generating (S3Y3) the current frame n from the received display data. Motion vectors for some elements of the image in the current frame n are obtained (S3Y1). If it is determined that display data for the next frame n+1 is not available, the next frame n+1 is generated (S3N4) from either the current frame n or a previous frame n−m, where m=1, 2, 3, etc, adjusted based on an extrapolation (S3N3) of the motion vectors for the elements of the image in either the current frame n or the previous frame n−m.
Claims20
A method for mitigating motion judder in frames of an image to be displayed on a display device, the method comprising:
- receiving, over a transmission medium, display data for at least a current frame n;
- generating at least the current frame n from the received display data;
- one or more first motion vectors for at least some elements of the image in the current frame n;
- determining that display data for a next frame n+1 is not available to process;
- extrapolating one or more second motion vectors from the one or more first motion vectors or from one or more motion vectors for the at least some elements of the image in a previous frame n−m responsive to determining that the display data for the next frame n+1 is not available to process, where m≥1;
- adjusting the current frame n or the previous frame n−m based on the one or more second motion vectors;
- and
- generating the next frame n+1 based on the adjusted frame.
A client device comprising:
- an input engine configured to receive display data for at least a current frame n from a host device and to obtain one or more first motion vectors for at least some elements of an image in the current frame n;
- a first frame buffer connected to the input engine, the first frame buffer configured to store at least the current frame n generated from the received display data;
- a display controller connected to the first frame buffer, the display controller configured to process the current frame n from the first frame buffer and transmit the processed current frame n to a display device for display thereon, and to determine that a next frame n+1 is not available at the first frame buffer to process;
- and
- a next frame generation module coupled to the input engine and the display controller, the next frame generation module configured to:
- extrapolate one or more second motion vectors from the one or more first motion vectors or from one or more motion vectors for the at least some elements of the image in a previous frame n−m responsive to the display controller determining that the next frame n+1 is not available at the first frame buffer to process, where m≥1;
- adjust the current frame n or the previous frame n−m based on the one or more second motion vectors;
- and
- generate the next frame n+1 based on the adjusted frame.
A display system, comprising:
- a host device;
- and
- a client device comprising:
- an input engine configured to receive display data for at least a current frame n from the host device and to obtain one or more first motion vectors for at least some elements of an image in the current frame n;
- a first frame buffer connected to the input engine, the first frame buffer configured to store at least the current frame n generated from the received display data;
- a display controller connected to the first frame buffer, the display controller configured to process the current frame n from the first frame buffer and transmit the processed current frame n to a display device for display thereon, and to determine that a next frame n+1 is not available at the first frame buffer to process;
- and
- a next frame generation module coupled to the input engine and the display controller, the next frame generation module configured to:
- extrapolate one or more second motion vectors from the one or more first motion vectors or from one or more motion vectors for the at least some elements of the image in a previous frame n−m responsive to the display controller determining that the next frame n+1 is not available at the first frame buffer to process, where m≥1;
- adjust the current frame n or the previous frame n−m based on the one or more second motion vectors;
- and
- generate the next frame n+1 based on the adjusted frame.
Dependencies are inferred from the claim text.