WO2016169020A1 - A simplified coding method for palette coding - Google Patents

A simplified coding method for palette coding Download PDF

Info

Publication number
WO2016169020A1
WO2016169020A1 PCT/CN2015/077282 CN2015077282W WO2016169020A1 WO 2016169020 A1 WO2016169020 A1 WO 2016169020A1 CN 2015077282 W CN2015077282 W CN 2015077282W WO 2016169020 A1 WO2016169020 A1 WO 2016169020A1
Authority
WO
WIPO (PCT)
Prior art keywords
indices
palette
coded
idc
num
Prior art date
Application number
PCT/CN2015/077282
Other languages
French (fr)
Inventor
Kai Zhang
Weijia Zhu
Xianguo Zhang
Original Assignee
Mediatek Singapore Pte. Ltd.
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 Singapore Pte. Ltd. filed Critical Mediatek Singapore Pte. Ltd.
Priority to PCT/CN2015/077282 priority Critical patent/WO2016169020A1/en
Publication of WO2016169020A1 publication Critical patent/WO2016169020A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

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 flag is signalled to indicate whether pixels in the block are scanned vertically or horizontally.
  • the number of coded indices is first mapped to a syntax element num_palette_indices_idc.
  • num_palette_indices_idc is binarized as described in sub-clause 9.3.3.15 in JCTVC-T1005-v2 as follows:
  • variable cMax is derived from cRiceParam as:
  • the binarization of the syntax element num_palette_indices_idc is a concatenation of a prefix bin string and (when present) a suffix bin string.
  • prefixVal 0
  • prefixVal Min (cMax, num_palette_indices_idc )
  • the prefix bin string is specified by invoking the TR binarization process as specified in clause 9.3.3.2 for prefixVal with the variables cMax and cRiceParam as inputs.
  • the suffix bin string is present and it is derived as follows:
  • suffixVal num_palette_indices_idc -cMax (0-1)
  • the suffix bin string is specified by invoking the k-th order EGk binarization process as specified in clause 9.3.3.3 for the binarization of suffixVal with the Exp-Golomb order k set equal to cRiceParam + 1.
  • the number of coded indices can be reconstructed as follows:
  • the variable NumPaletteIndices specifies the number of palette indices signalled for the current block and is derived as follows:
  • MaxPaletteIndex specifies the maximum possible value for a palette index for the current coding unit.
  • the value of MaxPaletteIndex is set equal to CurrentPaletteSize –1 + palette_escape_val_present_flag.
  • Fig. 1 is a diagram illustrating the proposed coding/decoding method for the number of coded indices.
  • the number of coded indices must be larger than MaxPaletteIndex.
  • MaxPaletteIndex+1 equals to the number of possible indices to be signaled (including the escape index) .
  • the number of coded indices must be equal to or larger than the number of possible indices to be signaled. Otherwise, it means some indices are defined and transmitted for the current block, but it is never used by any pixels in the current block. It is meaningless indeed.
  • num_palette_indices_idc NumPaletteIndices-offset is coded at encoder.
  • NumPaletteIndices num_palette_indices_idc +offset at decoder.
  • NumPaletteIndices must be lower than or equal to W*H, where W and H are width and height respectively of the current block. Therefore, the maximum value of num_palette_indices_idc is W*H-offset.
  • offset MaxPaletteIndex+1.
  • num_palette_indices_idc is binarized and coded in the way desbribed in sub-clause 9.3.3.15 in JCTVC-T1005-v2.
  • num_palette_indices_idc is binarized and coded by TR(cMax, cRiceParam) desbribed in sub-clause 9.3.3.2 in JCTVC-T1005-v2, where cMax is equal to W*H-offset and cRiceParam can be any integers such as 0, 1, 2, 3....
  • num_palette_indices_idc is binarized and coded by EG(k) desbribed in sub-clause 9.3.3.3 in JCTVC-T1005-v2, where k can be any integers such as 0, 1, 2, 3, ....
  • num_palette_indices_idc is binarized and coded by FL(cMax) desbribed in sub-clause 9.3.3.5 in JCTVC-T1005-v2, where cMax is equal to W*H-offset.
  • num_palette_indices_idc is binarized and coded by TB(cMax) desbribed in sub-clause 9.3.3.6 in JCTVC-T1005-v2, where cMax is equal to W*H-offset.
  • 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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Methods are proposed to code the number of coded indices more simply and efficiently.

Description

