Palette-based residual coding in video compression systems

By combining the color panel mode and predictive method in the HEVC color panel mode, the constructing palette table predictor and refining the predictive block solve the problem of low decoding performance in the HEVC color panel mode, and achieve a more efficient decoding. performance.

CN112219399BActive Publication Date: 2025-01-24ALIBABA GROUP HOLDING LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN201880094272.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2018-07-04
Publication Date
2025-01-24
Estimated Expiration
2038-07-04

Smart Images

  • Figure CN112219399B_ABST
    Figure CN112219399B_ABST
Patent Text Reader

Abstract

A system and method for improving the decoding performance of a video compression system by combining a palette mode and a traditional prediction method are provided, wherein the method comprises deriving a prediction block of a coding unit; decoding palette-based residual information of the coding unit; deriving a palette-based residual block based on the decoded palette-based residual information; and combining the prediction block and the palette-based residual block to construct a reconstructed block.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] The latest video coding standards, such as H.264 / AVC (Advanced Video Coding) and H.265 / HEVC (High Efficiency Video Coding) standards, are based on hybrid coding schemes using block prediction and transform coding. In order to compress a video frame, a video compression system applies a prediction method such as intra-frame prediction or inter-frame prediction to derive a predicted frame. Based on the predicted frame, the video compression system also encodes residual information to refine the predicted frame. The residual information is usually compressed by transform and quantization techniques. Based on this information, the decoder is able to reconstruct the video frame based on the predicted frame and the residual information. The decoder combines the predicted block and the residual block to generate a reconstructed block by simply adding the predicted pixel value and the residual pixel value to generate the final reconstructed pixel value.

[0002] A new coding tool palette mode is adopted to standardize the screen content coding extension (HEVCSCC) of high-efficiency video coding. The palette mode can use a few selected representative colors to efficiently describe all pixels in a coding unit (CU). The palette mode is designed based on the following observation: the pixel values ​​in the screen content frame are usually concentrated on a few color values. The encoder analyzes the pixels in the CU and determines several representative colors to build a palette table, that is, a color mapping table between representative color values ​​and color indexes. The palette table is sent with a signal in the bitstream. Pixels with pixel values ​​close to the palette color are quantized to the selected palette color represented by the corresponding palette index. The remaining pixels are called escape pixels. A special palette index value is reserved to represent the escape pixel, and the pixel value of the escape pixel is directly sent with a signal. All palette indices in the CU form a palette index map, which is sent to the decoder together with the escape pixel value. Pixels or palette indexes can represent monochrome or three-color component values, such as YCbCr or GBR.

[0003] However, in HEVC palette mode, if a block is encoded by palette mode, the block will be decoded independently without using any prediction method or residual refinement. BRIEF DESCRIPTION OF THE DRAWINGS

[0004] The detailed description is set forth with reference to the accompanying drawings. In the drawings, the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears. The use of the same reference numbers in different drawings indicates similar or identical items or features.

[0005] Figure 1 An example decoding process for a video compression system using a prediction method is shown.

[0006] Figure 2 Shown by Figure 1The instance prediction block, instance residual block and instance reconstruction block derived from the video compression system.

[0007] Figure 3 An example diagram showing a palette mode applied to an image.

[0008] Figure 4 An example decoding process for a video compression system using the HEVC SCC palette mode is described.

[0009] Figure 5 An example palette index mapping using the HEVC SCC palette mode is shown.

[0010] Figure 6 An example flow chart for palette-based residual encoding is shown.

[0011] Figure 7 Shows detailed description Figure 6 An example flowchart of one of the multiple blocks of FIG.

[0012] Figure 8 An example decoding process for a video compression system using a palette-based residual coding mode is shown.

[0013] Fig. 9 Shown by Figure 8 The video compression system uses instance prediction blocks, instance palette-based residual blocks and instance reconstruction blocks derived by palette-based residual decoding.

[0014] Fig.10 An example palette index map encoding for palette-based residual encoding is shown.

