IP Library Granted Patent US 8,233,534
Granted Patent B2
US 8,233,534 · App. 12/757,438 · Granted Jul 31, 2012

Frame buffer compression and memory allocation in a video decoder

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,233,534
App. No.
12/757,438
Granted
Jul 31, 2012
Kind
B2
Abstract

Frame buffer video compression on an input video stream to efficiently allocate and utilize memory used for storing reference frames in a video decoder includes parsing a video header to obtain a maximum number of reference frames (N), dividing an available frame buffer memory to hold [N+1] compressed frames, controlling a compression process to limit a size of each frame such that said size is not less than a frame buffer memory size divided by [N+1], parsing messages that contain reference frames by looking ahead in an input video stream buffer of the input video stream, and allocating memory for compressing a given reference frame based on a number of needed frames at a frame buffer. A quantization of the compression process may be adjusted to improve a picture quality of the input video stream.

Claims (44)

1. A method for frame buffer video compression on an input video stream to efficiently allocate and utilize memory used for storing reference frames in a video decoder, said method comprising:

parsing a video header to obtain a maximum number of reference frames N;

dividing an available frame buffer memory to hold N+1 compressed frames;

controlling a compression process to limit a size of each frame such that said size is not less than a frame buffer memory size divided by N+1;

parsing messages that contain reference frames by looking ahead in an input video stream buffer of said input video stream; and

allocating memory for compressing a given reference frame based on a number of needed frames at a frame buffer,

wherein a first frame is decoded by looking ahead three frames to know which frames are said reference frames, and only reference frames are compressed and stored in said frame buffer, and

wherein when a fourth frame is decoded, half of said frame buffer is allocated for a third reference frame and only one-fourth of said frame buffer is allocated for said fourth frame.

2. The method of claim 1 , further comprising adjusting a quantization of said compression process to improve a picture quality of said input video stream.

3. The method of claim 1 , wherein each of said reference frames is compressed using a JPEG image compression technique and stored in said memory, and said compression process is controlled in a quantization stage by dividing said input by a quantization matrix.

4. The method of claim 1 , wherein said messages are parsed based on information about said reference frames, said information comprising slice headers.

5. The method of claim 3 , wherein if only one reference frame is needed in which said reference frame requires a memory equal to said size of frame buffer memory divided by N+1, the quantization of the compression technique is adjusted to increase picture quality and avoid compression artifacts.

6. The method of claim 3 , wherein said quantization matrix is adjusted to limit an output size to said size of frame buffer memory divided by N+1.

7. The method of claim 1 , wherein said incoming video stream is stored in a buffer at an input to said video decoder.

8. The method of claim 1 , wherein said input video stream comprises an analog input video stream.

9. A video decoder that performs buffer video compression on an input video stream and efficiently allocate and utilize memory used for storing reference frames, said video decoder comprising:

a frame buffer;

a parsing unit that parses a video header of said input video stream to obtain a maximum number of reference frames N and parse messages that contain reference frames by looking ahead in said frame buffer;

a memory allocation unit that divides an available memory of a frame buffer to hold N+1 compressed frames and allocate memory for compressing a given reference frame based on a number of needed frames at said frame buffer at a given instance; and

a compression control unit that controls a compression process to limit the size of each frame such that said size is not less than the memory size divided by N+1, said compression control unit comprising a quantization adjustment unit that divides said input by a quantization matrix and controls said compression process in a quantization stage, wherein each frame is decoded by looking ahead in said frame buffer to determine which frames are said reference frames,

wherein a first frame is decoded by looking ahead three frames to know which frames are said reference frames, and only reference frames are compressed and stored in the frame buffer, and

wherein when a fourth frame is decoded, half of said frame buffer is allocated for a third reference frame and only one-fourth of said frame buffer is allocated for said fourth frame.

10. The video decoder of claim 9 , wherein each of said reference frames is compressed using a JPEG image compression technique and stored in said memory.

11. The video decoder of claim 10 , wherein if only one reference frame is needed in which said reference frame requires a memory equal to said size of frame buffer memory divided by two, said quantization adjustment unit adjusts a quantization of said compression technique to increase picture quality and avoid compression artifacts.

12. The video decoder of claim 9 , wherein said memory allocation unit removes frames that are not reference frames from said frame buffer.

13. The video decoder of claim 12 , wherein said parsing unit parses said messages based on information about said reference frames, said information comprising slice headers.

14. The video decoder of claim 9 , wherein said quantization matrix is adjusted to limit an output size to said size of frame buffer memory divided by N+1.

15. The video decoder of claim 9 , wherein said input video stream comprises an analog input video stream.

16. A system for performing frame buffer video compression on an input video stream to efficiently allocate and utilize memory used for storing reference frames in a video decoder, said system comprising:

means for parsing a video header to obtain a maximum number of reference frames N;

means for dividing an available frame buffer

memory to hold N+1 compressed frames; and

means for controlling a compression process to limit a size of each frame such that said size is not less than a frame buffer memory size divided by N+1;

