IP Library Granted Patent US 10,080,050
Granted Patent B2
US 10,080,050 · App. 15/157,516 · Granted Sep 18, 2018

System and method for insertion of a program clock reference during packetization of an encoded data 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 10,080,050
App. No.
15/157,516
Granted
Sep 18, 2018
Kind
B2
Abstract

There is provided a method for clock reference insertion during packetization of an encoded data stream, wherein said packetization is performed before buffering of the data stream. The method comprises storing the value of each bit rate applied during encoding, and the duration of time for which each bit rate is applied. A clock reference time interval is converted into a clock reference data interval using the value of each bit rate applied and the duration of time for which each bit rate is applied. The clock reference data interval is used to determine where to insert a clock reference into the data stream during packetization.

Claims (50)

1. A method by an encoding apparatus for converting a packet clock reference (PCR) time interval into a PCR bit interval for insertion of a clock reference during packetization of an encoded data stream, the method comprising:

for a plurality of bytes leaving a packetizer, calculating, by the encoding apparatus, a time duration for when each byte is expected to leave the buffer;

adding, by the encoding apparatus, the calculated time durations for each of the plurality of bytes to determine a total accrued time;

determining, by the encoding apparatus, that the total accrued time has reached a preset PCR time interval; and

in response to the total accrued time reaching the preset PCR time interval, generating, by the encoding apparatus, an insert PCR signal for insertion of the clock reference into the data stream.

2. The method of claim 1 , further comprising storing, by the encoding apparatus, a value of each bit rate applied during encoding and the time duration.

3. The method of claim 2 , wherein:

determining a total accrued time comprises monitoring a volume of data packetized; and

generating the insert PCR signal comprises generating the insert PCR signal when the volume of data packetized since a last clock reference insertion is equal to an oldest entry in the stored values.

4. The method of claim 1 , wherein the generation of the insert PCR signal for the insertion of the clock reference into the data stream is performed during packetization and the method further comprises:

buffering the data stream after the insertion of the clock reference into the data stream.

5. The method of claim 1 , comprising:

receiving video data; and

encoding the received video data at the applied bit rate to generate the data stream.

6. The method of claim 1 , wherein the method further comprises, upon a sum of the time durations being greater than or equal to a clock reference time interval:

store the value of any remainder duration for a last applied bit rate in excess of the preset PCR time interval together with the value of the bit rate.

7. An encoding apparatus for converting a packet clock reference (PCR) time interval into a PCR bit interval for insertion of a clock reference during packetization of an encoded data stream, the encoding apparatus comprising:

a memory arranged to store a plurality of time durations, each time duration being associated one of a plurality of bytes leaving a packetizer; and

a processor operable to:

for the plurality of bytes leaving the packetizer, calculate a time duration for when each byte is expected to leave the buffer;

add the calculated time durations for each of the plurality of bytes to determine a total accrued time;

determine that the total accrued time has reached a preset PCR time interval; and

in response to the total accrued time reaching the preset PCR time interval, generate an insert PCR signal for insertion of the clock reference into the data stream.

8. The encoding apparatus of claim 7 , wherein the memory is further arranged to store a value of each bit rate applied during encoding and the time duration.

9. The encoding apparatus of claim 8 , wherein:

determining a total accrued time comprises monitoring a volume of data packetized; and

generating the insert PCR signal comprises generating the insert PCR signal when the volume of data packetized since a last clock reference insertion is equal to an oldest entry in the stored values.

10. The encoding apparatus of claim 7 , wherein the generation of the insert PCR signal for the insertion of the clock reference into the data stream is performed during packetization and the method further comprises:

buffering the data stream after the insertion of the clock reference into the data stream.

11. The encoding apparatus of claim 7 , wherein the processor is further operable to:

receive video data; and

encode the received video data at the applied bit rate to generate the data stream.

12. The encoding apparatus of claim 7 , wherein the processor is further operable, upon a sum of the time durations being greater than or equal to a clock reference time interval, to:

store the value of any remainder duration for a last applied bit rate in excess of the preset PCR time interval together with the value of the bit rate.

13. A non-transitory computer-readable storage medium storing instructions, which, when executed by a processor, causes the processor to:

for the plurality of bytes leaving a packetizer, calculate a time duration for when each byte is expected to leave the buffer;

add the calculated time durations for each of the plurality of bytes to determine a total accrued time;

determine that the total accrued time has reached a preset PCR time interval; and

in response to the total accrued time reaching the preset PCR time interval, generate an insert PCR signal for insertion of the clock reference into the data stream.

14. The non-transitory computer-readable storage medium of claim 13 , wherein, when executed, the instructions are further configured to cause the processor to store a value of each bit rate applied during encoding and the time duration.

15. The non-transitory computer-readable storage medium of claim 14 , wherein:

determining a total accrued time comprises monitoring a volume of data packetized; and

generating the insert PCR signal comprises generating the insert PCR signal when the volume of data packetized since a last clock reference insertion is equal to an oldest entry in the stored values.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the generation of the insert PCR signal for the insertion of the clock reference into the data stream is performed during packetization and instructions, when executed, are further configured to cause the processor to:

buffer the data stream after the insertion of the clock reference into the data stream.

17. The non-transitory computer-readable storage medium of claim 13 , wherein, when executed, the instructions are further configured to cause the processor to:

receive video data; and

encode the received video data at the applied bit rate to generate the data stream.

18. The non-transitory computer-readable storage medium of claim 13 , wherein, upon a sum of the time durations being greater than or equal to a clock reference time interval the instructions are further configured, when executed, to cause the processor to:

store the value of any remainder duration for a last applied bit rate in excess of the preset PCR time interval together with the value of the bit rate.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2025
From: CITIBANK, N.A., AS AGENT
To: MK SYSTEMS USA INC.
Reel/Frame 073070/0114 →
SECURITY INTEREST Recorded Oct 10, 2025
From: MK SYSTEMS USA INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 073062/0487 →
SECURITY INTEREST Recorded Apr 3, 2020
From: MK SYSTEMS USA INC.
To: CITIBANK, N.A., AS AGENT
Reel/Frame 052312/0567 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2019
From: MK SYSTEMS US SUB-HOLDCO INC.
To: MK SYSTEMS USA INC.
Reel/Frame 050277/0946 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2019
From: MK SYSTEMS US HOLDCO INC.
To: MK SYSTEMS US SUB-HOLDCO INC.
Reel/Frame 050272/0448 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2019
From: LEONE MEDIA INC.
To: MK SYSTEMS US HOLDCO INC.
Reel/Frame 050265/0490 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2019
From: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
To: LEONE MEDIA INC.
Reel/Frame 050220/0129 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2016
From: SPICER, RYAN; MARKS, IAN
To: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Reel/Frame 038631/0284 →