[0015] Fig.11 Another example palette index map encoding for palette-based residual encoding is shown.

[0016] Fig.12 An example system is shown for implementing processes and methods for improving decoding performance by combining palette modes and prediction methods. DETAILED DESCRIPTION

[0017] The systems and methods discussed herein relate to improving video compression system performance in HEVC palette modes, and more particularly to improving decoding performance by combining palette modes and prediction methods.

[0018] Figure 1 An example decoding process 100 of a video compression system 102 using a prediction approach is shown.

[0019] Video compression system 102 first derives prediction block 104 by applying a prediction method such as intra prediction 106 or inter prediction 108, and then decodes residual block 110 by applying residual decoding method 112. Video compression system 102 combines prediction block 104 and residual block 110 to generate reconstructed block 114.

[0020] Figure 2 Shown by Figure 1 1. Example prediction block 104, residual block 110, and reconstructed block 114 derived from video compression system 102 of FIG.

[0021] The prediction block 104 and the residual block 110 are shown using the pixel values ​​of the coding unit (CU). Figure 1 As discussed, corresponding pixel values ​​of the prediction block 104 and the residual block 110 are simply added to generate corresponding pixel values ​​of the reconstructed block 114 .

[0022] Figure 3 An example diagram 300 of a palette mode applied to a CU 302 is shown. For simplicity, a pixel or palette index is shown as corresponding to only one value. However, in HEVC SCC, a pixel or palette index can represent three color component values, such as YCbCr or GBR.

[0023] In the HEVC SCC palette mode, a flag is sent for each CU to indicate whether the palette mode is used for the CU, such as CU 302. If the palette mode is used for CU 302, pixels (having pixel values ​​close to the palette, such as color A 304, color B 306, and color C 308) are represented by palette color values ​​310, as shown in color histogram 312. For example, color A 304 is shown as close to the palette color value 50, color B 306 is shown as close to the palette color value 80, and color C 308 is shown as close to the palette color value 310. The palette color value 310 of CU 302 is represented by a palette index 314, where the palette color value 310 is the representative color of CU 302, as shown in a palette table 316. The remaining pixels are represented by special palette index values ​​(represented as escape indices), and their pixel values ​​are directly signaled. Note that color is a 3-value vector, such as YCbCr or GBR. The palette indices of all pixels in CU 302 form a palette index map 318.

[0024] Figure 4 An example decoding process 400 of a video compression system 402 using HEVC SCC palette mode is illustrated.

[0025] With reference Figure 1Compared to the intra / inter prediction method described above, if a block or CU is encoded by an HEVC SCC palette mode 404, it is independently decoded to generate a reconstructed block 406 without using any prediction method or residual refinement. In order to decode the palette encoded block, the video decoder of the video compression system 402 decodes the palette colors and indexes. The palette colors are described by a palette table such as palette table 316 and encoded by a palette table encoding tool. Based on the palette table, pixels of the three color components are represented by palette indices (e.g., palette index 314). The palette indices of all pixels in the CU form a palette index map (e.g., palette index map 318) and are encoded by a palette index map encoding tool.

[0026] Figure 5 An example palette index map encoding 500 is shown.

[0027] The video compression system 102 constructs a palette table predictor to predict the palette table (e.g., palette table 316) of the current CU by applying predictive coding, wherein the palette of the last palette-encoded CU is used as a predictor. After the palette table is encoded, the pixels of the current CU are represented by palette indices 502 together with other parameters encoded with a palette index map, and the palette index corresponds to the color in the palette shown in the parameter table 504. The index forms a palette index map 506, which is divided into several runs and then encoded in a horizontal or vertical horizontal scanning order. In this example, a horizontal scanning order is assumed, and the direction of scanning is shown as an arrow in the palette index map 506. In the palette index map 506, 16 indexes are encoded by a run index 508, three runs R0, R1 and R2 with horizontal horizontal scanning. There are two travel modes 510, copy index and copy above, and for each start position of a travel, a flag is sent to indicate which operating mode is used.

