IP Library Granted Patent US 8,566,108
Granted Patent B2
US 8,566,108 · App. 12/746,076 · Granted Oct 22, 2013

Synchronization of multiple real-time transport protocol sessions

Inventors: Pasi Ojala (Kirkkonummi, FI); Ari Lakaniemi (Helsinki, FI)
Assignee: Nokia Corporation
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,566,108
App. No.
12/746,076
Granted
Oct 22, 2013
Kind
B2
Abstract

A packet generator for generating packets from an input signal configured to: generate at least one first signal, dependent on the input signal, the first signal comprising a first relative time value; generate at least one second signal, dependent on the input signal and associated with the at least one first signal; and generate at least one indicator associated with each of the at least one second signal, each indicator dependent on the first relative time value.

Claims (106)

1. An apparatus comprising:

at least one processor; and

at least one memory including computer program code, the at least one memory, the at least one processor, and the computer program code configured to cause the apparatus to at least:

generate packets from an input signal;

generate at least one core layer encoded signal, based at least in part on the input signal, the core layer encoded signal comprising a first relative time value;

generate at least one enhancement layer signal, based at least in part on the input signal and associated with the at least one core layer encoded signal;

generate at least one indicator associated with each of the at least one enhancement layer signal, each of the at least one indicator based at least in part on the first relative time value; and

determine if a synchronization point has been reached,

wherein the at least one indicator comprises an identifier identifying the at least one core layer encoded signal, and

wherein the at least one indicator is generated only if the synchronization point has been reached.

2. The apparatus of claim 1 , wherein the first relative time value comprises a real-time transport protocol time stamp, and

wherein the identifier comprises the real-time transport protocol time stamp of the at least one core layer encoded signal.

3. The apparatus of claim 1 , wherein each of the at least one enhancement layer signal comprises an associated second relative time value, and

wherein the at least one indicator comprises a difference between the first relative time value and the associated second relative time value.

4. The apparatus of claim 1 , wherein the at least one core layer encoded signal further comprises:

a sequence number, wherein each of the at least one indicator comprises the sequence number, and

a first identifier value based at least in part on the first relative time value.

5. The apparatus of claim 4 , wherein each of the at least one indicator comprises the first identifier value.

6. The apparatus of claim 4 , wherein each of the at least one indicator comprises at least one second identifier value, the at least one second identifier value being based at least in part on the first identifier value and the at least one enhancement layer signal.

7. The apparatus of claim 1 , wherein the synchronization point is determined based at least in part on receiving a synchronization request.

8. The apparatus of claim 1 , wherein the at least one core layer encoded signal comprises a plurality of packets,

wherein the synchronization point is determined based at least in part on detecting any of a predetermined number of packets, and

wherein the predetermined number of packets comprise at least one of:

a first predetermined number of packets of the plurality of packets;

at least one of the predetermined number of packets separated from a second of the predetermined number of packets by a second predetermined number of packets; and

at least one of the predetermined number of packets separated from a second of the predetermined number of packets by a predetermined time period.

9. The apparatus of claim 1 , wherein the at least one core layer encoded signal comprises a plurality of packets, and

wherein the synchronization point is determined based at least in part on detecting one of the following:

a discontinuity in a stream of packets;

a changing of a configuration of at least one of the core layer encoded signal and at least one of the enhancement layer signal; and

a talk spurt or a restarting of a session.

10. An apparatus comprising:

at least one processor; and

at least one memory including computer program code, the at least one memory, the at least one processor, and the computer program code configured to cause the apparatus to at least:

receive an encoded signal comprising at least one core layer encoded signal, at least one enhancement layer encoded signal, and at least one indicator, the at least one core layer encoded signal comprising a first relative time value, the at least one enhancement layer encoded signal comprising a second relative time value, and the at least one indicator associated with each of the at least one enhancement layer encoded signal;

synchronize each of the at least one enhancement layer encoded signal with at least one of the at least one core layer encoded signal based at least in part on the associated at least one indicator first relative time value; and

decode each of the at least one enhancement layer encoded signal synchronized with the at least one core layer encoded signal to generate a decoded signal,

wherein the at least one indicator comprises an identifier identifying one of the at least one core layer encoded signal, and

wherein the at least one indicator comprises a difference between the first relative time value and the second relative time value.

11. The apparatus of claim 10 , wherein each first relative time value comprises a first time stamp value, and

wherein the at least one indicator comprises the first time stamp value for one of the at least one core layer encoded signal associated with one of the at least one enhancement layer encoded signal.

12. The apparatus of claim 11 , wherein each second relative time value comprises a second time stamp value, and

wherein the apparatus is further configured to determine a time offset value between the first time stamp value and the second time stamp value of the associated one of the at least one enhancement layer encoded signal.

13. The apparatus of claim 10 , wherein the at least one core layer encoded signal further comprises a sequence number, and

wherein each of the at least one indicator comprises the sequence number of the associated at least one core layer encoded signal.

14. The apparatus of claim 10 , wherein the at least one core layer encoded signal further comprises a first identifier value based at least in part on the first relative time value,

wherein each of the at least one indicator comprises the first identifier value, and

wherein each of the at least one indicator comprises at least one second identifier value, the second identifier value being based at least in part on the first identifier value and the at least one enhancement layer encoded signal.

15. A method comprising:

generating, by at least one processor, packets from an input signal;

generating, by the at least one processor, at least one core layer encoded signal, based at least in part on the input signal, the core layer encoded signal comprising a first relative time value;

generating, by the at least one processor, at least one enhancement layer signal, based at least in part on the input signal and associated with the at least one core layer encoded signal;

generating, by the at least one processor, at least one indicator associated with each of the at least one enhancement layer signal, each of the at least one indicator based at least in part on the first relative time value; and

