IP Library Granted Patent US 10,491,921
Granted Patent B2
US 10,491,921 · App. 15/819,801 · Granted Nov 26, 2019

Apparatus and method for video motion compensation

Inventors: Zhijie Zhao (Munich, DE); Yiqun Liu (Munich, DE); Joern Ostermann (Munich, DE)
Assignee: Huawei Technologies Co., Ltd.
H04N19/573H04N19/105H04N19/117H04N19/139H04N19/147H04N19/176H04N19/513H04N19/533H04N19/567H04N19/65H04N19/70H04N19/82H04N19/124H04N19/129H04N19/13H04N19/18H04N19/593
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,491,921
App. No.
15/819,801
Granted
Nov 26, 2019
Kind
B2
Abstract

A frame buffer is adapted to store at least one reference frame of a video stream, said reference frame being different from a current frame of the video stream. A motion estimation unit is adapted to generate a motion vector by estimating motion between a reference block of the reference frame and a current block of the current frame. A blurring filter selection unit is adapted to select one of a plurality of blurring filters depending on the orientation of the motion vector. A filtering unit is adapted to generate a filtered reference block by applying the selected blurring filter to the reference block. A motion compensation unit is adapted to generate a filtered prediction block of the current block on the basis of the current block, the motion vector and the filtered reference block.

Claims (63)

1. A video coder device for predictive coding of a video stream of subsequent frames according to motion compensation into an encoded video bit stream, the video coder device comprising:

a frame buffer adapted to store at least one reference frame of the video stream, the at least one reference frame being different from a current frame of the video stream; and

a processor, configured to:

generate a motion vector by estimating motion between a reference block of the at least one reference frame and a current block of the current frame;

select one of a plurality of filters depending on the orientation of the motion vector;

generate a filtered reference block by applying the selected filter to the reference block; and

generate a filtered prediction block of the current block on the basis of the current block and the filtered reference block.

2. The video coder device according to claim 1 , wherein the processor is further configured to:

generate a non-filtered prediction block of the current block on the basis of the current block and the reference block; and

output, from among the filtered prediction block and the non-filtered prediction block, the prediction block that minimizes a prediction error, the prediction error being the difference between the current block and the respective prediction block.

3. The video coder device according to claim 1 , wherein the processor is further configured to generate a second motion vector by estimating motion between the filtered reference block and the current block; and

wherein the processor is further configured to, depending on a comparison of the second motion vector and the motion vector between the reference block and the current block, take the filtered reference block into consideration or disregard the filtered reference block for generating the encoded video bit stream.

4. The video coder device according to claim 2 , wherein the processor is further configured to generate the encoded video bit stream on the basis of the prediction error corresponding to the prediction block.

5. The video coder device according to claim 1 , wherein the processor is further configured to generate the encoded video bit stream so that the encoded video bit stream comprises motion information and filter information;

wherein the motion information comprises the motion vector; and

wherein the filter information specifies whether the encoded video bit stream is based on the prediction error between the current block and the filtered prediction block or on the prediction error between the current block and the non-filtered prediction block.

6. The video coder device according to claim 5 , wherein the processor is further configured to add in the encoded video bit stream the filter information at a block level for each predictive coded current block, at a frame level, at a GOP (group of pictures) level, at a PPS (picture parameter set) level or at an SPS (sequence parameter set) level.

7. The video coder device according to claim 4 , wherein the processor is further configured to:

transform the prediction error via a linear spatial transform so as to generate transform coefficients, and to quantize the transform coefficients; and

scan and entropy code the quantized transform coefficients so as to generate the encoded video bit stream.

8. The video coder device according to claim 1 , wherein the processor is further configured to derive the angle of the motion vector, and to select the one of the plurality of filters depending on the angle.

9. The video coder device according to claim 1 , wherein the processor is further configured for single-layer coding of the video stream.

10. The video coder device according to claim 1 , wherein the processor is further configured to select at least one of a plurality of blurring and deblurring filters depending on the orientation of the motion vector.

11. The video coder device according to claim 1 , wherein the video coder device comprises a hybrid video encoder for intra- and inter-frame prediction.

12. A method for predictive coding aa video stream of subsequent frames according to motion compensation into an encoded video bit stream, the method comprising:

storing at least one reference frame of the video stream, the at least one reference frame being different from a current frame of the video stream;

