IP Library Granted Patent US 9,973,767
Granted Patent B2
US 9,973,767 · App. 14/478,538 · Granted May 15, 2018

Adaptive bit rate co-operative transcoding

Inventor: Ramesh V. Panchagnula (Norcross, GA)
Assignee: ARRIS Enterprises LLC
H04N19/40H04N19/115H04N19/164H04N19/179H04N19/192H04N19/52H04N19/59H04N19/34H04N19/513
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 9,973,767
App. No.
14/478,538
Granted
May 15, 2018
Kind
B2
Abstract

Methods, systems, and computer readable media can be operable to encode an input video stream into one or more output streams by using information obtained from a first transcoding of the input video stream. During a first encoding of an input video stream, pre-processing, motion estimation, mode decision, and other information can be collected or buffered and can be re-used to encode the input video stream to multiple output video streams at different bitrates, resolutions, and/or frame rates. Motion estimation, macroblock mode decision, and pre-processing data can be manipulated and re-used during the encoding of an input video stream at various resolutions. Data can be re-computed at a new resolution or bitrate to improve visual quality.

Claims (48)

1. A computer-implemented method comprising:

receiving an input stream;

determining an optimal bitrate, wherein the optimal bitrate is selected from a group of bitrates, wherein the group of bitrates comprise different bitrates associated with an adaptive bitrate streaming application, and wherein the optimal bitrate comprises the bitrate from which an optimal number of other bitrates from the group of bitrates may be encoded;

encoding the input stream to a first encoded stream, wherein the first encoded stream is encoded at the optimal bitrate, and wherein the first encoded stream is encoded at a highest resolution from a group of resolutions;

storing encoding data generated during the encoding of the input stream to the first encoded stream, wherein the stored encoding data comprises motion vectors associated with one or more blocks of the first encoded stream;

encoding the input stream to a next encoded stream using the stored encoding data, wherein the next encoded stream is encoded at another bitrate of the group of bitrates, and wherein the next encoded stream is encoded at a next resolution in the group of resolutions;

determining whether the next resolution in the group of resolutions is an even divisor of the first resolution;

based upon the determination whether the next resolution in the group of resolutions is an even divisor of the first resolution, selecting a method for determining an optimal motion vector, wherein the selection of a method for determining an optimal motion vector comprises:

if the next resolution in the group of resolutions is an even divisor of the first resolution:

scaling the motion vectors associated with the first encoded stream to generate motion vectors for one or more blocks associated with the next encoded stream; and

calculating a best cost for scaled full-pixel motion vectors, sub-pixel motion vector refinement, and skip and intra-macroblock mode candidates; and

if the next resolution is not an even divisor of the first resolution:

computing a sum of absolute differences for the motion vectors associated with one or more blocks of the first encoded stream;

selecting a best motion vector from the motion vectors associated with the first encoded stream based on the computed sum of absolute differences; and

using the best motion vector in the encoding of the input stream to the next encoded stream.

2. The computer-implemented method of claim 1 , wherein the optimal bitrate is the highest bitrate in the group of bitrates.

3. The computer-implemented method of claim 1 , wherein the optimal bitrate is the median bitrate of the group of bitrates.

4. The computer-implemented method of claim 1 , wherein the stored encoding data comprises pre-processing data, motion estimation data, and mode decision data associated with the first encoded stream.

5. A system, comprising:

an interface operable to be used to send and receive video streams;

a data store operable to store computer program instructions and provide temporary storage for the system; and

a processor operable to execute said computer program instructions, the computer program instructions being operable to cause the processor to:

determine an optimal bitrate, wherein the optimal bitrate is selected from a group of bitrates, wherein the group of bitrates comprise different bitrates associated with an adaptive bitrate streaming application, and wherein the optimal bitrate comprises the bitrate from which an optimal number of other bitrates from the group of bitrates may be encoded;

encode an input video stream to a first encoded stream, wherein the first encoded stream is encoded at the optimal bitrate, and wherein the first encoded stream is encoded at the highest resolution from a group of resolutions;

store encoding data generated during encoding of the input video stream to the first encoded stream, wherein the stored encoding data comprises motion vectors associated with one or more blocks of the first encoded stream;

