IP Library Granted Patent US 8,654,849
Granted Patent B2
US 8,654,849 · App. 12/644,814 · Granted Feb 18, 2014

Integrated transcoding

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,654,849
App. No.
12/644,814
Granted
Feb 18, 2014
Kind
B2
Abstract

Methods and systems for integrated transcoding on a plurality of data channels to convert one or more data channels from an incoming encoding format to an outgoing encoding format are disclosed.

Claims (64)

1. A computer implemented method for real time integrated transcoding of a plurality of data channels in an integrated transcoding system comprising a plurality of transcoders, at least a multiplexer, and at least a closed loop rate controller, the method comprising:

receiving one or more program elementary streams through said plurality of data channels;

demuliplexing said one or more program elementary streams;

performing a transcoding operation on said one or more demultiplexed elementary streams, wherein the transcoding operation includes a decoding operation whereby the one or more demultiplexed elementary streams are fully decoded, wherein the decoding operation produces a plurality of encoding parameters and the encoding parameters are dynamically reused by the transcoding operation in reencoding the decoded demultiplexed elementary streams;

assigning rates to the one or more program elementary streams based on a complexity of a respective stream as estimated by a motion estimator using decoded frames from the respective stream;

performing a delay operation on said one or more demultiplexed elementary streams to align the one or more program elementary streams;

buffering said one or more elementary streams in one or more first in, first out (FIFO) memories to time align said streams;

performing program clock reference (PCR) recovery and tracking to generate a local PCR clock synchronous with original PCR clock for each of said one or more elementary streams; and

combining said one or more elementary streams with said corresponding PCR clock generated.

2. The method of claim 1 , wherein the transcoding operation comprises:

using an input decoder to decode the video elementary stream to produce a video elementary stream and input encoding parameters;

converting the input encoding parameters using a parameter translator to produce estimates of transcoded video elementary stream parameters;

generating estimates of frame coding modes and approximate motion vectors based on the decoded video and estimates of the transcoded video elementary stream parameters;

buffering the decoded video and input encoding parameters for all frames in a look ahead buffer;

performing adaptive filtering to improve output encoding quality by reducing a required number of encoding bits through removal of noise and less observable details;

allocating encoding bits to frames within the look ahead buffer;

calculating the transcoded video elementary stream.

3. The method of claim 2 , wherein the adaptive filtering further comprises filtering the one or more program elementary streams based upon input received from a plurality of transcoders and a closed loop rate controller, wherein the strength and nature of the filtering is based upon the transcoders and the closed loop rate controller.

4. The method of claim 2 , wherein the adaptive filtering further comprises:

sending complexity information from a plurality of transcoders to a closed loop rate controller, the complexity information being associated with each of the streams being processed by the transcoders; and

receiving at the transcoders an estimated encoding bit rate information for each of the transcoders.

5. The method of claim 4 , wherein the transcoders are operable to use the encoding bit rate information and the complexity information to identify filtering attributes associated with the transcoder.

6. The method of claim 5 , wherein the filtering attributes comprise strength of filtering and nature of filtering.

7. The method of claim 6 , wherein strength of filtering comprises a degree of attenuation in a stopband of a lowpass spatial filter.

8. The method of claim 6 , wherein nature of filtering comprises a determination to filter in the spatial domain or filter in the temporal domain.

9. The method of claim 4 , wherein frame bit allocation is operable to be controlled by a plurality of output encoder rate control units respectively associated with the plurality of transcoders.

10. The method of claim 2 , wherein the input decoder comprises an entropy decoder operable to recover original encoding parameters and a decoding loop operable to reconstruct multimedia frames.

11. The method of claim 1 , wherein dynamically reusing parameters comprises:

receiving parameters at a chosen level of granularity;

analyzing parameters at the chosen level of granularity;

comparing parameters for an encoder parameter approach and a decoder parameter approach; and

choosing either the encoder parameter or the decoder parameter approach based on the comparison at the chosen level of granularity.

12. The method of claim 1 , wherein dynamically reusing parameters comprises:

implementing an encoder parameter approach and a decoder parameter approach;

comparing performance of the encoder parameter approach and the decoder parameter approach at a chosen granularity level; and

selecting either the encoder parameter approach or the decoder parameter approach based upon performance associated with the implemented approaches.

13. The method of claim 4 , wherein the complexity information comprises information about timing, frame type, and bit requirements for one or more frame.

14. The method of claim 4 , wherein frame bit allocation is operable to be controlled by the closed loop rate controller.