means for parsing messages that contain reference frames by looking ahead in an input video stream buffer of said input video stream, wherein said messages are parsed based on information about said reference frames, said information comprising slice headers;

means for allocating memory for compressing a given reference frame based on a number of needed frames at a frame buffer,

wherein each of said reference frames is compressed using a JPEG image compression technique and stored in said memory, and said compression process is controlled in a quantization stage by dividing said input by a quantization matrix,

wherein said quantization matrix is adjusted to limit an output size to said size of frame buffer memory divided by N+1,

wherein only reference frames are compressed and stored in the frame buffer, and each frame is decoded by looking ahead in said frame buffer to determine which frames are reference frames,

wherein a first frame is decoded by looking ahead three frames to know which frames are said reference frames, and only reference frames are compressed and stored in said frame buffer, and

wherein when a fourth frame is decoded, half of said frame buffer is allocated for a third reference frame and only one-fourth of said frame buffer is allocated for said fourth frame.

17. The system of claim 16 , further comprising means for adjusting a quantization of said compression process to improve a picture quality of said input video stream.

18. The system of claim 17 , wherein if only one reference frame is needed in which said reference frame requires a memory equal to said size of frame buffer memory divided by two, the quantization of the compression technique is adjusted to increase picture quality and avoid compression artifacts.

19. The system of claim 16 , wherein said incoming video stream is stored in a buffer at an input to said video decoder.

20. The system of claim 16 , wherein said input video stream comprises an analog input video stream.

Assignments (23)
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059358/0001 →
RELEASE OF SECURITY INTEREST Recorded Feb 28, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: ATMEL CORPORATION
Reel/Frame 059262/0105 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059333/0222 →
SECURITY INTEREST Recorded Sep 18, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 047103/0206 →
SECURITY INTEREST Recorded Jun 25, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 046426/0001 →
SECURITY INTEREST Recorded Feb 10, 2017
From: ATMEL CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041715/0747 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Apr 6, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ATMEL WIRELESS MCU TECHNOLOGIES CORPORATION
Reel/Frame 038364/0615 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Apr 6, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NEWPORT MEDIA, INC.
Reel/Frame 038364/0659 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 24, 2014
From: NEWPORT MEDIA, INC.
To: ATMEL CORPORATION
Reel/Frame 034705/0090 →
TERMINATION OF SECURITY Recorded Oct 7, 2014
From: PINNACLE VENTURES, L.L.C.
To: ATMEL CORPORATION
Reel/Frame 033908/0435 →
TERMINATION OF SECURITY Recorded Oct 7, 2014
From: PINNACLE VENTURES, L.L.C.
To: ATMEL CORPORATION
Reel/Frame 033908/0379 →
TERMINATION OF SECURITY Recorded Oct 7, 2014
From: NEWPORT MEDIA, INC.
To: ATMEL CORPORATION
Reel/Frame 033908/0242 →
TERMINATION OF SECURITY Recorded Oct 7, 2014
From: NEWPORT MEDIA, INC.
To: ATMEL CORPORATION
Reel/Frame 033907/0775 →
TERMINATION OF SECURITY Recorded Oct 7, 2014
From: NEWPORT MEDIA, INC.
To: ATMEL CORPORATION
Reel/Frame 033907/0748 →
TERMINATION OF SECURITY Recorded Oct 7, 2014
From: HORIZON TECHNOLOGY FINANCE CORPORATION
To: ATMEL CORPORATION
Reel/Frame 033907/0702 →
TERMINATION OF SECURITY Recorded Oct 7, 2014
From: BRIDGE BANK, NATIONAL ASSOCIATION
To: ATMEL CORPORATION
Reel/Frame 033907/0517 →
PATENT SECURITY AGREEMENT Recorded Sep 5, 2014
From: NEWPORT MEDIA, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 033689/0195 →
PATENT SECURITY AGREEMENT Recorded Sep 5, 2014
From: ATMEL WIRELESS MCU TECHNOLOGIES CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 033689/0214 →
SECURITY AGREEMENT Recorded Mar 1, 2013
From: NEWPORT MEDIA, INC.
To: HORIZON TECHNOLOGY FINANCE CORPORATION, AS COLLATERAL AGENT
Reel/Frame 029956/0891 →
SECURITY AGREEMENT Recorded Feb 15, 2013
From: NEWPORT MEDIA, INC., A DELAWARE CORPORATION; NEWPORT MEDIA, INC., A CALIFORNIA CORPORATION
To: PINNACLE VENTURES, L.L.C.
Reel/Frame 029818/0138 →
SECURITY AGREEMENT Recorded Dec 31, 2012
From: NEWPORT MEDIA, INC.
To: BRIDGE BANK, NATIONAL ASSOCIATION
Reel/Frame 029554/0118 →
SECURITY AGREEMENT Recorded May 31, 2012
From: NEWPORT MEDIA, INC.
To: PINNACLE VENTURES, L.L.C.
Reel/Frame 028299/0903 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2010
From: WASILY, NABIL YOUSEF
To: NEWPORT MEDIA, INC.
Reel/Frame 024211/0405 →