IP Library Granted Patent US 8,385,429
Granted Patent B2
US 8,385,429 · App. 11/528,569 · Granted Feb 26, 2013

Video compression encoder

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,385,429
App. No.
11/528,569
Granted
Feb 26, 2013
Kind
B2
Abstract

A video compression encoder which does not require a video frame buffer is disclosed. Without a frame buffer, incoming pixels can not be compared to pixels previously sent to the decoder. Instead, the disclosed encoder only stores check values for groups of pixels sent. If a group's check value has not changed, the encoder sends a command to the decoder not to change that pixel group. Also, without a frame buffer, an incoming video frame can not be captured and later sent to the decoder as network throughput permits. Instead, if throughput is insufficient to send an encoded group of pixels, the encoder leaves the check value for that group unchanged and sends a command instructing the decoder not to change those pixels. This defers updating that group until the next screen update is sent to the decoder. Grouping of pixels can be done in any fashion, for example; a group can be a single video line, a portion of a line, multiple lines or screen rectangles containing portions of multiple lines.

Claims (50)

1. A video encoder receiving a serial stream of pixel data corresponding to groups of pixels in a video frame of information, comprising:

a processor in a chip, with a local operating buffer also in the chip, programmed to:

determine a check value for the pixels of a given group based on a check value algorithm,

store the check value for the given group in a memory location of the local operating buffer corresponding to the given group,

encode the pixels of the given group into a code stream based on an encoding algorithm,

continue the determining, storing, and encoding operations until the frame of information is encoded, and

for a next video frame of information:

determine a current check value for the current group of pixels based on the same check value algorithm,

encode the pixels of a given current group into a current code stream based on the same encoding algorithm,

compare the current check value with the stored value for the corresponding given group of the previous frame, and

if the current check value is the same as the stored value for the corresponding given group of the previous frame, preparing a copy command instructing a decoder to copy the pixel values of the given group of the previous frame, and

if the current check value is not the same as the stored value for the corresponding given group of the previous frame, sending the current code stream to the decoder and overwriting the current check value to the memory location of the local operating buffer corresponding to the given group.

2. The video encoder of claim 1 , wherein a group of pixels is defined as a single line of a video frame.

3. A method of encoding a video stream comprising the steps of:

defining corresponding groups of pixels for video frames of a video stream;

receiving a serial stream of pixel data corresponding to a given group of pixels in a first video frame;

determining a check value for the pixels of the given group based on a check value algorithm;

storing the check value for the given group in a memory location corresponding to the given group;

encoding the pixels of the given group into a code stream based on an encoding algorithm;

continuing the determining, storing, and encoding steps for all the groups of pixels within the frame until the frame of information is encoded;

receiving a serial stream of pixel data corresponding to a given group of pixels in a next video frame of information and;

for a next video frame of information:

determining a current check value for the given group of pixels based on the same check value algorithm,

comparing the current check value with the stored value for the corresponding given group of the previous frame, and

if the current check value is the same as the stored value for the corresponding given group of the previous frame, preparing a copy command instructing a decoder to copy the pixel values of the given group of the previous frame, and

if the current check value is not the same as the stored value for the corresponding given group of the previous frame, sending the current code stream to the decoder and overwriting the current check value to the memory location of the local operating buffer corresponding to the given group.

4. The method of claim 3 , wherein the defining step defines groups of pixels as a single line of a video frame.

5. A video encoder receiving a serial stream of pixel data corresponding to groups of pixels in a video frame of information, comprising:

a processor in a chip, with a local operating buffer also in the chip, programmed to:

determine a check value for the pixels of a given group based on a check value algorithm,

store the check value for the given group in a memory location of the local operating buffer corresponding to the given group,

encode the pixels of the given group into a code stream based on an encoding algorithm,

continue the determining, storing, and encoding operations until the frame of information is encoded, and

for a next video frame of information:

determine a current check value for the current group of pixels based on the same check value algorithm,

compare the current check value with the stored value for the corresponding given group of the previous frame, and

if the current check value is the same as the stored value for the corresponding given group of the previous frame, preparing a copy command instructing a decoder to copy the pixel values of the given group of the previous frame, and

if the current check value is not the same as the stored value for the corresponding given group of the previous frame, encoding the pixels of a given current group into a current code stream based on the same encoding algorithm, sending the current code stream to the decoder and overwriting the current check value to the memory location of the local operating buffer corresponding to the given group.

6. The video encoder of claim 5 , wherein a group of pixels is defined as a single line of a video frame.

7. A method of encoding a video stream comprising the steps of:

determining a check value for the pixels of a given group based on a check value algorithm,

