WO2016176822A1 - High-throughput coding method for palette coding - Google Patents

High-throughput coding method for palette coding Download PDF

Info

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
Application number
PCT/CN2015/078269
Other languages
French (fr)
Inventor
Weijia Zhu
Kai Zhang
Xianguo Zhang
Original Assignee
Mediatek Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mediatek Inc. filed Critical Mediatek Inc.
Priority to PCT/CN2015/078269 priority Critical patent/WO2016176822A1/en
Priority to JP2017552162A priority patent/JP2018514142A/en
Priority to PCT/CN2016/078859 priority patent/WO2016161974A1/en
Priority to CN201680020116.9A priority patent/CN107431824B/en
Priority to EP16776149.3A priority patent/EP3262839B1/en
Priority to KR1020177032375A priority patent/KR102060871B1/en
Priority to CN202010512270.6A priority patent/CN111818344B/en
Priority to US15/563,788 priority patent/US10681383B2/en
Publication of WO2016176822A1 publication Critical patent/WO2016176822A1/en
Priority to JP2019144386A priority patent/JP7224257B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • H03M7/4012Binary arithmetic codes
    • H03M7/4018Context 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

[根据细则37.2由ISA制定的发明名称] HIGH-THROUGHPUT CODING METHOD FOR PALETTE CODING TECHNICAL FIELD
The invention relates generally to video/image coding/processing. Particularly, it is related palette coding.
BACKGROUND
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
Figure PCTCN2015078269-appb-000001
Figure PCTCN2015078269-appb-000002
Figure PCTCN2015078269-appb-000003
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.
DETAILED DESCRIPTION
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)

  1. 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; and
    more than one palette coding syntax elements share one coding context.
  2. 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.
  3. The method as claimed in claim 2, wherein the palette_transpose_flag can be coded after the last_palette_run_type_flag.
  4. The method as claimed in claim 2, wherein the palette_transpose_flag can be coded after the palette_run_type_flag.
  5. The method as claimed in claim 2, wherein the palette_transpose_flag can be coded after the palette_run_msb_id_plus1.
  6. The method as claimed in claim 2, wherein the palette_transpose_flag can be coded after the palette_run_refinement_bits.
  7. The method as claimed in claim 2, wherein the palette_transpose_flag can be coded by the CABAC bypass.
  8. The method as claimed in claim 2, wherein the palette_transpose_flag can be derived by the decoder implicitly.
  9. The method as claimed in claim 1, wherein the last_palette_run_type_flag can be coded by ‘bypass’ .
  10. The method as claimed in claim 1, wherein last_palette_run_type_flag and palette_run_type_flag can share the same coding context.
PCT/CN2015/078269 2015-04-08 2015-05-05 High-throughput coding method for palette coding WO2016176822A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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