generating a motion vector by estimating motion between a reference block of the at least one reference frame and a current block of the current frame;

selecting one of a plurality of filters depending on the orientation of the motion vector;

generating a filtered reference block by applying the selected filter to the reference block; and

generating a filtered prediction block of the current block on the basis of the current block and the filtered reference block.

13. A video decoder device for decoding an encoded video bit stream obtained by predictive coding of a video stream of subsequent frames according to motion compensation, wherein the encoded video bit stream comprises an encoded reference frame, a predictive encoded current frame and an encoded motion vector reflecting motion between a reference block of a reference frame and a current block of a current frame, the reference frame being different from the current frame the video decoder device comprising:

a processor, configured to decode the encoded reference frame and the encoded motion vector so as to generate the reference frame and a motion vector; and

a frame buffer, configured to store the reference frame;

wherein the processor is further configured to:

select one of a plurality of filters depending on the orientation of the motion vector;

generate a filtered reference block by applying the selected filter to the reference block; and

generate the current block of the current frame on the basis of the motion vector and the filtered reference block.

14. The video decoder device according to claim 13 , wherein the encoded video bit stream comprises filter information related to the current block;

wherein the processor is further configured to:

decode the filter information; and

depending on the value of the filter information, generate the current block of the predictive encoded current frame on the basis of the motion vector and the filtered reference block, or on the basis of the motion vector and the reference block.

15. The video decoder device according to claim 13 , wherein the processor is further configured to derive the angle of the motion vector, and to select the one of the plurality of filters depending on the angle.

16. The video decoder device according to claim 13 , wherein the processor is further configured for single-layer coding of the video stream.

17. The video decoder device according to claim 13 , wherein the processor is further configured to select at least one of a plurality of blurring and deblurring filters depending on the orientation of the motion vector.

18. The video decoder device according to claim 13 , wherein the video decoder device comprises a hybrid video decoder for intra- and inter-frame prediction.

19. A method for decoding an encoded video bit stream obtained by predictive coding of a video stream of subsequent frames according to motion compensation, wherein the encoded video bit stream comprises at least one encoded reference frame, a predictive encoded current frame, and an encoded motion vector reflecting motion between a reference block of a reference frame and a current block of a current frame, wherein the reference frame is different from the current frame, the method comprising:

decoding the at least one encoded reference frame and the encoded motion vector so as to generate the reference frame and a motion vector;

storing the reference frame;

selecting one of a plurality of filters depending on the orientation of the motion vector;

generating a filtered reference block by applying the selected filter to the reference block; and

generating the current block of the current frame on the basis of the motion vector and the filtered reference block.

20. A non-transitory computer readable medium having stored thereon computer-executable instructions that when executed by a processor facilitate the performance of operations for predictive coding of a video stream of subsequent frames according to motion compensation into an encoded video bit stream, the operations comprising:

storing at least one reference frame of the video stream, the at least one reference frame being different from a current frame of the video stream;

generating a motion vector by estimating motion between a reference block of the at least one reference frame and a current block of the current frame;

selecting one of a plurality of filters depending on the orientation of the motion vector;

generating a filtered reference block by applying the selected filter to the reference block; and

generating a filtered prediction block of the current block on the basis of the current block and the filtered reference block.

21. A non-transitory computer readable medium having stored thereon computer-executable instructions that when executed by a processor facilitate the performance of operations for decoding an encoded video bit stream obtained by predictive coding of a video stream of subsequent frames according to motion compensation, wherein the encoded video bit stream comprises at least one encoded reference frame, a predictive encoded current frame, and an encoded motion vector reflecting motion between a reference block of a reference frame and a current block of a current frame, wherein the reference frame is different from the current frame, the operations comprising:

decoding the at least one encoded reference frame and the encoded motion vector so as to generate the reference frame and a motion vector;

storing the reference frame;

selecting one of a plurality of filters depending on the orientation of the motion vector;

generating a filtered reference block by applying the selected filter to the reference block; and

generating the current block of the current frame on the basis of the motion vector and the filtered reference block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2018
From: ZHAO, ZHIJIE; LIU, YIQUN; OSTERMANN, JOERN
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 045162/0166 →
Continuity (2)
Continuation PCTEP2015061278 · May 21, 2015
Related Publication 20180160142A1 · Jun 7, 2018