IP Library Patent Application 14373822
Patent Application
App. No. 14/373,822

Method and System for Controlling Video Frame Encoding

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 None
App. No.
14/373,822
Abstract

A method of enabling iterative encoding of a video frame by a video encoder, comprising obtaining a video-encoder-state resulting from encoding of a previous input video frame and previous to encoding of a current input video frame, copying the video-encoder-state giving rise to a reserved state and obtaining a candidate current encoded video frame from the video encoder, and in case the candidate current encoded video frame does not meet an encoding criterion, copying the reserved state back to the video encoder to enable the video encoder to re-encode the current input video frame.

Claims (49)

1 - 42 . (canceled)

43 . A method of enabling iterative encoding of a video frame by a video encoder, comprising:

obtaining a video-encoder-state resulting from encoding of a previous input video frame and previous to encoding of a current input video frame; copying the video-encoder-state giving rise to a reserved state; and obtaining a candidate current encoded video frame from the video encoder, and in case the candidate current encoded video frame does not meet an encoding criterion, copying the reserved state back to the video encoder to enable the video encoder to re-encode the current input video frame.

44 . The method according to claim 43 , further comprising configuring the encoder to re-encode the current input video frame using different encoding parameters than the encoding parameters that were used to obtain the candidate current encoded video frame.

45 . The method according to claim 44 , wherein the encoding parameters are selected from a group consisting of: Quantization Parameter (QP), encoding mode, frame type (I/B/P), Macroblock partitioning mode, Field/Frame mode (MBAFF), placement of intra macroblocks, number of reference frames.

46 . The method according to claim 43 , wherein the encoding criterion is selected from a group consisting of: a video quality measure, frame size in bits, bit rate, number of Intra mode macroblocks, number of skipped macroblocks.

47 . A method of enabling parallel encoding of a video frame, comprising:

obtaining a video-encoder-state resulting from encoding of a previous input

video frame and previous to encoding of a current input video frame;

copying the video-encoder-state to each one of a plurality of video encoders;

obtaining a candidate current encoded video frame from each one of the plurality of video encoders, giving rise to a plurality of candidate current encoded video frames; and

selecting a current encoded video frame from the plurality of candidate current encoded video frames according to an encoding criterion.

48 . The method according to claim 47 , comprising, for a subsequent input video frame:

obtaining, from the video encoder that provided the selected current encoded video frame, the video-encoder-state resulting from encoding of the current input video frame;

previous to encoding of the subsequent input video frame, copying to each one of a plurality of video encoders, the selected video-encoder-state resulting from encoding of the current input video frame;

obtaining a subsequent candidate encoded video frame from each one of the plurality of video encoders, giving rise to a plurality of subsequent candidate encoded video frames; and

selecting a subsequent encoded video frame from the plurality of subsequent candidate encoded video frames according to an encoding criterion.

49 . The method according to claim 47 , further comprising: configuring each one of the plurality of video encoders to use different encoding parameters for encoding the current input video frame.

50 . The method according to claim 49 , wherein said configuring comprises selecting an encoding parameter that differs among the plurality of video encoders from a group consisting of: Quantization Parameter (QP), encoding mode, frame type (I/B/P), Macroblock partitioning mode, Field/Frame mode (MBAFF), placement of intra macroblocks, number of reference frames.

51 . The method according to claim 47 , wherein the encoding criterion is selected from a group consisting of: a video quality measure, frame size in bits, bit rate.

52 . A device for enabling iterative encoding of a video frame by a video encoder, comprising:

a video-encoder-state access module adapted to obtain a video-encoder-state resulting from encoding of a previous input video frame and previous to encoding of a current input video frame;

a video-encoder-state copy module configured for copying the video-encoder state giving rise to a reserved state; and

an encoding evaluation module adapted to obtain a candidate current encoded video frame for evaluating the quality thereof using an encoding criterion, wherein in case the candidate current encoded video frame does not meet an encoding criterion, the video-encoder-state copy module is configured to copy the reserved state back to the video encoder to enable the video encoder to re-encode the current input video frame.

53 . The device according to claim 52 , further comprising an encoding parameter configuration module that is adapted to configure the encoder to re-encode the current input video frame using different encoding parameters than the encoding parameters that were used to obtain the candidate current encoded video frame.

