IP Library › Granted Patent US 8,300,703
Granted Patent B2
US 8,300,703 · App. 12/564,532 · Granted Oct 30, 2012

System and method for adaptively allocating resources in a transcoder

Assignee: Texas Instruments Incorporated
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,300,703
App. No.
12/564,532
Granted
Oct 30, 2012
Kind
B2
Abstract

An adaptive transcoder is provided that includes a shared memory containing a plurality of decoder buffers to store incoming data packets, a plurality of decoder instances to control a decoding process to generate image raw data based on the incoming data packets, and a plurality of encoder instances configured to control an encoding process to generate outgoing packets based on the image raw data; and a data processing element containing a plurality of processing cores, and a core controller. Each decoder instance is paired with an encoder instance; and each decoder buffer is associated with a decoder instance. Each decoder buffer includes a monitoring element to monitor a respective decoder buffer, and provide buffer data corresponding to the status of the decoder buffer. Each encoder instance is associated with a processing core; and the core controller uses the buffer data to associate each decoder instance with a processing core.

Claims (35)

1. An adaptive transcoder, comprising:

a shared memory containing a plurality of decoder buffers configured to store a plurality of incoming data packets, a plurality of decoder instances configured to control a decoding process to generate a plurality of image raw data based on the plurality of incoming data packets, and a plurality of encoder instances configured to control an encoding process to generate a plurality of outgoing packets based on the image raw data; and

a data processing element containing a plurality of processing cores and a core controller;

wherein each of the plurality of decoder instances is paired with one of the plurality of encoder instances,

wherein each of the decoder buffers is associated with one of the decoder instances,

wherein each respective decoder buffer includes a respective monitoring element for monitoring a status of each the respective decoder buffer, and providing buffer data corresponding to the status of the respective decoder buffer, the buffer data comprises:

a warning indicator indicating whether the respective decoder buffer has reached a first threshold of stored packets;

an alert indicator indicating whether the respective decoder buffer has reached a second threshold of stored packets, the second threshold being greater than the first threshold; and

a critical alert indicator indicating whether the respective decoder buffer has reached a third threshold of stored packets, the third threshold being greater than the second threshold;

wherein each of the plurality of the encoder instances are associated with a corresponding one of the plurality of processing cores, and

wherein the core controller uses the buffer data to associate each of the plurality of decoder instances with a selected one of the plurality of processing cores.

2. The adaptive transcoder of claim 1 , wherein the core controller is configured to temporarily re-assign the respective decoder buffer and the respective associated decoder instance to a different processing core when the warning indicator indicates that the respective decoder buffer has reached the first threshold of stored packets, but the alert indicator indicates that the respective decoder buffer has not reached the second threshold of stored packets.

3. The adaptive transcoder of claim 1 , wherein the encoder instance is configured to control the encoding process to drop packets during encoding when the critical alert indicator indicates that the respective decoder buffer has reached the third threshold of stored packets.

4. The adaptive transcoder of claim 1 ,

wherein the shared memory further comprises a plurality of image processor instances configured to perform image processing operations on the image raw data after the decoding process and before the encoding process or,

wherein each of the plurality of image processor instances is paired with one of the plurality of encoder instances, and

wherein each of the image processor instances is associated with the same processing core as the paired encoder instance.

5. The adaptive transcoder of claim 1 , wherein the image processor instance is configured to reduce the amount of image processing performed during the image processing operations when the alert indicator indicates that the respective decoder buffer has reached the second threshold of stored packets.

6. A method of adaptively controlling decoding and encoding in a transcoder, comprising:

receiving incoming data packets;

storing the incoming data packets in a memory element;

determining an amount of the memory element currently being used to store the incoming data packets;

allocating processing resources for encoding and decoding based on the amount of the memory element currently being used;

performing a decoding operation on the incoming data packets to generate image raw data;

performing image processing on the image raw data;

adjusting a level of image processing performed based on the amount of the memory element currently being used and

performing an encoding operation on the image raw data to generate outgoing packets.

7. The method of adaptively controlling decoding and encoding in a transcoder, of claim 6 , further comprising adjusting encoding parameters of the encoding operation based on the amount of the memory element currently being used.

8. The method of adaptively controlling decoding and encoding in a transcoder, of claim 6 , wherein the determining of the amount of the memory element used further comprises:

determining whether the memory element contains at least a first threshold of stored packets;

determining whether the memory element contains at least a second threshold of stored packets, the second threshold being greater than the first threshold; and

determining whether the memory element contains at least a third threshold of stored packets, the third threshold being greater than the second threshold.

9. The method of adaptively controlling decoding and encoding in a transcoder, of claim 8 , wherein the operation of allocating processing resources further comprises temporarily re-assigning performance of the decoding operation to a different processing resource when it is determined that the memory element contains at least the first threshold of stored packets but does not contain at least the second threshold of stored packets.

10. The method of adaptively controlling decoding and encoding in a transcoder, of claim 8 , further comprising dropping packets during the encoding process when it is determined that the memory element contains at least the third threshold of stored packets.

11. The method of adaptively controlling decoding and encoding in a transcoder, of claim 8 , further comprising performing image processing on the image raw data after the image raw data after the performing of the decoding operation, and before the performing of the coding operation, and wherein a level of image processing is reduced when it is determined that the memory element aims at least the second threshold of data packets.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2009
From: CHENGALVALA, VIVEKANAND; SENICIC, DJORDJE
To: TEXAS INSTRUMENTS INCORPORATED
Reel/Frame 023275/0688 →
Continuity (1)
Related Publication 20110069750A1 · Mar 24, 2011