A SIMPLIFIED 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 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.
To code the number of coded indices, the number of coded indices is first mapped to a syntax element num_palette_indices_idc.
Then num_palette_indices_idc is binarized as described in sub-clause 9.3.3.15 in JCTVC-T1005-v2 as follows:
The variables cRiceParam is derived as follows:
cRiceParam = 2 + MaxPaletteIndex /6
The variable cMax is derived from cRiceParam as:
cMax = 4 << cRiceParam
The binarization of the syntax element num_palette_indices_idc is a concatenation of a prefix bin string and (when present) a suffix bin string.
For the derivation of the prefix bin string, the following applies:
The prefix value of num_palette_indices_idc, prefixVal, is derived as follows:
prefixVal = Min (cMax, num_palette_indices_idc )
The prefix bin string is specified by invoking the TR binarization process as specified in clause 9.3.3.2 for prefixVal with the variables cMax and cRiceParam as inputs.
When the prefix bin string is equal to the bit string of length 4 with all bits equal to 1, the suffix bin string is present and it is derived as follows:
The suffix value of num_palette_indices_idc, suffixVal, is derived as follows:
suffixVal = num_palette_indices_idc -cMax                           (0-1)
The suffix bin string is specified by invoking the k-th order EGk binarization process as specified in clause 9.3.3.3 for the binarization of suffixVal with the Exp-Golomb order k set equal to cRiceParam + 1.
At decoder, the number of coded indices can be reconstructed as follows:
The variable NumPaletteIndices specifies the number of palette indices signalled for the current block and is derived as follows:
if(num_palette_indices_idc >= (MaxPaletteIndex –1) *32 ) 
  NumPaletteIndices = num_palette_indices_idc + 1 else if (num_palette_indices_idc %32 = = 31) NumPaletteIndices = MaxPaletteIndex – (num_palette_indices_idc + 1 ) /32
else
NumPaletteIndices = (num_palette_indices_idc /32 ) *31 ) +(num_palette_indices_idc %32) + MaxPaletteIndex
The variable MaxPaletteIndex specifies the maximum possible value for a palette index for the current coding unit. The value of MaxPaletteIndex is set equal to CurrentPaletteSize –1 + palette_escape_val_present_flag.
It is quite complicated to code/decode the number of coded indices.
Table 1. Palette syntax
Figure PCTCN2015077282-appb-000001
Figure PCTCN2015077282-appb-000002
Figure PCTCN2015077282-appb-000003
SUMMARY
In light of the previously described problems, methods are proposed to code the number of coded indices in a simple and 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 coding/decoding method for the number of coded indices.
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 the number of coded indices more efficiently, several methods are proposed.
In one embodiment, the number of coded indices (NumPaletteIndices) must be larger than MaxPaletteIndex. MaxPaletteIndex+1 equals to the number of possible indices to be signaled (including the escape index) . The number of coded indices must be equal to or larger than the number of possible indices to be signaled. Otherwise, it means some indices are defined and transmitted for the current block, but it is never used by any pixels in the current block. It is meaningless indeed.
In one embodiment, num_palette_indices_idc = NumPaletteIndices-offset is coded at encoder.
In one embodiment, NumPaletteIndices = num_palette_indices_idc +offset at decoder.
In one embodiment, NumPaletteIndices must be lower than or equal to W*H, where W and H are width and height respectively of the current block. Therefore, the maximum value of num_palette_indices_idc is W*H-offset.
In one embodiment, offset = MaxPaletteIndex+1.
In one embodiment, num_palette_indices_idc is binarized and coded in the way desbribed in sub-clause 9.3.3.15 in JCTVC-T1005-v2.
In one embodiment, num_palette_indices_idc is binarized and coded by TR(cMax, cRiceParam) desbribed in sub-clause 9.3.3.2 in JCTVC-T1005-v2, where cMax is equal to W*H-offset and cRiceParam can be any integers such as 0, 1, 2, 3…. 
In one embodiment, num_palette_indices_idc is binarized and coded by EG(k) desbribed in sub-clause 9.3.3.3 in JCTVC-T1005-v2, where k can be any integers such as 0, 1, 2, 3, ….
In one embodiment, num_palette_indices_idc is binarized and coded by FL(cMax) desbribed in sub-clause 9.3.3.5 in JCTVC-T1005-v2, where cMax is equal to W*H-offset.
In one embodiment, num_palette_indices_idc is binarized and coded by TB(cMax) desbribed in sub-clause 9.3.3.6 in JCTVC-T1005-v2, where cMax is equal to W*H-offset.
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 (11)

  1. A method of palette coding, comprising:
    the number of coded indices must be larger than nMin-1, where nMin is an integer;
    the number of coded indices must be lower than nMax+1, where nMax is an integer;
    num_palette_indices_idc = NumPaletteIndices -offset is coded at encoder ; and
    NumPaletteIndices = num_palette_indices_idc + offset at decoder.
  2. The method as claimed in claim 1, wherein the number of coded indices (NumPaletteIndices) must be larger than MaxPaletteIndex, MaxPaletteIndex+1 equals to the number of possible indices to be signaled, including the escape index ; the number of coded indices must be equal to or larger than the number of possible indices to be signaled.
  3. The method as claimed in claim 1, wherein NumPaletteIndices must be lower than or equal to W*H, where W and H are width and height respectively of the current block, the maximum value of num_palette_indices_idc is W*H-offset.
  4. The method as claimed in claim 1, wherein offset = MaxPaletteIndex+1.
  5. The method as claimed in claim 1, wherein num_palette_indices_idc is binarized and coded in the way desbribed in sub-clause 9.3.3.15 in JCTVC-T1005-v2.
  6. The method as claimed in claim 1, wherein num_palette_indices_idc is binarized and coded by TR (cMax, cRiceParam) desbribed in sub-clause 9.3.3.2 in JCTVC-T1005-v2, where cMax is equal to W*H-offset and cRiceParam can be any integers such as 0, 1, 2, 3.
  7. The method as claimed in claim 1, wherein num_palette_indices_idc is binarized and coded by EG (k) desbribed in sub-clause 9.3.3.3 in JCTVC-T1005-v2, where k can be any integers such as 0, 1, 2, 3.
  8. The method as claimed in claim 1, wherein num_palette_indices_idc is binarized and coded by FL (cMax) desbribed in sub-clause 9.3.3.5 in JCTVC-T1005-v2, where cMax is equal to W*H-offset.
  9. The method as claimed in claim 1, wherein num_palette_indices_idc is binarized and coded by TB (cMax) desbribed in sub-clause 9.3.3.6 in JCTVC- T1005-v2, where cMax is equal to W*H-offset.
  10. The method as claimed in claim 1, wherein num_palette_indices_idc is not coded if nMin is equal to nMax, NumPaletteIndices should be inferred to be nMin.
  11. The method as claimed in claim 10, wherein num_palette_indices_idc is not coded if offset is equal to W*H, NumPaletteIndices should be inferred to be nMin.
