WO2016176822A1 - High-throughput coding method for palette coding - Google Patents
High-throughput coding method for palette coding Download PDFInfo
- Publication number
- WO2016176822A1 WO2016176822A1 PCT/CN2015/078269 CN2015078269W WO2016176822A1 WO 2016176822 A1 WO2016176822 A1 WO 2016176822A1 CN 2015078269 W CN2015078269 W CN 2015078269W WO 2016176822 A1 WO2016176822 A1 WO 2016176822A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- palette
- flag
- coding
- coded
- transpose
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
- H03M7/4012—Binary arithmetic codes
- H03M7/4018—Context adapative binary arithmetic codes [CABAC]
Definitions
- the invention relates generally to video/image coding/processing. Particularly, it is related palette coding.
- Palette coding is described in JCTVC-T1005-v2.
- Table 1. Demonstrates its syntax table.
- a reused map is signalled to indict which entries of a prediction palette are reused in the current palette.
- palette entries which cannot be inferred from the prediction palette are signalled directly.
- a rotation flag is signalled to indicate whether pixels in the block are scanned vertically or horizontally.
- the palette_transpose_flag which indicates whether pixels in the block are scanned vertically or horizontally is coded by CABAC bypass.
- CABAC Bypass coding can achieve higher data throughput than CABAC context mode by exploiting hardware or ISA level parallelism. Such benefit grows if a bunch of bypass bins can be processed together.
- Fig. 1 is a diagram illustrating the proposed decoding order for the palette mode.
- palette coding syntax elements coded as ‘bypass’ are put together; and the palette coding syntax elements coded with coding contexts are put together.
- a palette coding syntax element coded as ‘bypass’ should not be put between two palette coding syntax elements coded with coding contexts.
- the palette_transpose_flag should not be put between two palette coding syntax elements coded with coding contexts, as indicted in Fig. 1.
- the palette_transpose_flag can be coded after the last_palette_run_type_flag.
- the palette_transpose_flag can be coded after the palette_run_type_flag.
- the palette_transpose_flag can be coded after the palette_run_msb_id_plus1.
- the palette_transpose_flag can be coded after the palette_run_refinement_bits.
- the palette_transpose_flag can be coded by the CABAC bypass.
- the palette_transpose_flag can be derived by the decoder implicitly.
- the last_palette_run_type_flag can be coded by ‘bypass’ .
- the last_palette_run_type_flag and palette_run_type_flag can share the same coding context.
- an embodiment of the present invention can be a circuit integrated into a video compression chip or program codes integrated into video compression software to perform the processing described herein.
- An embodiment of the present invention may also be program codes to be executed on a Digital Signal Processor (DSP) to perform the processing described herein.
- DSP Digital Signal Processor
- the invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA) .
- processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention.
- the software code or firmware codes may be developed in different programming languages and different format or style.
- the software code may also be compiled for different target platform.
- different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.
Abstract
Methods are proposed to code the palette syntax in high throughput.
Description
The invention relates generally to video/image coding/processing. Particularly, it is related palette coding.
Palette coding is described in JCTVC-T1005-v2. Table 1. Demonstrates its syntax table.
First, a reused map is signalled to indict which entries of a prediction palette are reused in the current palette.
Second, palette entries which cannot be inferred from the prediction palette are signalled directly.
Third, a flag is signalled to indicate whether escape values are used.
Forth, a rotation flag is signalled to indicate whether pixels in the block are scanned vertically or horizontally.
Fifth, the number of coded indices and the indices are signalled.
Sixth, the last run type is signalled.
Seventh, run types and runs are signalled.
Eighth, escape values are coded.
In the palette syntax, the palette_transpose_flag which indicates whether pixels in the block are scanned vertically or horizontally is coded by CABAC bypass.
The previous one syntax element palette_escape_val_present_flag and afterward one syntax element num_palette_indices_idc of palette_transpose_flag are coded by CABAC context.
CABAC Bypass coding can achieve higher data throughput than CABAC context mode by exploiting hardware or ISA level parallelism. Such benefit grows if a bunch of bypass bins can be processed together.
Low throughput is observed in the current palette mode due to not grouping elements coded by CABAC bypass.
Table 1. Palette syntax
SUMMARY
In light of the previously described problems, methods are proposed to code the palette syntax in a more efficient way.
Other aspects and features of the invention will become apparent to those with ordinary skill in the art upon review of the following descriptions of specific embodiments.
BRIEF DESCRIPTION OF DRAWINGS
The invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:
Fig. 1 is a diagram illustrating the proposed decoding order for the palette mode.
The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims.
In order to achieve higher throughput, several methods are proposed.
In One embodiment, the palette coding syntax elements coded as ‘bypass’ are put together; and the palette coding syntax elements coded with coding contexts are put together.
In one embodiment, a palette coding syntax element coded as ‘bypass’
should not be put between two palette coding syntax elements coded with coding contexts.
In one embodiment, the palette_transpose_flag should not be put between two palette coding syntax elements coded with coding contexts, as indicted in Fig. 1.
In one embodiment, the palette_transpose_flag can be coded after the last_palette_run_type_flag.
In one embodiment, the palette_transpose_flag can be coded after the palette_run_type_flag.
In one embodiment, the palette_transpose_flag can be coded after the palette_run_msb_id_plus1.
In one embodiment, the palette_transpose_flag can be coded after the palette_run_refinement_bits.
In one embodiment, the palette_transpose_flag can be coded by the CABAC bypass.
In one embodiment, the palette_transpose_flag can be derived by the decoder implicitly.
In one embodiment, the last_palette_run_type_flag can be coded by ‘bypass’ .
In one embodiment, the last_palette_run_type_flag and palette_run_type_flag can share the same coding context.
The methods described above can be used in a video encoder as well as in a video decoder. Embodiments of disparity vector derivation methods according to the present invention as described above may be implemented in various hardware, software codes, or a combination of both. For example, an embodiment of the present invention can be a circuit integrated into a video compression chip or program codes integrated into video compression software to perform the processing described herein. An embodiment of the present invention may also be program codes to be executed on a Digital Signal Processor (DSP) to perform the processing described herein. The invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA) . These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention. The software code or firmware codes may be developed in different programming languages and different format or style. The software code may also be compiled for different target
platform. However, different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.
The invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described examples are to be considered in all respects only as illustrative and not restrictive. To the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art) . Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.
Claims (10)
- A method of palette table coding, comprising:the palette coding syntax elements coded as ‘bypass’ a re put together; and the palette coding syntax elements coded with coding contexts are put together;a palette coding syntax element coded as ‘bypass’ should not be put between two palette coding syntax elements coded with coding contexts; andmore than one palette coding syntax elements share one coding context.
- The method as claimed in claim 1, wherein the palette_transpose_flag should not be put between two palette coding syntax elements coded with coding contexts.
- The method as claimed in claim 2, wherein the palette_transpose_flag can be coded after the last_palette_run_type_flag.
- The method as claimed in claim 2, wherein the palette_transpose_flag can be coded after the palette_run_type_flag.
- The method as claimed in claim 2, wherein the palette_transpose_flag can be coded after the palette_run_msb_id_plus1.
- The method as claimed in claim 2, wherein the palette_transpose_flag can be coded after the palette_run_refinement_bits.
- The method as claimed in claim 2, wherein the palette_transpose_flag can be coded by the CABAC bypass.
- The method as claimed in claim 2, wherein the palette_transpose_flag can be derived by the decoder implicitly.
- The method as claimed in claim 1, wherein the last_palette_run_type_flag can be coded by ‘bypass’ .
- The method as claimed in claim 1, wherein last_palette_run_type_flag and palette_run_type_flag can share the same coding context.
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/078269 WO2016176822A1 (en) | 2015-05-05 | 2015-05-05 | High-throughput coding method for palette coding |
JP2017552162A JP2018514142A (en) | 2015-04-08 | 2016-04-08 | Palette mode context encoding in video encoding and binarization method |
PCT/CN2016/078859 WO2016161974A1 (en) | 2015-04-08 | 2016-04-08 | Methods for palette mode context coding and binarization in video coding |
CN201680020116.9A CN107431824B (en) | 2015-04-08 | 2016-04-08 | Method for context coding and decoding and binaryzation in palette mode in video coding and decoding |
EP16776149.3A EP3262839B1 (en) | 2015-04-08 | 2016-04-08 | Methods for palette mode context coding and binarization in video coding |
KR1020177032375A KR102060871B1 (en) | 2015-04-08 | 2016-04-08 | Palette Mode Context Coding and Binarization in Video Coding |
CN202010512270.6A CN111818344B (en) | 2015-04-08 | 2016-04-08 | Palette mode context coding and decoding and binaryzation method in video coding and decoding |
US15/563,788 US10681383B2 (en) | 2015-04-08 | 2016-04-08 | Methods for palette mode context coding and binarization in video coding |
JP2019144386A JP7224257B2 (en) | 2015-04-08 | 2019-08-06 | Palette Mode Context Coding and Binarization Methods in Video Coding |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/078269 WO2016176822A1 (en) | 2015-05-05 | 2015-05-05 | High-throughput coding method for palette coding |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016176822A1 true WO2016176822A1 (en) | 2016-11-10 |
Family
ID=57217508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2015/078269 WO2016176822A1 (en) | 2015-04-08 | 2015-05-05 | High-throughput coding method for palette coding |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2016176822A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160345030A1 (en) * | 2015-05-21 | 2016-11-24 | Qualcomm Incorporated | Grouping palette index at the end and index coding using palette size and run value |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100214577A1 (en) * | 2009-02-23 | 2010-08-26 | Owen James E | Encoding of non-indexed data for printing using indexed rgb |
WO2013102014A1 (en) * | 2011-12-30 | 2013-07-04 | Uduehi Joseph | Methods and systems for communicating colors to and from colorblind people |
CN104301737A (en) * | 2013-07-15 | 2015-01-21 | 华为技术有限公司 | Decoding method and encoding method for target image block and decoder and encoder |
-
2015
- 2015-05-05 WO PCT/CN2015/078269 patent/WO2016176822A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100214577A1 (en) * | 2009-02-23 | 2010-08-26 | Owen James E | Encoding of non-indexed data for printing using indexed rgb |
WO2013102014A1 (en) * | 2011-12-30 | 2013-07-04 | Uduehi Joseph | Methods and systems for communicating colors to and from colorblind people |
CN104301737A (en) * | 2013-07-15 | 2015-01-21 | 华为技术有限公司 | Decoding method and encoding method for target image block and decoder and encoder |
Non-Patent Citations (1)
Title |
---|
SZE, VIVIENNE ET AL.: "High Throughput CABAC Entropy Coding in HEVC", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 22, no. 12, 31 December 2012 (2012-12-31), pages 1778 - 1791, XP011487151 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160345030A1 (en) * | 2015-05-21 | 2016-11-24 | Qualcomm Incorporated | Grouping palette index at the end and index coding using palette size and run value |
US10448058B2 (en) * | 2015-05-21 | 2019-10-15 | Qualcomm Incorporated | Grouping palette index at the end and index coding using palette size and run value |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017139937A1 (en) | Advanced linear model prediction for chroma coding | |
WO2015180014A1 (en) | An improved merge candidate list construction method for intra block copy | |
WO2016074147A1 (en) | Separated coding tree for luma and chroma | |
WO2017156669A1 (en) | Methods for motion vector storage in video coding | |
WO2017041271A1 (en) | Efficient context modeling for coding a block of data | |
WO2017143467A1 (en) | Localized luma mode prediction inheritance for chroma coding | |
WO2016161967A1 (en) | Methods of palette mode coding in video coding | |
WO2015100522A1 (en) | Methods for inter-component residual prediction | |
WO2015085575A1 (en) | Methods for background residual prediction | |
JP2016076924A (en) | Method of pulse-code modulation and pallet coding for video coding | |
WO2016115708A1 (en) | Methods for chroma component coding with separate intra prediction mode | |
WO2013067687A1 (en) | Residue quad tree depth for chroma components | |
WO2016119104A1 (en) | Motion vector regularization | |
WO2016176822A1 (en) | High-throughput coding method for palette coding | |
US11051080B2 (en) | Method for improving video resolution and video quality, encoder, and decoder | |
WO2016115728A1 (en) | Improved escape value coding methods | |
WO2016205999A1 (en) | Adaptive coding group for image/video coding | |
WO2015131404A1 (en) | Methods for depth map coding | |
WO2016169020A1 (en) | A simplified coding method for palette coding | |
WO2016049891A1 (en) | Methods on segmentation coding in intra prediction | |
WO2016044974A1 (en) | Palette table signalling | |
WO2013106988A1 (en) | Methods and apparatuses of residue transform depth representation | |
WO2016123749A1 (en) | Deblocking filtering with adaptive motion vector resolution | |
WO2016197392A1 (en) | Improvements for non-local index prediction | |
WO2015100732A1 (en) | A padding method for intra block copying |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15891074 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15891074 Country of ref document: EP Kind code of ref document: A1 |