IP Library Granted Patent US 10,972,742
Granted Patent B2
US 10,972,742 · App. 15/105,521 · Granted Apr 6, 2021

Encoding process using a palette mode

Inventors: Christophe Gisquet (Rennes, FR); Patrice Onno (Rennes, FR); Guillaume Laroche (Melesse, FR)
Assignee: Canon Kabushiki Kaisha
H04N19/186G09G5/06H04N1/644H04N19/124H04N19/147H04N19/176H04N19/182H04N19/50H04N19/593H04N19/94G09G2320/106G09G2340/02
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 10,972,742
App. No.
15/105,521
Granted
Apr 6, 2021
Kind
B2
Abstract

The present invention is related to video coding and decoding, in particular HEVC RExt that define a palette coding mode dedicated to the coding of screen contents. In improved palette coding modes according to the invention, when building a palette, each time a new pixel is added to the class a palette entry defines, the palette entry is modified to take the means value of the pixels belonging to such class. In other improved palette coding modes, a built palette is post-processed to substitute a palette entry with a close entry of a palette predictor PRED. In yet other embodiments, palette coding modes having different threshold values to drive the building of their respective palettes are successively tested to use the best one in terms of rate-distortion criterion.

Claims (31)

1. A method for processing a current block of pixels of an image using a current palette of a palette coding mode, the current palette comprising a set of entries associating respective entry indexes with corresponding pixel values, the method comprising the steps of:

generating an input palette from the pixels of the current block;

modifying the input palette to output the current palette;

wherein the modifying step includes substituting an entry of the input palette with an entry of a palette predictor if a predetermined criterion on the entry is met.

2. The method of claim 1 , wherein the predetermined criterion is that the entry of the input palette and the entry of the palette predictor are close one to each other compared to a predefined threshold.

3. The method of claim 2 , wherein the predefined threshold equals 1 when considering a distance, for instance a L1 or L2 distance, between the entry of the input palette and the entry of the palette predictor.

4. The method of claim 2 , wherein the predefined threshold depends on a quantization parameter used in a quantization of the encoding.

5. The method of claim 1 , wherein the predetermined criterion is a rate-distortion criterion.

6. A device for processing a current block of pixels of an image using a current palette of a palette coding mode, the current palette comprising a set of entries associating respective entry indexes with corresponding pixel values, the device comprising at least one processor configured to:

generate an input palette from the pixels of the current block;

modify the input palette to output the current palette;

wherein the modifying step includes substituting an entry of the input palette with an entry of a palette predictor if a predetermined criterion on the entry is met.

7. The device of claim 6 , wherein the predetermined criterion is that the entry of the input palette and the entry of the palette predictor are close one to each other compared to a predefined threshold.

8. The device of claim 7 , wherein the predefined threshold equals 1 when considering a distance, for instance a L1 or L2 distance, between the entry of the input palette and the entry of the palette predictor.

9. The device of claim 7 , wherein the predefined threshold depends on a quantization parameter used in a quantization of the encoding.

10. The device of claim 6 , wherein the predetermined criterion is a rate-distortion criterion.

11. A method for coding a block of pixels of a picture in a video sequence, said method comprising encoding colours of one or more pixels in the block based on a colour palette with several colour elements, each colour element being defined according to a weighted combination of several colour elements, wherein said encoding comprises:

allocating to the colour of a pixel of said block of pixels, a colour element selected among the colour elements of the colour palette, the selected colour element being the closest match to the colour of the pixel, and

updating a definition of the selected colour element of the colour palette with a value based on the colours of all the pixels in the block which have been allocated to the selected colour element.

12. The method according to claim 11 , wherein the definition of the selected colour element of the colour palette is updated with a value corresponding to the average of the colours of all the pixels in the block which have been allocated to the selected colour element.

13. The method according to claim 11 , wherein the definition of the selected colour element of the colour palette is updated with a value corresponding to the median of the colours of all the pixels of the block which have been allocated to the selected colour element.

14. A device for coding a block of luma and/or chroma pixels of a picture in a video sequence, said device comprising at least one processor configured to:

encode colours of one or more pixels in the block based on a colour palette with several colour elements, each colour element being defined according to a weighted combination of several colour elements, wherein said encoding of comprises:

allocating to the colour of a pixel of said block of pixels, a colour element selected among the colour elements of the colour palette, the selected colour element being the closest match to the colour of the pixel, and updating a definition of the selected colour element of the colour palette with a value based on the colours of all the pixels in the block which have been allocated to the selected colour element.

15. A non-transitory computer readable storage medium storing a program which when executed by one or more processors of a device causes the device to perform a method for processing a current block of pixels of an image using a current palette of a palette coding mode, the current palette comprising a set of entries associating respective entry indexes with corresponding pixel values, the method comprising the steps of:

generating an input palette from the pixels of the current block;

modifying the input palette to output the current palette;

wherein the modifying step includes substituting an entry of the input palette with an entry of a palette predictor if a predetermined criterion on the entry is met.

16. A non-transitory computer readable storage medium storing a program which when executed by one or more processors of a device causes the device to perform a method for coding a block of pixels of a picture in a video sequence, said method comprising encoding colours of one or more pixels in the block based on a colour palette with several colour elements, each colour element being defined according to a weighted combination of several colour elements, wherein said encoding comprises:

allocating to the colour of a pixel of said block of pixels, a colour element selected among the colour elements of the colour palette, the selected colour element being the closest match to the colour of the pixel, and

updating a definition of the selected colour element of the colour palette with a value based on the colours of all the pixels in the block which have been allocated to the selected colour element.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2017
From: GISQUET, CHRISTOPHE; ONNO, PATRICE; LAROCHE, GUILLAUME
To: CANON KABUSHIKI KAISHA
Reel/Frame 041513/0063 →
Priority Claims (2)
GB 1322616 · Dec 19, 2013 · national
GB 1409081 · May 21, 2014 · national
Continuity (1)
Related Publication 20160316214A1 · Oct 27, 2016
Cited By (1)
US 12,287,764