PCT/CN2015/077282 2015-04-23 2015-04-23 A simplified coding method for palette coding WO2016169020A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/077282 WO2016169020A1 (en) 2015-04-23 2015-04-23 A simplified coding method for palette coding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/077282 WO2016169020A1 (en) 2015-04-23 2015-04-23 A simplified coding method for palette coding

Publications (1)

Publication Number Publication Date
WO2016169020A1 true WO2016169020A1 (en) 2016-10-27

Family

ID=57144580

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/077282 WO2016169020A1 (en) 2015-04-23 2015-04-23 A simplified coding method for palette coding

Country Status (1)

Country Link
WO (1) WO2016169020A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898313B2 (en) * 2002-03-06 2005-05-24 Sharp Laboratories Of America, Inc. Scalable layered coding in a multi-layer, compound-image data transmission system
CN103281538A (en) * 2013-06-06 2013-09-04 上海交通大学 Intra-frame coding method based on rolling hush and block-level intra-frame prediction
US20150016501A1 (en) * 2013-07-12 2015-01-15 Qualcomm Incorporated Palette prediction in palette-based video coding
WO2015007207A1 (en) * 2013-07-15 2015-01-22 华为技术有限公司 Target image block decoding and encoding method, and decoder and encoder

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898313B2 (en) * 2002-03-06 2005-05-24 Sharp Laboratories Of America, Inc. Scalable layered coding in a multi-layer, compound-image data transmission system
CN103281538A (en) * 2013-06-06 2013-09-04 上海交通大学 Intra-frame coding method based on rolling hush and block-level intra-frame prediction
US20150016501A1 (en) * 2013-07-12 2015-01-15 Qualcomm Incorporated Palette prediction in palette-based video coding
WO2015007207A1 (en) * 2013-07-15 2015-01-22 华为技术有限公司 Target image block decoding and encoding method, and decoder and encoder

Similar Documents

Publication Publication Date Title
JP7224257B2 (en) Palette Mode Context Coding and Binarization Methods in Video Coding
WO2017139937A1 (en) Advanced linear model prediction for chroma coding
WO2017041271A1 (en) Efficient context modeling for coding a block of data
WO2016161967A1 (en) Methods of palette mode coding in video coding
WO2015180014A1 (en) An improved merge candidate list construction method for intra block copy
WO2015192779A1 (en) Method and apparatus of binarization and context-adaptive coding for syntax in video coding
WO2016115708A1 (en) Methods for chroma component coding with separate intra prediction mode
EP2908518A1 (en) Encoding/decoding method, video sequence stream encoding/decoding method, and device corresponding thereto
WO2016119104A1 (en) Motion vector regularization
WO2016169020A1 (en) A simplified coding method for palette coding
WO2016205999A1 (en) Adaptive coding group for image/video coding
CN109196859A (en) Method for improving video resolution and video quality, encoder and decoder
WO2016176822A1 (en) High-throughput coding method for palette coding
WO2015131404A1 (en) Methods for depth map coding
WO2016049891A1 (en) Methods on segmentation coding in intra prediction
WO2019197724A1 (en) Method and apparatus for storing and signaling predictively coded image items
WO2016197392A1 (en) Improvements for non-local index prediction
WO2016183814A1 (en) Coded block flag coding using cross-component correlation
WO2016044979A1 (en) Segmental prediction for video coding
WO2016149867A1 (en) Non-local prediction for palette coding
WO2017000222A1 (en) Grouping bypass bins and improved sign data hiding for residual coding
WO2016070363A1 (en) Merge with inter prediction offset
WO2014205665A1 (en) An efficient coding method for dlt in 3dvc
WO2016037363A1 (en) Methods of residue transform tree representation
WO2015139177A1 (en) Improved method for intra vector prediction

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: 15889509

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: 15889509

Country of ref document: EP

Kind code of ref document: A1