Coding runs in palette-based video coding

US10264285B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10264285-B2
Application numberUS-201514719222-A
CountryUS
Kind codeB2
Filing dateMay 21, 2015
Priority dateMay 22, 2014
Publication dateApr 16, 2019
Grant dateApr 16, 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 an example, a method of coding video data includes determining, for a pixel associated with a palette index that relates a value of the pixel to a color value in a palette of colors used for coding the pixel, a run length of a run of palette indices being coded with the palette index of the pixel, the method also includes determining a maximum run length for a maximum run of palette indices able to be coded with the palette index of the pixel, and coding data that indicates the run length based on the determined maximum run length.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of coding video data, the method comprising: processing a block of video data; determining a palette of colors for the block of video data; determining, for a first pixel of the block of video data associated with a palette index of one or more palette indices that relates a first value of the first pixel to a first color value in the palette of colors used for coding the pixel, a first run length of a first run of palette indices being coded with the palette index of the pixel; determining a number of pixels in the block of video data; determining a first position of the first pixel in the block of video data based on a scanning order used to scan palette indices of pixels of the block; determining a first maximum run length for a first maximum run of palette indices of pixels of the block able to be coded with the palette index of the pixel based on the number of pixels of the block minus the determined position of the first pixel minus one; coding first data that indicates the first run length based on the determined first maximum run length using a truncated binary code; determining, for a second pixel of the block of video data associated with the palette index of one or more palette indices that relates a second value of the second pixel to a second color value in the palette of colors used for coding the pixel, a second run length of a second run of palette indices being coded with the palette index of the pixel; determining a second position of the second pixel in the block of video data based on the scanning order used to scan palette indices of pixels of the block; determining a second maximum run length for a second maximum run of palette indices of pixels of the block able to be coded with the palette index of the pixel based on the number of pixels of the block minus the determined position of the second pixel minus one; coding second data that indicates the second run length based on the determined second maximum run length; determining the one or more palette indices for each of the pixels of the block of video data; coding the block of video data based on the first data, the second data, the palette for the block of video data, and the palette indices for each of the pixels of the block of video data; and outputting the coded block of video data, the first coded data, and the second coded data. 2. The method of claim 1 , wherein coding the first data that indicates the first run length comprises coding the first data using a k th order truncated exponential-Golomb (TEGk) code, wherein the TEGk code comprises a unary prefix and a binary suffix. 3. The method of claim 2 , wherein coding the first data using the TEGk code comprises determining the unary prefix based on a truncated unary code that corresponds to l ⁡ ( x ) = ⌊ log 2 ⁡ ( x 2 k + 1 ) ⌋ , wherein x is a value of the first run length of the first run of palette indices, such that a trailing binary one value of the unary prefix is truncated when ⌊ log 2 ⁡ ( X ⁢ ⁢ max 2 k + 1 ) ⌋ == l ⁡ ( x ) , and wherein Xmax is the maximum run length. 4. The method of claim 3 , further comprising, based on the unary prefix being truncated, determining the binary suffix as a truncated binary representation of x−2 k (2 l(x) −1), wherein a maximum value of the truncated binary representation is Xmax−2 k (2 l(x) −1). 5. The method of claim 3 , further comprising, based on the unary prefix not being truncated, determining the binary suffix as a binary representation of x−2 k (2 l(x) −1) using k+l(x) bits. 6. The method of claim 2 , wherein coding the first data using a k th order truncated exponential-Golomb code comprises coding the first data using a 2 nd order truncated exponential-Golomb code. 7. The method of claim 2 , wherein coding the first data that indicates the first run length comprises coding a greater than zero flag for the first run length, coding a greater than one flag for the first run length, coding a greater than two flag for the first run length, and coding remaining bins for the first run length using the TEGk code. 8. The method of claim 2 , wherein coding the first data that indicates the first run length comprises coding a greater than zero flag for the first run length and coding data that indicates the first run length minus one using the TEGk code with a maximum value for the TEGk code set equal to the maximum run length minus one, and wherein k is equal to zero such that the TEGk code comprises a TEG0 code. 9. The method of claim 1 , wherein coding the first data that indicates the first run length comprises encoding the first data, and wherein the method further comprises: encoding data that indicates the palette of colors; and encoding data that indicates, for the first pixel associated with the palette index, a palette mode used to encode the first pixel. 10. The method of claim 1 , wherein coding the first data that indicates the first run length comprises decoding the first data, and wherein the method further comprises: obtaining, from an encoded bitstream, data that indicates the palette of colors; and obtaining data that indicates, for the first pixel associated with the palette index, a palette mode used to encode the first pixel, and wherein determining the one or more palette indices for each of the pixels of the block of video data comprises determining the first value of the first pixel using the palette mode and the palette of colors. 11. A device for coding video data, the device comprising: a memory configured to store a first pixel

Assignees

Inventors

Classifications

  • H04N19/93Primary

    Run-length coding · CPC title

  • Entropy coding, e.g. variable length coding [VLC] or arithmetic coding · CPC title

  • H04N19/70Primary

    characterised by syntax aspects related to video coding, e.g. related to compression standards · CPC title

  • Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO] · CPC title

  • H04N19/176Primary

    the region being a block, e.g. a macroblock · 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 US10264285B2 cover?
In an example, a method of coding video data includes determining, for a pixel associated with a palette index that relates a value of the pixel to a color value in a palette of colors used for coding the pixel, a run length of a run of palette indices being coded with the palette index of the pixel, the method also includes determining a maximum run length for a maximum run of palette indices …
Who is the assignee on this patent?
Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification H04N19/93. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 16 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).