storing the check value for the given group in a memory location of the local operating buffer corresponding to the given group,

encoding the pixels of the given group into a code stream based on an encoding algorithm,

continuing the determining, storing, and encoding operations until the frame of information is encoded, and

for a next video frame of information:

determining a current check value for the current group of pixels based on the same check value algorithm,

comparing the current check value with the stored value for the corresponding given group of the previous frame, and

if the current check value is the same as the stored value for the corresponding given group of the previous frame, preparing a copy command instructing a decoder to copy the pixel values of the given group of the previous frame, and

if the current check value is not the same as the stored value for the corresponding given group of the previous frame, encoding the pixels of a given current group into a current code stream based on the same encoding algorithm, sending the current code stream to the decoder and overwriting the current check value to the memory location of the local operating buffer corresponding to the given group.

8. The method of claim 7 , wherein a group of pixels is defined as a single line of a video frame.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2024
From: VERTIV IT SYSTEMS, INC.
To: VERTIV CORPORATION
Reel/Frame 069695/0620 →
SECURITY INTEREST Recorded Oct 26, 2021
From: VERTIV CORPORATION; VERTIV IT SYSTEMS, INC.; ELECTRICAL RELIABILITY SERVICES, INC.; ENERGY LABS, INC.
To: UMB BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 057923/0782 →
SECURITY AGREEMENT Recorded Mar 3, 2020
From: ELECTRICAL RELIABILITY SERVICES, INC.; ENERGY LABS, INC.; VERTIV CORPORATION; VERTIV IT SYSTEMS, INC.
To: CITIBANK, N.A.
Reel/Frame 052076/0874 →
RELEASE OF SECURITY INTEREST Recorded Mar 2, 2020
From: THE BANK OF NEW YORK MELLON TRUST COMPANY N.A.
To: VERTIV CORPORATION; VERTIV IT SYSTEMS, INC.; ELECTRICAL RELIABILITY SERVICES, INC.
Reel/Frame 052071/0913 →
RELEASE OF SECURITY INTEREST Recorded Mar 2, 2020
From: JPMORGAN CHASE BANK, N.A.
To: VERTIV CORPORATION (F/K/A ALBER CORP.); VERTIV IT SYSTEMS, INC. (F/K/A AVOCENT CORPORATION); VERTIV IT SYSTEMS, INC. (F/K/A AVOCENT FREMONT, LLC); VERTIV IT SYSTEMS, INC. (F/K/A AVOCENT HUNTSVILLE, LLC); VERTIV IT SYSTEMS, INC. (F/K/A AVOCENT REDMOND CORP.); ELECTRICAL RELIABILITY SERVICES, INC.; VERTIV CORPORATION (F/K/A EMERSON NETWORK POWER, ENERGY SYSTEMS, NORTH AMERICA, INC.); VERTIV CORPORATION (F/K/A LIEBERT CORPORATION)
Reel/Frame 052065/0666 →
SECOND LIEN SECURITY AGREEMENT Recorded Jun 10, 2019
From: VERTIV IT SYSTEMS, INC.; VERTIV CORPORATION; VERTIV NORTH AMERICA, INC.; ELECTRICAL RELIABILITY SERVICES, INC.; VERTIV ENERGY SYSTEMS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049415/0262 →
CHANGE OF NAME Recorded Dec 11, 2018
From: AVOCENT CORPORATION
To: VERTIV IT SYSTEMS, INC.
Reel/Frame 047788/0620 →
SECURITY AGREEMENT Recorded Dec 2, 2016
From: ALBER CORP.; ASCO POWER TECHNOLOGIES, L.P.; AVOCENT CORPORATION; AVOCENT FREMONT, LLC; AVOCENT HUNTSVILLE, LLC; AVOCENT REDMOND CORP.; ELECTRICAL RELIABILITY SERVICES, INC.; EMERSON NETWORK POWER, ENERGY SYSTEMS, NORTH AMERICA, INC.; LIEBERT CORPORATION; LIEBERT NORTH AMERICA, INC.; NORTHERN TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 040797/0615 →
SECURITY AGREEMENT Recorded Dec 1, 2016
From: ALBER CORP.; ASCO POWER TECHNOLOGIES, L.P.; AVOCENT CORPORATION; AVOCENT FREMONT, LLC; AVOCENT HUNTSVILLE, LLC; AVOCENT REDMOND CORP.; ELECTRICAL RELIABILITY SERVICES, INC.; EMERSON NETWORK POWER, ENERGY SYSTEMS, NORTH AMERICA, INC.; LIEBERT CORPORATION; LIEBERT NORTH AMERICA, INC.; NORTHERN TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 040783/0148 →