Media playout for VOIP applications

US9294413B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9294413-B2
Application numberUS-201314061375-A
CountryUS
Kind codeB2
Filing dateOct 23, 2013
Priority dateOct 23, 2013
Publication dateMar 22, 2016
Grant dateMar 22, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

To address limitations of conventional packet buffer management strategies, the various embodiments provide methods implemented by a processor operating on a VoIP receiver device for managing media packet rejection logic on the receiving device to improve audio playout. The embodiment methods enhance the likelihood that a receiver device will buffer (rather than reject) an incoming media packet by maintaining a history of previously rejected media packets (i.e., a packet rejection history) and referencing the packet rejection history when determining whether to reject or to accept an incoming packet the receiver device has just received. Thus, the various embodiments may reduce gaps in playback by avoiding unnecessary packet rejections and may promote an overall increase in playout quality.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of managing media packet playback on a voice over Internet protocol (VoIP) receiver device comprising a buffer, comprising: calculating a number of free buffer slots required to store an incoming packet in the buffer; determining a number of previously rejected packets based on a packet rejection history; calculating an adjusted number of required free buffer slots as a difference between the number of required free buffer slots and the number of previously rejected packets; determining a number of free slots in the buffer; determining whether the adjusted number of required free buffer slots exceeds the number of free slots in the buffer; rejecting the incoming packet and updating the packet rejection history to include an entry for the rejected incoming packet in response to determining that the adjusted number of required free buffer slots exceeds the number of free slots in the buffer; and storing the incoming packet in the buffer in sequential order in response to determining that the adjusted number of required free buffer slots does not exceed the number of free slots in the buffer. 2. The method of claim 1 , wherein calculating a number of free buffer slots required to store the incoming packet in the buffer comprises: determining a sequence number of the incoming packet; determining a sequence number of a last-buffered packet; and calculating the number of required free buffer slots as a difference between the sequence number of the incoming packet and the sequence number of the last-buffered packet. 3. The method of claim 1 , wherein determining a number of previously rejected packets based on the packet rejection history comprises: determining a sequence number of the incoming packet; determining a sequence number of a last-buffered packet; and determining the number of previously rejected packets in the packet rejection history having a sequence number greater than the sequence number of the last-buffered packet and less than the sequence number of the incoming packet. 4. The method of claim 3 , wherein storing the incoming packet in the buffer in sequential order comprises: determining a slot index value of a last-buffered packet; determining whether the adjusted number of required free buffer slots is a negative number; storing the incoming packet in a slot of the buffer based on the slot index value of the last-buffered packet and the adjusted number of required free buffer slots in response to determining that the adjusted number of required free buffer slots is not a negative number; and in response to determining that the adjusted number of required free buffer slots is a negative number: determining a number of rejected packets in the packet rejection history between the sequence number of the incoming packet and a sequence number of the last-buffered packet; calculating a slot index offset based on the adjusted number of required free buffer slots and the determined number of rejected packets in the packet rejection history between the sequence number of the incoming packet and a sequence number of the last-buffered packet; and storing the incoming packet in a slot of the buffer based on the slot index value of the last-buffered packet and the slot index offset. 5. The method of claim 1 , further comprising: determining a sequence number of a packet in the buffer that is playing; determining whether there is an entry in the packet rejection history for a packet having a sequence number less than the sequence number of the packet in the buffer that is playing; and removing the entry from the packet rejection history in response to determining that there is an entry in the packet rejection history for a packet having a sequence number less than the sequence number of the packet in the buffer that is playing. 6. A receiver device, comprising: a transceiver configured to receive voice over Internet protocol (VoIP) media packets; a memory configured to function as a buffer for received VoIP media packets; and a processor coupled to the transceiver and the memory, wherein the processor is configured with processor-executable instructions to perform operations comprising: calculating a number of free buffer slots required to store an incoming packet in the buffer; determining a number of previously rejected packets based on a packet rejection history; calculating an adjusted number of required free buffer slots as a difference between the number of required free buffer slots and the number of previously rejected packets; determining a number of free slots in the buffer; determining whether the adjusted number of required free buffer slots exceeds the number of free slots in the buffer; rejecting the incoming packet and updating the packet rejection history to include an entry for the rejected incoming packet in response to determining that the adjusted number of required free buffer slots exceeds the number of free slots in the buffer; and storing the incoming packet in the buffer in sequential order in response to determining that the adjusted number of required free buffer slots does not exceed the number of free slots in the buffer. 7. The receiver device of claim 6 , wherein the processor is configured with processor-executable instructions to perform operations such that calculating a number of free buffer slots required to store the incoming packet in the buffer comprises: determining a sequence number of the incoming packet; determining a sequence number of a last-buffered packet; and calculating the number of required free buffer slots as a difference between the sequence number of the incoming packet and the sequence number of the last-buffered packet. 8. The receiver device of claim 6 , wherein the processor is configured with processor-executable instructions to perform operations such that determining a number of previously rejected packets based on the packet rejection history comprises: determining a sequence number of the incoming packet; determining a sequence number of a last-buffered packet; and determining the number of previously rejected packets in the packet rejection history having a sequence number greater than the sequence number of the last-buffered packet and less than the sequence number of the incoming packet. 9. The receiver device of claim 8 , wherein the processor is configured with processor-executable instructions to perform operations such that storing the incoming packet in the buffer in sequential order comprises: determining a slot index value of a last-buffered packet; determining whether the adjusted number of required free buffer slots is a negative number; storing the incoming packet in a slot of the buffer based on the slot index value of the last-buffered packet and the adjusted number of required free buffer slots in response to determining that the adjusted number of required free buffer slots is not a negative number; and in response to determining that the adjusted number of required free buffer slots is a negative number: determining a number of rejected packets in the packet rejection history between the sequence number of the incoming packet and a sequence number of the last-buffered packet; calculating a slot index offset based on the adjusted number of required free buffer slots and the determined number of rejected packets in the packet rejection history between the sequence number of the incoming packet and a sequence number of the last-buffered packet; and storing the incoming packet in a slot of the buffer based on the slot index value of the last-buffered packet and the slot index offset. 10. The receiver device of claim 6 , wherein the processor

Assignees

Inventors

Classifications

  • Electricity · mapped topic

  • H04L65/80Primary

    Responding to QoS · CPC title

  • measures in reaction to resource unavailability · CPC title

  • in combination with information about buffer occupancy at either end or at transit nodes · CPC title

  • H04L47/32Primary

    by discarding or delaying data units, e.g. packets or frames · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9294413B2 cover?
To address limitations of conventional packet buffer management strategies, the various embodiments provide methods implemented by a processor operating on a VoIP receiver device for managing media packet rejection logic on the receiving device to improve audio playout. The embodiment methods enhance the likelihood that a receiver device will buffer (rather than reject) an incoming media packet…
Who is the assignee on this patent?
Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification H04L65/80. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 22 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).