Color index coding for palette-based video coding

US10362333B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10362333-B2
Application numberUS-201414586820-A
CountryUS
Kind codeB2
Filing dateDec 30, 2014
Priority dateJan 2, 2014
Publication dateJul 23, 2019
Grant dateJul 23, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In palette-based coding, a video coder may form a so-called “palette” as a table of colors representing the video data of a given block. The video coder may code index values for one or more pixels values of a current block of video data, where the index values indicate entries in the palette that represent the pixel values of the current block. A method includes determining a palette for a block of video data, identifying escape pixel(s) not associated with any palette entries, identifying a single quantization parameter (QP) value for all escape pixels of the block for a given color channel using a QP value for non-palette based coding of transform coefficients, dequantizing each escape pixel using the identified QP value, and determining pixel values of the block using the dequantized escape pixels and index values for any pixel(s) associated with any palette entries.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of decoding video data, the method comprising: receiving an encoded video bitstream that includes data representing encoded video data to be decoded; determining a palette used to represent pixel values of a palette-based encoded block of the encoded video data, the palette including one or more entries, wherein any two entries included in the palette vary by at least a palette error limit, the palette error limit being directly proportional to a palette quantization parameter (QP) value associated with the palette-based encoded block; identifying, among the pixel values of the palette-based encoded block, one or more escape pixels, based on each escape pixel of the identified one or more escape pixels not being associated with any entry of the one or more entries included in the palette; determining, for each escape pixel identified in the palette-based encoded block, a respective color channel based on at least one of luma information for the respective escape pixel or chroma information for the respective escape pixel; transform coefficient decoding a non-palette based encoded block of the encoded video data, the non-palette based encoded block including one or more pixels that belong to a given color channel; identifying a single QP value for all escape pixels that belong to the given color channel, such that the identified single QP is based on a corresponding QP value used for the transform coefficient decoding of the one or more pixels of the non-palette based encoded block that belong to the given color channel; dequantizing each respective escape pixel that belongs to the given color channel using the single QP value that is identified based on the corresponding QP value used for the transform coefficient decoding of the one or more pixels of the non-palette based encoded block that belong to the given color channel; determining the pixel values of the palette-based encoded block based on respective color information of the dequantized escape pixels and based on respective index values received for one or more pixels in the palette-based encoded block that are associated with the one or more entries included in the palette; and reconstructing the palette-based encoded block using the pixel values determined for the dequantized escape pixels and for the one or more pixels of the palette-based encoded block that are associated with the one or more entries of the palette. 2. The method of claim 1 , wherein identifying the one or more escape pixels comprises: receiving, in the encoded video bitstream, a respective one-bit flag associated with each respective pixel of the palette-based encoded block of video data; and determining, based on a value of each received one-bit flag, that each of the one or more escape pixels is not associated with any of the entries of the palette. 3. The method of claim 2 , wherein determining that each of the one or more escape pixels is not associated with any of the entries of the palette comprises determining that each of the one or more escape pixels is not associated with any of the entries of the palette based on the value of each received one-bit flag and without decoding a pre-defined index value associated with escape pixels. 4. A method of encoding video data, the method comprising: determining a palette used to represent pixel values of a block of video data to be encoded according to a palette-based coding mode, the palette including one or more entries, wherein any two entries included in the palette vary by at least a palette error limit; determining that the palette error limit is directly proportional to a quantization parameter (QP) value associated with the pixels in the block of video data to be encoded according to the palette-based coding mode that are associated with the one or more entries in the palette; identifying, among the pixel values of the block of video data to be encoded according to the palette-based coding mode, one or more escape pixels, based on each escape pixel of the identified one or more escape pixels not being associated with any entry of the one or more entries included in the palette; determining, for each escape pixel identified in the block of video data to be encoded, a respective color channel based on at least one of luma information for the respective escape pixel or chroma information for the respective escape pixel; transform coefficient encoding a non-palette coded block of the video data, the non-palette based coded block including one or more pixels that belong to a given color channel; identifying a single QP value for all escape pixels identified with the given color channel, such that the identified single QP is based on a corresponding QP value used for the transform coefficient encoding of the one or more pixels of the non-palette based coded block that belong to the given color channel; quantizing each respective escape pixel that belongs to the given color channel using the single QP value that is identified based on the corresponding QP value used for the transform coefficient encoding of the one or more pixels of the non-palette based coded block that belong to the given color channel; and encoding the pixel values of the block of video data to be encoded according to the palette-based coding mode including the quantized escape pixels and index values for one or more pixels in the block of video data to be encoded according to the palette-based coding mode that are associated with the one or more entries in the palette to form a palette-based encoded block; and signaling the palette-based encoded block in an encoded video bitstream. 5. The method of claim 4 , wherein identifying the single QP value comprises: determining that the single QP value is equal to the corresponding QP value; and determining that the corresponding QP value is used for the traditional coefficient encoding of the one or more pixels of the non-palette based coded block that belong to the given color channel. 6. The method of claim 4 , wherein determining the palette error limit comprises: identifying the palette error limit using a table that maps the palette error limit to the QP value associated with the pixels in the block of video data to be encoded according to the palette-based coding mode that are associated with the one or more entries in the palette. 7. The method of claim 4 , further comprising: encoding a one-bit flag associated with each of the one or more escape pixels without encoding a pre-defined index value associated with escape pixels, wherein a value of each one-bit flag indicates that a respective one of the one or more escape pixels is not associated with any entry of the entries included in the palette. 8. The method of claim 4 , wherein quantizing each respective escape pixel that belongs to the given color channel using the identified single QP value comprises solving a function that is based on the identified single QP value. 9. The method of claim 8 , wherein solving the function comprises performing a right-shift operation that is based on the identified single QP value. 10. A device for decoding encoded video data, the device comprising: a memory configured to store an encoded video bitstream that includes data representing encoded video data to be decoded; and one or more processors in communication with the memory, the one or more processors being configured to: determine a palette used to represent pixel values of a palette-based encoded block of the stored encoded video data to be decoded, the palette including one or more entries, wherein any two entries included in the palette vary by at least a palette error limit, the palette error limit being directly pr

Assignees

Inventors

Classifications

  • Vector quantisation · CPC title

  • Run-length coding · CPC title

  • involving spatial prediction techniques · CPC title

  • H04N19/583Primary

    Motion compensation with overlapping blocks · CPC title

  • Embedding additional information in the video signal during the compression process (H04N19/517, H04N19/68, H04N19/70 take precedence) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10362333B2 cover?
In palette-based coding, a video coder may form a so-called “palette” as a table of colors representing the video data of a given block. The video coder may code index values for one or more pixels values of a current block of video data, where the index values indicate entries in the palette that represent the pixel values of the current block. A method includes determining a palette for a blo…
Who is the assignee on this patent?
Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification H04N19/583. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jul 23 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).