determining, by the at least one processor, if a synchronization point has been reached,

wherein the at least one indicator comprises an identifier identifying the at least one core layer encoded signal, and

wherein the at least one indicator is generated only if the synchronization point has been reached.

16. The method of claim 15 , wherein the first relative time value comprises a real-time transport protocol time stamp, and

wherein the identifier comprises the real-time transport protocol time stamp of the at least one core layer encoded signal.

17. The method of claim 15 , wherein each of the at least one enhancement layer signal comprises an associated second relative time value, and

wherein the at least one indicator comprises a difference between the first relative time value and the associated second relative time value.

18. The method of claim 15 , wherein the at least one core layer encoded signal further comprises:

a sequence number, wherein each of the at least one indicator comprises the sequence number; and

a first identifier value based at least in part on the first relative time value.

19. The method of claim 18 , wherein each of the at least one indicator comprises the first identifier value.

20. The method of claim 18 , wherein each of the at least one indicator comprises at least one second identifier value, the at least one second identifier value being based at least in part on the first identifier value and the at least one enhancement layer signal.

21. The method of claim 15 , wherein the synchronization point is determined based at least in part on receiving a synchronization request.

22. The method of claim 15 , wherein the at least one core layer encoded signal comprises a plurality of packets,

wherein the synchronization point is determined based at least in part on detecting any of a predetermined number of packets, and

wherein the predetermined number of packets comprise at least one of:

a first predetermined number of packets of the plurality of packets;

at least one of the predetermined number of packets separated from a second of the predetermined number of packets by a second predetermined number of packets; and

at least one of the predetermined number of packets separated from a second of the predetermined number of packets by a predetermined time period.

23. The method of claim 15 , wherein the at least one core layer encoded signal comprises a plurality of packets, and

wherein the synchronization point is determined based at least in part on detecting one of the following:

a discontinuity in a stream of packets;

a changing of a configuration of at least one of the core layer encoded signal and at least one of the enhancement layer signal; and

a talk spurt or a restarting of a session.

24. A method comprising:

receiving, by at least one processor, an encoded signal comprising at least one core layer encoded signal, at least one enhancement layer encoded signal, and at least one indicator, the at least one core layer encoded signal comprising a first relative time value, the at least one enhancement layer encoded signal comprising a second relative time value, and the at least one indicator associated with each of the at least one enhancement layer encoded signal;

synchronizing, by the at least one processor, each of the at least one enhancement layer encoded signal with at least one of the at least one core layer encoded signal based at least in part on the associated at least one indicator first relative time value; and

decoding, by the at least one processor, each of the at least one enhancement layer encoded signal synchronized with the at least one core layer encoded signal to generate a decoded signal,

wherein the at least one indicator comprises an identifier identifying one of the at least one core layer encoded signal, and

wherein the at least one indicator comprises a difference between the first relative time value and the second relative time value.

25. The method of claim 24 , wherein each first relative time value comprises a first time stamp value, and

wherein the at least one indicator comprises the first time stamp value for one of the at least one core layer encoded signal associated with one of the at least one enhancement layer encoded signal.

26. The method of claim 25 , wherein each second relative time value comprises a second time stamp value, and

wherein the method further comprises determining a time offset value between the first time stamp value and the second time stamp value of the associated one of the at least one enhancement layer encoded signal.

27. The method of claim 24 , wherein the at least one core layer encoded signal further comprises a sequence number, and

wherein each of the at least one indicator comprises the sequence number of the associated at least one core layer encoded signal.

28. The method of claim 24 , wherein the at least one core layer encoded signal further comprises a first identifier value based at least in part on the first relative time value,

wherein each of the at least one indicator comprises the first identifier value, and

wherein each of the at least one indicator comprises at least one second identifier value, the second identifier value being based at least in part on the first identifier value and the at least one enhancement layer encoded signal.

29. A computer program product comprising a non-transitory computer-readable medium encoded with instructions that, when executed by at least one processor, perform at least the following:

generating packets from an input signal;

generating at least one core layer encoded signal, based at least in part on the input signal, the core layer encoded signal comprising a first relative time value;

generating at least one enhancement layer signal, based at least in part on the input signal and associated with the at least one core layer encoded signal;

generating at least one indicator associated with each of the at least one enhancement layer signal, each of the at least one indicator based at least in part on the first relative time value; and

determining if a synchronization point has been reached,

wherein the at least one indicator comprises an identifier identifying the at least one core layer encoded signal, and

wherein the at least one indicator is generated only if the synchronization point has been reached.

30. A computer program product comprising a non-transitory computer-readable medium encoded with instructions that, when executed by at least one processor, perform at least the following:

receiving an encoded signal comprising at least one core layer encoded signal, at least one enhancement layer encoded signal, and at least one indicator, the at least one core layer encoded signal comprising a first relative time value, the at least one enhancement layer encoded signal comprising a second relative time value, and the at least one indicator associated with each of the at least one enhancement layer encoded signal;

synchronizing each of the at least one enhancement layer encoded signal with at least one of the at least one core layer encoded signal based at least in part on the associated at least one indicator first relative time value; and

decoding each of the at least one enhancement layer encoded signal synchronized with the at least one core layer encoded signal to generate a decoded signal,

wherein the at least one indicator comprises an identifier identifying one of the at least one core layer encoded signal, and

wherein the at least one indicator comprises a difference between the first relative time value and the second relative time value.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035496/0763 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2010
From: OJALA, PASI; LAKANIEMI, ARI
To: NOKIA CORPORATION
Reel/Frame 024506/0542 →
Continuity (1)
Related Publication 20100280832A1 · Nov 4, 2010