IP Library Granted Patent US 12,470,724
Granted Patent B2
US 12,470,724 · App. 18/296,219 · Granted Nov 11, 2025

Fixed-size block compression techniques for RGB channels

Inventors: Georgios Keramidas (Patras, GR); Ioannis Manthopoulos (Thessalonika, GR); Ioannis Blagas (Thessalonika, GR); Athanasia Lytra (Thessalonika, GR); Chrysa Kokkala (Patras, GR); Iakovos Stamoulis (Patras, GR)
Assignee: Think Silicon Research and Technology Single Member S.A.
H04N19/186H04N19/124H04N19/182H04N19/184
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,470,724
App. No.
18/296,219
Granted
Nov 11, 2025
Kind
B2
Abstract

A system and method for fixed size texture compression utilizes a four pixel block. The method includes determining a first endpoint of a pixel block including four pixels, each pixel represented by a red channel, a green channel and a blue channel; determining a second endpoint of the pixel block, which is not the first endpoint; encoding the first endpoint and the second endpoint using a first plurality of bits; encoding a first quantization level using a second plurality of bits; encoding a second quantization level using a third plurality of bits; encoding a location of the first endpoint and a location of the second endpoint using a fourth plurality of bits; and encoding an addressing indicator bit based on a distance between a value of the first endpoint and a value of the second endpoint.

Claims (56)

1 . A method for fixed size texture compression, comprising:

determining a first endpoint of a pixel block including four pixels, each pixel represented by a red channel, a green channel and a blue channel, wherein the first endpoint is a pixel of the pixel block;

determining a second endpoint of the pixel block, which is not the first endpoint, wherein the second endpoint is another pixel of the pixel block;

encoding the first endpoint and the second endpoint using a first plurality of bits;

encoding a first quantization level using a second plurality of bits;

encoding a second quantization level using a third plurality of bits;

encoding a location of the first endpoint and a location of the second endpoint using a fourth plurality of bits; and

encoding an addressing indicator bit based on a distance between a value of the first endpoint and a value of the second endpoint.

2 . The method of claim 1 , further comprising:

storing the first endpoint utilizing a first encoding of nineteen bits and storing the second endpoint utilizing a second encoding of nineteen bits in response to determining that the addressing indicator bit has a first binary value.

3 . The method of claim 2 , wherein the first encoding represents a red channel with 6 bits, a green channel with 7 bits, and a blue channel with 6 bits.

4 . The method of claim 2 , wherein the second encoding represents a red channel with 6 bits, a green channel with 7 bits, and a blue channel with 6 bits.

5 . The method of claim 1 , further comprising:

storing the first endpoint utilizing twenty four bits and storing the second endpoint utilizing a third encoding of fourteen bits in response to determining that the addressing indicator bit has a second binary value.

6 . The method of claim 5 , wherein the third encoding represents an offset from a green channel of the first endpoint with 5 bits.

7 . The method of claim 5 , wherein the third encoding further represents an offset from the red channel of the first endpoint with 5 bits.

8 . The method of claim 1 , further comprising:

encoding the first endpoint using 24 bits; and

encoding the second endpoint such that each value of a channel of the second endpoint is encoded relative to a value of a corresponding channel of the first endpoint.

9 . The method of claim 1 , further comprising:

encoding a green channel of the first endpoint using a first portion of the first plurality of bits;

encoding a red channel of the first endpoint using a second portion of the first plurality of bits; and

encoding a blue channel of the first endpoint using a third portion of the first plurality of bits, wherein a number of bits of the first portion is greater than a number of bits of each of the second portion and the third portion.

10 . A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute a process, the process comprising:

determining a first endpoint of a pixel block including four pixels, each pixel represented by a red channel, a green channel and a blue channel, wherein the first endpoint is a pixel of the pixel block;

determining a second endpoint of the pixel block, which is not the first endpoint, wherein the second endpoint is another pixel of the pixel block;

encoding the first endpoint and the second endpoint using a first plurality of bits;

encoding a first quantization level using a second plurality of bits;

encoding a second quantization level using a third plurality of bits;

encoding a location of the first endpoint and a location of the second endpoint using a fourth plurality of bits; and

encoding an addressing indicator bit based on a distance between a value of the first endpoint and a value of the second endpoint.

11 . A system for fixed size texture compression, comprising:

a processing circuitry; and

a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:

determine a first endpoint of a pixel block including four pixels, each pixel represented by a red channel, a green channel and a blue channel, wherein the first endpoint is a pixel of the pixel block;

determine a second endpoint of the pixel block, which is not the first endpoint, wherein the second endpoint is another pixel of the pixel block;

encode the first endpoint and the second endpoint using a first plurality of bits;

encode a first quantization level using a second plurality of bits;

encode a second quantization level using a third plurality of bits;

encode a location of the first endpoint and a location of the second endpoint using a fourth plurality of bits; and

encode an addressing indicator bit based on a distance between a value of the first endpoint and a value of the second endpoint.

12 . The system of claim 11 , wherein the memory contains further instructions which when executed by the processing circuitry further configure the system to:

store the first endpoint utilizing a first encoding of nineteen bits and storing the second endpoint utilizing a second encoding of nineteen bits in response to determining that the addressing indicator bit has a first binary value.

13 . The system of claim 12 , wherein the first encoding represents a red channel with 6 bits, a green channel with 7 bits, and a blue channel with 6 bits.

14 . The system of claim 12 , wherein the second encoding represents a red channel with 6 bits, a green channel with 7 bits, and a blue channel with 6 bits.

15 . The system of claim 11 , wherein the memory contains further instructions which when executed by the processing circuitry further configure the system to:

store the first endpoint utilizing twenty four bits and storing the second endpoint utilizing a third encoding of fourteen bits in response to determining that the addressing indicator bit has a second binary value.

16 . The system of claim 15 , wherein the third encoding represents an offset from a green channel of the first endpoint with 5 bits.

17 . The system of claim 15 , wherein the third encoding further represents an offset from the red channel of the first endpoint with 5 bits.

18 . The system of claim 11 , wherein the memory contains further instructions which when executed by the processing circuitry further configure the system to:

encode the first endpoint using 24 bits; and

encode the second endpoint such that each value of a channel of the second endpoint is encoded relative to a value of a corresponding channel of the first endpoint.

19 . The system of claim 11 , wherein the memory contains further instructions which when executed by the processing circuitry further configure the system to:

encode a green channel of the first endpoint using a first portion of the first plurality of bits;

encode a red channel of the first endpoint using a second portion of the first plurality of bits; and

encode a blue channel of the first endpoint using a third portion of the first plurality of bits, wherein a number of bits of the first portion is greater than a number of bits of each of the second portion and the third portion.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2026
From: THINK SILICON SINGLE MEMBER P.C. AND APPLIED MATERIALS, INC.
To: QUALCOMM INCORPORATED
Reel/Frame 075735/0803 →
CHANGE OF NAME Recorded Mar 6, 2026
From: THINK SILICON RESEARCH AND TECHNOLOGY SINGLE MEMBER S.A.
To: THINK SILICON SINGLE MEMBER P.C.
Reel/Frame 075032/0035 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2023
From: KERAMIDAS, GEORGIOS; MANTHOPOULOS, IOANNIS; BLAGAS, IOANNIS; LYTRA, ATHANASIA; KOKKALA, CHRYSA; STAMOULIS, IAKOVOS
To: THINK SILICONE RESEARCH AND TECHNOLOGY SINGLE MEMBER S.A.
Reel/Frame 063252/0611 →
Continuity (2)
Continuation PCTGR2023000009 · Mar 28, 2023
Related Publication 20240333933A1 · Oct 3, 2024
References Cited (11)
US 7920749B1 · Donovan · 2011 [cited by examiner]
US 7983498B1 · Donovan · 2011 [cited by examiner]
US 9640149B2 · Keramidas et al. · 2017 [cited by applicant]
US 11153578B2 · Patel · 2021 [cited by applicant]
US 11195306B2 · Wu et al. · 2021 [cited by applicant]
US 11438608B2 · Bruls et al. · 2022 [cited by applicant]
US 20220067978A1 · Chang · 2022 [cited by examiner]
US 20230046972A1 · King · 2023 [cited by applicant]
WO 0019377A · 2000 [cited by applicant]
International Search Report for PCT/GR2023/000009, dated Sep. 27, 2023. Searching Authority, European Patent Office, Rijswijk, Netherlands. [cited by applicant]
Written Opinion of the Searching Authority for PCT/GR2023/000009, dated Sep. 27, 2023. Searching Authority, European Patent Office, Rijswijk, Netherlands. [cited by applicant]