54 . The device according to claim 53 , wherein said encoding parameter configuration module is configured to select the encoding parameters from a group consisting of: Quantization Parameter (QP), encoding mode, frame type (I/B/P), Macroblock partitioning mode, Field/Frame mode (MBAFF), placement of intra macroblocks, number of reference frames.

55 . The device according to claim 52 , wherein said encoding evaluation module is configured to select the encoding criterion from a group consisting of: a video quality measure, frame size in bits, bit rate, number of Intra mode macroblocks, number of skipped macroblocks.

56 . A device for enabling parallel encoding of a video frame, comprising:

a video-encoder-state access module adapted to obtain a video-encoder-state resulting from encoding of a previous input video frame and previous to encoding of a current input video frame;

a video-encoder-state copy module configured for copying the video-encoder state to each one of a plurality of video encoders;

an encoding evaluation module adapted to obtain a candidate current encoded video frame from each one of the plurality of video encoders, giving rise to a plurality of candidate current encoded video frames, and is further adapted to select a current encoded video frame from the plurality of candidate current encoded video frames according to an encoding criterion.

57 . The device according to claim 56 , for a subsequent input video frame:

said video-encoder-state access module is adapted to obtain from the video encoder that provided the selected current encoded video frame the

video encoder-state resulting from encoding of the current input video frame, and previous to encoding of the subsequent input video frame;

said video-encoder-state copy module is configured to copy, to each one of a plurality of video encoders, the selected video-encoder-state resulting from encoding of the current input video frame; and

said encoding evaluation module is adapted to obtain a candidate subsequent encoded video frame from each one of the plurality of video encoders,

giving rise to a plurality of candidate subsequent encoded video frames, and is further adapted to select a subsequent encoded video frame from the plurality of candidate subsequent encoded video frames according to an encoding criterion.

58 . The device according to claim 56 , further comprising an encoding parameter configuration module that is adapted to configure each one of the plurality of video encoders to use different encoding parameters for encoding the current input video frame.

59 . The device according to claim 58 , wherein said encoding parameter configuration module is adapted to select the encoding parameters that differ among the plurality of video encoders from a group consisting of: Quantization Parameter (QP), encoding mode, frame type (I/B/P), Macroblock partitioning mode Field/Frame mode (MBAFF), placement of Intra macroblocks, number of reference frames.

60 . The device according to claim 56 , wherein said encoding evaluation module is configured to select the encoding criterion from a group consisting of: a video quality measure, frame size in bits, bit rate.

61 . A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform a method of enabling iterative encoding of a video frame by a video encoder, comprising:

obtaining a video-encoder-state resulting from encoding of a previous input video frame and previous to encoding of a current input video frame;

copying the video-encoder-state giving rise to a reserved state; and

obtaining a candidate current encoded video frame from the video encoder, and in case the candidate current encoded video frame does not meet an encoding criterion, copying the reserved state back to the video encoder to enable the video encoder to re-encode the current input video frame.

62 . A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform a method of enabling parallel encoding of a video frame, comprising:

obtaining a video-encoder-state resulting from encoding of a previous input video frame and previous to encoding of a current input video frame;

copying the video-encoder-state to each one of a plurality of video encoders;

obtaining a candidate current encoded video frame from each one of the plurality of video encoders, giving rise to a plurality of candidate current encoded video frames; and

selecting a current encoded video frame from the plurality of candidate current encoded video frames according to an encoding criterion.

Assignments (4)
SECURITY INTEREST Recorded Feb 21, 2017
From: BEAMR IMAGING LTD
To: SILICON VALLEY BANK
Reel/Frame 041313/0759 →
CHANGE OF NAME Recorded Apr 22, 2015
From: I.C.V.T LTD
To: BEAMR IMAGING LTD
Reel/Frame 035476/0107 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE FOURTH INVENTOR PREVIOUSLY RECORDED ON REEL 033365 FRAME 0743. ASSIGNOR(S) HEREBY CONFIRMS THE SEE DOCUMENT FOR DETAILS. Recorded Oct 1, 2014
From: CARMEL, SHARON; GILL, DROR; SHOHAM, TAMAR; LEIBMAN, AMIR
To: I.C.V.T. LTD.
Reel/Frame 033870/0770 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2014
From: CARMEL, SHARON; GILL, DROR; SHOHAM, TAMAR; LIEBMAN, AMIR
To: I.C.V.T. LTD.
Reel/Frame 033365/0743 →