[0028] If copy above mode is used, the run of pixel 512 will copy the palette index from the pixel above it. In this example, run R2, is to copy the run above with a run value of 10. If copy index mode is used, the palette_index_idc syntax element is signaled first, followed by a segment of PaletteIndexRun information. The palette_index_idc syntax describes whether the run is in copy index mode (palette_index_idc=0) or copy above mode (palette_index_idc=1), and the PaletteIndexRun syntax describes the length of the run. Pixels 512 share the same palette index 502, where the palette index 502 and the run value of the run of pixel 512 are derived from palette_index_idc and PaletteIndexRun, respectively.

[0029] Figure 6 An exemplary flow chart 600 for palette-based residual coding in a video compression system is shown in the example.

[0030] At block 602, a video compression system may derive a prediction block for a coding unit (CU), such as prediction block 104, which may be derived using conventional prediction methods, such as described above with reference to Figure 1 The intra-frame prediction or inter-frame prediction method discussed. The video compression system can construct a palette table predictor to predict the palette table of the current CU, and can use the palette of the last palette-encoded CU as a predictor. The video compression system can use the palette of a non-adjacent coding unit relative to the coding unit as a palette predictor to predict the palette table of the coding unit, and apply the palette table prediction method to derive the prediction block. At box 604, the video compression system can decode the palette-based residual information of the coding unit, and based on the decoded palette-based residual information, the palette-based residual block of the coding unit can be derived in block 606. At 608, the video compression system can combine the predicted block and the palette-based residual block to construct a reconstructed block. Based on the decoded palette-based residual information, the video compression system can refine the prediction block and improve the encoding and / or decoding performance by combining the palette mode with the traditional prediction method, thereby improving the decoding performance of the video compression system.

[0031] Figure 7 Shows detailed description Figure 6 An example flow diagram of block 608 of FIG.

[0032] The video compression system may refine the prediction block 104 based on the decoded palette-based residual information by the palette-based residual block in block 702, and classify the pixels of the palette-based residual block into two groups, such as primary color pixels and predicted pixels at block 704. The pixels of the primary color may have a palette index associated with the primary color pixel value of the decoded palette-based residual block similar to the association shown in the palette table 316. At block 706, the predicted pixels are assigned a predetermined color index, such as C0, C1, etc., and the video compression system may generate a palette index map based on the primary color pixels and the predicted pixels at block 708.

[0033] At block 710, the video compression system may identify whether a pixel in a palette-based residual block is a primary color pixel or a predicted pixel by decoding a palette index map and identifying an index having a predetermined color index as a predicted pixel, or by identifying a pixel to be encoded by a prediction run as a predicted pixel at block 712. At block 714, the video compression system may use the primary color pixel value of the primary color pixel and the pixel value of the predicted block for predicting the pixel in the reconstructed block, and transmit the pixel value of the predicted block for predicting the pixel, thereby combining the palette mode with the traditional prediction method to improve the decoding performance of the video compression system.

[0034] Figure 8 An example decoding process 800 of a video compression system 802 using a palette-based residual coding mode is illustrated.

[0035] In addition to the above references Figure 4 and Figure 5 In addition to the HEVC residual decoding described above, the video compression system 802 may include an option to combine the palette mode with the traditional prediction method, as described above with reference to Figure 6 and Figure 7 The video compression system 802 may derive the palette-based residual information by applying the palette-based residual decoding 806 to the palette-based residual information. The video compression system 802 may then construct a reconstructed block 808 by applying the palette-based prediction and residual block combination 810 to the information from the prediction block 104 and the palette-based residual block 804.

[0036] Fig. 9 shows the use of palette-based residual decoding by Figure 8 The prediction block 104, the palette-based residual block 804 and the reconstructed block 808 derived by the video compression system 802.

