IP Library Granted Patent US 10,298,934
Granted Patent B2
US 10,298,934 · App. 15/155,827 · Granted May 21, 2019

System and method for optimized encoding and transmission of a plurality of substantially similar video fragments

Inventors: Seth Haberman (New York, NY); Gerrit Niemeijer (Maplewood, NJ); Richard L. Booth (Bensalem, PA); Alex Jansen (Miami, FL)
Assignee: Visible World, LLC
H04N19/152H04N19/114H04N19/124H04N19/174H04N19/176H04N19/30H04N19/40H04N19/513
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,298,934
App. No.
15/155,827
Granted
May 21, 2019
Kind
B2
Abstract

A system and method for stitching separately encoded MPEG video fragments, each representing a different rectangular area of the screen together into one single full-screen MPEG encoded video fragment.

Claims (43)

1. A method comprising:

dividing a full-video frame area into a plurality of non-overlapping regions;

receiving a plurality of partial-frame video segments corresponding to a selected region of the plurality of non-overlapping regions;

determining a target video buffer verification buffer size for the plurality of partial-frame video segments for the selected region; and

encoding each of the plurality of partial-frame video segments for the selected region using the determined target video buffer verification buffer size to generate a plurality of encoded partial-frame video segments such that an encoded partial-frame video segment of the plurality of encoded partial-frame video segments is capable of being seamlessly stitched into the selected region of the full-video frame area prior to decoding.

2. The method of claim 1 , wherein the encoding uses a common GOP pattern for each of the plurality of partial-frame video segments.

3. The method of claim 1 , wherein the target video buffer verification buffer size for the plurality of partial-frame video segments for the selected region is proportional to a full frame video buffer verification buffer size based on a size of the selected region as compared to a full frame size.

4. The method of claim 1 , further comprising:

determining a video buffer verification bit rate for encoding the plurality of partial-frame video segments for the selected region, wherein the video buffer verification bit rate is proportional to a full frame video buffer verification bit rate based on a size of the selected region as compared to a full frame size.

5. The method of claim 1 , further comprising:

determining f-code array values for the plurality of partial-frame video segments; and

modifying, after encoding the plurality of partial-frame video segments, the f-code array values and motion vectors for the encoded plurality of partial-frame video segments according to the determined f-code array values.

6. The method of claim 1 , further comprising:

assembling a row of encoded video segment macroblocks into a slice, wherein header information for each macroblock in the slice is modified for a proper format for a complete slice.

7. The method of claim 1 , further comprising:

sending the encoded partial-frame video segments to a video display device, wherein the partial-frame video segments are merged with other partial-frame video segments for other regions to create multiple different full-video frame video segments.

8. An apparatus comprising:

one or more processors; and

a memory storing computer executable instructions that, when executed by the one or more processors, cause the apparatus to:

divide a full-video frame area into a plurality of non-overlapping regions;

receive a plurality of partial-frame video segments corresponding to a selected region of the plurality of non-overlapping regions;

determine a target video buffer verification buffer size for the plurality of partial-frame video segments for the selected region; and

encode each of the plurality of partial-frame video segments for the selected region using the determined target video buffer verification buffer size to generate a plurality of encoded partial-frame video segments such that an encoded partial-frame video segment of the plurality of encoded partial-frame video segments is capable of being seamlessly stitched into the selected region of the full-video frame area prior to decoding.

9. The apparatus of claim 8 , wherein the regions are rectangular.

10. The apparatus of claim 8 , wherein the encoding uses a common GOP pattern for each of the plurality of partial-frame video segments.

11. The apparatus of claim 8 , wherein the target video buffer verification buffer size for the plurality of partial-frame video segments for the selected region is proportional to a full frame video buffer verification buffer size based on a size of the selected region as compared to a full frame size.

12. The apparatus of claim 8 , the executable instructions that, when executed by the one or more processors, further cause the apparatus to:

determine a video buffer verification bit rate for encoding the plurality of partial-frame video segments for the selected region, wherein the video buffer verification bit rate is proportional to a full frame video buffer verification bit rate based on a size of the selected region as compared to a full frame size.

13. The apparatus of claim 8 , the executable instructions that, when executed by the one or more processors, further cause the apparatus to:

assemble a row of encoded video segment macroblocks into a slice, wherein header information for each macroblock in the slice is modified for a proper format for a complete slice.

14. The apparatus of claim 8 , the executable instructions that, when executed by the one or more processors, further cause the apparatus to:

send the encoded partial-frame video segments to a video display device, wherein the partial-frame video segments are merged with other partial-frame video segments for other regions to create multiple different full-video frame video segments.

15. A non-transitory computer-readable storage medium containing computer-readable program code that, when executed by a computer, cause the computer to:

divide a full-video frame area into a plurality of non-overlapping regions;

receive a plurality of partial-frame video segments corresponding to a selected region of the plurality of regions;

determine a target video buffer verification buffer size for the plurality of partial-frame video segments for the selected region; and

encode each of the plurality of partial-frame video segments for the selected region using the determined target video buffer verification buffer size to generate a plurality of encoded partial-frame video segments such that an encoded partial-frame video segment of the plurality of encoded partial-frame video segments is capable of being seamlessly stitched into the selected region of the full-video frame area prior to decoding.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the target video buffer verification buffer size for the plurality of partial-frame video segments for the selected region is substantially proportional to a full frame video buffer verification buffer size based on relative size of the selected region as compared to a full frame size.

17. The non-transitory computer-readable storage medium of claim 15 , wherein each of the one or more regions is associated with a display area of a video display device.

18. The non-transitory computer-readable storage medium of claim 15 , wherein each of the one or more regions comprise a length that is a multiple of sixteen pixels and a width that is a multiple of sixteen pixels.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the encoding uses a common GOP pattern for each of the plurality of partial-frame video segments.

20. The non-transitory computer-readable storage medium of claim 15 , the computer-readable program code that, when executed by the computer, further cause the computer to:

determine a video buffer verification bit rate for encoding the plurality of partial-frame video segments for the selected region, wherein the video buffer verification bit rate is proportional to a full frame video buffer verification bit rate based on a size of the selected region as compared to a full frame size.

Assignments (6)
CHANGE OF NAME Recorded Oct 1, 2024
From: TIVO CORPORATION
To: TIVO LLC
Reel/Frame 069083/0240 →
CHANGE OF NAME Recorded Oct 1, 2024
From: TIVO LLC
To: ADEIA MEDIA HOLDINGS LLC
Reel/Frame 069083/0318 →
SECURITY INTEREST Recorded May 3, 2023
From: ADEIA GUIDES INC.; ADEIA IMAGING LLC; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC; ADEIA SOLUTIONS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063529/0272 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2020
From: VISIBLE WORLD, LLC
To: TIVO CORPORATION
Reel/Frame 054588/0461 →
CHANGE OF NAME Recorded Oct 11, 2018
From: VISIBLE WORLD INC.
To: VISIBLE WORLD, LLC
Reel/Frame 047216/0534 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2016
From: HABERMAN, SETH; NIEMEIJER, GERRIT; BOOTH, RICHARD L.; JANSEN, ALEX
To: VISIBLE WORLD, INC.
Reel/Frame 039529/0987 →
Continuity (4)
Continuation 13455836 · Apr 25, 2012
Continuation 10991674 · Nov 18, 2004
Provisional Application 60523035 · Nov 18, 2003
Related Publication 20160261871A1 · Sep 8, 2016