15. A method of program clock reference (PCR recover and tracking that estimates and generates a local PCR clock synchronous with the original PCR clock in a transcoding system, the method comprising:

receiving a subsequence of packets from the input program transport stream, the subsequence of packets comprising PCR clock samples;

comparing the header field of each received packet with the header field PCR indicator;

generating a local PCR clock sample;

storing the PCR value from the input program transport stream in a first in, first out (FIFO memory;

storing a sample of the locally generated PCR value to be stored in a FIFO memory;

performing a transcoding operation on the input program transport stream, wherein the transcoding operation includes a decoding operation whereby one or more demultiplexed elementary streams from the input program transport stream are fully decoded, and wherein the decoding operation produces a plurality of encoding parameters and the encoding parameters are dynamically reused by the transcoding operation in reencoding the decoded demultiplexed elementary streams;

delaying the locally generated clock so that the PCR samples to be inserted into the transcoded stream are coincident with the original transport stream time stamps which have been delayed by the transcoder; and

inserting samples of the local PCR clock into the outgoing program transport stream including the transcoded stream.

16. A system for real time integrated transcoding one or more data channels, the system comprising:

means for receiving one or more program elementary streams through said plurality of data channels;

demuliplexing said one or more program elementary streams;

performing a transcoding operation on said one or more demultiplexed elementary streams, where a strength and nature of filtering is decided cooperatively by a plurality of transcoders and at least a closed loop rate controller, wherein the transcoding operation includes a decoding operation whereby the one or more demultiplexed elementary streams are fully decoded, wherein the decoding operation produces a plurality of encoding parameters and the encoding parameters are dynamically reused by the transcoding operation in reencoding the decoded demultiplexed elementary streams;

performing a delay operation on said one or more demultiplexed elementary streams;

buffering said one or more elementary streams in first in, first out memories to time align said streams;

performing program clock reference (PCR recovery and tracking to generate a local PCR clock synchronous with original PCR clock for each of said one or more elementary streams; and

combining said one or more elementary streams with said corresponding PCR clock generated.

17. A system for program clock reference (PCR recover and tracking that estimates and generate a local PCR clock synchronous with the original PCR clock in a transcoding system, the system comprising at least one means for:

receiving a subsequence of packets from an input program transport stream, the subsequence of packets comprising PCR clock samples;

comparing the header field of each received packet with the header field PCR indicator;

generating a local PCR clock sample;

storing the PCR value from the input program transport stream;

storing a sample of the locally generated PCR value;

performing a transcoding operation on the input program transport stream, wherein the transcoding operation includes a decoding operation whereby one or more demultiplexed elementary streams from the input program transport stream are fully decoded, and wherein the decoding operation produces a plurality of encoding parameters and the encoding parameters are dynamically reused by the transcoding operation in reencoding the decoded demultiplexed elementary streams;

delaying the locally generated clock so that the PCR samples to be inserted into the transcoded stream are coincident with the original transport stream time stamps which have been delayed by the transcoder; and

inserting samples of the local PCR clock into an outgoing program transport stream at intervals, the outgoing program transport stream including the transcoded stream.

Assignments (12)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); ARRIS TECHNOLOGY, INC.; ARRIS SOLUTIONS, INC.; COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.)
Reel/Frame 071477/0255 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049905/0504 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
ABL SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049892/0396 →
CHANGE OF NAME Recorded Jun 25, 2019
From: ARRIS ENTERPRISES, INC.
To: ARRIS ENTERPRISES LLC
Reel/Frame 049586/0470 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 8, 2019
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
Reel/Frame 048825/0294 →
CHANGE OF NAME Recorded Mar 14, 2017
From: ARRIS ENTERPRISES INC
To: ARRIS ENTERPRISES LLC
Reel/Frame 041995/0031 →
SECURITY AGREEMENT Recorded May 28, 2013
From: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS; BIGBAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 030498/0023 →
MERGER Recorded Apr 16, 2013
From: ARRIS GROUP, INC.
To: ARRIS ENTERPRISES, INC.
Reel/Frame 030228/0406 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2010
From: BAI, JUNFENG; HARTUNG, JOHN; JOHN, SAM; KRISHNAMACHARI, SANTHANA; LAN, TSE HUA; MONACO, JOE; PANCHGNULA, RAMESH; RAJI, ALEXANDER D
To: ARRIS GROUP, INC.
Reel/Frame 023824/0983 →