WO2016169020A1 - A simplified coding method for palette coding - Google Patents
A simplified coding method for palette coding Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
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 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
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.
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)
- 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 ; andNumPaletteIndices = num_palette_indices_idc + offset at decoder.
- 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.
- 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.
- The method as claimed in claim 1, wherein offset = MaxPaletteIndex+1.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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)
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 |
-
2015
- 2015-04-23 WO PCT/CN2015/077282 patent/WO2016169020A1/en active Application Filing
Patent Citations (4)
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 |