[0037] The video compression system 802 may be as described above with reference to Figure 1The prediction block 104 is derived as described above, and then the palette-based residual block 804 can be decoded. Before reconstructing the reconstructed block 808, the video compression system 802 can derive and use the Figure 8 The palette-based residual block 804 is used to refine the prediction block 104. The video compression system 802 can classify the pixels in the palette-based residual block 804 into two groups, primary color pixels and predicted pixels. Primary color pixels can be pixels with pixel values, such as C0 and C1 as shown, where the pixel values ​​are similar to those of the pixels in the image. Figure 3 The predicted pixel may be a special pixel, which is shown as "P" in the palette-based residual block 804. If the pixel is encoded as "P", the video compression system 802 may directly use its corresponding predicted pixel value from the prediction block 104 as the corresponding reconstructed pixel value of the reconstructed block 808. If the pixel in the palette-based residual block 804 is a primary color pixel with a corresponding primary color value (e.g., C0 or C1) in the decoded palette table, the video compression system 802 will use the corresponding primary color value to reconstruct the reconstructed block 808 as shown in the figure.

[0038] Fig.10 An example palette index map encoding 1000 for palette-based residual encoding is shown.

[0039] To identify whether a pixel in the palette-based residual block 804 is a primary color pixel or a predicted pixel, the video compression system 802 can reserve a special color index, such as 0, as shown below the palette index 1002 in the parameter table 1004, a larger index value or a predetermined value. The video compression system 802 can then use a conventional palette mode to decode the palette index map 1006, as described above with reference to Figure 5 As described. The indexes form a palette index map 1006, which is divided into a plurality of strokes and then encoded in a horizontal or vertical traversal scanning order. In this example, a horizontal scanning order is assumed and the direction of the scan is shown as an arrow in the palette index map 1006. In the palette index map 1006, 16 indexes are encoded by the stroke index, and four strokes R0, R1, R2, R1 and R3 with horizontal traversal scanning are shown under the stroke mode 1008. As shown under the stroke mode 1010, there are two stroke modes, namely, the copy index mode and the copy above mode, and for each starting position of the stroke, a mark is sent to indicate which operating mode is used.

[0040] If a pixel in the palette index map 1006 is identified as having a reserved color index, it will be identified as a predicted pixel. Fig.10, the bottom four pixels are identified as predicted pixels. The video compression system 802 may reserve a special color index for these predicted pixels, which is "0" in this example. The video compression system 802 may use a replicated index run R3 for the four predicted pixels, as indicated by pixel run 1012, to identify the four predicted pixels.

[0041] Fig.11 Another example palette index map encoding 1100 for palette-based residual encoding is shown.

[0042] To identify whether a pixel in the palette-based residual block 804 is a primary color pixel or a predicted pixel, the video compression system 802 can utilize a special run, such as a prediction run shown as "PREDICTION" under the run mode 1102 run of the parameter table 1104, rather than reserving a special color index under the palette index 1106. The video compression system 802 can identify the predicted pixels of the palette-based residual block 804 as pixels encoded by the prediction run. Similar to Fig.10 The palette index map 1006 is encoded, and the indexes form the palette index map 1006, which is divided into four runs and then encoded in a horizontal scanning order as shown by the arrows. In the palette index map 1006, 16 indexes are encoded by the run index 1108, with a horizontal traversal scan of four runs R0, R1, R2 and R3. Under the operation mode 1102, there are three types, namely copy index mode, copy above mode and prediction mode, and for each starting position of the run, a flag is sent to indicate which operation mode is used. If a pixel in the palette index map 1006 is identified as having been predicted run encoded, it will be identified as a predicted pixel. Refer to Fig.11 , the video compression system 802 may use prediction run R3 for the four bottom pixels to encode them as predicted pixels, as shown in pixel run 1110, and identify these four pixels as predicted pixels.

[0043] Fig.12 An example system 1200 is shown for implementing the above-described processes and methods for improving decoding performance by combining palette modes and prediction methods.

