IP Library Granted Patent US 8,170,096
Granted Patent B1
US 8,170,096 · App. 10/991,674 · Granted May 1, 2012

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

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 8,170,096
App. No.
10/991,674
Granted
May 1, 2012
Kind
B1
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 (41)

1. A computer-implemented method of encoding partial-frame video segments to allow different partial-frame video segments to be merged into a full-video frame, said method comprising:

defining by a processor a full-screen template by dividing said full-video frame area into non-overlapping, rectangular regions, wherein said rectangular regions have a length and width that are each a multiple of 16 pixels;

obtaining discrete partial-frame video segments from a digital library to be inserted into at least one of said rectangular regions;

determining by the processor a target VBV buffer size for said discrete partial-frame video segments for a selected rectangular region, said target VBV buffer size substantially proportional to a full frame VBV buffer size based on a relative size of said rectangular region to a full frame size; and

independently encoding said discrete partial-frame video segments for insertion by the processor into said selected rectangular region using said determined target VBV buffer size, creating encoded discrete partial-frame video segments capable of being spatially seamlessly stitched into the non-overlapping rectangular regions of a full frame prior to decoding.

2. The computer-implemented method of claim 1 wherein a common GOP pattern is used for encoding all video segments for all of said rectangular regions.

3. The computer-implemented method of claim 1 wherein said step of determining a target VBV buffer size includes selecting a target VBV buffer size that is smaller than a value that is substantially proportional to a full frame VBV buffer size based on relative size of said rectangular region as compared to a full frame size.

4. The computer-implemented method of claim 1 further including:

determining a VBV bit rate for encoding said video segments for said selected rectangular region; wherein said VBV bit rate that is selected is substantially proportional to a full frame VBV bit rate based on relative size of said rectangular region as compared to a full frame size.

5. The computer-implemented method of claim 1 further including:

determining a VBV bit rate for encoding said video segments for said selected rectangular region; wherein said VBV bit rate is selected that is smaller than a value that is substantially proportional to a full frame VBV bit rate based on relative size of said rectangular region as compared to a full frame size.

6. The computer-implemented method of claim 1 further including:

determining f-code array values for said video segments; and

after encoding said video segments, modifying said f-code array values and motion vectors for said encoded video according to said determined f-code array values.

7. The computer-implemented method of claim 6 wherein said step of determining f-code array values includes determining maximum values for said f-code array values from said plurality of video segments.

8. The computer-implemented method of claim 1 further including:

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

9. The computer-implemented method of claim 1 wherein said step of obtaining video segments for at least one of said rectangular regions includes obtaining a plurality of different video segments for said rectangular region, wherein said different video segments are then merged with other video segments for other rectangular regions to create multiple different full-video frame video segments.

10. An encoding system for encoding partial-frame video segments to allow different partial frame video segments to be merged into a full-video frame, said encoding system comprising:

a rectangular region input to obtain information regarding a full-screen template comprising a plurality of rectangular regions that divide up a full-video frame, wherein said rectangular regions will have a length and width that are each a multiple of 16 pixels;

a video segment input to obtain discrete partial-frame video segments to be inserted into at least one of said rectangular regions;

a VBV buffer size determining component, responsive to information regarding rectangular regions obtained by said rectangular region input, said VBV buffer component to determine a target VBV buffer size for encoding said discrete partial-frame video segments for a selected rectangular region;

wherein said encoding system independently encodes said discrete partial-frame video segments for insertion into said selected rectangular region using said determined target VBV buffer size, creating encoded discrete partial-frame video segments capable of being spatially seamlessly stitched into the rectangular regions of the full-screen template prior to decoding.

11. The encoding system of claim 10 wherein said encoding system uses a common GOP pattern for encoding all video segments for all of said rectangular regions.

12. The encoding system of claim 10 wherein said VBV buffer size determining component selects a target VBV buffer size that is substantially proportional to a full frame VBV buffer size based on relative size of said rectangular region as compared to a full frame size.

13. The encoding system of claim 10 wherein said VBV buffer size determining component selects a target VBV buffer size that is smaller than a value that is substantially proportional to a full frame VBV buffer size based on relative size of said rectangular region as compared to a full frame size.

14. The encoding system of claim 10 further including:

a VBV bit rate determining component, to determine a VBV bit rate for encoding said video segments for said selected rectangular region; wherein said VBV bit rate determining component selects a VBV bit rate that is substantially proportional to a full frame VBV bit rate based on relative size of said rectangular region as compared to a full frame size.

15. The encoding system of claim 10 further including:

a VBV bit rate determining component, to determine a VBV bit rate for encoding said video segments for said selected rectangular region; wherein said VBV bit rate determining component selects a VBV bit rate that is smaller than a value that is substantially proportional to a full frame VBV bit rate based on relative size of said rectangular region as compared to a full frame size.

16. The encoding system of claim 10 wherein said encoding system determines f-code array values for said video segments, by determining maximum values for said f-code array values from said plurality of video segments.

17. The encoding system of claim 16 wherein after said encoding system encodes said video segments, f-code array values and motion vectors for said encoded video are modified according to said determined f-code array values.

18. The encoding system of claim 10 wherein a row of encoded video segment macroblocks are assembled into a slice, and wherein header information for each macroblock in said slice is modified for a proper format for a complete slice.

19. The encoding system of claim 10 wherein the video segments represent a portion of a television program.

20. The encoding system of claim 10 wherein the video segments represent a portion of a television commercial.

21. The encoding system of claim 10 wherein:

the encoding system includes an MPEG encoder; and

the encoding system encodes the video segments on the MPEG encoder.

22. The method of claim 1 wherein the video segments represent a portion of a television program.

23. The method of claim 1 wherein the video segments represent a portion of a television commercial.

24. The method of claim 1 wherein the encoding is performed by an MPEG encoder.

Assignments (7)
CHANGE OF NAME Recorded Mar 31, 2026
From: ADEIA MEDIA HOLDINGS LLC
To: ADEIA MEDIA HOLDINGS INC.
Reel/Frame 075303/0717 →
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 Feb 1, 2005
From: HABERMAN, SETH; NIEMEIJER, GERRIT; BOOTH, RICHARD L.; JANSEN, ALEX
To: VISIBLE WORLD, INC.
Reel/Frame 015627/0906 →