Video encoding and decoding using adaptive color transform
US-12149725-B2 · Nov 19, 2024 · US
US10178395B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10178395-B2 |
| Application number | US-201514869581-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 29, 2015 |
| Priority date | Sep 30, 2014 |
| Publication date | Jan 8, 2019 |
| Grant date | Jan 8, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method of decoding video data, the method comprising receiving a run-length sequence indicative of a binary vector, the binary vector comprising indications of locations of escape samples in a block of video data encoded using a palette-based coding mode, decoding the run-length sequence to obtain the binary vector, and decoding the block of video data using the binary vector. The method of claim 1 may further comprise receiving palette entries for the block of video data receiving one or more escape samples, and receiving a plurality of flags indicating the palette mode for each respective pixel in the block of video data.
Opening claim text (preview).
What is claimed is: 1. A method of decoding video data, the method comprising: receiving a run-length sequence indicative of a binary vector, the binary vector indicating the positions of escape samples in a block of video data encoded using a palette-based coding mode, wherein the run-length sequence is received before receiving syntax elements indicating one or more palette-based coding modes and run values associated with the one or more palette-based coding modes; decoding the run-length sequence to obtain the binary vector before decoding syntax elements indicating one or more palette-based coding modes and run values associated with the one or more palette-based coding modes; and decoding the block of video data using the binary vector. 2. The method of claim 1 , further comprising: receiving palette entries for the block of video data; receiving one or more escape samples; and receiving a plurality of flags indicating the palette mode for each respective pixel in the block of video data, wherein decoding the block of video data comprises: decoding the block of video data using the palette entries, the one or more escape samples, the binary vector, and the plurality of flags indicating the palette mode for each respective pixel in the block of video data. 3. The method of claim 1 , further comprising: receiving the one or more escape samples after receiving the run-length sequence but before receiving mode flags and run values corresponding to the mode flags, wherein the one or more escape samples are grouped together; and decoding the binary vector and the one or more escape samples in a bypass mode of context adaptive binary arithmetic coding (CABAC). 4. The method of claim 1 , further comprising: receiving a syntax element indicative of the total number of escape samples used when encoding the block of video data; receiving the one or more escape samples before receiving the run-length sequence and before receiving mode flags and run values corresponding to the mode flags, wherein the one or more escape samples are grouped together; and decoding the binary vector, the syntax element indicative of the total number of escape samples, and the one or more escape samples in a bypass mode of context adaptive binary arithmetic coding (CABAC). 5. The method of claim 1 , further comprising: receiving a syntax element indicative of the total number of escape samples used when encoding the block of video data, wherein decoding the run-length sequence comprises decoding the run-length sequence to obtain the binary vector using the total number of escape samples. 6. The method of claim 1 , wherein the run-length sequence includes one or more values indicating the run-length of 0 values between each 1 value in the binary vector. 7. The method of claim 1 , wherein the run-length sequence includes one or more values indicating the run-length of 0 values between each 1 value in the binary vector and a special value indicating the last 1 value in the binary vector. 8. The method of claim 7 , wherein decoding the run-length sequence comprises incrementing a particular value in the run-length sequence by one in the case that the particular value of is greater than the special value. 9. The method of claim 1 , wherein decoding the run-length sequence comprises: decoding the run-length sequence using a truncated code; and determining a maximum value of the run-length sequence for each value in the run-length sequence. 10. The method of claim 9 , wherein the truncated code is a truncated exponential Golomb code, and wherein determining the maximum value comprises determining the maximum value of the run-length sequence for each value in the run-length sequence according to the following equation: (B-i-R), wherein B is the total number of samples in the block of video data, i is a starting position of a current run of zeros, and R is the number of remaining escape samples. 11. The method of claim 1 , further comprising: receiving a first run of indices for a copy above mode; receiving a second run of indices for an index mode; and decoding the first run of indices and the second run of indices with a truncated code. 12. The method of claim 11 , further comprising: determining a maximum value of the first run of indices and the second run of indices each value in the first run of indices and the second run of indices according to the following equation: (j-1-i), wherein j is a next escape symbol at position j in the block, and i is a current position in the block. 13. The method of claim 1 , further comprising: first receiving a syntax element indicative of the total number of escape samples used when encoding the block of video data; next receiving the run-length sequence indicative of the binary vector, the binary vector comprising indications of locations of escape samples in a block of video data encoded using the palette-based coding mode; next receiving the one or more escape samples; next receiving one or more mode flags for at least one of a copy above mode or an index mode; and next receiving associated run values for each of the one or more mode flags. 14. The method of claim 1 , the method being executable on a wireless communication device, wherein the device comprises: a memory configured to store the video data; a processor configured to execute instructions to process the video data stored in the memory; and a receiver to receive the video data and the run-length sequence. 15. The method of claim 14 , wherein the wireless communication device is a cellular telephone and the video data and the run-length sequence are received by the receiver and modulated according to a communication standard. 16. An apparatus configured to decode video data, the apparatus comprising: a memory configured to store the video data; and a video decoder comprising processing circuitry configured to: receive a run-length sequence indicative of a binary vector, the binary vector indicating the positions of escape samples in a block of the video data encoded using a palette-based coding mode, wherein the run-length sequence is received before receiving syntax elements indicating one or more palette-based coding modes and run values associated with the one or more palette-based coding modes; decode the run-length sequence to obtain the binary vector before decoding syntax elements indicating one or more palette-based coding modes and run values associated with the one or more palette-based coding modes; and decode the block of the video data using the binary vector. 17. The apparatus of claim 16 , wherein the processing circuitry is further configured to: receive the one or more escape samples after receiving the run-length sequence but before receiving mode flags and run values corresponding to the mode flags, wherein the one or more escape samples are grouped together; and decode the binary vector and the one or more escape samples in a bypass mode of context adaptive binary arithmetic coding (CABAC). 18. The apparatus of claim 16 , wherein the processing circuitry is further configured to: receive a syntax element indicative of the total number of escape samples used when encoding the block of video data; receive the one or more escape samples before receiving the run-length sequence and before receiving mode flags and run values corresponding to the mode flags, wherein the one or more escape samples are grouped together; and decode the binary vector, the syntax element indicative of the total number of escape samples, and th
Selection of coding mode or of prediction mode · CPC title
Entropy coding, e.g. variable length coding [VLC] or arithmetic coding · CPC title
Run-length coding · CPC title
Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC] · CPC title
characterised by syntax aspects related to video coding, e.g. related to compression standards · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.