[0044] The techniques and mechanisms described herein may be implemented by multiple instances of the system 1200, as well as by any other computing devices, systems, and / or environments. Fig.12The system 1200 shown in is only an example of a system and is not intended to imply any limitation on the scope of use or functionality of any computing device used to perform the above-described processes and / or processes. Other well-known computing devices, systems, environments, and / or configurations suitable for the embodiments include, but are not limited to, personal computers, server computers, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, game consoles, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, implementations using field programmable gate arrays ("FPGAs"), and application-specific integrated circuits ("ASICs"), etc.

[0045] The system 1200 may include one or more processors 1202 and a system memory 1204 communicatively connected to the one or more processors 1202. The one or more processors 1202 may execute one or more modules and / or processes to enable the one or more processors 1202 to perform various functions. In some embodiments, the processor 1202 may include a central processing unit (CPU), a graphics processing unit (GPU), or both a CPU and a GPU, or other processing units or components known in the art. In addition, each processor 1202 may have its own local memory, which may also store program modules, program data and / or one or more operating systems.

[0046] The system memory 1204 may be volatile, such as RAM, or non-volatile, such as ROM, flash memory, micro hard drive, memory card, etc., or some combination thereof, depending on the exact configuration and type of system 1200. The system memory 1204 may include one or more computer executable modules (modules) 1206 that may be executed by one or more processors 1202.

[0047] Module 1206 may include but is not limited to a prediction module 1208, a residual module 1210, and a reconstruction module 1212. The prediction module 1208 may be configured as described above with reference to Figure 1The prediction block of the derived coding unit. The prediction module can use the palette of the non-adjacent coding unit relative to the coding unit as a palette predictor to predict the palette table of the coding unit, and apply a prediction method such as intra-frame prediction 102 or inter-frame prediction 108 to the palette table such as the palette table 316 to derive a prediction block (e.g., prediction block 104). The residual module 1210 can be configured to decode the palette-based residual information of the coding unit, and derive a palette-based residual block based on the decoded palette-based residual information, such as the palette-based residual block 804. The reconstruction module 1212 can be configured to combine the prediction block 104 and the palette-based residual block 804 to construct a reconstructed block such as the reconstructed block 808, thereby improving the decoding performance of the system 1200.

[0048] The residual module 1210 may be further configured to decode the palette-based residual block 804 and classify the pixels of the palette-based residual block into primary color pixels and predicted pixels. The primary color pixels may have a palette index associated with the primary color pixel value of the decoded palette-based residual block 804. The residual module 1210 may be further configured to generate a palette index map, such as the palette index map 1006, based on the primary color pixels and the predicted pixels, and to provide such a palette index map to the decoded palette-based residual block 804. Fig. 9 The predicted pixels shown are assigned predetermined color indices, such as C0, C1, etc.

[0049] The reconstruction module 1212 may also be configured to identify whether a pixel of the palette-based residual block is a primary color pixel or a predicted pixel by decoding the palette index map 1006 and identifying an index having a predetermined color index as described above with reference to Fig.10 The predicted pixel in question, or by identifying the pixel encoded by the prediction run as referred to above Fig.11 The reconstruction module 1212 can be configured to use the primary color pixel values ​​of the primary color pixels in the reconstruction block 808 and transmit the pixel values ​​of the prediction block for the prediction pixels in the reconstruction block 808, thereby combining the palette mode and the traditional prediction method to improve the decoding performance of the video compression system.

[0050] The system 1200 may further include an input / output (I / O) interface 1214 for receiving data associated with the coding unit, such as the coded data of the CU 302 to be processed, and for outputting the data of the coding unit, such as the reconstructed block 808. The system 1200 may also include a communication module 1216 that allows the system 1200 to communicate with other devices (not shown) over a network (not shown). The network may include the Internet, wired media such as a wired network or a direct wired connection, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media.

