IP Library Granted Patent US 7,831,729
Granted Patent B1
US 7,831,729 · App. 12/037,103 · Granted Nov 9, 2010

Device and method for managing multiple versions of a single program transport stream

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 7,831,729
App. No.
12/037,103
Granted
Nov 9, 2010
Kind
B1
Abstract

A method, system and computer program product. The method includes: receiving multiple variable bit rate version of a program; wherein different variable bit rate versions of the program differ from each other by their bit rate; converting each variable bit version of the program to a constant bit version of the program by adding null packets so that once an edge device removes the null packets a valid single program transport stream is generated; and transmitting multiple constant bit versions of the program to a server.

Claims (50)

1. A method for providing multiple versions of a program, the method comprises:

receiving multiple variable bit rate versions of a program; wherein different variable bit rate versions of the program differ from each other by their bit rate;

converting each variable bit rate version of the program to a constant bit rate version of the program, wherein the converting comprises: adding null packets so that once an edge device removes the null packets a valid single program transport stream is generated and altering at least one program clock reference value when an addition of one or more null packets does not compensate for timing gaps between a variable bit rate version of the program to a corresponding constant bit rate version of the program;

transmitting multiple constant bit rate versions of the program to a server that is coupled to an edge device; and

transiting, by the edge device, from one portion of a selected version of the program to another portion of another selected version of the program; wherein the transiting utilizes a proximity between transition points of different constant bit rate versions of the program in a multiplex of multiple constant bit versions of the program received by the edge device.

2. The method according to claim 1 comprising multiplexing multiple constant bit rate versions of the program.

3. The method according to claim 1 comprising multiplexing the multiple constant bit rate versions of the program so that transition points of different constant bit rate versions of the program are proximate to each other.

4. The method according to claim 1 comprising assigning different packet identifier values to null packets of different constant bit rate versions of the program; and generating metadata that reflects the assignment.

5. A computer program product comprising a non-transitory computer usable storage medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:

receive multiple variable bit rate version of a program; wherein different variable bit rate versions of the program differ from each other by their bit rate;

convert each variable bit rate version of the program to a constant bit rate version of the program by adding null packets so that once an edge device removes the null packets a valid single program transport stream is generated and by altering at least one program clock reference value when an addition of one or more null packets does not compensate for timing gaps between a variable bit rate version of the program to a corresponding constant bit rate version of the program; and

transmit multiple constant bit rate versions of the program to a server that is coupled to an edge device; and

transiting, by the edge device, from one portion of a selected version of the program to another portion of another selected version of the program; wherein the transiting utilizes a proximity between transition points of different constant bit rate versions of the program in a multiplex of multiple constant bit versions of the program received by the edge device.

6. The computer program product according to claim 5 , wherein the computer readable program when executed on a computer causes the computer to multiplex multiple constant bit rate versions of the program.

7. The computer program product according to claim 5 , wherein the computer readable program when executed on a computer causes the computer to multiplex the multiple constant bit rate versions of the program so that transition points of different constant bit rate versions of the program are proximate to each other.

8. The computer program product according to claim 5 , wherein the computer readable program when executed on a computer causes the computer to assign different packet identifier values to null packets of different constant bit rate versions of the program; and generating metadata that reflects the assignment.

9. A method for outputting a program, the method comprises:

receiving, by an edge device, multiple constant bit versions of the program; wherein each constant bit rate version of the program was generated by converting a variable bit rate version of the program to the constant bit rate version of the program; wherein the conversion includes adding null packets so that once the edge device removes the null packets a valid single program transport stream is generated and altering at least one program clock reference value when an addition of one or more null packets does not compensate for timing gaps between a variable bit rate version of the program to a corresponding constant bit rate version of the program;

selecting, at each point in time out of multiple points in time, a selected version of the program;

transiting from one portion of a selected version of the program to another portion of another selected version of the program; wherein the transiting utilizes a proximity between transition points of different constant bit rate versions of the program in a multiplex of multiple constant bit versions of the program received by the edge device; and

transmitting a portion of the selected version of the program in response to the selection.

10. The method according to claim 9 further comprising receiving metadata that reflects an assignment of different packet identifier values to null packets of different constant bit rate versions of the program.

11. The method according to claim 10 comprising transmitting a constant bit rate portion of the selected version; wherein the transmitted constant bit rate portion comprises null packets of the selected constant bit rate portion while not including null packets of other constant bit rate versions of the program.

12. The method according to claim 10 comprising transmitting a variable bit rate portion of the selected version of the program while ignoring null packets included in the selected constant bit rate portion.

13. The method according to claim 9 comprising re-mapping packet identifiers of different selected portions of the same program to the same packet identifier value.

14. A computer program product comprising a non-transitory computer usable storage medium including a computer readable program, wherein the computer readable program when executed on a computer of an edge device causes the computer to:

receive multiple constant bit rate versions of the program; wherein each constant bit rate version of the program was generated by converting a variable bit rate version of the program to the constant bit rate version of the program; wherein the conversion includes adding null packets so that once the edge device removes the null packets a valid single program transport stream is generated and altering at least one program clock reference value when an addition of one or more null packets does not compensate for timing gaps between a variable bit rate version of the program to a corresponding constant bit rate version of the program;

select, at each point in time out of multiple points in time, a selected constant bit rate portion of a constant bit rate version of the program while ignoring constant bit rate portions of other constant bit rate versions of the program;

