IP Library Patent Application 13460393
Patent Application
App. No. 13/460,393

MECHANISM FOR FACILITATING COST-EFFICIENT AND LOW-LATENCY ENCODING OF VIDEO STREAMS

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.
13/460,393
Abstract

A mechanism for facilitating cost-efficient and low-latency video stream encoding for limited channel bandwidth is described. In one embodiment, an apparatus includes a source device having an encoding logic. The encoding logic may include a first logic to receive a video stream having a plurality of video frames. The video stream is received frame-by-frame. The encoding logic may further include a second logic to determine an input data rate relating to a first current video frame of the plurality of video frames received at the encoding mechanism, and a third logic to generate one or more zero-delta frames based on the input data rate, and allocate the one or more zero-delta frames to one or more first video frames of the plurality of video frames subsequent to the first current video frame.

Claims (31)

1 . An apparatus comprising:

a source device having an encoding logic, the encoding logic having

a first logic to receive a video stream having a plurality of video frames, wherein the video stream is received frame-by-frame;

a second logic to determine an input data rate relating to a first current video frame of the plurality of video frames received at the encoding mechanism; and

a third logic to generate one or more zero-delta frames based on the input data rate, and allocate the one or more zero-delta frames to one or more first video frames of the plurality of video frames subsequent to the first current video frame.

2 . The apparatus of claim 1 , wherein the third logic is further to calculate a quantization parameter (QP) value, and apply the calculated quantization parameter value to a next input video frame.

3 . The apparatus of claim 1 , wherein the encoding logic further includes a fourth logic to transmit the video stream to a sink device coupled to the source device while managing frame-by-frame transmission of the video stream when the first current video frame consumes an amount of bandwidth that is determined to be greater than a normal amount of bandwidth required to communicate a single frame of the video stream.

4 . The apparatus of claim 3 , wherein managing the frame-by-frame transmission is performed by raising the QP value of the next input video frame and, simultaneously, skipping the one or more first video frames that are allocated the one or more zero-delta frames.

5 . The apparatus of claim 1 , wherein the third logic is further to generate one or more zero-delta frame macro-blocks based on the input data rate, and allocate the one or more zero-delta frame macro-blocks to one or more second video frames of the plurality of video frames subsequent to a second current frame, wherein the second current frame has a level of complexity that is determined to be greater than a normal level of complexity required to deliver and display the video stream at a normal quality.

6 . The apparatus of claim 5 , wherein the fourth logic is further to transmit the video stream to the sink device coupled to the source device while maintaining frame-by-frame quality of the video stream, wherein maintaining the frame-by-frame quality is performed by raising the QP value of the next input video frame and, simultaneously, skipping the one or more second video frames that are allocated the one or more zero-delta frame macro-blocks.

7 . The apparatus of claim 5 , wherein the normal level of complexity is required for the second current video frame to pass to and be displayed at the sink device without deteriorating an image associated with the second current video frame.

8 . A system comprising:

a source device having a processor coupled to a memory device and further having an encoding mechanism, wherein the encoding mechanism is further to

receive a video stream having a plurality of video frames, wherein the video stream is received frame-by-frame;

determine an input data rate relating to a first current video frame of the plurality of video frames received at the encoding mechanism; and

generate one or more zero-delta frames based on the input data rate, and allocate the one or more zero-delta frames to one or more first video frames of the plurality of video frames subsequent to the first current video frame.

9 . The system of claim 8 , wherein the encoding mechanism is further to calculate a quantization parameter (QP) value, and apply the calculated quantization parameter value to a next input video frame.

10 . The system of claim 8 , wherein the encoding mechanism is further to transmit the video stream to a sink device coupled to the source device while managing frame-by-frame transmission of the video stream when the first current video frame consumes an amount of bandwidth that is determined to be greater than a normal amount of bandwidth required to communicate a single frame of the video stream.

11 . The system of claim 10 , wherein managing the frame-by-frame transmission is performed by raising the QP value of the next input video frame and, simultaneously, skipping the one or more first video frames that are allocated the one or more zero-delta frames.

12 . The system of claim 8 , wherein the encoding mechanism is further to generate one or more zero-delta frame macro-blocks based on the input data rate, and allocate the one or more zero-delta frame macro-blocks to one or more second video frames of the plurality of video frames subsequent to a second current frame, wherein the second current frame has a level of complexity that is determined to be greater than a normal level of complexity required to deliver and display the video stream at a normal quality.

13 . The system of claim 12 , wherein the encoding mechanism is further to transmit the video stream to the sink device coupled to the source device while maintaining frame-by-frame quality of the video stream, wherein maintaining the frame-by-frame quality is performed by raising the QP value of the next input video frame and, simultaneously, skipping the one or more second video frames that are allocated the one or more zero-delta frame macro-blocks.

14 . The system of claim 12 , wherein the normal level of complexity is required for the second current video frame to pass to and be displayed at the sink device without deteriorating an image associated with the second current video frame.

15 . A method comprising:

receiving a video stream having a plurality of video frames, wherein the video stream is received frame-by-frame;

determining an input data rate relating to a first current video frame of the plurality of video frames received at the encoding mechanism; and

generating one or more zero-delta frames based on the input data rate, and allocate the one or more zero-delta frames to one or more first video frames of the plurality of video frames subsequent to the first current video frame.

16 . The method of claim 15 , further comprising calculating a quantization parameter (QP) value, and apply the calculated quantization parameter value to a next input video frame.

17 . The method of claim 15 , further comprising transmitting the video stream to a sink device coupled to the source device while managing frame-by-frame transmission of the video stream when the first current video frame consumes an amount of bandwidth that is determined to be greater than a normal amount of bandwidth required to communicate a single frame of the video stream.

18 . The method of claim 17 , wherein managing the frame-by-frame transmission is performed by raising the QP value of the next input video frame and, simultaneously, skipping the one or more first video frames that are allocated the one or more zero-delta frames.

19 . The method of claim 18 , further comprising generating one or more zero-delta frame macro-blocks based on the input data rate, and allocate the one or more zero-delta frame macro-blocks to one or more second video frames of the plurality of video frames subsequent to a second current frame, wherein the second current frame has a level of complexity that is determined to be greater than a normal level of complexity required to deliver and display the video stream at a normal quality.

20 . The method of claim 18 , further comprising transmitting the video stream to the sink device coupled to the source device while maintaining frame-by-frame quality of the video stream, wherein maintaining the frame-by-frame quality is performed by raising the QP value of the next input video frame and, simultaneously, skipping the one or more second video frames that are allocated the one or more zero-delta frame macro-blocks.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded May 21, 2019
From: JEFFERIES FINANCE LLC
To: LATTICE SEMICONDUCTOR CORPORATION; SILICON IMAGE, INC.; SIBEAM, INC.; DVDO, INC.
Reel/Frame 049827/0326 →
MERGER Recorded Aug 21, 2015
From: SILICON IMAGE, INC.
To: LATTICE SEMICONDUCTOR CORPORATION
Reel/Frame 036419/0792 →
SECURITY INTEREST Recorded Mar 18, 2015
From: LATTICE SEMICONDUCTOR CORPORATION; SIBEAM, INC.; SILICON IMAGE, INC.; DVDO, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 035223/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2012
From: YANG, WOOSEUNG; YI, JU HWAN; KIM, YOUNG IL; CHOI, HOON
To: SILICON IMAGE, INC.
Reel/Frame 028142/0007 →