[0051] As described below, some or all of the operations of the above methods may be performed by executing computer-readable instructions stored on a computer-readable storage medium. The term "computer-readable instructions" used in the specification and claims includes routines, applications, application modules, program modules, programs, components, data structures, algorithms, etc. Computer-readable instructions may be implemented on a variety of system configurations, including single-processor or multi-processor systems, minicomputers, mainframe computers, personal computers, handheld computing devices, microprocessor-based programmable consumer electronics, combinations thereof, etc.

[0052] Computer-readable storage media may include volatile memory (e.g., random access memory (RAM)) and / or non-volatile memory (e.g., read-only memory (ROM), flash memory, etc.). Computer-readable storage media may also include other removable storage and / or non-removable storage, including but not limited to flash memory, magnetic storage, optical storage, and / or tape storage, which may provide non-volatile storage of computer-readable instructions, data structures, program modules, etc.

[0053] Non-transitory computer-readable storage media are examples of computer-readable media. Computer-readable media include at least two types of computer-readable media, namely computer-readable storage media and communication media. Computer-readable storage media include volatile and non-volatile, removable and non-removable media implemented in any process or technology for storing information such as computer-readable instructions, data structures, program modules or other data. Computer-readable storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other storage technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic tape, magnetic tape, disk storage or other magnetic storage device, or any other non-transmission medium that can be used to store information for access by a computing device. In contrast, communication media can embody computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier or other transmission mechanism. As defined herein, computer-readable storage media do not include communication media.

[0054] Computer readable instructions stored on one or more non-transitory computer readable storage media, when executed by one or more processors, can perform the above referenced Figures 1 to 12Typically, computer-readable instructions include routines, programs, objects, components, data structures, etc. that perform specific functions or implement specific abstract data types. The order in which the operations are described is not intended to be construed as a limitation, and any number of the described operations may be combined in any order and / or in parallel to implement a process.

[0055] Sample Clauses

[0056] A. A method, comprising: deriving a prediction block of a coding unit; decoding palette-based residual information of the coding unit; deriving a palette-based residual block based on the decoded palette-based residual information; and combining the prediction block and the palette-based residual block to construct a reconstructed block.

[0057] B. A method as described in paragraph A, wherein deriving a prediction block of a coding unit comprises: using a palette of a non-adjacent coding unit relative to the coding unit as a palette predictor to predict a palette table of the predicted coding unit; and applying predictive coding to the palette table to derive the prediction block.

[0058] C. The method of paragraph A, wherein combining the prediction block and the palette-based residual block to construct a reconstructed block comprises: refining the prediction block based on the decoded palette-based residual information.

[0059] D. A method as described in paragraph C, wherein refining the prediction block based on the decoded palette-based residual information includes: decoding the palette-based residual block; classifying pixels of the palette-based residual block into primary color pixels and predicted pixels, the primary color pixels having a palette index associated with the primary color pixel value of the decoded palette-based residual block; and generating a palette index map based on the primary color pixels and the predicted pixels.

[0060] E. A method as described in paragraph D, wherein generating a palette index map based on the primary color pixels and the predicted pixels includes: assigning to the predicted pixels.

[0061] F. The method as described in paragraph E also includes: identifying whether the pixel in the palette-based residual block is a primary color pixel or a predicted pixel, including: decoding the palette index map and identifying an index with a predetermined color index as a predicted pixel; or identifying a pixel encoded by a prediction run as a predicted pixel.

[0062] G. A method as described in paragraph F, wherein combining the prediction block and the palette-based residual block to construct a reconstructed block includes: using the primary color pixel values ​​of the primary color pixels in the reconstructed block; and transmitting the pixel values ​​of the prediction block for the predicted pixels in the reconstructed block.

[0063] H. A computer-readable storage medium storing computer-readable instructions executable by one or more processors, wherein the computer-readable instructions, when executed by the one or more processors, cause the one or more processors to perform operations, including: deriving a prediction block of a coding unit; decoding palette-based residual information of the coding unit; deriving a palette-based residual block based on the decoded palette-based residual information; and combining the prediction block and the palette-based residual block to construct a reconstructed block.