switch, in response to the selection, from one portion of a version of the program to the selected constant bit rate portion; wherein the switching utilizes a proximity between transition points of different constant bit rate versions of the program in a multiplex of multiple constant bit versions of the program received by the edge device; and

transmit the selected constant bit rate portion of a version of the program in response to the selection.

15. The computer program product according to claim 14 , wherein the computer readable program when executed on a computer causes the computer to receive metadata that reflects an assignment of different packet identifier values to null packets of different constant bit rate versions of the program.

16. The computer program product according to claim 15 , wherein the computer readable program when executed on a computer causes the computer to transmit the selected constant bit rate portion; wherein the transmitted constant bit rate portion comprises null packets of the selected constant bit rate portion while not including null packets of other constant bit rate versions of the program.

17. The computer program product according to claim 15 , wherein the computer readable program when executed on a computer causes the computer to transmit a variable bit rate portion associated with the selected constant bit rate portion while ignoring null packets included in the selected constant bit rate portion.

18. The computer program product according to claim 14 , wherein the computer readable program when executed on a computer causes the computer to re-map packet identifiers of different selected portions of the same program to the same packet identifier value.

19. A system comprising:

a memory unit adapted to store multiple variable bit rate version of a program; wherein different variable bit rate versions of the program differ from each other by their bit rate;

a converter, adapted to convert each variable bit version of the program to a constant bit version of the program by adding null packets so that once an edge device removes the null packets a valid single program transport stream is generated and by altering at least one program clock reference value when an addition of one or more null packets does not compensate for timing gaps between a variable bit rate version of the program to a corresponding constant bit rate version of the program; and

a transmitter adapted to transmit multiple constant bit rate versions of the program to a server that is coupled to an edge device; and

transiting, by the edge device, from one portion of a selected version of the program to another portion of another selected version of the program; wherein the transiting utilizes a proximity between transition points of different constant bit rate versions of the program in a multiplex of multiple constant bit versions of the program received by the edge device.

20. The system according to claim 19 , wherein converter is adapted to multiplex multiple constant bit rate versions of the program.

21. The system according to claim 19 wherein the converter is adapted to multiplex the multiple constant bit rate versions of the program so that transition points of different constant bit rate versions of the program are proximate to each other.

22. The system according to claim 19 wherein the converter is adapted to assign different packet identifier values to null packets of different constant bit rate versions of the program; and generating metadata that reflects the assignment.

23. An edge device comprising:

a memory unit adapted to store portions of multiple constant bit rate versions of the program; wherein each constant bit rate version of the program was generated by converting a variable bit rate version of the program to the constant bit rate version of the program; wherein the conversion includes adding null packets so that once the edge device removes the null packets a valid single program transport stream is generated and altering at least one program clock reference value when an addition of one or more null packets does not compensate for timing gaps between a variable bit rate version of the program to a corresponding constant bit rate version of the program;

a selection unit adapted to select, at each point in time out of multiple points in time, a selected constant bit rate portion of a constant bit rate version of the program while ignoring constant bit rate portions of other constant bit rate versions of the program and to switch from one portion of a version of the program to another; wherein the switching utilizes a proximity between transition points of different constant bit rate versions of the program in a multiplex of multiple constant bit versions of the program received by the edge device; and

a transmitter adapted to transmit a portion of a version of the program in response to the selection.

24. The edge device according to claim 23 , wherein the memory unit is adapted to store metadata that reflects an assignment of different packet identifier values to null packets of different constant bit rate versions of the program.

25. The edge device according to claim 24 , wherein the transmitter is adapted to transmit the selected constant bit rate portion; wherein the transmitted constant bit rate portion comprises null packets of the selected constant bit rate portion while not including null packets of other constant bit rate versions of the program.

26. The edge device according to claim 24 , wherein the transmitter is adapted to transmit a variable bit rate portion associated with the selected constant bit rate portion while ignoring null packets included in the selected constant bit rate portion.

27. The edge device according to claim 23 , wherein the converter is adapted to re-map packet identifiers of different selected portions of the same program to the same packet identifier value.

Assignments (14)
SECURITY INTEREST Recorded Apr 8, 2026
From: ARRIS ENTERPRISES LLC; RUCKUS IP HOLDINGS LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 075476/0814 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); ARRIS TECHNOLOGY, INC.; ARRIS SOLUTIONS, INC.; COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.)
Reel/Frame 071477/0255 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
ABL SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049892/0396 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049905/0504 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 8, 2019
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
Reel/Frame 048825/0294 →
CHANGE OF NAME Recorded Mar 14, 2017
From: ARRIS ENTERPRISES INC
To: ARRIS ENTERPRISES LLC
Reel/Frame 041995/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2015
From: ARRIS SOLUTIONS, INC.
To: ARRIS ENTERPRISES, INC.
Reel/Frame 036601/0162 →
SECURITY AGREEMENT Recorded May 28, 2013
From: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS; BIGBAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 030498/0023 →
CORRECTIVE ASSIGNMENT TO CORRET THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 027422 FRAME 0633. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 7, 2012
From: BIGBAND NETWORKS, INC.
To: ARRIS SOLUTIONS, INC.
Reel/Frame 028226/0273 →
MERGER Recorded Dec 20, 2011
From: BIGBAND NETWORKS, INC.
To: ARRIS GROUP, INC.
Reel/Frame 027422/0633 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2008
From: ESHET, AMIT, MR; HILDESHAM, AMIT, MR
To: BIGBAND NETWORKS INC.
Reel/Frame 020557/0833 →