IP Library Granted Patent US 9,210,441
Granted Patent B2
US 9,210,441 · App. 10/560,567 · Granted Dec 8, 2015

Fast mode-decision encoding for interframes

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 9,210,441
App. No.
10/560,567
Granted
Dec 8, 2015
Kind
B2
Abstract

A video encoder and corresponding methods are provided for selecting the mode of a current macroblock of an inter-coded frame, including one or more of checking first modes for a subset of macroblock modes, selectively checking other modes in response to motion vector information of the checked first modes, and selecting the mode for the current macroblock in response to the checked modes; checking the macroblock mode of at least one neighboring macroblock, and selecting the mode for the current macroblock in response to the macroblock mode of the at least one checked neighboring macroblock; checking the cost of a subset of macroblock modes, further checking only intra-coded modes if the checked cost meets a preset criteria, and selecting the mode for the current macroblock in response to the checked modes; and adjusting an early-stopping threshold in response to checked macroblock modes, and selecting the mode for the current macroblock in response to the checked macroblock modes if the adjusted early-stopping threshold is met.

Claims (66)

1. In a video encoder having a processor, a video encoding method for encoding a current macroblock of an inter-coded frame, the method comprising at least one of:

checking first modes for a subset of macroblock modes, selectively checking other modes in response to motion vector information of the checked first modes, and selecting the mode for the current macroblock in response to the checked modes;

checking the macroblock mode of at least one neighboring macroblock, and selecting the mode for the current macroblock in response to the macroblock mode of the at least one checked neighboring macroblock;

checking the cost of a subset of macroblock modes, further checking only intra-coded modes if the checked cost meets a criteria, and selecting the mode for the current macroblock in response to the checked modes; and

adjusting an early-stopping threshold in response to checked macroblock modes, and selecting the mode for the current macroblock in response to the checked macroblock modes if the adjusted early-stopping threshold is met,

wherein the method further comprises encoding the current macroblock using the selected mode for the current macroblock.

2. A video encoding method as defined in claim 1 , the method comprising checking first modes for a subset of macroblock modes, selectively checking other modes in response to motion vector information of the checked first modes, and selecting the mode for the current macroblock in response to the checked modes.

3. A video encoding method as defined in claim 1 wherein said first modes comprise the quadratic modes of SKIP, 16×16, 8×8, and 4×4.

4. A video encoding method as defined in claim 1 , further comprising checking the macroblock mode of at least one neighboring macroblock, and selecting the mode for the current macroblock in response to the macroblock mode of the at least one checked neighboring macroblock.

5. A video encoding method as defined in claim 1 , further comprising checking the cost of a subset of macroblock modes, further checking only intra-coded modes if the checked cost meets a criteria, and selecting the mode for the current macroblock in response to the checked modes.

6. A video encoding method as defined in claim 1 , further comprising adjusting an early-stopping threshold in response to checked macroblock modes, and selecting the mode for the current macroblock in response to the checked macroblock modes if the adjusted early-stopping threshold is met.

7. A video encoding method as defined in claim 6 wherein the early stop criteria are based on adaptive thresholding to stop checking other inter or intra modes.

8. A video encoding method as defined in claim 1 , further comprising:

initially performing motion estimation only for a subset of the possible block sizes; and

using the motion information to determine if other motion estimation or complexity measures should be performed for other block sizes.

9. A video encoding method as defined in claim 8 wherein said first modes are checked first and their motion information is used to decide if other modes needs to be checked.

10. A video encoding method as defined in claim 1 wherein spatial/temporal neighboring macroblock and block partition information is used to decide the subset of possible block sizes or inter/intra modes that need to be checked.

11. A video encoding method as defined in claim 1 , further comprising:

initially performing mode checking for a subset of both inter modes and intra modes;

calculating a complexity measure responsive to the mode checking; and

using the complexity measure to determine if other inter modes and intra modes should be performed.

12. A video encoding method as defined in claim 1 wherein early termination takes place if spatially or/and temporally neighboring macroblocks have a specific relationship with the motion information of the current macroblock after examining a specific mode.

13. A video encoder having a processor for encoding a current macroblock of an inter-coded frame, the encoder comprising the processor and at least one of:

first means for checking the first modes for a subset of macroblock modes, selectively checking other modes in response to motion vector information of the checked first modes, and selecting the mode for the current macroblock in response to the checked modes;

macroblock means for checking the macroblock mode of at least one neighboring macroblock, and selecting the mode for the current macroblock in response to the macroblock mode of the at least one checked neighboring macroblock;

subset means for checking the cost of a subset of macroblock modes, further checking only intra-coded modes if the checked cost meets a criteria, and selecting the mode for the current macroblock in response to the checked modes; and

stopping means for adjusting an early-stopping threshold in response to checked macroblock modes, and selecting the mode for the current macroblock in response to the checked macroblock modes if the adjusted early-stopping threshold is met,

wherein the encoder further comprises means for encoding the current macroblock using the selected mode for the current macroblock.

14. A video encoder as defined in claim 13 , the encoder comprising first-checking means for checking first modes for a subset of macroblock modes, selectively checking other modes in response to motion vector information of the checked first modes, and selecting the mode for the current macroblock in response to the checked modes.

15. A video encoder as defined in claim 13 wherein said first modes comprise the quadratic modes of SKIP, 16×16, 8×8, and 4×4.

16. A video encoder as defined in claim 13 , further comprising neighbor-checking means for checking the macroblock mode of at least one neighboring macroblock, and selecting the mode for the current macroblock in response to the macroblock mode of the at least one checked neighboring macroblock.