encode the input video stream to a next encoded stream using the stored encoding data, wherein the next encoded stream is encoded at another bitrate of the group of bitrates, and wherein the next encoded stream is encoded at a next resolution in the group of resolutions;

determine whether the next resolution in the group of resolutions is an even divisor of the first resolution; and

based upon the determination whether the next resolution in the group of resolutions is an even divisor of the first resolution, selecting a method for determining an optimal motion vector, wherein the selection of a method for determining an optimal motion vector comprises:

if the next resolution in the group of resolutions is an even divisor of the first resolution, scale the motion vectors associated with the first encoded stream to generate motion vectors for one or more blocks associated with the next encoded stream; and

if the next resolution in the group of resolutions is not an even divisor of the first resolution:

compute a sum of absolute differences for the motion vectors associated with one or more blocks of the first encoded stream;

select a best motion vector from the motion vectors associated with the first encoded stream based on the computed sum of absolute differences; and

use the best motion vector in the encoding of the input video stream to the next encoded stream.

6. One or more non-transitory computer readable media operable to execute on one or more processors, the computer readable being operable to cause the one or more processors to perform the operations comprising:

receiving an input stream;

determining an optimal bitrate, wherein the optimal bitrate is selected from a group of bitrates, wherein the group of bitrates comprise different bitrates associated with an adaptive bitrate streaming application, and wherein the optimal bitrate comprises the bitrate from which an optimal number of other bitrates from the group of bitrates may be encoded;

encoding the input stream to a first encoded stream, wherein the first encoded stream is encoded at the optimal bitrate, and wherein the first encoded stream is encoded at the highest resolution from a group of resolutions;

storing encoding data during encoding of the input stream to the first encoded stream, wherein the stored encoding data comprises motion vectors associated with one or more blocks of the first encoded stream; and

encoding the input stream to a next encoded stream using the stored encoding data, wherein the next encoded stream is encoded at another bitrate of the group of bitrates, and wherein the next encoded stream is encoded at a next resolution in the group of resolutions;

determining whether the next resolution in the group of resolutions is an even divisor of the first resolution; and

based upon the determination whether the next resolution in the group of resolutions is an even divisor of the first resolution, selecting a method for determining an optimal motion vector, wherein the selection of a method for determining an optimal motion vector comprises:

if the next resolution in the group of resolutions is an even divisor of the first resolution:

scaling the motion vectors associated with the first encoded stream to generate motion vectors for one or more blocks associated with the next encoded stream; and

if the next resolution in the group of resolutions is not an even divisor of the first resolution:

computing a sum of absolute differences for the motion vectors associated with one or more blocks of the first encoded stream;

selecting a best motion vector from the motion vectors associated with the first encoded stream based on the computed sum of absolute differences; and

using the best motion vector in the encoding of the input stream to the next encoded stream.

7. The non-transitory computer readable media of claim 6 , wherein the optimal bitrate is the highest bitrate in the group of bitrates or the median bitrate of the group of bitrates.

Assignments (12)
SECURITY INTEREST Recorded Apr 8, 2026
From: ARRIS ENTERPRISES LLC; RUCKUS IP HOLDINGS LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 075476/0814 →
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 INTERNATIONAL LIMITED; ARRIS TECHNOLOGY, INC.; ARCHIE U.S. MERGER LLC; ARCHIE U.S. HOLDINGS LLC; ARRIS GLOBAL SERVICES, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; ARRIS SOLUTIONS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; JERROLD DC RADIO, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC
Reel/Frame 050721/0401 →
CHANGE OF NAME Recorded Mar 14, 2017
From: ARRIS ENTERPRISES INC
To: ARRIS ENTERPRISES LLC
Reel/Frame 041995/0031 →
SECURITY INTEREST Recorded Jun 26, 2015
From: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS INTERNATIONAL LIMITED; ARRIS TECHNOLOGY, INC.; ARCHIE U.S. MERGER LLC; ARCHIE U.S. HOLDINGS LLC; ARRIS GLOBAL SERVICES, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; ARRIS SOLUTIONS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; JERROLD DC RADIO, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 036020/0789 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2014
From: PANCHAGNULA, RAMESH V
To: ARRIS ENTERPRISES, INC.
Reel/Frame 034038/0111 →
Continuity (1)
Related Publication 20160073120A1 · Mar 10, 2016