[0064] I. A computer-readable storage medium as described in paragraph H, wherein deriving a prediction block of a coding unit comprises: using a palette of a non-adjacent coding unit relative to the coding unit as a palette predictor to predict a palette table of the predicted coding unit; and applying predictive coding to the palette table to derive the prediction block.

[0065] J. A computer-readable storage medium as described in paragraph H, wherein combining the prediction block and the palette-based residual block to construct a reconstructed block includes: refining the prediction block based on the decoded palette-based residual information.

[0066] K. A computer-readable storage medium as described in paragraph J, wherein refining the prediction block based on the decoded palette-based residual information includes: decoding the palette-based residual block; classifying pixels of the palette-based residual block into primary color pixels and predicted pixels, the primary color pixels having a palette index associated with the primary color pixel value of the decoded palette-based residual block; and generating a palette index map based on the primary color pixels and the predicted pixels.

[0067] L. A computer-readable storage medium as described in paragraph K, wherein generating a palette index map based on the primary color pixels and the predicted pixels includes: assigning a predetermined color index to the predicted pixel.

[0068] M. The computer-readable storage medium as described in paragraph L also includes identifying whether a pixel in the palette-based residual block is a primary color pixel or a predicted pixel, including: decoding the palette index map and identifying an index with a predetermined color index as a predicted pixel; or identifying a pixel encoded by a prediction run as a predicted pixel.

[0069] N. A computer-readable storage medium as described in paragraph M, wherein combining the prediction block and the palette-based residual block to construct a reconstructed block includes: using the primary color pixel values ​​of the primary color pixels in the reconstructed block; and transmitting the pixel values ​​of the prediction block for the predicted pixels in the reconstructed block.

[0070] O. A system, comprising: one or more processors; a memory communicatively connected to the one or more processors, the memory storing a computer executable module executable by the one or more processors, the computer executable module comprising: a prediction module configured to derive a prediction block of a coding unit; a residual module configured to decode palette-based residual information of the coding unit and derive a palette-based residual block based on the decoded palette-based residual information; and a reconstruction module configured to combine the prediction block and the palette-based residual block to form a reconstructed block.

[0071] P. A system as described in paragraph O, wherein the prediction block is further configured to: use the palette of a non-adjacent coding unit relative to the coding unit as a palette predictor to predict a palette table of the predicted coding unit; and apply predictive coding to the palette table to derive the prediction block.

[0072] Q. A system according to paragraph O, wherein the residual module is further configured to: decode the palette-based residual block; classify pixels of the palette-based residual block into primary color pixels and predicted pixels, wherein the primary color pixels have a palette index associated with the primary color pixel value of the decoded palette-based residual block; and generate a palette index map based on the primary color pixels and the predicted pixels.

[0073] R. A system as described in paragraph Q, wherein the residual module is further configured to assign a predetermined color index to the predicted pixel.

[0074] S. A system as described in paragraph R, wherein the reconstruction module is further configured to: identify whether a pixel in the palette-based residual block is a primary color pixel or a predicted pixel in the following manner: decoding the palette index map and identifying an index with a predetermined color index as a predicted pixel; or identifying a pixel encoded by a prediction run as a predicted pixel.

[0075] T. A system as described in paragraph S, wherein the reconstruction module is further configured to: use primary color pixel values ​​of primary color pixels in the reconstructed block; and transmit pixel values ​​of the predicted block for predicted pixels in the reconstructed block.

[0076] in conclusion

[0077] Although the subject matter has been described in language specific to structural features and / or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claims.

Claims

1. A method comprising: deriving a prediction block for a coding unit; decoding palette-based residual information of the coding unit; deriving a palette-based residual block based on the decoded palette-based residual information; decoding the palette-based residual block; classifying pixels of the palette-based residual block into primary color pixels and predicted pixels, the primary color pixels having palette indices associated with primary color pixel values ​​of the decoded palette-based residual block; and Generate a palette index map based on the primary color pixels and the predicted pixels; Identify whether a pixel in the palette-based residual block is a primary color pixel or a predicted pixel; Using the primary color pixel value of the primary color pixel in the reconstructed block; as well as Pixel values ​​of the prediction block are transmitted for the prediction pixels in the reconstructed block.