17. A video encoder as defined in claim 13 , further comprising intra-checking means for checking the cost of a subset of macroblock modes, further checking only intra-coded modes if the checked cost meets a criteria, and selecting the mode for the current macroblock in response to the checked modes.

18. A video encoder as defined in claim 13 , further comprising thresholding means for adjusting an early-stopping threshold in response to checked macroblock modes, and selecting the mode for the current macroblock in response to the checked macroblock modes if the adjusted early-stopping threshold is met.

19. A video encoder as defined in claim 18 wherein the early stop criteria are based on adaptive thresholding to stop checking other inter or intra modes.

20. A video encoder as defined in claim 13 , further comprising:

motion-estimation means for initially performing motion estimation only for a subset of the possible block sizes; and

determination means for using the motion information to determine if other motion estimation or complexity measures should be performed for other block sizes.

21. A video encoder as defined in claim 20 wherein said first modes are checked first and their motion information is used to decide if other modes needs to be checked.

22. A video encoder as defined in claim 13 wherein spatial/temporal neighboring macroblock and block partition information is used to decide the subset of possible block sizes or inter/intra modes that need to be checked.

23. A video encoder as defined in claim 13 , further comprising:

inter/intra checking means for initially performing mode checking for a subset of both inter modes and intra modes;

complexity means for calculating a complexity measure responsive to the mode checking; and

inter/intra determination means for using the complexity measure to determine if other inter modes and intra modes should be performed.

24. A video encoder as defined in claim 13 wherein early termination takes place if spatially or/and temporally neighboring macroblocks have a specific relationship with the motion information of the current macroblock after examining a specific mode.

25. A computer readable non-transitory medium for performing a method for selecting a mode of a current macroblock of an inter-coded frame, the method comprising at least one of:

checking first modes for a subset of macroblock modes, selectively checking other modes in response to motion vector information of the checked first modes, and selecting the mode for the current macroblock in response to the checked modes;

checking the macroblock mode of at least one neighboring macroblock, and selecting the mode for the current macroblock in response to the macroblock mode of the at least one checked neighboring macroblock;

checking the cost of a subset of macroblock modes, further checking only intra-coded modes if the checked cost meets a criteria, and selecting the mode for the current macroblock in response to the checked modes; and

adjusting an early-stopping threshold in response to checked macroblock modes, and selecting the mode for the current macroblock in response to the checked macroblock modes if the adjusted early-stopping threshold is met,

wherein the method further comprises encoding the current macroblock using the selected mode for the current macroblock.

26. A computer readable non-transitory medium as defined in claim 25 , the method comprising checking first modes for a subset of macroblock modes, selectively checking other modes in response to motion vector information of the checked first modes, and selecting the mode for the current macroblock in response to the checked modes.

27. A computer readable non-transitory medium as defined in claim 25 wherein said first modes comprise the quadratic modes of SKIP, 16×16, 8×8, and 4×4.

28. A computer readable non-transitory medium as defined in claim 25 , the method further comprising checking the macroblock mode of at least one neighboring macroblock, and selecting the mode for the current macroblock in response to the macroblock mode of the at least one checked neighboring macroblock.

29. A computer readable non-transitory medium as defined in claim 25 , the method further comprising checking the cost of a subset of macroblock modes, further checking only intra-coded modes if the checked cost meets a criteria, and selecting the mode for the current macroblock in response to the checked modes.

30. A computer readable non-transitory medium as defined in claim 25 , the method further comprising adjusting an early-stopping threshold in response to checked macroblock modes, and selecting the mode for the current macroblock in response to the checked macroblock modes if the adjusted early-stopping threshold is met.

31. A computer readable non-transitory medium as defined in claim 30 wherein the early stop criteria are based on adaptive thresholding to stop checking other inter or intra modes.

32. A computer readable non-transitory medium as defined in claim 25 , the method further comprising:

initially performing motion estimation only for a subset of the possible block sizes; and

using the motion information to determine if other motion estimation or complexity measures should be performed for other block sizes.

33. A computer readable non-transitory medium as defined in claim 32 wherein said first modes are checked first and their motion information is used to decide if other modes needs to be checked.

34. A computer readable non-transitory medium as defined in claim 25 wherein spatial/temporal neighboring macroblock and block partition information is used to decide the subset of possible block sizes or inter/intra modes that need to be checked.

35. A computer readable non-transitory medium as defined in claim 25 , the method further comprising:

initially performing mode checking for a subset of both inter modes and intra modes;

calculating a complexity measure responsive to the mode checking; and

using the complexity measure to determine if other inter modes and intra modes should be performed.

36. A computer readable non-transitory medium as defined in claim 25 wherein early termination takes place if spatially or/and temporally neighboring macroblocks have a specific relationship with the motion information of the current macroblock after examining a specific mode.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2018
From: THOMSON LICENSING DTV
To: INTERDIGITAL MADISON PATENT HOLDINGS
Reel/Frame 046763/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2017
From: THOMSON LICENSING
To: THOMSON LICENSING DTV
Reel/Frame 043302/0965 →
CHANGE OF NAME Recorded Apr 21, 2017
From: THOMSON LICENSING S.A.
To: THOMSON LICENSING
Reel/Frame 042303/0268 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2005
From: THOMSON LICENSING S.A.
To: THOMSON LICENSING
Reel/Frame 017373/0141 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2005
From: YIN, PENG; TOURAPIS, ALEXANDROS MICHAEL; BOYCE, JILL MACDONALD
To: THOMSON LICENSING
Reel/Frame 017373/0151 →