IP Library Granted Patent US 12,149,263
Granted Patent B2
US 12,149,263 · App. 18/079,441 · Granted Nov 19, 2024

Computationally efficient and bitrate scalable soft vector quantization

Inventors: Yusuf Ziya Isik (Edinburgh, GB); Amir Salah Abdelsamie Abdelwahed (Cracow, PL); Xuehong Mao (San Jose, CA); Ivana M. Balic (Studen, SE); Samer Lutfi Hijazi (San Jose, CA)
Assignee: CISCO TECHNOLOGY, INC.
H03M13/6312H03M7/3059H03M13/6577
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 12,149,263
App. No.
18/079,441
Granted
Nov 19, 2024
Kind
B2
Abstract

In some aspects, the techniques described herein relate to a method including: obtaining data to be compressed; determining a distance between the data to be compressed and each codeword of a plurality of codewords; selecting a predetermined number of codewords of the plurality of codewords based on the distance between the data to be compressed and each of the predetermined number of codewords; and generating compressed data, where the compressed data includes an indication of the predetermined number of codewords of the plurality of codewords.

Claims (35)

1. A method comprising:

obtaining a stream of input vectors to be compressed;

for each of the input vectors:

determining a distance between the input vector to be compressed and each codeword of a plurality of codewords; and

selecting two or more codewords of the plurality of codewords based on the distance between the input vector to be compressed and each of the two or more codewords; and

generating compressed data that comprises an indication of the two or more codewords of the plurality of codewords.

2. The method of claim 1 , wherein generating the compressed data further comprises determining a weight associated with each of the two or more codewords.

3. The method of claim 2 , wherein generating the compressed data comprises normalizing weights associated with each of the two or more codewords to 1.

4. The method of claim 1 , further comprising providing an index for each codeword of the two or more codewords to a receive side, wherein each index indicates a codeword in a codebook at the receive side.

5. The method of claim 1 , further comprising providing an index for each codeword of the two or more codewords to a receive side as forward error correction data.

6. The method of claim 1 , wherein generating the compressed data comprises generating a weight for at least one codeword of the two or more codewords.

7. The method of claim 1 , wherein generating the compressed data further comprises determining a residual value between the compressed data and data indicated by the two or more codewords.

8. The method of claim 1 , wherein obtaining the stream of input vectors to be compressed comprises obtaining residual data from a vector quantization compression stage.

9. The method of claim 1 , wherein obtaining the stream of input vectors to be compressed comprises obtaining a subspace of a product quantization system.

10. The method of claim 1 , wherein selecting the two or more codewords of the plurality of codewords comprises selecting the two or more codewords based upon an intended bitrate for the stream of input vectors to be compressed.

11. A method comprising:

obtaining a stream of compressed data elements; and

for each of the compressed data elements:

determining a plurality of codewords from the compressed data element;

determining a weight for each of the plurality of codewords; and

determining a decompressed data element from the plurality of codewords and the weight for each of the plurality of codewords.

12. The method of claim 11 , wherein determining the plurality of codewords comprises determining a codebook index for each of the plurality of codewords from the compressed data element.

13. The method of claim 11 , wherein determining the weight for each of the plurality of codewords comprises determining weights from the compressed data element.

14. The method of claim 11 , wherein determining the weight for each of the plurality of codewords comprises determining weights for all but one of the plurality of codewords from the compressed data element and determining the weight for the one of the plurality of codewords from the weights for all but one of the plurality of codewords.

15. The method of claim 11 , wherein determining the weight for each of the plurality of codewords is based upon operation of a codec used in compression of data to produce the compressed data element.

16. One or more tangible, non-transitory computer readable mediums encoded with instructions, wherein the instructions, when executed by one or more processors, are operable to:

obtain a stream of input vectors to be compressed;

for each of the input vectors:

determine a distance between the input vector to be compressed and each codeword of a plurality of codewords; and

select two or more codewords of the plurality of codewords based on the distance between the input vector to be compressed and each of the two or more codewords; and

generate compressed data that comprises an indication of the two or more codewords of the plurality of codewords.

17. The one or more tangible, non-transitory computer readable mediums of claim 16 , wherein the instructions operable to generate the compressed data comprise instructions operable to determine a weight associated with each of the two or more codewords.

18. The one or more tangible, non-transitory computer readable mediums of claim 16 , wherein the instructions operable to generate the compressed data comprise instructions operable to determine a residual value between the compressed data and data indicated by the two or more codewords.

19. The one or more tangible, non-transitory computer readable mediums of claim 16 , wherein the instructions operable to obtain the stream of input vectors to be compressed comprise instructions operable to obtain residual data from a vector quantization compression stage.

20. The one or more tangible, non-transitory computer readable mediums of claim 16 , wherein the instructions operable to obtain the stream of input vectors to be compressed comprise instructions operable to obtain a subspace of a product quantization system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2022
From: ISIK, YUSUF ZIYA; ABDELWAHED, AMIR SALAH ABDELSAMIE; MAO, XUEHONG; BALIC, IVANA M.; HIJAZI, SAMER LUTFI
To: CISCO TECHNOLOGY, INC.
Reel/Frame 062058/0339 →
Continuity (1)
Related Publication 20240195438A1 · Jun 13, 2024
Cited By (1)
US 12,574,207