IP Library Granted Patent US 12,184,715
Granted Patent B2
US 12,184,715 · App. 17/871,055 · Granted Dec 31, 2024

Reconstruction of CBR transport streams

Inventors: Rhodri Harris (Southampton, GB); David Clewer (Southampton, GB); Jonathan Page (Southampton, GB)
Assignee: MK Systems USA Inc.
H04L65/764H04L65/61H04L65/70
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 12,184,715
App. No.
17/871,055
Granted
Dec 31, 2024
Kind
B2
Abstract

Systems, methods, and devices for generating a constant bitrate (CBR) transport stream in manners that facilitate subsequent reconstruction, and for performing such reconstruction are disclosed herein. For example, generating a CBR transport stream may include for each payload packets: sampling a clock source to obtain a clock sample; and inserting an encoding of the clock sample in a stuffing area of a header of the payload packet. For example, reconstructing a CBR transport stream may include receiving a plurality of packets of a variable bitrate (VBR) transport stream; for a pair of adjacent packets in the VBR transport stream: extracting a clock sample from a header of each of the pair adjacent packets; computing a delta between the clock samples; and inserting one or more null packets between the adjacent packets based on the computed delta and a timing metric corresponding to a bitrate of the CBR transport stream.

Claims (40)

1. A computer-implemented method for reconstructing a constant bitrate (CBR) transport stream, the method including:

receiving a plurality of packets of a variable bitrate (VBR) transport stream;

for a pair of adjacent packets in the VBR transport stream:

extracting a clock sample from a header of each of the pair adjacent packets, wherein the clock sample is extracted from a stuffing area of the header, wherein the clock sample is distinct from timing data in a program clock reference (PCR) field of the header, and wherein the stuffing area of the header is distinct from the PCR field of the header;

computing a delta between the clock samples; and

inserting one or more null packets between the adjacent packets based on the computed delta and a timing metric corresponding to a bitrate of the CBR transport stream.

2. The computer-implemented method of claim 1 , wherein a count of the inserted one or more null packets is based on computing a multiple of the delta relative to the timing metric.

3. The computer-implemented method of claim 1 , wherein the stuffing area is located in an adaptation field of the header.

4. The computer-implemented method of claim 1 , wherein said extracting the clock sample includes decoding the clock sample from a type-length-value construct.

5. The computer-implemented method of claim 1 , further comprising detecting a byte sequence in the header indicating that the clock sample is present.

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

estimating the timing metric from a subset of the plurality of packets.

7. The computer-implemented method of claim 6 , wherein said estimating includes determining a minimum delta between adjacent pairs of packets in the subset of the plurality of packets.

8. The computer-implemented method of claim 1 , further comprising reordering packets based on the clock samples.

9. A computer-implemented system for reconstructing a constant bitrate (CBR) transport stream, the system comprising:

at least one processor;

memory in communication with the at least one processor;

software code stored in the memory, which when executed at the at least one processor causes the system to:

for a pair of adjacent packets in a VBR transport stream:

extract a clock sample from a header of each of the adjacent packets, wherein the clock sample is extracted from a stuffing area of the header, wherein the clock sample is distinct from timing data in a program clock reference (PCR) field of the header, and wherein the stuffing area of the header is distinct from the PCR field of the header;

compute a delta between the clock samples; and

insert one or more null packets between the adjacent packets based on the computed delta and a timing metric corresponding to a bitrate of the CBR transport stream.

10. The computer-implemented system of claim 9 , wherein a count of the inserted one or more null packets is based on computing a multiple of the delta relative to the timing metric.

11. The computer-implemented system of claim 9 , wherein the stuffing area is located in an adaptation field of the header.

12. A computer-implemented method for generating a constant bitrate (CBR) transport stream, the method comprising:

for each of a plurality of payload packets:

sampling a clock source to obtain a clock sample; and

inserting an encoding of the clock sample in a stuffing area of a header of the payload packet, wherein the encoding of the clock sample is distinct from timing data in a program clock reference (PCR) field of the header, and wherein the stuffing area of the header is distinct from the PCR field of the header; and

providing the CBR transport stream including the plurality of payload packets.

13. The computer-implemented method of claim 12 , wherein the clock sample is encoded using a type-length-value construct.

14. The computer-implemented method of claim 12 , wherein the clock source is a system clock.

15. The computer-implemented method of claim 14 , wherein the clock sample is a subset of a sample of the system clock.

16. The computer-implemented method of claim 12 , wherein the stuffing area is located in an adaptation field of the header.

17. The computer-implemented method of claim 16 , further comprising:

setting a bit of an adaption field control field of the header.

18. A constant bitrate (CBR) transport stream source comprising:

a clock; and

a packet processor that, for each of a plurality of payload packets, samples a clock source to obtain a clock sample from the clock and inserts the clock sample into a stuffing area of a header of the payload packet, wherein the clock sample is distinct from timing data in a program clock reference (PCR) field of the header, and wherein the stuffing area of the header is distinct from the PCR field of the header; and

a transmitter that transmits a CBR transport stream including the payload packets.

19. The constant bitrate (CBR) transport stream source of claim 18 , wherein the stuffing area is located in an adaptation field of the header.

Assignments (2)
SECURITY INTEREST Recorded Oct 10, 2025
From: MK SYSTEMS USA INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 073062/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2022
From: HARRIS, RHODRI; CLEWER, DAVID; PAGE, JONATHAN
To: MK SYSTEMS USA INC.
Reel/Frame 060717/0841 →