2. The method according to claim 1, further comprising: A palette table of the coding unit is predicted using a palette of a non-adjacent coding unit relative to the coding unit as a palette predictor.

3. The method according to claim 1, wherein generating a palette index map based on the primary color pixels and the predicted pixels comprises: A predetermined color index is assigned to the predicted pixel.

4. The method according to claim 3, The identifying whether a pixel in the palette-based residual block is a primary color pixel or a predicted pixel comprises: decoding the palette index map and identifying an index having a predetermined color index as a predicted pixel; or Pixels encoded by prediction run length are identified as predicted pixels.

5. A computer-readable storage medium storing computer-readable instructions executable by one or more processors, the computer-readable instructions, when executed by the one or more processors, causing the one or more processors to perform operations comprising: deriving a prediction block for a coding unit; decoding palette-based residual information of the coding unit; deriving a palette-based residual block based on the decoded palette-based residual information; as well as decoding the palette-based residual block; classifying pixels of the palette-based residual block into primary color pixels and predicted pixels, the primary color pixels having palette indices associated with primary color pixel values ​​of the decoded palette-based residual block; and Generate a palette index map based on the primary color pixels and the predicted pixels; Identify whether a pixel in the palette-based residual block is a primary color pixel or a predicted pixel; Using the primary color pixel value of the primary color pixel in the reconstructed block; as well as Pixel values ​​of the prediction block are transmitted for the prediction pixels in the reconstructed block.

6. The computer-readable storage medium of claim 5, further comprising: The coding unit is predicted using a palette of a non-neighboring coding unit relative to the coding unit as a palette predictor.

7. The computer-readable storage medium according to claim 5, wherein: Generating a palette index map based on the primary color pixels and the predicted pixels includes: assigning a predetermined color index to the predicted pixels.

8. The computer-readable storage medium of claim 7, The identifying whether a pixel in the palette-based residual block is a primary color pixel or a predicted pixel comprises: decoding the palette index map and identifying an index having a predetermined color index as a predicted pixel; or Pixels encoded by prediction run length are identified as predicted pixels.

9. A system comprising: one or more processors; a memory communicatively connected to the one or more processors, the memory storing a computer executable module executable by the one or more processors, the computer executable module comprising: a prediction module configured to derive a prediction block of a coding unit; A residual module, the residual module being configured to decode the palette-based residual information of the coding unit and derive a palette-based residual block based on the decoded palette-based residual information; The residual module is further configured to decode the palette-based residual block; classify pixels of the palette-based residual block into primary color pixels and predicted pixels, the primary color pixels having palette indices associated with primary color pixel values ​​of the decoded palette-based residual block; and generate a palette index map based on the primary color pixels and the predicted pixels; A reconstruction module, the reconstruction module being configured to identify whether a pixel in the palette-based residual block is a primary color pixel or a predicted pixel; use the primary color pixel value of the primary color pixel in the reconstructed block; and transmit the pixel value of the predicted block for the predicted pixel in the reconstructed block.

10. The system according to claim 9, wherein: The prediction block is further configured as: A palette table of the coding unit is predicted using a palette of a non-adjacent coding unit relative to the coding unit as a palette predictor.

11. The system according to claim 9, wherein: The residual module is further configured to assign a predetermined color index to the predicted pixel.

12. The system according to claim 11, wherein: The reconstruction module is further configured to: Whether a pixel in the palette-based residual block is a primary color pixel or a predicted pixel is identified by: decoding the palette index map and identifying an index having a predetermined color index as a predicted pixel; or Pixels encoded by prediction run length are identified as predicted pixels.

Citation Information

Patent Citations

  • Palette Mode In High Efficiency Video Coding (HEVC) Screen Content Coding (SCC)

    US20160100174A1