CN104244007B - Image coding method and device and decoding method and device - Google Patents

Image coding method and device and decoding method and device Download PDF

Info

Publication number
CN104244007B
CN104244007B CN201410259514.9A CN201410259514A CN104244007B CN 104244007 B CN104244007 B CN 104244007B CN 201410259514 A CN201410259514 A CN 201410259514A CN 104244007 B CN104244007 B CN 104244007B
Authority
CN
China
Prior art keywords
matching
pixel
current
pixel sample
decoding
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201410259514.9A
Other languages
Chinese (zh)
Other versions
CN104244007A (en
Inventor
林涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Tianhe Electronic Information Co ltd
Original Assignee
Shanghai Tianhe Electronic Information Co 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 Shanghai Tianhe Electronic Information Co ltd filed Critical Shanghai Tianhe Electronic Information Co ltd
Priority to CN201410259514.9A priority Critical patent/CN104244007B/en
Priority to CN202010704251.3A priority patent/CN111800641B/en
Priority to CN202010703211.7A priority patent/CN111800640B/en
Publication of CN104244007A publication Critical patent/CN104244007A/en
Application granted granted Critical
Publication of CN104244007B publication Critical patent/CN104244007B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The most basic technical feature of the present invention is that when encoding a current coding unit, according to one or more predefined matching patterns, a search is performed in a set of history pixels (reconstructed pixels) that have already been encoded, and a plurality of optimal matching strings (blocks) matching the pixel samples of the coding unit in the current coding are found one by one. Each matching string (block) may have an arbitrary shape and may be characterized by two basic matching parameters, i.e. matching position and matching size.

Description

Image coding method and device and decoding method and device
Technical Field
The present invention relates to a digital video compression encoding and decoding system, and more particularly, to a method and apparatus for encoding and decoding a digital composite image and video including a continuous tone image and a discontinuous tone image.
Background
With the development and popularization of cloud-mobile computing, intelligent network television (IPTV), and wireless Display connection (WIFI Display), interconnection between multiple computers, between a computer host and other digital devices (such as smart televisions, smart phones, tablet computers, and the like), and between various digital devices has become practical and increasingly becomes a mainstream trend. This makes real-time screen transmission from the server side ("cloud" or "cloud film") to the user side a current urgent need. Since the amount of screen video data to be transmitted is large, for example, 24-bit true color screen image with 2048x1536 pixel resolution and 60 frame/second refresh rate is taken as an example, data to be transmitted is 2048x1536x60x24=4320 megabits per second, so that it is impossible to transmit so much data in real time under the current network conditions, and therefore, effective data compression is essential.
Digital composite images and videos represented by computer screen images are distinguished by the inclusion of text, graphics, line segments, and natural images. The characters, figures and line segments are generally generated by a computer and have the characteristic of discontinuous color tone, and the natural images are shot by a camera and have the characteristic of continuous color tone. Currently, compression coding of natural images and video is mature and there are many established standards available. These standards basically adopt a framework of hybrid coding of predictive coding and transform coding and quantization coding, but they have a poor effect on screen image compression, and an algorithm more suitable for screen image compression must be sought to achieve effective compression.
The method fully utilizes the characteristics of a computer screen image, performs ultra-high Efficiency compression on the computer screen image, and is also a main target of the latest international Video compression standard HEVC (high Efficiency Video coding) in the process of being made.
The natural form of a digital video signal of a screen image is a sequence of images. A picture is usually a rectangular area of several pixels, and if a digital video signal has 50 pictures per second, a 30 minute digital video signal is a sequence of video pictures consisting of 30x60x50 — 90000 pictures, sometimes referred to as a video sequence or sequence for short. Encoding a digital video signal is to encode one picture in a certain order. At any one time, the picture being encoded is referred to as the current encoded picture. Similarly, decoding the compressed code stream of the digital video signal is to decode the compressed code stream of one image according to the same sequence. At any one time, the picture being decoded is referred to as the current decoded picture. The currently encoded picture or the currently decoded picture are collectively referred to as the current picture.
In almost all international standards for video image Coding, such as MPEG-1/2/4, h.264/AVC, and HEVC, when an image is coded, the image is divided into a plurality of sub-images of MxM pixels, which are called "Coding Units (CU)", and the sub-images are coded one block by one block with the CU as a basic Coding Unit. Commonly used M sizes are 8, 16, 32, 64. Thus, encoding a sequence of video images is the sequential encoding of the individual coding units. Similarly, each coding unit is decoded sequentially during decoding, and finally the entire video image sequence is reconstructed.
To adapt to the difference of image content and properties of each part in an image, the most efficient coding is performed in a targeted manner, and the sizes of CUs in an image can be different, namely 8x8, 64x64 and the like. In order to enable seamless splicing of CUs of different sizes, an image is always divided into the same size and the same sizeNxNA "Largest Coding Unit (LCU for short) of a pixel, and then each LCU is further divided into 1 or 4 or 16 or 64 CUs of identical size. For example, an image is first divided into LCUs of 64x64 pixels of identical size (N64). Then, some of the LCUs are themselves a 64x 64-pixel CU, i.e., 1 64x 64-pixel CU (called depth 1 CU, a CU withNxNOne pixel, this one CU constitutes one partition of depth 1) to be encoded. Some LCUs are divided into 4 CUs of 32x32 pixels, i.e., 4 CUs of 32x32 pixels (called depth-2 CUs, each having
Figure DEST_PATH_IMAGE002
Pixel, these 4 CUs constitute a depth-2 partition). Still other LCUs are divided into 16 CU's of 16x16 pixels, i.e., 16 CU's of 16x16 pixels (referred to as depth 3 CU's, each with a respective CU' s
Figure DEST_PATH_IMAGE004
Pixel by pixel, these 16 CUs make up a depth 3 partition). Other LCUs are divided into 64 CUs of 8x8 pixels, i.e. 64 CUs of 8x8 pixels (called depth 4 CUs, each having
Figure DEST_PATH_IMAGE006
A plurality of pixels, each of which is a pixel,these 64 CUs constitute a depth 4 partition).
When an LCU is coded, firstly a partition with a depth of 1 is coded, and secondly a partition with a depth of 2 (i.e. all CUs of the partition) is coded, so that partitions with different depths are coded in sequence until the depth reaches a preset maximum depth D, that is, the size of the corresponding CU reaches a minimum value
Figure DEST_PATH_IMAGE008
Until now. After all the partitions of the D different depths are coded, an optimal depth, namely an optimal partition of the MxM pixel CU is selected from the coding of the partitions of the D different depths according to the rate-distortion performance to finally code the LCU.
Each LCU may also be partitioned in another way into multiple CUs of different sizes of a tree structure. Accordingly, an LCU is also referred to as a "Coding Tree Unit (CTU)". In the present patent application, LCU and CTU are synonymous. A CU of the same size as a CTU is referred to as a CU having a depth D of 0 (D = 0). A quarter-sized CU quartered by a CU with D =0 is referred to as a CU with a depth D of 1 (D = 1). A CU with a smaller size obtained by further quartering a CU with D =1 is referred to as a CU with a depth D of 2 (D = 2). A CU with a smaller size obtained by further quartering a CU with D =2 is referred to as a CU with a depth D of 3 (D = 3). A CU with a smaller size obtained by further quartering a CU with D =3 is referred to as a CU with a depth D of 4 (D = 4). For example, an image is first divided into LCUs of 64x64 pixels (N-64) of identical size. One of the LCUs may be composed of 2 CUs of 32x32 pixels D =1, 6 CUs of 16x16 pixels D =2, and 8 CUs of 8x8 pixels D = 3. Such 16 arborescent CUs constitute one CTU. Another LCU may be composed of 3 CUs of 32x32 pixels with D =1 and 4 CUs of 16x16 pixels with D =2, so that 7 CUs in a tree structure also constitute one CTU.
A picture is coded by sequentially coding a CU in a CTU. At any one time, the CU being encoded is referred to as the current encoding CU. Decoding a picture also decodes a CU in a CTU in the same order. At any one time, the CU being decoded is referred to as the currently decoded CU. The current coded CU or the current decoded CU are collectively referred to as a current CU.
Pixels come in various formats, such as: RGB pixel format in which 1 pixel is composed of 1 red component (component), 1 green component, and 1 blue component; 1 pixel is in YUV4:4:4 pixel format consisting of 1 luminance Y component, 1 chrominance U component and 1 chrominance V component; the left and right adjacent 2 pixels are in YUV4:2:2 pixel format consisting of 2 brightness Y components, 1 chrominance U component and 1 chrominance V component; the 4 pixels which are arranged at 2x2 spatial positions and are adjacent left, right, upper and lower are in YUV4:2:0 pixel format consisting of 4 brightness Y components, 1 chrominance U component and 1 chrominance V component. One component is generally represented by 1 number of 8-16 bits. The YUV4:2:2 pixel format and the YUV4:2:0 pixel format are obtained by down-sampling the chrominance components in the YUV4:4:4 pixel format. The color format commonly referred to as YUV actually includes a plurality of color formats, such as the YCbCr color format. The most basic element in encoding or decoding may be one pixel or one pixel component. A pixel or a pixel component, which is the most basic element of encoding or decoding, is collectively referred to as a pixel sample (sample), sometimes also commonly referred to as a pixel value, or simply a sample. When a CU is coded and decoded, the CU may be divided into 3 component planes (G plane, B plane, R plane, or Y plane, U plane, V plane), and the 3 component planes are coded and decoded respectively; it is also possible to combine 3 components of a pixel into one 3-tuple by bundling and encode the whole CU composed of these 3-tuples. The former arrangement of pixels and their components is called planar format (planar format) of the image (and its CUs), while the latter arrangement of pixels and their components is called packed format (packed format) of the image (and its CUs).
In the present patent application, "pixel sample", "pixel value" and "sample" are synonymous, and depending on the context, it may be clear whether "pixel" or "one pixel component" or "index (i.e., serial number)" or both. If it is not clear from the context, then all three are represented simultaneously.
A flow diagram of a related art encoding method, which is most used among various types of image and video sequences including screen images, is shown in fig. 1. The prior art encoding method comprises the following steps:
1) reading in a maximum coding unit (LCU) with the size of NxN pixels;
2) setting an initial value of a variable M to N, that is, preparing to encode a partition of a current coding unit CU having a size of MxM ═ NxN pixels first;
3) intra prediction coding based on neighboring pixel samples and block (block) -based inter (i.e., between a current coded frame and a previously coded frame), collectively referred to as prediction coding, are performed on a CU of 1 MxM pixels, yielding (1) prediction residuals and (2) prediction modes and motion vectors. Multiple intra prediction modes and multiple inter prediction modes (collectively referred to as prediction modes) need to be tried in predictive coding. Each prediction mode generates a corresponding prediction residual and undergoes the subsequent operations of steps 4), 5), 6) and 7);
4) and 3) carrying out transform coding on one of the prediction residuals obtained by the coding in the step 3) to generate a transform coefficient. Transform coding is optional, that is, if the transform coding does not achieve better data compression effect, the transform coding is not performed;
5) the transform coefficients (in the case of transform coding performed in the previous step) or the prediction residuals (in the case of no transform coding performed in the previous step) are quantized and coded, resulting in quantized transform coefficients or quantized prediction residuals. In the case of lossless coding, the quantization coding operation is an equivalent operation, and does not produce any actual quantization effect;
6) and (3) performing the inverse operation of the encoding on the encoding results of the steps 3) to 5), namely, preliminarily reconstructing the pixels of the CU for calculating the Rate-distortion cost (Rate-distortion cost) of the subsequent step 8), performing post-processing of deblocking filtering and pixel compensation (such as sample value self-adaptive compensation) operation on all the preliminarily reconstructed pixels of the optimum division after determining the optimum division of the current encoding LCU in the subsequent step 11), and then placing the pixels of each reconstructed CU subjected to post-processing into a temporary storage area of history pixels (reconstructed pixels) for being used as reference pixels for subsequent prediction encoding and reconstruction. Since the encoding may be lossy, the reconstructed pixels are not necessarily equal to the input original pixels;
7) entropy encoding the two prediction modes and the motion vector of the encoding result of the step 3) and the quantized encoding result of the step 5), namely the quantized transform coefficient and the quantized prediction residual error, and generating the bit rate of the compressed code stream. The entropy coding also comprises the steps of firstly carrying out differential coding or index coding based on 1-dimensional or 2-dimensional adjacent samples on the samples of the entropy coding object such as a prediction mode, a motion vector, a quantization transformation coefficient and a quantization prediction residual error so as to remove the correlation among the samples and improve the efficiency of the entropy coding;
8) calculating the bit rate or bit rate estimation value of the original pixel, the reconstructed pixel and the compressed code stream to obtain the rate-distortion cost, selecting the optimal prediction mode of the CU according to the rate-distortion performance, and temporarily storing the compressed code stream data of the CU;
9) judging whether the encoding of all the MxM pixel CU is finished or not, if so, sequentially executing the next step, and otherwise, jumping to the step 3) to start the encoding of the next MxM pixel CU;
10) judging whether M reaches a preset minimum value, if so, sequentially executing the next step, otherwise, halving M, and then jumping to the step 3) to start coding of all MxM pixel CU in the next depth division;
11) selecting an optimal MxM pixel CU partition according to rate-distortion performance from the finished coding results of a plurality of partitions of different depths (MxM pixel CUs with different sizes) and outputting compressed code stream data corresponding to the partition;
12) and judging whether the coding of all LCUs is finished, if so, ending the coding, otherwise, returning to the step 1) and starting the coding of the next LCU.
A flow diagram of a prior art decoding method is shown in fig. 2. The decoding method of the prior art comprises the following steps:
1) reading in partial compressed code stream data;
2) entropy decoding of one coding unit, namely, a CU is performed to obtain header information and data information of the CU. The header information mainly includes whether the CU is to be inverse-transform decoded using intra prediction based on neighboring pixel samples or inter prediction based on a block. Entropy decoding also includes differential decoding or index decoding based on 1-dimensional or 2-dimensional neighboring samples of entropy-decoded objects such as prediction modes, motion vectors, quantized transform coefficients, quantized prediction residuals, etc.;
3) inverse quantization decoding is carried out on the quantized transform coefficient or the quantized prediction residual error to generate a transform coefficient or a prediction residual error;
4) if the transformation coefficient is generated in the previous step, performing inverse transformation decoding to generate a prediction residual, otherwise, sequentially executing the next step;
5) performing intra prediction decoding based on adjacent pixel samples or inter prediction decoding based on blocks, collectively referred to as prediction decoding, to generate preliminary reconstructed pixels;
6) performing post-processing of deblocking filtering and pixel compensation (such as sample value adaptive compensation) operation on the preliminary reconstructed pixel, and then putting the post-processed reconstructed pixel of the CU into a temporary storage area of historical pixels (reconstructed pixels) to be used as a reference pixel for subsequent predictive decoding;
7) outputting the pixels of the reconstructed CU;
8) judging whether the decoding of the compressed code stream data of all CUs in one LCU is finished, if so, sequentially executing the next step, otherwise, returning to the step 1) and starting the decoding of the next CU;
9) and judging whether the decoding of the compressed code stream data of all the LCUs is finished, if so, ending the decoding, otherwise, returning to the step 1) and starting the decoding of the next LCU.
A schematic diagram of a prior art encoding device is shown in fig. 3. The whole coding device consists of the following modules:
1) a storage module that can store at least one coding unit, i.e., a pixel of a CU;
2) a prediction encoding module which performs intra prediction encoding based on neighboring pixels and inter prediction encoding based on a block (block) on an input pixel sample, and outputs (1) a prediction residual and (2) a prediction mode and a motion vector;
3) and a transformation module. And performing transformation operation on the prediction residual error and outputting a transformation coefficient. For some types of screen image pixels, the transformation operation cannot achieve the effect of data compression, and in this case, the transformation operation is not performed, namely, the transformation module is bypassed, and the prediction residual is directly output;
4) and a quantization module. Performing a quantization operation on the transform coefficients (in the case where the transform module is not bypassed) or the prediction residuals (in the case where the transform module is bypassed), resulting in quantized transform coefficients or quantized prediction residuals;
5) and an entropy coding module. Performing entropy coding on the prediction mode, the motion vector, the quantized transform coefficient or the quantized prediction residual, including performing differential coding based on 1-dimensional or 2-dimensional neighboring samples on the samples of the entropy coding object;
6) and a reconstruction and post-processing module. Performing inverse operations of a prediction coding module, a transformation module and a quantization module to reconstruct pixels of the CU, performing post-processing of deblocking filtering and pixel compensation (such as sample value adaptive compensation) operations, and then putting the post-processed reconstructed pixels of the CU into a historical pixel (reconstructed pixel) temporary storage module to be used as reference pixels for prediction coding and reconstruction of a subsequent CU;
7) and a historical pixel (reconstruction pixel) temporary storage module. This module provides the reference pixels for predictive coding and reconstruction;
8) an optimal prediction mode and partition selection module based on rate-distortion performance. When each CU is encoded, the optimal prediction mode for that CU is selected according to the rate-distortion performance. After encoding of all CUs of all partitions of different depths of an LCU is completed, selecting an optimal depth and corresponding partitions of the LCU according to rate-distortion performance;
9) and a compressed code stream output module. And outputting the selected optimally divided coded compressed data to an output video compressed code stream.
A schematic diagram of a decoding device of the prior art is shown in fig. 4. The whole decoding device consists of the following modules:
1) and a partial compression code stream data storage module. For temporarily storing a portion of the input compressed bitstream data;
2) and an entropy decoding module. Entropy decoding is performed on the input compressed bitstream data. The entropy decoding also includes differential decoding based on 1-dimensional or 2-dimensional neighboring samples of entropy-decoded objects such as prediction modes, motion vectors, quantized transform coefficients, quantized prediction residuals, etc. The entropy decoding also comprises decoding auxiliary information such as the depth of division during encoding, whether transformation operation is bypassed during encoding and the like which are analyzed from the input compressed code stream data;
3) and an inverse quantization module. Performing inverse quantization operation to output transform coefficient or prediction residual;
4) and an inverse transformation module. If the transformation operation is not bypassed during coding, performing inverse transformation decoding and outputting a prediction residual, otherwise, directly outputting the prediction residual without performing inverse transformation decoding;
5) and a predictive decoding module. Performing intra prediction decoding based on adjacent pixel sample values or inter prediction decoding based on a square block on the prediction residual, and outputting a preliminary reconstructed pixel;
6) and a post-processing module. Performing post-processing of deblocking filtering and pixel compensation (such as sample value adaptive compensation) operation on the preliminary reconstructed pixel, and then putting the post-processed reconstructed pixel into a historical pixel (reconstructed pixel) temporary storage module to be used as a reference pixel for subsequent predictive decoding;
7) and a historical pixel temporary storage module. This module provides a predictively decoded reference pixel;
8) and a reconstructed pixel output module. The reconstructed pixel is the final output of the decoding apparatus.
As described above, in the prior art, the first step of encoding is to perform intra prediction encoding based on neighboring pixel samples or inter prediction encoding based on block (block) (i.e. between the current encoded frame and the previously encoded frame) on the encoding unit CU. The prior art is effective where the entire image is a natural image.
With the popularization of multimedia technology in computers, one image often contains a bitmap (bitmap) consisting of many letters, numbers, characters, menus, small icons, large figures, diagrams, tables and the like in screen images of computers used daily today and in the future. One such image has many identical or similar patterns (patterns). For example, English has only 52 different letters (26 capital letters and 26 small letters), Chinese is more composed of only a few different strokes. Therefore, in the computer screen image, a matching pixel sample string or a matching pixel sample block with an arbitrary shape is found, so that the whole information of the matched string (block) can be represented by two parameters, namely the size of the matching string (block) and the distance (1-dimensional distance or 2-dimensional distance) between the matched string (block), the redundancy existing in the image pixel is removed, and the remarkable image data compression effect is realized.
However, in the prior art, neither intra-frame prediction coding based on adjacent pixel samples nor inter-frame prediction coding based on block (block) can effectively find any shape matching pattern in the image, and the coding efficiency of the image and the pattern is low.
Disclosure of Invention
To solve this problem in the prior art of image video encoding and decoding, the present invention provides a method and apparatus for image encoding and decoding based on arbitrary shape matching.
The main technical features of the present invention are shown in fig. 5 and 6.
In the encoding method and apparatus of the present invention, the most basic characteristic technical feature is that when encoding a current coding unit CU, a scanning format and a matching format (both are collectively referred to as matching patterns) are arranged according to one or more predefined pixel samples, and a search is performed in a set of historical pixels (reconstructed pixels) that have already been encoded (also referred to as a reference pixel sample value set), so as to find a plurality of optimal matching strings (blocks) that match the pixel samples of the current coding CU one by one. Each matching string (block) may have an arbitrary shape and may be characterized by two basic matching parameters, namely a matching position (also called matching distance) p and a matching size s:
1) the matching position p is a linear (1-dimensional) distance or a planar (2-dimensional) distance, i.e. a relative position, in units of pixel samples, between the first pixel sample of the corresponding matching string (block) found in the history set of pixels and the first pixel sample of the matched string (block) in the current encoded CU. For example, a p-125 pixel sample indicates that the linear distance is 125 pixel samples, and a p-34, 12 pixel sample indicates that the horizontal distance and the vertical distance are 34 pixel samples and 12 pixel samples, respectively.
2) The match size is the 1-dimensional length (or 2-dimensional area) of the matching string (or block). The unit of which is also the pixel sample value. For example, an s-100 pixel sample indicates that the matching string and the matched string both have 100 pixel samples, respectively, and an s-8 x12 pixel sample indicates that the matching block and the matched block both have 8x12=96 pixel samples, respectively. Obviously, in the case of matching blocks, the size s of a block generally needs to be represented by a plurality of parameter components. For example, where the block is rectangular, s generally contains two components, namely the width and height (sometimes also referred to as length and width) of the rectangle. As another example, where the block is a parallelogram, s also typically contains two components, the base and height of the parallelogram. As another example, where the block is a trapezoid, s generally has three components, namely the upper base, the lower base, and the height of the trapezoid.
These multiple arbitrary shape matching strings (blocks), plus possible non-matching pixel values, are seamlessly stitched to exactly form the complete square shape of the current coded CU. Fig. 5 shows an example of arbitrary shape matching of 3 kinds of matching patterns including a pixel sample arrangement scan pattern and a matching pattern. Fig. 5(a) shows that 3 CUs m, CU m +1, and CU m +2 in an image are arbitrarily shape-matched using 3 matching patterns, respectively. In general, in a current image, all CUs may use the same matching pattern, or different CUs may adaptively use different matching patterns.
The matching string (block), also called matching reference string (block), is located in a reference pixel sample value set of a predetermined size of encoding and decoding parameters. If the parameter is not written into the compressed code stream, the decoder must set the size of the reference pixel sample value set to the whole current decoded image, reserve enough storage space, possibly exceed the actual requirement, and increase the implementation cost of the decoder. Therefore, the encoder should write the size of the actually used reference pixel sample value set into the compressed code stream and transmit the compressed code stream to the decoder, so that the decoder can only reserve the storage space of the reference pixel sample value set with the proper size, and the highest working efficiency is achieved.
The reference pixel sample set stores reconstructed pixel values that have been encoded or decoded in the current image, and the reconstructed pixel values are typically subjected to a number of processing steps before being fully reconstructed. Thus, the reconstructed pixel values stored in the reference pixel sample set typically include different kinds of fully reconstructed pixels and different degrees of partially reconstructed pixels, i.e., reconstructed pixels that have undergone only partial processing. Different matching modes can adopt the same kind of reconstructed pixels as reference pixels, and can also adopt different kinds of reconstructed pixels as reference pixels. In the same matching mode, different kinds of reconstructed pixels can be used as reference pixels at different matching positions. Examples of different kinds of reconstructed pixels include: 1) reconstructed pixels after prediction compensation after the residual value is added to the predicted value and without post-processing (including deblocking filtering and/or sample value adaptive compensation); 2) the compensated and post-processed reconstructed pixels are predicted.
Example 1: matching mode of vertical scanning 1-dimensional string shape matching is adopted for carrying out random shape matching
Cu (cu m) with number m in fig. 5(a) performs arbitrary shape matching using a matching pattern of vertical scanning 1-dimensional string matching. In a vertical scan 1-D string matching pattern, the history pixels are first arranged in the order of the LCU serial number, and within an LCU, the pixel samples are arranged column by column in a vertical scan format, so that the history pixels are finally arranged into a one-dimensional string of pixel samples. For example, in fig. 5(a), one LCU is 16x16 pixels in size, each pixel has 3 samples (components), and the depth is 1, so that one CU is also 16x16 pixels in size. The first pixel sample in the one-dimensional pixel sample string of the history pixel arrangement is the top first pixel sample of the LCU with sequence number 0, i.e., column 1 of CU (CU 0). One column of pixels is arranged from top to bottom in a vertical scan format. Thus, the second pixel sample in the one-dimensional pixel sample string is the second pixel sample from the top of column 1 of CU 0. The column 1 is followed by the column 2, and likewise the pixel samples are arranged in a vertical scan format from top to bottom. This is done by column up to column 16 of CU0, followed by the LCU numbered 1 in FIG. 5(a), i.e., the first column of pixels of CU (CU 1), and so on. In an image shown in fig. 5(a), there are h LCUs, or CUs, in the horizontal direction. Therefore, the 16 th column pixel of the LCU with the sequence number h-1, that is, CU (CU h-1), is the last (rightmost) 1 column pixel of the first LCU row (having h LCUs, that is, CU), and the 1 st column pixel of the LCU with the sequence number h, that is, CU (CU h), that is, the leftmost 1 column pixel of the second LCU row, is arranged after that. In fig. 5(a), CU m, which is an LCU with sequence number m, shows the first 3 matched strings in arbitrary shape matching:
1) the first matched string (the string of pixel samples numbered as 1 in circle in CU m of fig. 5 (a)) has 42 pixel samples (= 14 pixels). The corresponding matching strings found in the history pixels are in the LCU with sequence number 0, CU0, and LCU with sequence number 1, CU 1 (the numbers are also circled 1), the first 5 pixels (15 pixel samples) are the last 5 pixels in the 16 th column of CU0, and the last 9 pixels (27 pixel samples) are the first 9 pixels in the 1 st column of CU 1. The first pixel sample of the matching string is the 34 th pixel sample of column 16 of CU0, so the linear (1-dimensional) address of its location is
The pixel sample number xLCU number + column pixel sample number x (column number-1) + column pixel sample number 768 x 0 + 48x15 + 34 + 754.
The first pixel sample of the matched string is the LCU with sequence number m, i.e. the 1 st pixel sample of the 1 st column of CU m, so the linear (1-dimensional) address of the position is
768 x m+48 x 0+1=768m+1。
The matching position for this arbitrary shape match, numbered 1 within the circle, is p 768m + 1-754 768 m-753. And its matching size (length) is obviously s-42. The units of p and s are both pixel samples.
2) The second matched string (the string of pixel samples numbered as 2 in circle in CU m of fig. 5 (a)) has 33 pixel samples (= 11 pixels). The corresponding matching string found in the history pixel is in CU0 (the number is also circled 2), the first 7 pixels (21 pixel samples) are the last 7 pixels in column 3 of CU0, and the last 4 pixels (12 pixel samples) are the first 4 pixels in column 4 of CU 0. The first pixel sample of the matching string is the 28 th pixel sample of column 3 of CU0, and the first pixel sample of the matched string is the 43 th pixel sample of column 1 of CU m, so the matching position of the arbitrary shape matching numbered as circle 2 is p (768m + 48x 0 + 43) - (768 x 0 + 48x 2 + 28) ═ 768 m-81. And its matching size (length) is obviously s-33.
3) The third matched string (the string of pixel samples numbered as 3 in circle in CU m of fig. 5 (a)) has 45 pixel samples (= 15 pixels). The corresponding matching strings found in the history pixels are in CU h-1 and CU h (the numbers are also circled 3), the first 13 pixels (39 pixel samples) are the last 13 pixels in column 16 of CU h-1, and the last 2 pixels (6 pixel samples) are the first 2 pixels in column 1 of CU h. The first pixel sample of the matching string is the 10 th pixel sample of the 16 th column of CU h-1, and the first pixel sample of the matched string is the 28 th pixel sample of the 2 nd column of CU m, so the matching position of the arbitrary shape match numbered as circled 3 is p ═ 768m + 48x1 + 28) - (768 x (h-1) + 48x15 + 10) ═ 768 (m-h + 1) -654. And its matching size (length) is obviously s-45.
Example 2: matching mode of vertical scanning 2-dimensional conformal (2D-shape-predicted) matching is adopted for carrying out arbitrary shape matching
The current coding CU (CU m + 1) with the number m +1 in fig. 5(a) performs arbitrary shape matching using a matching pattern of vertical scanning 2-dimensional shape preserving matching. In the matching pattern of the vertical scanning 2-dimensional shape-preserving matching, the history pixels preserve the 2-dimensional arrangement format of the original image, and in one pixel, 3 pixel components (samples) are arranged vertically, whereas in the current coding CU, the pixel samples are arranged column by column in the vertical scanning format and uniformly from top to bottom within each column. When searching for a string of matching pixel samples in the history pixels, the matched pixel samples are shifted from top to bottom in a vertical scanning format in the current coding CU, and after one column is scanned and matched, the right adjacent column is scanned and matched. The matching pixel sample string found in the history pixel must maintain a fully consistent 2-dimensional shape with the matched pixel sample string in the current coding CU. The first 2 matched strings in arbitrary shape matching using the vertical scan 2-dimensional shape-preserving matching pattern are drawn in CU m +1 of fig. 5 (a):
1) the first matched string (the string of pixel samples numbered as the circle 4 in CU m +1 of fig. 5 (a)) has 45 pixel samples (= 15 pixels). The corresponding matching strings found in the history pixels are in CU 1 and CU h +1 (the numbers are also circled 4). This matching string spans the boundary of 2 CUs, 3 pixels (9 pixel samples) in CU 1 and another 12 pixels (36 pixel samples) in CU h + 1. The matching string in the history pixel set has the exact same 2-dimensional shape as the matched string in the current coding CU, i.e. the matching string is 45 pixel samples forming 1 column, and the matched string is also 45 pixel samples forming 1 column. The first pixel sample of the matching string is the 40 < th > pixel sample of column 3 of CU 1, so the planar (2-dimensional) coordinate address of its location is
The horizontal coordinate is 18 for the number of pixel columns to the left of this position,
the vertical coordinate is the number of pixel samples above this position 39.
And the first pixel sample of the matched string is the 1 st pixel sample of column 1 of CU m + 1. Assuming that there are h columns of pixels of the current frame image to the left of the current encoded CU m +1 and v pixel samples of the current frame image above, the planar (2-dimensional) coordinate address of the location of the first pixel sample of the matched string is
The horizontal coordinate h +0 h,
the vertical coordinate v +0 v.
The matching position for this arbitrary shape match, numbered as circle 4, is p-18, v-39, i.e. the horizontal distance between any two corresponding pixel samples in the matching string and the matched string is h-18 and the vertical distance is v-39. The matching size of this arbitrary shape match, numbered inside the circle 4, is obviously s 45. The units of p and s are both pixel samples.
2) The second matched string (the string of pixel samples numbered as circled 5 in CU m +1 in fig. 5 (a)) has 60 pixel samples (= 20 pixels). The corresponding matching strings found in the history pixels span 4 CUs, CU 1, CU 2, CU h +1, CU h + 2. This matching string (numbered also circled 5) has 2 pixels (6 pixel samples) in CU 1, 2 pixels (6 pixel samples) in CU 2, 15 pixels (45 pixel samples) in CU h +1, and 1 pixel (3 pixel samples) in CU h + 2. The matching string in the history pixel set and the matched string in the current coding CU have exactly the same 2-dimensional shape. That is, the matching string consists of 3 columns, the 1 st column has 3 pixel samples, the 2 nd column has 48 pixel samples, the 3 rd column has 9 pixel samples, the 1 st column is aligned with the bottom of the 2 nd column, and the 2 nd column is aligned with the top of the 3 rd column, and the vertical height of the matching string (including the top and bottom end point pixels) is 16 pixels, which is equivalent to the height of the currently encoded CU m + 1. The matched string is also composed of 3 columns completely, wherein the 1 st column has 3 pixel samples, the 2 nd column has 48 pixel samples, the 3 rd column has 9 pixel samples, the 1 st column is aligned with the bottom of the 2 nd column, and the 2 nd column is aligned with the top of the 3 rd column, and the vertical height of the matched string (including the upper and lower end point pixels) is of course also the height of the current coding CU m +1, i.e. 16 pixels. The first pixel sample of the matching string is the 40 th pixel sample of the 15 th column of CU h +1, the 30 th column of pixels of the image of the present frame is located to the left, the 87 pixel samples of the image of the present frame is located above, the first pixel sample of the matched string is the 46 th pixel sample of the 1 st column of CU m +1, the h +0 column of pixels of the image of the present frame is located to the left, and the v +45 pixel samples of the image of the present frame is located above, so that the matching position of the arbitrary shape matching numbered as 5 in the circle is p ═ h +0-30, v +45-87 ═ h-30, v-42, that is, the horizontal distance between any two corresponding pixel samples of the matching string and the matched string is h-30 and the vertical distance is v-42. The matching size of this arbitrary shape match, numbered as circle 5, is obviously s 60.
The characteristic of the matching pattern in this example is that both the string of matching pixel samples and the string of matched pixel samples form a 2-dimensional region in the current image, being part of the current image, the two 2-dimensional regions, one in the history pixels and the other in the current CU, being of equal size and maintaining a fully identical 2-dimensional shape. Each 2-dimensional region is composed of columns formed by vertically arranging pixel values, the middle columns except the first and last columns have the same height, i.e., the height of the region, the first column is aligned with the bottom of the region, and the last column is aligned with the top of the region. The height of the area may be equal to the height of the current CU, or may be different from the height of the current CU and take another arbitrary value or a value derived from the height of the current CU, such as one-half or one-quarter of the height of the current CU as shown in examples 6 and 7 below. The first and last columns may also have the same height as the middle columns, i.e. equal to the height of the area, which is then a rectangle or square, as shown in examples 6 and 7 below; the matching region in this example is a 2-dimensional region, the matching size generally needs to be represented by two or more parameter components, in a special case where the height of the matching region can be derived from other parameters or variables in the encoding process and the decoding process (e.g. equal to the height of the current CU or half of it), the matching size can also be represented by only one parameter component.
Example 3: matching mode of horizontal scanning 2-dimensional conformal (2D-shape-predicted) matching is adopted for carrying out arbitrary shape matching
The current coding CU (CU m + 2) with the number m +2 in fig. 5(a) performs arbitrary shape matching using a matching pattern of horizontal scanning 2-dimensional shape preserving matching. In the matching mode of horizontal scanning 2-dimensional shape-preserving matching, the history pixels preserve the 2-dimensional arrangement format of the original image, and in one pixel, 3 pixel components (samples) are also arranged horizontally, while in the current coding CU, the pixel samples are arranged row by row in the horizontal scanning format and uniformly arranged from left to right in each row. When searching for a string of matching pixel samples in the history pixels, the matched pixel samples are shifted from left to right in a horizontal scanning format within the current coding CU, and after one line is scanned and matched, the next adjacent line is scanned and matched. The matching pixel sample string found in the history pixel must maintain a fully consistent 2-dimensional shape with the matched pixel sample string in the current coding CU. The first 3 matched strings in arbitrary shape matching using the horizontal scan 2-dimensional shape-preserving matching pattern are drawn in CU m +2 of fig. 5 (a):
1) the first matched string (the string of pixel samples numbered as 6 in the circle in CU m +2 of fig. 5 (a)) has 72 pixel samples (= 24 pixels). The corresponding matching strings found in the history pixels are in CU 1 and CU 2 (the numbers are also circled 6). This matching string spans the boundary of 2 CUs, 14 pixels (42 pixel samples) in CU 1 and another 10 pixels (30 pixel samples) in CU 2. The matching string in the history pixel set and the matched string in the current coding CU have exactly the same 2-dimensional shape. That is, the matching string consists of 2 rows, the 1 st row has 48 pixel samples, the 2 nd row has 24 pixel samples, and the 1 st row is aligned with the left end of the 2 nd row, and the horizontal width of the matching string (including the left and right end pixels) is 16 pixels, which is equivalent to the width of the currently encoded CU m + 2. The matched string is also composed of 2 lines, wherein the 1 st line has 48 pixel samples, the 2 nd line has 24 pixel samples, the 1 st line is aligned with the left end of the 2 nd line, and the horizontal width (including the left and right end pixels) of the matched string is also the width of the current coding CU m +2, namely 16 pixels. The first pixel sample of the matching string is the 28 th pixel sample of line 2 of CU 1, so the planar (2-dimensional) coordinate address of its location is
The horizontal coordinate is 75 pixel samples to the left of this position,
the vertical coordinate is 1 for the number of pixel rows above this position.
And the first pixel sample of the matched string is the 1 st pixel sample of line 1 of CU m + 2. Assuming that there are h pixel samples of the current frame image to the left of the current encoded CU m +2 and v rows of pixels of the current frame image above, the planar (2-dimensional) coordinate address of the location of the first pixel sample of the matched string is
The horizontal coordinate h +0 h,
the vertical coordinate v +0 v.
The matching position for this arbitrary shape match, numbered 6 within the circle, is p (h-75, v-1), i.e. the horizontal distance between any two corresponding pixel samples in the matching string and the matched string is h-75 and the vertical distance is v-1. The matching size of this arbitrary shape match, numbered inside the circle 6, is obviously s-72. The units of p and s are both pixel samples.
2) The second matched string (the string of pixel samples numbered as circle 7 in CU m +2 of fig. 5 (a)) has 45 pixel samples (= 15 pixels). The corresponding matching strings found in the history pixels are in CU h and CU h +1 (the numbers are also circled 7). This matching string spans the boundary of 2 CUs, 6 pixels (18 pixel samples) in CU h and the other 9 pixels (27 pixel samples) in CU h + 1. The matching string in the history pixel set and the matched string in the current coding CU have exactly the same 2-dimensional shape. That is, the matching string consists of 2 rows, the 1 st row has 24 pixel samples, the 2 nd row has 21 pixel samples, and the horizontal width (including the left and right end pixels) of the matching string is 16 pixels, which is equivalent to the width of the current coding CU m + 2. The matched string is also composed of 2 lines, the 1 st line has 24 pixel samples, the 2 nd line has 21 pixel samples, and the horizontal width of the matched string (including the left and right end pixels) is of course the width of the current coding CU m +2, i.e. 16 pixels. The first pixel sample of the matching string is the 7 th pixel sample of the 15 th line of CU h +1, the left side thereof has 54 pixel samples of the present frame image, the upper side thereof has 30 lines of pixels of the present frame image, the first pixel sample of the matched string is the 25 th pixel sample of the 2 nd line of CU m +2, the left side thereof has h +24 pixel samples of the present frame image, and the upper side thereof has v +1 lines of pixels of the present frame image, so that the matching position of the arbitrary shape matching numbered as 7 within the circle is p ═ h +24-54, v +1-30 ═ h-30, v-29), that is, the horizontal distance between any two corresponding pixel samples of the matching string and the matched string is h-30 and the vertical distance is v-29. The matching size of this arbitrary shape match, numbered within circle 7, is obviously s 45.
3) The third matched string (the string of pixel samples numbered 8 in circle in CU m +2 of fig. 5 (a)) has 54 pixel samples (= 18 pixels). The corresponding matching strings found in the history pixels are in CU 1 and CU 2 (the numbers are also circled 8). This matching string spans the boundary of 2 CUs, 3 pixels (9 pixel samples) in CU 1 and another 15 pixels (45 pixel samples) in CU 2. The matching string in the history pixel set and the matched string in the current coding CU have exactly the same 2-dimensional shape. That is, the matching string consists of 2 rows, the 1 st row has 27 pixel samples, the 2 nd row has 27 pixel samples, and the horizontal width (including the left and right end pixels) of the matching string is 16 pixels, which is equivalent to the width of the current coding CU m + 2. The matched string is also composed of 2 lines, the 1 st line has 27 pixel samples, the 2 nd line has 27 pixel samples, and the horizontal width of the matched string (including the left and right end pixels) is of course also the width of the current coding CU m +2, i.e. 16 pixels. The first pixel sample of the matching string is the 13 th pixel sample on the 11 th line of CU 2, there is 108 pixel samples of the current frame image to the left, there is 10 lines of pixels of the current frame image above, and the first pixel sample of the matched string is the 22 nd pixel sample on the 3 rd line of CU m +2, there is h +21 pixel samples of the current frame image to the left, and there is v +2 lines of pixels of the current frame image above, so the matching position of the arbitrary shape match numbered 8 within the circle is p ═ h +21-108, v +2-10 ═ h-87, v-8, i.e. the horizontal distance between the matching string and any two corresponding pixel samples in the matched string is h-87 and the vertical distance is v-8. The matching size for this arbitrary shape match, numbered 8 within the circle, is obviously s 54.
The characteristic of the matching pattern in this example is that both the string of matching pixel samples and the string of matched pixel samples form a 2-dimensional region in the current image, being part of the current image, the two 2-dimensional regions, one in the history pixels and the other in the current CU, being of equal size and maintaining a fully identical 2-dimensional shape. Each 2-dimensional region is composed of rows formed by horizontally arranging pixel values, the middle rows except the first row and the last row have the same width, i.e., the width of the region, the first row is aligned with the right portion of the region, and the last row is aligned with the left portion of the region. The width of the region may be equal to the width of the current CU, or may be different from the width of the current CU and take another arbitrary value or a value derived from the width of the current CU, such as one-half or one-fourth of the width of the current CU as shown in examples 6 and 7 below. The first and last rows may also have the same width as the middle row, i.e. equal to the width of the area, in which case the area is a rectangle or square, as shown in examples 6 and 7 below; the matching region in this example is a 2-dimensional region, the matching size generally needs to be represented by two or more parameter components, or in a special case where the width of the matching region can be derived from other parameters or variables in the encoding process and decoding process (e.g. equal to the width of the current CU or half of it), the matching size can also be represented by only one parameter component.
Example 4: random shape matching is carried out by adopting a matching mode of vertical scanning 2-dimensional shape-preserving matching and alternate transformation of column scanning direction
As illustrated in CU m +1 of fig. 5(b), the pattern is substantially the same as that of example 2, i.e., the pattern using vertical scanning 2-dimensional shape-preserving matching, and the only difference is that: when searching for a matching pixel sample string in the history pixels, in the current coding CU, the matched pixel samples are moved from top to bottom in the 1 st column, from bottom to top in the 2 nd column and from top to bottom in the 3 rd column in a vertical scanning format, the scanning direction is alternately changed, and after one column is scanned and matched, the right adjacent column is scanned and matched. The vertical scanning direction of the matching string in the history pixel is also alternated synchronously with the matched string, and is consistent with the scanning moving direction of the pixel sample of the matched string. This scanning format in which adjacent columns have opposite directions is referred to as an arcuate scan or back and forth scan format.
Example 5: adopting a horizontal scanning 2-dimensional shape-preserving matching mode and a line scanning direction alternate transformation matching mode to carry out any shape matching
As illustrated in CU m +2 of fig. 5(b), the pattern is substantially the same as that of example 3, i.e., the pattern using horizontal scanning 2-dimensional shape-preserving matching, with the only difference that: when searching for a matching pixel sample string in the history pixels, in the current coding CU, the matched pixel samples are shifted from left to right in the 1 st line, from right to left in the 2 nd line, and from left to right in the 3 rd line in a horizontal scanning format, the scanning directions are alternately changed, and after one line is scanned and matched, the next adjacent line is scanned and matched. The horizontal scanning direction of the matching string in the history pixel is also alternated in synchronization with the matched string, and is consistent with the scanning moving direction of the pixel sample of the matched string. This scanning format in which adjacent rows have opposite directions is called an arcuate scan or a back and forth scan format.
Example 6: adopting a horizontal scanning 2-dimensional shape-preserving matching mode and a matching block with a fixed matching size as a matching unit to carry out any shape matching
The matching pattern is basically the same as that of example 3, namely, the horizontal scanning 2-dimensional shape-preserving matching is adopted, and the only difference is that 2 points are as follows:
1) in searching for an optimal match in the historical pixel set, the unit is not a pixel sample string of arbitrary length, but a pixel block of a predetermined fixed match size. E.g., in units of squares of 4x4 pixels, or rectangles of 8x4 pixels, or rectangles of 4x8 pixels. That is, all of the 2-dimensional regions formed by the pixel value arrangements in examples 2 and 3 are rectangles or squares.
2) Since the matching sizes of all matching blocks in a current coding CU are a predetermined fixed size, any matching block in the CU can be characterized by a parameter of the matching position p, and does not need to be characterized by two parameters of the matching position p and the matching size s.
Example 7: adopting a horizontal scanning 2-dimensional shape-preserving matching mode and using several matching blocks with fixed matching sizes as matching units to carry out any shape matching
Essentially the same as example 6, the only differences 2 are:
1) in searching for an optimal match in the historical pixel set, a predetermined number of fixed-match-size pixel blocks are used as units, not in units of a predetermined fixed-match-size pixel block. For example, a unit of 3 predetermined matching sizes of squares and rectangles of 4x4 pixels, 8x4 pixels, and 4x8 pixels is used. That is, all of the 2-dimensional regions formed by the pixel value arrangements in examples 2 and 3 are several kinds of predetermined rectangles or squares.
2) For the several fixed match sizes, the predetermined several match sizes may be indicated by numbers. Therefore, any matching block in the CU can be characterized by two parameters, i.e. the matching position p and the number of the predetermined matching sizes, without using two parameters, i.e. the matching position p and the matching size s; the number of match sizes typically takes a smaller number of bits than the match sizes themselves.
In the decoding method and device of the present invention, the most basic unique technical feature is that when decoding compressed code stream data of a currently decoded CU, a matching pattern (such as the examples of matching patterns shown in examples 1 to 7 above) with any shape matching adopted by the CU is firstly analyzed from the code stream data, and then a characterization parameter of a matching string (block), i.e., a matching position and a matching size, is sequentially read from the code stream data. In some matching modes, a CU or LCU has only predetermined matching sizes or even a fixed matching size, and therefore, each matching string or matching block is read from the code stream data not as the matching size itself, but as the number of the predetermined matching sizes, even the code stream has no information about the matching size of each matching string or matching block, and only the information about the matching size common to the CU or LCU. After the match position and match size of a match string (block) are obtained, the decoding operation is to calculate the position of the first pixel sample of the match string (block) in the history pixel set from the position and match position of the first pixel sample of the currently decoded matched string (block) according to the match pattern of any shape match. Then, according to the matching pattern of arbitrary shape matching, the number of all pixel samples specified by the matching size of the entire matching string (block) can be copied from the history pixel set, and the entire matching string (block) whose size (length or area) is specified by the matching size is moved and pasted to the position of the matched string (block) in the current decoding, thereby restoring the entire matched string (block). This in turn copies, moves, pastes one matching string (block), and finally restores all the pixels of the entire currently decoded CU. It can be seen that the decoding operations of the matching manner all include at least a "copy" operation, and from the decoding point of view, matching manner, matching operation, matching string, string matching, matching block, block matching, matching location, matching length, etc. are also commonly referred to as copy, copy manner, copy operation, copy string, string copy, copy block, block copy, copy location, copy length, etc.
Fig. 6 shows a decoding example of arbitrary shape matching of 3 kinds of matching patterns including a pixel sample arrangement scan pattern and a matching pattern. Fig. 6(a) shows that 3 CUs m, CU m +1, and CU m +2 in an image are arbitrarily shape-matched using the 3 matching patterns.
CU m in fig. 6(a) performs arbitrary shape matching using a matching pattern of vertical scan 1-dimensional string matching. Thus, the history pixels are arranged in the order of the LCU serial number, and within an LCU, the pixel samples are arranged column by column in a vertical scan format, so that the history pixels are finally arranged into a one-dimensional pixel sample string. At the time of decoding, from this history pixel set, the matching string numbered in circle 1, the matching string numbered in circle 2, the matching string numbered in circle 3, … …, and the like are copied one by one based on the matching position and the matching size obtained from the code stream data, and moved and pasted to the positions of the matched string numbered in circle 1, the matched string numbered in circle 2, the matched string numbered in circle 3, … …, and the like in the currently decoded CU, and the matched string numbered in circle 1, the matched string numbered in circle 2, the matched string numbered in circle 3, … …, and the like are restored. P-768 m-753 and s-42 of the matching string numbered in circle 1 are set, so that 42 pixel samples are copied from the position 768 m-753 pixel samples away from the position of the current matched string in the history pixels arranged in the 1-dimensional string format, and the 42 pixel samples are moved and pasted to the position of the matched string numbered in circle 1, thereby restoring the whole matched string numbered in circle 1. Similarly, since p is 768 m-81 and s is 33 for the matching string numbered in circle 2, 33 pixel samples are copied from the position 768 m-81 pixel samples away from the position of the current matched string among the history pixels arranged in the 1-dimensional string format, and the 33 pixel samples are moved and pasted to the position of the matched string numbered in circle 2, thereby restoring the entire matched string numbered in circle 2. In the same way, all matched strings in CU m, e.g., … …, numbered as circled 3, can be decoded and recovered.
CU m +1 in fig. 6 performs arbitrary shape matching using a matching pattern of vertical scan 2-dimensional shape-preserving matching, where (a) raster scanning is used and (b) arcuate scanning (also called back-and-forth scanning) is used. Thus, the history pixels retain the 2-dimensional arrangement format of the original image, and 3 pixel components (samples) are vertically arranged in one pixel. At the time of decoding, from this history pixel set, the matching string numbered in circle 4, the matching string numbered in circle 5, … …, and the like are copied one by one in accordance with the matching position and the matching size obtained from the code stream data, and they are moved and pasted to the positions of the matched string numbered in circle 4, the matched string numbered in circle 5, … …, and the like in the current decoded CU, and the matched string numbered in circle 4, the matched string numbered in circle 5, … …, and the like are restored. Since the matching string numbered in circle 4 has p ═ h-18, v-39, and s ═ 45, in the history pixels arranged in the 2-dimensional format of the image, 45 pixel samples are copied from the positions at horizontal distances h-18 pixel samples and vertical distances v-39 pixel samples from the position of the current matched string, and the 45 pixel samples are moved and pasted to the position of the matched string numbered in circle 4, thereby restoring the entire matched string numbered in circle 4. Similarly, since p is (h-30, v-42) and s is 60 for the matching string numbered in circle 5, in the history pixels arranged in the 2-dimensional format of the image, from the positions at the horizontal distance of h-30 pixel samples and the vertical distance of v-42 pixel samples from the position of the current matched string, 60 pixel samples are copied, and the 60 pixel samples are moved and pasted to the position of the matched string numbered in circle 5, thereby restoring the entire matched string numbered in circle 5. In the same way, all matched strings in CU m +1 can be decoded and recovered.
CU m +2 in fig. 6 performs arbitrary shape matching using a horizontal scan 2-dimensional shape-preserving matching mode, in which (a) raster scanning is used and (b) arcuate scanning (also called back-and-forth scanning) is used. Therefore, the history pixels retain the 2-dimensional arrangement format of the original image, and 3 pixel components (samples) are also horizontally arranged in one pixel. At the time of decoding, the matching string numbered in the circle 6, the matching string numbered in the circle 7, the matching string numbered in the circle 8, … …, and the like are copied one by one from the history pixel set on the basis of the matching position and the matching size obtained from the code stream data, and moved and pasted to the positions of the matched string numbered in the circle 6, the matched string numbered in the circle 7, the matching string numbered in the circle 8, … …, and the like in the currently decoded CU, and the matched string numbered in the circle 6, the matched string numbered in the circle 7, the matching string numbered in the circle 8, … …, and the like are restored. Since the matching string numbered in the circle 6 has p ═ 75, v-1, and s ═ 72, in the history pixels arranged in the 2-dimensional format of the image, 72 pixel samples are copied from the positions at the horizontal distance of h-75 pixel samples and the vertical distance of v-1 pixel samples from the position of the current matched string, and the 72 pixel samples are moved and pasted to the position of the matched string numbered in the circle 6, thereby restoring the entire matched string numbered in the circle 6. Similarly, since p is (h-30, v-29) and s is 45 for the matching string numbered in circle 7, in the history pixels arranged in the 2-dimensional format of the image, 45 pixel samples are copied from the positions at the horizontal distance of h-30 pixel samples and the vertical distance of v-29 pixel samples from the position of the current matched string, and the 45 pixel samples are moved and pasted to the position of the matched string numbered in circle 7, thereby restoring the entire matched string numbered in circle 7. In the same way, all matched strings in CU m +2, numbered as circle 8, … …, etc., can be decoded and recovered.
The technical features of the present invention are explained above by specific embodiments. Other advantages and effects of the present invention will be readily apparent to those skilled in the art from the disclosure herein. The invention is capable of other and different embodiments and of being practiced or of being carried out in various ways, and its several details are capable of modification in various respects, all without departing from the spirit and scope of the present invention.
A general flow diagram of the encoding method of the present invention is shown in fig. 7. The encoding method of the present invention comprises the steps of:
1) analyzing and evaluating pixel characteristics, preprocessing and selecting a coding mode; analyzing and evaluating the characteristics of pixel sample values of the current CU and the adjacent CU, performing necessary preprocessing on input pixel sample values, and judging whether any shape matching coding mode is suitable for coding the current CU in advance, wherein the step is optional, namely the step can be skipped and the next step can be directly carried out; examples of the approach for the analytical evaluation: calculating the number of pixels with different colors in the current CU according to or by referring to the coding result of the adjacent CU; examples of the pretreatment: sample quantization, color quantization and color-based pixel clustering, accurately or approximately representing the color of the input original pixel with a palette and indices;
2) an arbitrary shape matching coding step; performing any shape matching coding operation on the current CU by using any shape matching coding mode and a coded historical pixel (reconstructed pixel) temporary storage area (also called a reference pixel sample value set); the input of the arbitrary shape matching code is input original pixels or pixels which are processed by the original pixels; the output of the arbitrary shape matching coding is the matching position and the matching size of the matching string (block) or the variant thereof, the unmatched pixel value or the variant thereof, the matching residual error and other arbitrary shape matching coding result parameters and variables; the matching location is a variable parameter to represent where within the set of reference pixel values a matching reference pixel value that matches a matching current pixel value in the current CU is; the arbitrary shape matching coding mode is matched and coded by taking a pixel sample string or block (called matching current string or matching current block, and the position of the pixel sample string or block can be represented by a 2-dimensional coordinate or a linear address) with variable size as a unit, the matching reference pixel value forms a matching string or a matching block in the reference pixel sample value set, called matching reference string or matching reference block, and the position of the matching reference pixel value set can be represented by a 2-dimensional coordinate or a linear address, so that in the arbitrary shape matching coding mode, the matching position can be represented by the difference between the 2-dimensional coordinate of the matching reference string (block) and the 2-dimensional coordinate of the matching current string (block) or the difference between the linear address of the matching reference string (block) and the linear address of the matching current string (block), which is generally called displacement vector; since the size of the matching reference string (block), which is equal to the size of the matching current string (block), is variable, another variable parameter called the matching size is also needed to represent its size; on the occasion of matching the string, the matching size is generally the length of the matching string; in the case of matching blocks, the size of a block generally needs to be represented by a plurality of parameter components; for example, where the block is a rectangle, the match size typically contains two components, namely the width and height (sometimes also referred to as length and width) of the rectangle; as another example, where the block is a parallelogram, the match size also typically contains two components, the base and height of the parallelogram; for another example, where the block is a trapezoid, the match size generally has three components, namely the upper base, the lower base, and the height of the trapezoid; the unmatched pixel values are input original pixel samples or pixel samples which are processed before the input original pixel samples are matched in the reference pixel sample value set according to a predetermined matching criterion; the unmatched pixel value is an input original pixel sample or a pixel sample processed by the input original pixel sample, and therefore can also be represented by the position of the unmatched pixel value in the current CU; the unmatched pixel values may also be approximated by a lossy or lossless dummy match sample value obtained by calculation; if the match size is 1, this matching string (block) can also be treated as an unmatched pixel value; the matching residual is the difference between the input original pixel sample and the matching reference pixel value, if the predetermined matching criterion of the arbitrary shape matching coding method is absolutely exact lossless matching, the matching residual is zero, i.e. the arbitrary shape matching coding method has no matching residual as output, if the predetermined matching criterion of the arbitrary shape matching coding method is approximate lossy matching, the matching residual may not be zero, and another lossy matching situation is that firstly the input original pixel sample is processed with sample quantization, color quantization or color-based pixel clustering, and pre-processing of the color of the input original pixel is approximately represented by palette and index, and then arbitrary shape matching coding is processed, in which case, the pixels represented by sample quantization, color quantization or color-based pixel clustering, palette and index are lossy, even if the arbitrary shape matching coding itself is lossless, the matching residual (i.e. the difference between the input original pixel sample and the matching reference pixel value) may not be zero; examples of such other arbitrary shape matching coding results: a matching pattern, a rule for forming an arbitrary shape block using a matching string, a type of a variation of a matching parameter, a calculation rule of a matching position, a calculation rule of a matching size, and the like; the most basic and essential result of carrying out arbitrary shape matching coding on the current CU is I (I is more than or equal to 0) matching strings (blocks) and J (J is more than or equal to 0) unmatched pixel values, and I pairs (matching position, matching size) and J unmatched pixel values are output; the I matching strings (blocks) and J unmatched pixel values are seamlessly spliced to form a complete current CU;
3) the other matching modes and various common technology coding and reconstruction operation steps are used for completing all other coding and reconstruction operations of the current CU, and coding and reconstruction operations and entropy coding operations of other matching modes and various common technologies, such as intra-frame prediction, inter-frame prediction, block matching, palette matching, strip matching, micro-block string matching, imitation matching Sample value prediction interpolation, transformation, quantization, inverse transformation, inverse quantization, compensation corresponding to prediction residual and matching residual (namely inverse operation of residual operation), prediction and residual solution, DPCM, first-order and high-order difference, mapping, run length, index, deblocking filtering, Sample Adaptive compensation (Sample Adaptive Offset), are carried out on input original pixels, various parameters and variables of an input video image; the other matching modes are different from the matching modes of any shape matching codes in the step 2) in the coding method; the input of the step is the output and input original pixels of the step 1) and the step 2) and the reference pixels from the reference pixel sample value set; the output of the step is a reconstructed pixel (comprising a complete reconstructed pixel and partial reconstructed pixels with different degrees) and a compressed code stream containing any shape matching coding result and other coding results; the reconstructed pixel is put into the reference pixel sample value set and is used as a reference pixel required by the subsequent steps of any shape matching coding operation, other matching modes and various common technical coding and reconstruction operation; the compressed code stream is the final output of the coding method and comprises all syntax elements required by the decoding and reconstruction of the corresponding decoding method, in particular syntax elements such as matching position, matching size or variants thereof, unmatched pixel values or variants thereof and the like.
A general flow diagram of the decoding method of the present invention is shown in fig. 8. The decoding method of the present invention comprises the steps of:
1) compressed code stream data analysis and partial decoding; entropy decoding is carried out on input compressed code streams containing matching positions and matching sizes of any shape matching codes or variants thereof, compression data of unmatched pixel values or variants thereof and compression data of all other syntax elements, the significance of various data obtained by entropy decoding is analyzed, and partial decoding (such as transform decoding, prediction and compensation, namely inverse operation of residual operation, DPCM decoding, first-order and high-order differential decoding, mapping decoding, run decoding and index decoding) is carried out on a part of syntax elements, particularly syntax elements related to any shape matching codes after entropy decoding is carried out; outputting any shape matching parameters such as the matching position, the matching size or the variant thereof, the unmatched pixel value or the variant thereof and the like obtained after analysis and partial decoding to a subsequent any shape matching decoding step; outputting entropy decoding result output data (namely entropy decoding results) of all other syntax elements obtained by analysis, such as syntax elements related to matching residual errors with any shape, matching modes and matching parameters of other matching modes, coding results of various common technologies and the like, to the subsequent decoding and reconstruction operation steps of other matching modes and various common technologies; particularly, whether the current CU is subjected to any shape matching decoding is determined according to information analyzed from the compressed coded stream data or according to information analyzed from the compressed coded stream data and results of analyzing and evaluating characteristics of the current CU and neighboring CUs; examples of the approach for the analytical evaluation: according to or referring to a plurality of decoding results of adjacent CUs, firstly performing partial predecoding on a current CU in a first wheel part by using an arbitrary shape matching decoding mode and other decoding modes and evaluating partial predecoding results; if the current CU is determined to be subjected to any shape matching decoding, sequentially executing the next step, otherwise, jumping to the step 3);
2) decoding step of matching arbitrary shape; performing any shape matching decoding operation on the current CU by using any shape matching decoding mode and a temporary storage area (also called a reference pixel sample value set) of the history pixels (reconstructed pixels) which are decoded completely; the input of the arbitrary shape matching decoding operation is arbitrary shape matching parameters such as I (I is more than or equal to 0) pairs (matching position, matching size) or variants thereof and J (J is more than or equal to 0) unmatched pixel values or variants thereof obtained by analyzing and decoding from compressed code stream data in the step 1); the matching position is a position used to represent a matching current sample that is copied from what position in the set of reference sample values and pasted to the current CU; it is apparent that matching the current sample is a duplicate of matching the reference sample, both being numerically equal; in the arbitrary shape matching decoding mode, since the size of the matching reference string (block) (which is equal to the size of the matching current string (block)) is variable, the matching reference string (block) can be represented by either a 2-dimensional coordinate or a linear address, another variable parameter called match size is needed to indicate its size; on the occasion of matching the string, the matching size is generally the length of the matching string; in the case of matching blocks, the size of a block generally needs to be represented by a plurality of parameter components; for example, where the block is a rectangle, the match size typically contains two components, namely the width and height (sometimes also referred to as length and width) of the rectangle; as another example, where the block is a parallelogram, the match size also typically contains two components, the base and height of the parallelogram; for another example, where the block is a trapezoid, the match size generally has three components, namely the upper base, the lower base, and the height of the trapezoid; the unmatched pixel values are pixel values parsed and decoded directly from the compressed bitstream data and pasted into the current decoded pixel values of the current CU, the unmatched pixel values not normally present in the set of reference pixel values; if the position of the unmatched pixel value is not the unmatched pixel value itself but the position of the unmatched pixel value as parsed and decoded from the compressed bitstream data, outputting the position of the unmatched pixel value to the subsequent step 3) to calculate a dummy matched pixel value; the output of the arbitrary shape matching decoding operation is the matching current sample (equal in value to the matching reference sample) plus the unmatched pixel value (or its position); the matching current sample and the possible unmatched pixel values (or their positions) all together constitute the complete arbitrary shape matching decoded output of the current CU; the finally obtained I (I is more than or equal to 0) matching strings (blocks) and J (J is more than or equal to 0) unmatched pixel values are seamlessly spliced to form a complete current CU; when any shape matching decoding operation is carried out, firstly, the position of a matching reference sample in a temporary storage module (also called a reference pixel sample value set) of a history pixel (reconstruction pixel) and the shape size of a matching area (the matching area can be a matching string or a matching block) formed by the matching reference sample are determined, then the matching reference sample in the matching area with the shape size is copied from the position, and the matching reference sample is moved and pasted to the position matched with the current sample in the current decoding to restore the matching current sample; the output of this module is all the restored matched current sample values and possible unmatched pixel values;
3) decoding and reconstructing operation steps of other matching modes and various common techniques, completing all other decoding and reconstructing operations of the current CU, performing other matching modes and various common techniques on matching strings (or matching blocks) in the current decoding or various parameters and variables of the current CU in the current decoding, such as intra-frame prediction, inter-frame prediction, block matching, palette matching, strip matching, micro-block string matching, dummy matching Sample value prediction interpolation, inverse transformation, inverse quantization, compensation corresponding to prediction residual and matching residual (i.e. inverse operation of residual operation), prediction and compensation (i.e. inverse operation of residual operation), DPCM, first and high order differences, mapping, run, index, deblocking filter, Sample Adaptive compensation (Sample Adaptive fset); the other matching mode is a matching mode of any shape matching decoding which is different from the step 2) in the decoding method; the inputs of this step are all other syntax elements output in step 1) above, such as entropy decoded output data of matching residuals and the output of step 2), i.e. the matching current sample plus the unmatched pixel values (or their positions) that may be present, and reference pixels from within the set of reference pixel values; the output of this step is the reconstructed pixels (including fully reconstructed pixels and partially reconstructed pixels of varying degrees); the reconstructed pixel is put into the reference pixel sample value set and is used as a reference pixel required by the subsequent steps of random shape matching decoding operation, other matching modes and various common technologies of decoding and reconstructing operation; the fully reconstructed pixels are also the final output of the present decoding method.
A general schematic of the encoding apparatus of the present invention is shown in fig. 9. The whole coding device consists of the following modules:
1) the pixel preprocessing and arbitrary shape matching coding module comprises: performing pixel preprocessing and arbitrary shape matching coding on the pixel values of the input video image, generating and outputting the matching position and the matching size of the matching string (block) or the variant thereof, the unmatched pixel values or the variant thereof, the matching residual error and other arbitrary shape matching coding result parameters and variables; example of the pixel preprocessing: sample quantization, color quantization and color-based pixel clustering, accurately or approximately representing the color of the input original pixel with a palette and indices; the matching location is a variable parameter to represent where within a history pixel (reconstructed pixel) staging module (also referred to as a reference pixel sample value set) a matching reference pixel value that matches a matching current pixel value in the current CU is located; the arbitrary shape matching coding mode is matched and coded by taking a pixel sample string or block (called matching current string or matching current block, and the position of the pixel sample string or block can be represented by a 2-dimensional coordinate or a linear address) with variable size as a unit, the matching reference pixel value forms a matching string or a matching block in the reference pixel sample value set, called matching reference string or matching reference block, and the position of the matching reference pixel value set can be represented by a 2-dimensional coordinate or a linear address, so that in the arbitrary shape matching coding mode, the matching position can be represented by the difference between the 2-dimensional coordinate of the matching reference string (block) and the 2-dimensional coordinate of the matching current string (block) or the difference between the linear address of the matching reference string (block) and the linear address of the matching current string (block), which is generally called displacement vector; since the size of the matching reference string (block), which is equal to the size of the matching current string (block), is variable, another variable parameter called the matching size is also needed to represent its size; on the occasion of matching the string, the matching size is generally the length of the matching string; in the case of matching blocks, the size of a block generally needs to be represented by a plurality of parameter components; for example, where the block is a rectangle, the match size typically contains two components, namely the width and height (sometimes also referred to as length and width) of the rectangle; as another example, where the block is a parallelogram, the match size also typically contains two components, the base and height of the parallelogram; for another example, where the block is a trapezoid, the match size generally has three components, namely the upper base, the lower base, and the height of the trapezoid; the unmatched pixel values are input original pixel samples or pixel samples which are processed before the input original pixel samples are matched in the reference pixel sample value set according to a predetermined matching criterion; the unmatched pixel value is an input original pixel sample or a pixel sample processed by the input original pixel sample, and therefore can also be represented by the position of the unmatched pixel value in the current CU; the unmatched pixel values may also be approximated by a lossy or lossless dummy match sample value obtained by calculation; if the match size is 1, this matching string (block) can also be treated as an unmatched pixel value; the matching residual is the difference between the input original pixel sample and the matching reference pixel value, if the predetermined matching criterion of the arbitrary shape matching coding method is absolutely exact lossless matching, the matching residual is zero, i.e. the arbitrary shape matching coding method has no matching residual as output, if the predetermined matching criterion of the arbitrary shape matching coding method is approximate lossy matching, the matching residual may not be zero, and another lossy matching situation is that firstly the input original pixel sample is processed with sample quantization, color quantization or color-based pixel clustering, and pre-processing of the color of the input original pixel is approximately represented by palette and index, and then arbitrary shape matching coding is processed, in which case, the pixels represented by sample quantization, color quantization or color-based pixel clustering, palette and index are lossy, even if the arbitrary shape matching coding itself is lossless, the matching residual (i.e. the difference between the input original pixel sample and the matching reference pixel value) may not be zero; examples of such other arbitrary shape matching coding results: a matching pattern, a rule for forming an arbitrary shape block using a matching string, a type of a variation of a matching parameter, a calculation rule of a matching position, a calculation rule of a matching size, and the like; the most basic and essential result of carrying out arbitrary shape matching coding on the current CU is I (I is more than or equal to 0) matching strings (blocks) and J (J is more than or equal to 0) unmatched pixel values, and I pairs (matching position, matching size) and J unmatched pixel values are output; the I matching strings (blocks) and J unmatched pixel values are seamlessly spliced to form a complete current CU;
2) the other matching modes and various common technical coding and reconstruction modules: coding and reconstruction operations and entropy coding operations that perform other matching means and various common techniques on input video pixels, various parameters and variables, such as intra prediction, inter prediction, block matching, palette matching, strip matching, macroblock string matching, dummy matching Sample prediction interpolation, transformation, quantization, inverse transformation, inverse quantization, compensation corresponding to prediction residuals and matching residuals (i.e., taking the inverse of the residual operation), prediction and residual solution, DPCM, first and higher order differences, mapping, run, index, deblocking filtering, Sample Adaptive compensation (Sample Adaptive Offset); the other matching mode is a matching mode of the coding device different from any shape matching coding performed by the module 1); the inputs to this module are the output of the module 1), the original input video pixels and the reference pixels from the set of reference pixel sample values; the output of the module is a reconstructed pixel value (including a complete reconstructed pixel and partial reconstructed pixels with different degrees) and a compressed code stream containing any shape matching coding result and other coding results; the reconstructed pixel value is put into a temporary storage module of a historical pixel (reconstructed pixel) and is used as a reference pixel value required by the subsequent random shape matching coding operation, the rest matching modes and various common technical coding and reconstruction operations; the compressed code stream is the final output of the coding device and comprises all syntax elements required by decoding and reconstructing by a corresponding decoding method, in particular syntax elements such as matching position, matching size or variant thereof, unmatched pixel value or variant thereof and the like;
3) history pixel (reconstructed pixel) temporary storage module: also called reference pixel sample value set, temporarily storing reconstructed pixel values, namely reconstructed pixel values from the start position of the CU in the current coding or the matching region (which may be a matching string or a matching block) in the current coding during the coding process, serving as reference pixel values for the current and subsequent arbitrary shape matching coding, and also serving as reference pixel values required for performing other matching modes and various common-technology encoding and reconstruction operations on the current and subsequent CUs; the reconstructed pixel values are usually subjected to a plurality of processes to achieve complete reconstruction; therefore, the reconstructed pixel values stored in the reference pixel sample value set generally include different kinds of completely reconstructed pixels and different degrees of partially reconstructed pixels, that is, reconstructed pixels subjected to only partial procedures; different matching modes can adopt the same kind of reconstructed pixels as reference pixels and can also adopt different kinds of reconstructed pixels as reference pixels; in the same matching mode, different kinds of reconstructed pixels can be used as reference pixels at different matching positions.
A general schematic of the decoding apparatus of the present invention is shown in fig. 10. The whole decoding device consists of the following modules:
1) code stream data analysis and partial decoding module: performing entropy decoding on input compressed code streams containing matching positions and matching sizes of any shape matching codes or variants thereof, unmatched pixel values or variants thereof and compressed data of all other syntax element compressed data, analyzing the significance of various data obtained by the entropy decoding, and performing partial decoding (such as transform decoding, prediction and compensation, namely inverse operation of residual operation, DPCM decoding, first-order and high-order differential decoding, mapping decoding, run decoding and index decoding) on a part of syntax elements, especially syntax elements related to any shape matching codes after entropy decoding; sending any shape matching parameters such as the matching position, the matching size or the variant thereof, the unmatched pixel value or the variant thereof and the like obtained after analysis and partial decoding to an arbitrary shape matching decoding module; entropy decoding result output data (namely entropy decoding results) of syntax elements such as matching residual errors and other arbitrary shape matching coding results obtained by analysis, matching modes and matching parameters of other matching modes, coding results of various common technologies and the like are sent to other matching modes and various common technology decoding and reconstructing modules; other examples of the partial decoding: determining whether to perform any shape matching decoding on the current CU according to information analyzed from the compressed code stream data or information analyzed from the compressed code stream data and results of analyzing and evaluating the characteristics of the current CU and adjacent CUs; examples of the approach for the analytical evaluation: according to or referring to a plurality of decoding results of adjacent CUs, firstly performing partial predecoding on a current CU in a first wheel part by using an arbitrary shape matching decoding mode and other decoding modes and evaluating partial predecoding results;
2) an arbitrary shape matching decoding module: performing any shape matching decoding operation according to any shape matching parameters such as the matching position, the matching size or the variant thereof, the unmatched pixel value or the variant thereof and the like; the input of the module is any shape matching parameters such as I (I is more than or equal to 0) pairs (matching position, matching size) or variants thereof and J (J is more than or equal to 0) unmatched pixel values or variants thereof, which are obtained by analyzing and decoding compressed code stream data and output by the module 1); the matching position is a position used to represent a matching current sample that is copied from what position in the set of reference sample values and pasted to the current CU; it is apparent that matching the current sample is a duplicate of matching the reference sample, both being numerically equal; in the arbitrary shape matching decoding mode, since the size of the matching reference string (block) (which is equal to the size of the matching current string (block)) is variable, the matching reference string (block) can be represented by either a 2-dimensional coordinate or a linear address, another variable parameter called match size is needed to indicate its size; on the occasion of matching the string, the matching size is generally the length of the matching string; in the case of matching blocks, the size of a block generally needs to be represented by a plurality of parameter components; for example, where the block is a rectangle, the match size typically contains two components, namely the width and height (sometimes also referred to as length and width) of the rectangle; as another example, where the block is a parallelogram, the match size also typically contains two components, the base and height of the parallelogram; for another example, where the block is a trapezoid, the match size generally has three components, namely the upper base, the lower base, and the height of the trapezoid; the unmatched pixel values are pixel values parsed and decoded directly from the compressed bitstream data and pasted into the current decoded pixel values of the current CU, the unmatched pixel values not normally present in the set of reference pixel values; if the position of the unmatched pixel value is not the unmatched pixel value itself but the position of the unmatched pixel value as parsed and decoded from the compressed bitstream data, outputting the position of the unmatched pixel value to the subsequent step 3) to calculate a dummy matched pixel value; the output of the arbitrary shape matching decoding operation is the matching current sample (equal in value to the matching reference sample) plus the unmatched pixel value (or its position); the matching current sample and the possible unmatched pixel values (or their positions) all together constitute the complete arbitrary shape matching decoded output of the current CU; the finally obtained I (I is more than or equal to 0) matching strings (blocks) and J (J is more than or equal to 0) unmatched pixel values are seamlessly spliced to form a complete current CU; when any shape matching decoding operation is carried out, firstly, the position of a matching reference sample in a temporary storage module (also called a reference pixel sample value set) of a history pixel (reconstruction pixel) and the shape size of a matching area (the matching area can be a matching string or a matching block) formed by the matching reference sample are determined, then the matching reference sample in the matching area with the shape size is copied from the position, and the matching reference sample is moved and pasted to the position matching the current sample in the current decoding to restore the matching current sample; the output of this module is all the restored matched current sample values and possible unmatched pixel values;
3) the other matching modes and various common technologies decode and reconstruct modules: performing decoding and reconstruction operations of other matching manners and various common techniques, such as intra prediction, inter prediction, inverse transformation, inverse quantization, compensation corresponding to prediction residual and matching residual (i.e., inverse operation of taking residual operation), DPCM, first and high order difference, mapping, run, index, deblocking filtering, sample adaptive compensation (SampleAdaptive Offset), on various parameters and variables of a matching string (or matching block) in current decoding or a CU in current decoding; the other matching mode is a matching mode of the decoding device different from any shape matching decoding performed by the module 2); the output of this module is the reconstructed pixel values (including the fully reconstructed pixel values and the partially reconstructed pixel values to varying degrees); the reconstructed pixel value is put into a temporary storage module of a historical pixel (reconstructed pixel) and used as a reference pixel value required by subsequent matching decoding operation, other matching modes and various common technologies for decoding and reconstructing operation; the fully reconstructed pixel value is also the final output of the decoding device;
4) history pixel (reconstructed pixel) temporary storage module: also called reference pixel sample value set, temporarily storing reconstructed pixel values, that is, reconstructed pixel values from the decoding process to the starting position of the currently decoded CU or the currently decoded matching region (which may be a matching string or a matching block), serving as reference pixel values for current and subsequent arbitrary shape matching decoding, and also serving as reference pixel values required for performing decoding and reconstruction operations of other matching modes and various common technologies on the current and subsequent CUs; the reconstructed pixel values are usually subjected to a plurality of processes to achieve complete reconstruction; therefore, the reconstructed pixel values stored in the reference pixel sample value set generally include different kinds of completely reconstructed pixels and different degrees of partially reconstructed pixels, that is, reconstructed pixels subjected to only partial procedures; different matching modes can adopt the same kind of reconstructed pixels as reference pixels and can also adopt different kinds of reconstructed pixels as reference pixels; in the same matching mode, different kinds of reconstructed pixels can be used as reference pixels at different matching positions.
Preferably, the sample is an index value when the pixel value is represented by a palette and an index, and the reference sample, the current sample, the reference sample set, the reference sample temporary storage module, the matching reference sample string (block), and the matching current sample string (block) are a reference index, a current index, a reference index set, a reference index temporary storage module, a matching reference index string (block), and a matching current index string (block), respectively.
Preferably, in the compressed video stream, there is at least information representing the palette.
The drawings provided above are only schematic illustrations of the basic idea of the present invention, and the components related to the present invention are only shown in the drawings rather than drawn according to the number, shape and size of the components in actual implementation, and the type, number and proportion of the components in actual implementation may be changed arbitrarily, and the layout of the components may be more complicated.
Further implementation details and variations of the invention are as follows.
One embodiment of an encoding method
A flow diagram of one embodiment of an encoding method is shown in fig. 11. The embodiment comprises the following steps:
1) reading in a maximum coding unit (LCU) with the size of NxN pixels;
2) setting an initial value of a variable M to N, that is, preparing to encode a partition of a current coding unit CU having a size of MxM ═ NxN pixels first;
3) color-based pixel clustering is performed on the LCU in the current coding, namely, some close colors are combined into one color; aiming at the requirements of the subsequent prediction step and the matching step, pixel clustering can be carried out or not carried out respectively;
4) performing intra-frame prediction coding based on adjacent pixel samples and block (block) -based inter-frame (i.e. between a current coded frame and a previously coded frame) prediction coding, collectively called prediction coding, on pixel samples of a CU of 1 MxM pixels, which pass or do not pass through pixel clustering, and generating (1) a prediction residual and (2) a prediction mode and a motion vector; a plurality of intra-frame prediction modes and a plurality of inter-frame prediction modes (collectively called prediction modes) need to be tried in the prediction coding; each prediction mode generates a corresponding prediction residual and undergoes the subsequent operations of steps 9), 10), 11), 12);
5) performing arbitrary shape matching coding on pixel samples of the CU of the MxM pixel, which are subjected to or not subjected to pixel clustering, and generating (1) matching residual errors and (2) matching positions p and matching sizes s of matching strings (blocks); searching in the historical pixel set which has completed coding according to one or more predefined matching modes, and finding out a plurality of optimal matching strings or matching blocks which are matched with the pixel sample values in the current coding CU one by one; the plurality of arbitrary shape matching strings (blocks) are seamlessly spliced to form a complete square shape of the current coding CU; if the match is an exact lossless match, then there is no match residual (the match residual is zero); if the matching is approximate lossy matching, the matching residual is not zero, and the subsequent optional transform coding step and quantization coding step are generally required to be performed on the matching residual, but if the matching residual is very small, the matching residual can also be regarded as zero without performing the subsequent optional transform coding step and quantization coding step; if a plurality of preset matching modes are adopted in the step, each matching mode generates a corresponding matching residual error and is subjected to the subsequent operations of steps 9), 10), 11) and 12);
6) if the match size S of a matching string (block) is greater than some threshold S (S generally satisfies: 2 ≦ S ≦ 6, and if S ≦ 0, then only two-level short match coding is performed on the unmatched pixel samples, if S ≦ 1, then only two-level short match coding is performed on the unmatched pixel samples and the matching string (block) with matching size 1, then step 8 is skipped, otherwise this matching string (block) is a short matching string (block) which is subjected to two-level short match coding as follows: searching a representative pixel buffer (wherein each representative pixel and pixel sample has a sequence number) for whether a matching string (called a second-level matching string) can be found; if the second-level matching string can be found, outputting the matching serial number (namely the serial number of the first pixel sample value of the second-level matching string found in the pixel cache) and the matching length of the second-level matching string, otherwise, outputting the matching position and the matching size of the matching string found in the history pixel generated in the original step 5);
7) updating the representative pixel buffer; if the match size s =0 for this short matching string, i.e. neither step 5) nor step 6) has found any match, resulting in the pixel sample in the current coding in the CU being an unmatched pixel sample, then it is decided according to some predetermined rule whether to place the current unmatched pixel sample into the representative pixel buffer and whether to delete some pixel sample from the representative pixel buffer; one of the simplest rules is a first-in-first-out (FIFO) rule, that is, all unmatched pixel samples are sequentially put into a representative pixel buffer, and after the pixel buffer is full, the unmatched pixel sample which is put into the last pixel sample is sequentially deleted; a more complex rule is: when the matching size S of the matching string is less than or equal to S, temporarily storing the short matching in a representative pixel standby area, but not immediately placing the short matching in a representative pixel cache; when the same short matching occurs more than 2 times, the short matching is put into a representative pixel buffer;
8) selecting the output of the matching code: if the matching size s of the matching string (block) is 0, outputting a sample value of an unmatched pixel, otherwise, if the step 6) finds a second-level matching string in the representative pixel cache, outputting a matching serial number and a matching length of the second-level matching string, otherwise, outputting the matching position and the matching size of the matching string (block) found in the history pixel and generated in the step 5);
9) performing transform coding on the prediction residual error and the matching residual error generated in the steps 4) and 5) to generate a transform coefficient; the transformation coding is respectively selectable, namely if the better data compression effect cannot be achieved by the transformation coding of the prediction residual, the transformation coding is not carried out on the prediction residual, and if the better data compression effect cannot be achieved by the transformation coding of the matching residual, the transformation coding is not carried out on the matching residual;
10) quantizing the transform coefficient of the prediction residual (in the case of transform coding in the previous step) or the prediction residual itself (in the case of not transform coding in the previous step), to generate a quantized prediction transform coefficient or a quantized prediction residual; quantization coding is performed on the transform coefficient of the matching residual (in the case of transform coding performed in the previous step) or the matching residual itself (in the case of no transform coding performed in the previous step), and a quantization matching transform coefficient or a quantization matching residual is generated; in the case of lossless coding, the quantization coding operation is an equivalent operation, and does not produce any actual quantization effect;
11) performing inverse operation of the prediction mode on the result of the prediction-transformation-quantization coding mode (namely, the prediction-based coding mode, which is abbreviated as the prediction mode) of the steps 4), 9) and 10), performing inverse operation of the matching mode on the result of the matching-transformation-quantization coding mode (namely, the matching-based coding mode, which is abbreviated as the matching mode) of the steps 5), 9) and 10), obtaining a plurality of preliminary reconstruction pixels of the CU corresponding to the plurality of prediction modes and the plurality of matching modes, using the preliminary reconstruction pixels for rate-distortion cost calculation of the subsequent step 13), and performing post-processing of deblocking filtering and pixel compensation (such as sample value adaptive compensation) operation on all the preliminary reconstruction pixels of the optimum partition after determining the optimum partition of the current coding LCU and the optimum coding mode of the current coding LCU in the subsequent step 16), then, the pixels of each reconstructed CU after the post-processing are placed into a historical pixel (reconstructed pixel) temporary storage area to be used as reference pixels for subsequent matching coding, predictive coding and reconstruction; since the encoding may be lossy, the reconstructed pixels are not necessarily equal to the input original pixels;
12) entropy encoding two prediction modes and motion vectors of the encoding result of the step 4), matching encoding output of the step 8), namely matching information, and quantization encoding results of the step 10), namely quantization prediction transformation coefficients, quantization prediction residuals, quantization matching transformation coefficients and quantization matching residuals, to generate a bit rate of a compressed code stream; the entropy coding also comprises the steps of carrying out differential coding or index coding based on 1-dimensional or 2-dimensional adjacent samples on samples of an entropy coding object such as a prediction mode, a motion vector, a matching mode, a matching position, a matching size, a matching serial number, a matching length, unmatched pixel samples, a quantized predicted transformation coefficient, a quantized predicted residual error, a quantized matching transformation coefficient and a quantized matching residual error, so as to remove the correlation among the samples and improve the efficiency of the entropy coding;
13) calculating to obtain rate-distortion cost from the bit rate or bit rate estimated value of the original pixel, the multiple primary reconstructed pixels and the compressed code stream thereof, selecting the optimal coding mode (based on the matched coding mode or the predicted coding mode), the optimal matching mode or the optimal prediction mode of the CU according to the rate-distortion performance, and temporarily storing the optimal compressed code stream data of the CU;
14) judging whether the encoding of all MxM pixel CU in the current division is finished or not, if so, sequentially executing the next step, and otherwise, jumping to the step 4) to start the encoding of the next MxM pixel CU;
15) judging whether M reaches a preset minimum value, if so, sequentially executing the next step, otherwise, halving M (namely adding 1 to the depth of the division), and then jumping to the step 4) to start the coding of all MxM pixel CU in the division of the next depth;
16) selecting an optimal MxM pixel CU partition according to rate-distortion performance from the finished coding results of a plurality of partitions of different depths (MxM pixel CUs with different sizes) and outputting compressed code stream data corresponding to the partition;
17) and judging whether the coding of all LCUs is finished, if so, ending the coding, otherwise, returning to the step 1) and starting the coding of the next LCU.
One embodiment of a decoding method
A flowchart of one embodiment of a decoding method is shown in fig. 12. The embodiment comprises the following steps:
1) reading in partial compressed code stream data of an image;
2) performing entropy decoding on a Coding Unit (CU) to obtain header information and data information of the CU; the header information includes whether the CU is encoded using the existing prediction technique or the matching technique of the present invention; which arbitrary shape matching pattern the CU employs, or whether the CU employs intra prediction based on neighboring pixel samples or inter prediction based on blocks; whether inverse transform decoding is performed; entropy decoding also includes differential decoding or index decoding based on 1-dimensional or 2-dimensional neighboring samples of entropy decoding objects such as prediction mode, motion vector, matching mode, matching position, matching size, matching number, matching length, unmatched pixel sample, quantized transform coefficient, quantized prediction residual, quantized matching residual; in any shape matching mode, a CU can be formed by splicing one or more matching strings (blocks), and each matching string (block) is subjected to the subsequent operations of steps 6), 7) and 8);
3) inverse quantization decoding is carried out on the quantized transform coefficient or the quantized prediction residual or the quantized matching residual to generate a transform coefficient or a prediction residual or a matching residual;
4) if the transformation coefficient is generated in the previous step, performing inverse transformation decoding to generate a prediction residual or a matching residual, otherwise, sequentially executing the next step;
5) if the prediction residual error is generated in the step 3) or 4), performing intra-frame prediction decoding based on adjacent pixel sample values or inter-frame prediction decoding based on a square block, collectively referred to as prediction decoding, generating a preliminary reconstructed pixel, and then jumping to the step 9), otherwise, sequentially executing the next step;
6) if the entropy decoding in the step 2) obtains a certain matching serial number and length, short matching decoding is carried out, and pixel sample values of the short matching strings are obtained by copying from the representative pixel storage;
7) updating the representative pixel buffer; if the match size s =0, i.e. step 2) entropy decoding results in an unmatched pixel sample, then it is decided according to some predetermined rule whether to place the current unmatched pixel sample into the representative pixel buffer and whether to delete a pixel sample from the representative pixel buffer; one of the simplest rules is a first-in first-out (FIFO) rule, that is, unmatched pixel samples are sequentially put into a representative pixel buffer, and after the pixel buffer is full, the unmatched pixel samples which are put into the last pixel are sequentially deleted; a more complex rule is: when the matching size S of the matching string is less than or equal to S, temporarily storing the short matching in a representative pixel standby area, but not immediately placing the short matching in a representative pixel cache; when the same short matching occurs more than 2 times, the short matching is put into a representative pixel buffer;
8) decoding any shape matching; moving and pasting a matching string (block) which can have an arbitrary shape to the position of the current matched string (block) of the current decoded CU according to the arbitrary shape matching pattern obtained in the step 2), and adding the matching residual errors from the step 3) or the step 4) to generate a preliminary reconstructed pixel; the arbitrarily shaped matching string (block) may be the unmatched pixel sample from step 2), or the short matching string from step 6), or a matching string (block) from the history pixel buffer characterized by two matching parameters, matching position p and matching size s;
9) performing post-processing of deblocking filtering and pixel compensation (such as sample value adaptive compensation) operation on the preliminary reconstructed pixel of the prediction mode or the preliminary reconstructed pixel of the matching mode, and then putting all the reconstructed pixels of the post-processed current CU into a historical pixel (reconstructed pixel) temporary storage area to be used as reference pixels for subsequent arbitrary shape matching decoding and prediction decoding;
10) outputting the pixels of the reconstructed CU;
11) judging whether the decoding of the compressed code stream data of all CUs in one LCU is finished, if so, sequentially executing the next step, otherwise, returning to the step 1) and starting the decoding of the next CU;
12) and judging whether the decoding of the compressed code stream data of all the LCUs is finished, if so, ending the decoding, otherwise, returning to the step 1) and starting the decoding of the next LCU.
One embodiment of an encoding apparatus
A schematic block diagram of an embodiment of an encoding apparatus is shown in fig. 13. The present embodiment is composed of the following modules:
1) a storage module capable of storing at least one coding unit, namely a pixel of a CU, in a division of one depth in a largest coding unit, namely an LCU, in current coding;
2) a predictive coding module: performing intra prediction encoding based on neighboring pixel samples and inter prediction encoding based on a block (block) on an input pixel, and outputting (1) a prediction residual and (2) a prediction mode and a motion vector; the module can perform coding under a plurality of intra-frame prediction modes and a plurality of inter-frame prediction modes (collectively called prediction modes);
3) a color-based pixel clustering module: combining some very close colors in the input pixels into one color to improve the efficiency of subsequent matching coding and find matching strings (blocks) with larger size and smaller error; in the case where the original colors are already few, or in the case where super high quality coding and lossless coding are performed, this module can be bypassed;
4) an arbitrary shape matching search encoding module: performing arbitrary shape matching coding on input pixel samples which are subjected to or not subjected to pixel clustering, and outputting (1) matching residual errors, (2) matching positions p and matching sizes s of matching strings (blocks), and (3) matching statistical information; the module can perform coding in one or more matching modes;
5) short matching search module: if the matching size S of a certain matching string searched by the random shape matching search coding module is smaller than or equal to a certain threshold value S, then performing second-level short matching search and coding, namely searching whether the matching string (called second-level matching string) can be found in a representative pixel caching module (wherein each pixel sample has a sequence number); if the second-stage matching string can be found, outputting the matching serial number (namely the serial number of the first pixel sample value of the second-stage matching string in the representative pixel cache module) and the matching length of the second-stage matching string, otherwise, outputting the matching position and the matching size of the matching string found in the history pixel output by the original random shape matching search coding module; the matching sequence number can be represented by a smaller number of bits than the matching position, so that the coding efficiency can be improved; if S is 0, then only two-stage short match coding is performed on the unmatched pixel samples; if S is 1, then only two-stage short matching encoding is carried out on the unmatched pixel sample value and the matching string (block) with the matching size of 1;
6) the representative pixel buffer module: storing representative pixels for short matching search; the module may include a candidate representative pixel buffer unit; this module may be empty; in this case, the short match search is not performed, nor is the short match search module and representative pixel update module;
7) the representative pixel updating module: if the matching size s =0, that is, neither the arbitrary shape matching search coding module nor the short matching search module searches for any match, which results in the pixel sample in the current coding in the CU being an unmatched pixel sample, the unmatched pixel sample in the current coding is a candidate representative pixel, and the candidate representative pixel is placed in a candidate representative pixel cache unit in a representative pixel cache module; determining whether the current unmatched pixel sample value immediately becomes a formal representative pixel according to a certain predetermined rule or becomes the formal representative pixel after certain matching statistical information data about the pixel sample value is collected; when the representative pixel memory space overflows, it is necessary to decide how to delete a certain pixel sample from the representative pixel memory space; one of the simplest methods is first-in-first-out (FIFO), i.e. first-in-first-out-first-delete; a more sophisticated approach is to decide which pixel sample to delete based on the matching statistics for each pixel sample;
8) a transformation module: performing transformation operation on the matching residual error and the prediction residual error, and outputting a transformation coefficient; for some types of screen image pixels, the transformation operation cannot achieve the effect of data compression, and in this case, the transformation operation is not performed, namely, the transformation module is bypassed, and the matching residual or the prediction residual is directly output;
9) a quantization module: performing a quantization operation on the transform coefficients (in case the transform module is not bypassed) or the matching residuals or prediction residuals (in case the transform module is bypassed), outputting quantized prediction transform coefficients or quantized prediction residuals, and outputting quantized matching transform coefficients or quantized matching residuals;
10) an entropy coding module: entropy coding is carried out on the result of matching coding, such as matching position, matching size, matching serial number, matching length, unmatched pixel sample value, quantized transformation coefficient or quantized matching residual error; performing entropy coding on the prediction coding result such as prediction mode, motion vector, quantized transform coefficient or quantized prediction residual, including performing differential coding or index coding based on 1-dimensional or 2-dimensional neighboring samples on the samples to be entropy coded;
11) a reconstruction and post-processing module: performing inverse operation of the three modules of the predictive coding module, the transformation module and the quantization module; performing inverse operation of three modules, namely an arbitrary shape matching search coding module, a transformation module and a quantization module, preliminarily reconstructing pixels of the CU under multiple prediction modes and multiple matching modes, and outputting the preliminarily reconstructed pixels to an optimal prediction mode and matching mode based on rate-distortion performance and a division selection module for calculating rate-distortion cost; after the optimal prediction mode, the matching mode and the partition selection module based on the rate-distortion performance determine the optimal partition of the current coding LCU, the optimal coding mode of each CU and the mode of the current coding LCU, post-processing of deblocking filtering and pixel compensation (such as sample value adaptive compensation) operation is performed on the initial reconstructed pixels of each optimally partitioned CU, and then the pixels of the post-processed reconstructed CU are placed into a historical pixel (reconstructed pixel) temporary storage module to be used as reference pixels for prediction coding, matching coding and reconstruction of a subsequent CU;
12) history pixel (reconstructed pixel) temporary storage module: this module provides reference pixels for predictive coding, match coding and reconstruction;
13) an optimal prediction mode and matching mode based on rate-distortion performance and a division selection module: when each CU in different depth partitions of one LCU is coded, selecting the optimal coding mode (based on a matched coding mode or a predicted coding mode), the optimal matching mode and the optimal prediction mode of the CU according to the rate-distortion performance; after encoding of all CUs of all partitions of different depths of an LCU is completed, selecting an optimal depth and corresponding partitions of the LCU according to rate-distortion performance;
14) a compressed code stream output module: and outputting the selected optimally divided coded compressed data to an output video compressed code stream.
One embodiment of a decoding apparatus
A block composition diagram of an embodiment of a decoding apparatus is shown in fig. 14. The present embodiment is composed of the following modules:
1) and a partial compression code stream data storage module. For temporarily storing a portion of the input compressed bitstream data;
2) an entropy decoding module: performing entropy decoding on input compressed code stream data to obtain header information and data information of a current decoding CU; entropy decoding also includes differential decoding or index decoding based on 1-dimensional or 2-dimensional neighboring samples of entropy decoding objects such as prediction mode, motion vector, matching mode, matching position, matching size, matching number, matching length, unmatched pixel sample, quantized transform coefficient, quantized prediction residual, quantized matching residual; the entropy decoding also comprises the steps of analyzing the divided depth adopted by the current decoding LCU when in coding, the current prediction technology or the matching technology of the invention adopted by the current decoding CU when in coding, and the information of which any shape matching mode is adopted, or the intra-frame prediction based on the adjacent pixel sample value or the inter-frame prediction based on the square block, whether the transformation operation is bypassed or not and the like from the input compressed code stream data; in the matching mode, the data information of the current decoded CU may contain information of one or more matching strings (blocks);
3) an inverse quantization module: performing inverse quantization operation, and outputting a transform coefficient or a prediction residual or a matching residual;
4) an inverse transform module; if the transformation operation is not bypassed during coding, performing inverse transformation decoding, and outputting a prediction residual error or a matching residual error, otherwise, directly outputting the prediction residual error or the matching residual error without performing inverse transformation decoding;
5) a predictive decoding module: performing intra-frame prediction decoding based on adjacent pixel sample values or inter-frame prediction decoding based on a square block on the prediction residual error to obtain and output a preliminary reconstruction pixel;
6) the representative pixel buffer module: the input of the module is the matching serial number and length of the short matching output by the entropy decoding module; the matching sequence number of the short matching is the sequence number of the first pixel sample in the short matching in the representative pixel cache module; according to the input matching serial number and length, the module outputs a short matching string composed of a plurality of representative pixel sample values;
7) the representative pixel updating module: the module is used for updating the representative pixel sample value in the representative pixel buffer module;
8) an arbitrary shape matching decoding module: when the input to the block is the matching position and size of a matching string (block) from the entropy decoding block, the function of the block is to copy the matching string (block) of matching size from the place specified by the matching position in the history pixel temporary storage block, and then move and paste the matching string (block) to the position of the current matched string (block) of the current decoding CU; when the input to this module is a short matching string from the representative pixel cache module, the function of this module is to directly move and paste the short matching string to the location of the current matched string of the current decoding CU; when the input to this block is an unmatched pixel sample from the entropy decoding block, the function of this block is to directly shift and paste the unmatched pixel sample to the location of the currently matched string of the currently decoded CU; the other function of the module is to add the matching residual error from the inverse transformation module on the pixel of the matched string (block) pasted in place to obtain and output a primary reconstructed pixel; the matching residual errors can be all zero, and the addition operation of the matching residual errors is not needed;
9) a post-processing module: performing post-processing of deblocking filtering and pixel compensation (such as sample value adaptive compensation) operation on the preliminary reconstructed pixel, and then putting the post-processed reconstructed pixel into a historical pixel (reconstructed pixel) temporary storage module to be used as a reference pixel for subsequent arbitrary shape matching decoding and prediction decoding;
10) a history pixel temporary storage module: this module provides arbitrary shape matching decoded and predictive decoded reference pixels;
11) a reconstructed pixel output module: the reconstructed pixel is the final output of the decoding apparatus.
One embodiment for indicating the presence of unmatched pixel samples in a compressed bitstream
In the arbitrary shape matching encoding and decoding, a case where no match is found, that is, a case where there is an unmatched pixel sample, may be represented by a match size s =0, or may be represented by a match position p =0 (the current pixel sample itself matches itself).
Several embodiments of matching criteria
The match may be lossless or exact, or lossy or approximate; let x be(s) be a candidate matching string for a pixel sample in the history pixel setn, sn+1, ……, sn+m-1) The matched string for the current position in the current CU is y ═ s(s)c, sc+1, ……, sc+m-1) Then the matching Length of the pair of pixel sample strings is m, and the matching performance can be implemented by using a Length-Distortion Cost (Length-Distortion Cost for LDcost) function LDcost = f (m, | s)c- sn|, |sc+1- sn+1|, …… , |sc+m-1- sn+m-1I) to express; one of the simplest length-distortion cost functions is LDcost = (MaxStringLength-m) + λ (| s)c- sn| + |sc+1- sn+1| + …… +|sc+m-1- sn+m-1| where maxstinglength is a preset maximum matching length, e.g., 300, and λ is a lagrange multiplier factor, e.g., 0.25, weights for balancing matching length and matching distortion; in a more complex length-distortion cost function, the error term | s for each pixel samplec+q-1- sn+q-1L may have its own multiplier factor, which may also vary with length m; the length-distortion cost function is used for evaluating the matching performance of the matching string (block) and selecting the optimal matching string (block) when searching the matching string (block); if, in the search for a matching string (block), all pixel sample error terms | s are forced to be specifiedc+q-1- sn+q-1If 0, then a lossless or exact match is obtained, otherwise a lossy or approximate match is obtained.
Several embodiments of matching patterns for arbitrary shape matching
In the matching mode, a pixel value vertical arrangement format is adopted, namely pixel values of a 2-dimensional area are vertically arranged firstly, and then another row is arranged after one row is arranged, and a string-shaped matching format is adopted, namely a string of pixel values is formed by matching the current pixel value and the matching reference pixel value, wherein the two strings have equal length but do not necessarily keep the same 2-dimensional shape;
or
In the matching mode, a pixel value horizontal arrangement format is adopted, namely, pixel values of a 2-dimensional area are firstly horizontally arranged, and then another row is arranged after one row is arranged, and a string shape matching format is adopted, namely, a string of pixel values is formed by matching the current pixel value and the matching reference pixel value, wherein the two strings have equal length but do not necessarily keep the same 2-dimensional shape;
or
In the matching mode, a pixel value vertical arrangement format is adopted, namely, the pixel values of one 2-dimensional area are vertically arranged firstly, and then the other 2-dimensional area is arranged after one line is arranged, and a 2-dimensional shape-preserving matching format is adopted, namely, the 2-dimensional area is formed by matching the current pixel value and the matching reference pixel value, the two areas have the same size, and the same 2-dimensional shape is kept; the 2-dimensional region is composed of columns formed by vertically arranging pixel values, the middle columns except the first column and the last column have the same height, namely the height of the region, the first column is aligned with the bottom of the region, and the last column is aligned with the top of the region; the height of the area may be equal to the height of the current CU, or may be different from the height of the current CU and take another arbitrary value or a value derived from the height of the current CU, such as one-half or one-fourth of the height of the current CU; the first and last columns may also have the same height as the middle columns, i.e. equal to the height of the area, in which case the area is a rectangle or square of any size; in the matching mode, the matching area is a 2-dimensional area, the matching size generally needs to be represented by two or more parameter components, in a special case that the height of the matching area can be derived from other parameters or variables in the encoding process and the decoding process (such as equal to the height of the current CU or half of the height), the matching size can also be represented by only one parameter component;
or
In the matching mode, a pixel value horizontal arrangement format is adopted, namely, the pixel values of one 2-dimensional area are firstly horizontally arranged, and then the other line is arranged after one line is arranged, and a 2-dimensional shape-preserving matching format is adopted, namely, the 2-dimensional area is formed by matching the current pixel value and the matching reference pixel value, the two areas have equal size, and the same 2-dimensional shape is kept; the 2-dimensional region is composed of rows formed by horizontally arranging pixel values, the middle rows except the first row and the last row have the same width, namely the width of the region, the first row is aligned with the right part of the region, and the last row is aligned with the left part of the region; the width of the region may be equal to the width of the current CU, or may be different from the width of the current CU and take another arbitrary value or a value derived from the width of the current CU, such as one-half or one-fourth of the width of the current CU; the first and last rows may also have the same width as the middle row, i.e. equal to the width of the area, in which case the area is a rectangle or square of any size; in the present matching mode, the matching region is a 2-dimensional region, the matching size generally needs to be represented by two or more parameter components, in a special case where the width of the matching region can be derived from other parameters or variables in the encoding process and the decoding process (such as equal to the width of the current CU or half of the width), the matching size can also be represented by only one parameter component;
or
In the matching mode, a pixel value horizontal arrangement format is adopted, namely, the pixel values of one 2-dimensional area are firstly horizontally arranged, and then the other line is arranged after one line is arranged, and a 2-dimensional shape-preserving matching format is adopted, namely, the 2-dimensional area is formed by matching the current pixel value and the matching reference pixel value, the two areas have equal size, and the same 2-dimensional shape is kept; the 2-dimensional region is composed of rows formed by horizontally arranging pixel values, and all the rows have the same width; the left end points of all the rows can form a vertical straight line, and at this time, the area is a rectangle or a square, and can also form a non-vertical oblique line, and at this time, the area is a parallelogram;
or
In the matching mode, a pixel value horizontal arrangement format is adopted, namely, the pixel values of one 2-dimensional area are firstly horizontally arranged, and then the other line is arranged after one line is arranged, and a 2-dimensional shape-preserving matching format is adopted, namely, the 2-dimensional area is formed by matching the current pixel value and the matching reference pixel value, the two areas have equal size, and the same 2-dimensional shape is kept; the 2-dimensional area is composed of rows formed by horizontally arranging pixel values, the left end points of all the rows form a straight line, and the right end points of all the rows form another straight line; the two straight lines may be parallel, in which case the region is a parallelogram, or non-parallel, in which case the region is a trapezoid;
in a current image, all CUs may use the same matching pattern, or different CUs may adaptively use different matching patterns.
Embodiments of matching positions of matching regions
The matching position of the matching region (region may be a string or block) is the relative position between the first matching current sample in the matching current region and the first matching reference sample in the matching reference region.
Example 1 of a representation of the location of a match
The image is 2-dimensional data, and the matching string is a special case of the matching block, namely a special case that one dimension of 2 dimensions takes a value of 1; therefore, the matching position is essentially a 2-dimensional natural number variable, which can be represented by a natural number pair (X, Y); mathematically, however, by expressing the maximum values of X and Y as Xmax and Ymax, respectively, any 2-dimensional natural number pair (X, Y) can be converted to a 1-dimensional natural number L: l ═ X + W ×, Y, where W is a predetermined natural number greater than Xmax; l may also have another calculation: l ═ Y + H X, where H is a predetermined natural number greater than Ymax; obviously, from L also (X, Y): dividing L by W, wherein X and Y are respectively the remainder and quotient of the division; likewise, X and Y are the quotient and remainder, respectively, of L divided by H; thus, the matching position can be represented by a natural number pair (X, Y); or a natural number L, (X, Y) and L can be mutually converted by a natural number W or H determined according to a rule in the encoding process and the decoding process; one way of calculating the matching position (X, Y) is to match the 2-dimensional coordinates (X) of the reference sample1,Y1) With 2-dimensional coordinates (X) matching the current sample value2,Y2) The difference is added (image width, image height), and X1And X2Are all smaller than the image width, Y1And Y2Both are smaller than the image height, so X and Y are smaller than 2 times the image width and 2 times the image height, respectively; thus, the example of W: 2 times the image width, example H: height of image2 times of the total weight of the powder.
Example 2 representation of matching positions
Dividing the current image into one CU (or LCU), and assigning a sequence number to each CU (or LCU), wherein the sequence number is gradually increased from zero; each pixel value in the current image is also assigned with a number (or called linear address), and the numbers are gradually increased from zero; the arrangement order of the pixel value numbers is that the pixel values of the CU (or LCU) with the next sequence number are arranged after all the pixel values of the CU (or LCU) with the one sequence number are arranged; and within a CU (or LCU), the pixel samples are arranged column by column in a vertical format (or row by row in a horizontal format); the matching location of the matching region is the difference of the linear address (i.e., number) matching the first matching reference pixel value in the reference region and the linear address (i.e., number) matching the first matching current pixel value in the current region.
Example of representation of restricted matching positions
If the position of the matching reference sample is limited to the same horizontal or vertical position as the matching current sample, then one of the matching positions (X, Y) is zero (or some other constant); the matching position can be represented by a natural number and a flag bit indicating the horizontal or vertical position.
Example of representation of match size
The matching size has only one parameter component, and represents the length of a matching string;
or
The match size has a direct parameter component, such as the number of pixel values representing the matching string (block), and a parameter component derived from other parameters or variables in the encoding or decoding process, such as the height or width of the current CU, such as the height or width representing the matching string (block);
or
The match size has two parameter components, representing the width and height of the area occupied by the matching string (block); the two parameter components can be represented by a natural number pair (X, Y) or a natural number L; (X, Y) and L may be converted into each other by a natural number W or H determined according to a rule in an encoding process and a decoding process; example of W: 1) width of the current CU, 2) horizontal distance to the right boundary of the current CU that matches the pixel value of the top left corner of the current string (block), 3) maximum possible value that matches the width of the current string (block) as determined by the position (or 2-dimensional coordinate) of the matching current string (block) in the current image, 4) maximum possible value that matches the width of the reference string (block) as determined by the position (or 2-dimensional coordinate) of the matching reference string (block) in the current image, 5) minimum value of both 3) and 4) above, 6) maximum possible value of the width of the current string (block) as determined by the position of the pixel value of the top left corner of the matching current string (block) in the current CU and the region of the current CU where matching has been completed, 7) maximum possible value of the width of the matching reference string (block) as determined by the restriction on the matching reference string (block), 8) minimum value of both 6) and 7) above; example of H: 1) height of the current CU, 2) vertical distance to the lower boundary of the current CU that matches the pixel value of the top left most corner of the current string (block), 3) maximum possible value of height that matches the current string (block) as determined by the position (or 2-dimensional coordinate) that matches the current string (block) in the current image, 4) maximum possible value of height that matches the reference string (block) as determined by the position (or 2-dimensional coordinate) that matches the reference string (block) in the current image, 5) smaller value of both 3) and 4) above, 6) maximum possible value of height of the current string (block) as determined by the position in the current CU that matches the pixel value of the top left most corner of the current string (block) and the region in the current CU that has completed matching, 7) maximum possible value of height that matches the reference string (block) as determined by the restriction on the matching reference string (block), 8) smaller value of both 6) above and 7);
or
The match size has three parameter components, representing the size of the more complex area occupied by the matching string (block), such as the upper bottom, lower bottom and height of the trapezoid; the three parameter components can be represented by a natural number triple (X, Y, Z) or a natural number L; (X, Y, Z) and L may be converted into each other by 2 natural numbers W and H determined according to a rule in an encoding process and a decoding process; the conversion process can be generally divided into two steps, the first step is the interconversion between the natural number pair (X, Y) and the natural number U, and the second step is the interconversion between the natural number pair (U, Z) and the natural number L.
Embodiments in which pixel values are represented by palette and index
The pixel values are represented exactly or approximately by a palette of K particular pixel values and the indices K (0 ≦ K < K) of the elements in the palette. The palette may be static or dynamically updated during the encoding and decoding processes; all places where the "pixel values" are involved in the arbitrary shape matching method and apparatus of the present invention may be replaced with "indices" of pixel values; for example, matching the current sample, matching the reference sample, reference pixel sample value set, etc. is replaced with matching the current sample index, matching the reference sample index, reference pixel sample index set, etc.
Embodiments in which different matching modes employ different kinds of reconstructed pixels
There are two kinds of reconstructed pixels: class I and class II, there are 3 matching patterns: mode a, mode B, mode C; mode A and mode B employ type I reconstructed pixels, while mode C employs type II reconstructed pixels; that is, when the current CU is subjected to arbitrary shape matching encoding or decoding, it is determined which reconstructed pixel is adopted by the current CU as a reference pixel according to the following logical relationship according to the matching mode of the current CU:
if (matching pattern = = pattern a) then the type I reconstructed pixel is taken as the reference pixel;
if (matching pattern = = pattern B) then the type I reconstructed pixel is taken as the reference pixel;
if (matching pattern = = pattern C) then the class II reconstructed pixel is taken as the reference pixel;
the above symbol "= =" means "equal to".
Embodiments employing different kinds of reconstructed pixels at different matching positions in the same matching pattern
There are two kinds of reconstructed pixels: class I and class II, the reference pixel sample value set is divided into 3 parts: part a, part B and part C; employing class I reconstructed pixels when the matching reference pixel values are in part a and part B, and employing class II reconstructed pixels when the matching reference pixel values are in part C; that is, when the current CU is subjected to arbitrary shape matching encoding or decoding, it is determined which reconstructed pixel is adopted by the current matching string (block) as a reference pixel according to the following logical relationship according to the matching position of the current matching string (block):
if (the matching reference pixel value specified by the matching position is located in part a) then the class I reconstructed pixel is taken as the reference pixel;
if (the matching reference pixel value specified by the matching position is located in part B) then the type I reconstructed pixel is taken as the reference pixel;
the class II reconstructed pixel is used as the reference pixel if (the matching reference pixel value specified by the matching position is located in section C).
Example of sequence parameter set containing reference pixel sample value set and its size in compressed code stream
The sequence parameter set of the compressed codestream contains syntax elements loaded with the following information:
… …, number of types P of reference pixel sample value set, size of 1 st type reference pixel sample value set, size of 2 nd type reference pixel sample value set, … …, size of P th type reference pixel sample value set, … …
Or, in the case that only one kind of reference pixel sample value set size needs to be written into the sequence parameter set (no other kind of reference pixel sample value set or no other kind of reference pixel sample value set size needs to be written into the sequence parameter set), the sequence parameter set of the compressed bitstream contains syntax elements loaded with the following information:
… …, size of reference pixel sample value set, … …
Embodiment 1 of compressed data containing matching parameters for arbitrary shape matching and compressed code stream of other encoding results
The CU part in the compressed code stream containing the arbitrary shape matching coding result and other coding results is composed of syntax elements loaded with the following information:
CU header first part, matching pattern, CU header second part, (matching position, matching size) or unmatched pixel sample 1, (matching position, matching size) or unmatched pixel sample 2, (matching position, matching size) or unmatched pixel sample 3, … … … … …, more (matching position, matching size) or unmatched pixel samples, matching residual or null, other coding results;
except for the syntax element of the first part of the CU head, the arrangement sequence of all other syntax elements in the code stream is not unique, and any one predetermined reasonable sequence can be adopted; any syntax element can also be split into several parts, and the several parts can be collectively placed at the same place in the code stream, or can be respectively placed at different places in the code stream; any several syntax elements can also be combined into one syntax element; in addition to this syntax element of the first part of the CU header, other syntax elements may not be present in the compressed bitstream data of a certain CU;
matching parameters such as matching positions, matching sizes and unmatched pixel sample values in the compressed code stream can be the matching parameters per se or variants of the matching parameters coded by various common technologies such as predictive coding, matching coding, transform coding, quantization coding, DPCM, first-order and high-order differential coding, mapping coding, run coding, index coding and the like;
the matching position may have only one parameter component, or may have two parameter components, or may be further divided into three parameter components (e.g., the sequence number of the CU and the horizontal component and the vertical component within the CU) or even four parameter components; the two parameter components can be represented by one value or two values; the three parameter components can be represented by one numerical value, and can also be represented by two or three numerical values; the four parameter components can be represented by one numerical value, or can be represented by two, three or four numerical values;
the matching size can only have one parameter component, and also can have two, three or even four parameter components; the two parameter components can be represented by one value or two values; the three parameter components can be represented by one numerical value, and can also be represented by two or three numerical values; the four parameter components can be represented by one numerical value, or can be represented by two, three or four numerical values;
the (match position, match size) and the unmatched pixel samples may be represented in different formats or in a uniform format.
Example 2 of compressed data containing matching parameters for arbitrary shape matching and compressed code stream of other encoding results
The CU part in the compressed code stream containing the arbitrary shape matching coding result and other coding results is composed of syntax elements loaded with the following information:
CU header first part, matching pattern identification bit or null, matching pattern identification code or matching pattern part identification code or null, CU header second part, (matching position, matching size) or unmatched pixel sample 1, (matching position, matching size) or unmatched pixel sample 2, (matching position, matching size) or unmatched pixel sample 3, … … … … …, more (matching position, matching size) or unmatched pixel samples, matching residual or null, other encoding results;
except for the syntax element of the first part of the CU head, the arrangement sequence of all other syntax elements in the code stream is not unique, and any one predetermined reasonable sequence can be adopted; any syntax element can also be split into several parts, and the several parts can be collectively placed at the same place in the code stream, or can be respectively placed at different places in the code stream; any several syntax elements can also be combined into one syntax element; in addition to this syntax element of the first part of the CU header, other syntax elements may not be present in the compressed bitstream data of a certain CU;
the matching pattern identification bit can take a value of 1 or 0;
and if the matching mode identification bit is empty, the matching mode identification bit is implicitly indicated to be a preset fixed value.
If the matching mode identification bit takes a value of 1, the compressed code stream also has a syntax element of a matching mode identification code (but does not have a syntax element of a matching mode partial identification code), and the matching mode identification code can take the following code values and has the following semantics:
code value Semantics
0 The current CU adopts a matching mode 1
1 Matching mode 2 is adopted by current CU
2 The current CU adopts a matching mode 3
……………………………………
A-1 The current CU adopts a matching mode A
If the matching mode flag bit takes a value of 0, then the compressed code stream also contains a syntax element of a matching mode partial identification code (but does not contain the syntax element of the matching mode partial identification code), the matching mode partial identification code can take B (B < a) code values, the code values of the matching mode partial identification code cannot completely determine which matching mode the current CU adopts, but must be combined with results of analyzing and evaluating characteristics of the current CU and neighboring CUs to completely determine which matching mode the current CU adopts, examples of the characteristics of the current CU and neighboring CUs include: coding modes, prediction or matching modes, motion vectors and matching positions of adjacent CUs, characteristics of a result of first performing a partial predecoding on the current CU by using a plurality of or all A matching modes, and characteristics of decoded reconstructed pixel samples of the adjacent CUs and the partial predecoded reconstructed pixel samples of the current CU, such as continuous tone content or non-continuous tone content; the matching pattern partial identification code may also be empty, in which case it is determined which matching pattern the current CU employs, solely from the results of the analytical evaluation of the characteristics of the current CU and neighboring CUs.
Example 3 of compressed data containing matching parameters for arbitrary shape matching and compressed code stream of other encoding results
The CU part in the compressed code stream containing the arbitrary shape matching coding result and other coding results is composed of syntax elements loaded with the following information:
CU header first part, matching pattern, palette or partial palette or empty, representative pixel buffer or partial representative pixel buffer or empty, CU header second part, (matching position, matching size) or (matching number of level two short matches, matching length of level two short matches or empty) or unmatched pixel sample 1, (matching position, matching size) or (matching sequence number of second-level short match, matching length or null of second-level short match) or unmatched pixel sample 2, (matching position, matching size) or (matching sequence number of second-level short match, matching length or null of second-level short match) or unmatched pixel sample 3, … … … … …, more (matching position, matching size) or (matching sequence number of second-level short match, matching length or null of second-level short match) or unmatched pixel sample, matching residual or null, other coding results;
except for the syntax element of the first part of the CU head, the arrangement sequence of all other syntax elements in the code stream is not unique, and any one predetermined reasonable sequence can be adopted; any syntax element can also be split into several parts, and the several parts can be collectively placed at the same place in the code stream, or can be respectively placed at different places in the code stream; any several syntax elements can also be combined into one syntax element; in addition to this syntax element of the first part of the CU header, other syntax elements may not be present in the compressed bitstream data of a certain CU;
the palette is generated in a preprocessing process for accurately or approximately representing colors of input original pixels by the palette and indexes; a plurality of CUs may share a palette which is updated continuously, so that the compressed code stream of each CU does not necessarily contain the entire palette, and may contain only a part of the palette which needs to be updated or no palette;
the representative pixel buffer is for second-level short matching, in particular second-level short matching indexed to unmatched pixel values or unmatched pixel values; a plurality of CUs may share a representative pixel cache which is updated continuously, so that the compressed code stream of each CU does not necessarily contain the whole representative pixel cache, and may only contain a part of the representative pixel cache which needs to be updated or does not contain the representative pixel cache;
the matching sequence number of the second-level short matching, the matching length of the second-level short matching or null is the matching sequence number and the matching length of the short matching found in the representative pixel cache; in a special case where only the pixel value or the pixel value index where no match is found or the matching size is 1 in the reference pixel sample value set or the reference pixel sample value index set is encoded by the second-level short match, and the matching length of the second-level short match can only be a preset fixed value (e.g. 1, indicating that the second-level short match has only one pixel value), the syntax element of the matching length of the second-level short match is null, and the matching length of the second-level short match is hidden from being taken as the preset fixed value.
The representative pixel buffer may be different from the palette, or may be identical to the palette.
Extension of "pixels
A large pixel is a pixel where several adjacent pixels are considered to be a "composite pixel". Fig. 15 is a few examples of large pixels, which are explained below.
A CU has 16x16 pixels (single pixel).
If horizontally adjacent 2 single pixels make up 1 large pixel, then 1 macroblock has 8x16 large pixels. For such a large pixel, if the pixel format is YUV4:2:2, then there are 4 pixel components for a large pixel, namely 2 luminance Y components, 1 chrominance U component, and 1 chrominance V component.
If vertically adjacent 2 single pixels make up 1 large pixel, then 1 macroblock has 16x8 large pixels.
If horizontally and vertically adjacent 4 single pixels constitute 1 large pixel, then 1 macroblock has 8x8 large pixels. For such a large pixel, if the pixel format is YUV4:2:0, then there are 6 pixel components for a large pixel, namely 4 luminance Y components, 1 chrominance U component, and 1 chrominance V component.
All the devices and methods related to pixel sample matching coding and decoding in the invention can define the most basic elements (collectively called pixel sample or pixel value) of coding or decoding as 'big pixel' and become the devices and methods related to big pixel matching coding; in particular, the apparatus and method of the present invention can be applied to encoding and decoding of YUV4:2:2 pixel format and YUV4:2:0 pixel format.
Drawings
Fig. 1 is a flow chart of an encoding method in the prior art.
Fig. 2 is a flow chart of a decoding method in the prior art.
Fig. 3 is a block diagram of an encoding apparatus in the prior art.
Fig. 4 is a block diagram of a decoding apparatus in the prior art.
Fig. 5 shows that, in the case of arbitrary shape matching coding, a plurality of segments of arbitrary shape matching strings are searched for in history pixels with respect to a current coding CU, where (a) raster scanning is employed and (b) bow scanning (also called back-and-forth scanning) is employed.
Fig. 6 illustrates that, in the arbitrary shape matching decoding, a plurality of pieces of arbitrary shape matching strings are copied from the history pixels and pasted to the currently decoded CU, where (a) raster scanning is used and (b) bow scanning (also called back-and-forth scanning) is used.
Fig. 7 is a flow chart of the encoding method of the present invention.
Fig. 8 is a flow chart of the decoding method of the present invention.
Fig. 9 is a schematic block diagram of an encoding apparatus according to the present invention.
Fig. 10 is a block diagram of the decoding apparatus according to the present invention.
FIG. 11 is a flow diagram of one embodiment of an encoding method.
FIG. 12 is a flow diagram of one embodiment of a decoding method.
FIG. 13 is a block diagram of an embodiment of an encoding apparatus.
Fig. 14 is a block diagram of an embodiment of a decoding apparatus.
Fig. 15 is several examples of large pixels.

Claims (22)

1. An image encoding method characterized by comprising the steps of:
step 1) any shape matching coding step; using an arbitrary shape matching coding mode and a coded historical pixel temporary storage area as a reference pixel sample value set, and adopting at least one preset matching mode comprising a pixel sample value arrangement scanning format and a matching format to carry out arbitrary shape matching coding on a pixel sample value of a current CU, wherein the matching format comprises a 1-dimensional string-shaped matching format or a 2-dimensional shape-preserving matching format;
the input of the arbitrary shape matching code comprises original pixels or pixels which are processed by the original pixels;
the output of the arbitrary shape matching code comprises a matching position, a matching size and an unmatched pixel sample;
the matching position is a variable parameter indicating where within the set of reference pixel sample values a reference pixel sample value that matches a current pixel sample value in the current CU is located;
the arbitrary shape matching coding mode carries out matching coding by taking a pixel sample string with variable size in the current CU, which is called as a current string, as a unit, and a reference pixel sample matched with the pixel sample of the current string forms a reference string in the reference pixel sample value set;
the match size is a variable parameter representing the size of the current string;
the unmatched pixel samples are pixel samples within the current CU for which reference pixel samples are not found within the set of reference pixel samples according to a predetermined matching criterion;
step 2), generating a compressed code stream; and generating a compressed code stream at least containing syntax elements for arbitrary shape matching decoding required for deriving the matching position, the matching size and the unmatched pixel sample value.
2. The encoding method according to claim 1, wherein:
performing color-based pixel clustering on the current CU, generating a palette in a pre-processing procedure that accurately or approximately represents colors of input original pixels by the palette and indexes, and representing pixel samples in the current CU by palette indexes; performing the arbitrary shape matching encoding on palette indices of the current CU, the current pixel sample being a current palette index, and the reference pixel sample being a reference palette index.
3. An image decoding method characterized by comprising the steps of:
step 1), compressed code stream analyzing; at least analyzing the compressed code stream, and at least obtaining a matching position, a matching size and an unmatched pixel sample value which are required by carrying out random shape matching decoding;
step 2) decoding step of any shape matching; using an arbitrary shape matching decoding mode and a decoded historical pixel temporary storage area as a reference pixel sample value set, and adopting at least one preset matching mode comprising a pixel sample value arrangement scanning format and a matching format to perform arbitrary shape matching decoding on a pixel sample value of a current CU, wherein the matching format comprises a 1-dimensional string-shaped matching format or a 2-dimensional shape-preserving matching format;
the input of the arbitrary shape matching decoding comprises the matching position, the matching size and the unmatched pixel sample;
the match position is a variable parameter indicating where within the set of reference pixel sample values a reference pixel sample value that matches the current pixel sample value in the current CU is located to copy the reference pixel sample value from the set of reference pixel sample values to the current pixel sample value of the current CU;
performing arbitrary shape matching decoding in the arbitrary shape matching decoding manner by taking a variable-size pixel sample string in a current CU, which is called a current string, as a unit, wherein the copied reference pixel sample forms a reference string in the reference pixel sample set;
the match size is a variable parameter representing the size of the current string;
the unmatched pixel sample is a pixel sample obtained by directly analyzing and decoding the compressed code stream data and copying the pixel sample to the position of the current pixel sample of the current CU;
the output of the arbitrary shape matching decoding includes at least reconstructed I current strings and J unmatched pixel samples, where I ≧ 0 and J ≧ 0.
4. The decoding method according to claim 3, wherein:
representing pixel samples within the current CU by palette indices; performing the arbitrary shape matching decoding on palette indices of the current CU, the current pixel sample being a current palette index, and the reference pixel sample being a reference palette index.
5. The decoding method according to claim 3 or 4, characterized in that: in the arbitrary shape matching decoding, the pixel sample of the current decoding position is identified as an unmatched pixel sample with the matching size s =0 or the matching position p = 0.
6. The decoding method according to claim 3 or 4, characterized in that: the scanning format of the matching mode adopted by the arbitrary shape matching comprises one or a combination of the following scanning formats:
all columns have vertical scanning formats in the same scanning direction, and the method is characterized in that pixel samples of a 2-dimensional region have the same scanning direction in all columns, and after one column is vertically scanned in one direction, adjacent columns are scanned in the same direction;
and/or
All rows have the horizontal scanning format of the same scanning direction, characterized by that the pixel sample value of a 2-dimensional area has the same scanning direction in all rows, scan the adjacent row with the same direction after finishing scanning a row horizontally with a direction;
and/or
The vertical scanning format with the scanning direction alternately changed in adjacent rows is characterized in that the pixel sample values of one 2-dimensional area are scanned in the scanning direction alternately in the adjacent rows from top to bottom and then scanned in the adjacent rows from bottom to top after vertically scanning one row from top to bottom;
and/or
The horizontal scanning format of the alternative change scanning direction of adjacent line, characterized by that the pixel sample value of a 2 dimensional area changes the scanning direction in the alternative of adjacent line, scan adjacent line from right to left again from left to right after finishing horizontal scanning of a line from left to right;
in a current image, all CUs use the same scanning format or different CUs use respective scanning formats.
7. The decoding method according to claim 3 or 4, characterized in that: the position of the reference sample is defined to have the same horizontal or vertical position as the current sample; the representation of the matching position comprises:
where a matching location is represented by a horizontal component and a vertical component, one of the horizontal component and the vertical component is zero or another constant;
or
The matching position is represented by a variable parameter having only one component and a flag bit indicating whether the position of the reference sample has the same horizontal position or the same vertical position as the current sample.
8. The decoding method according to claim 3, wherein: the historical pixel temporary storage area temporarily stores at least different types of complete reconstruction pixels and/or different types of partial reconstruction pixels with different degrees, and the historical pixel temporary storage area at least comprises two types of reconstruction pixels: class I and class II; the set of reference pixel samples is divided into 2 parts according to the position of the reference pixel sample: part a and part B;
the correspondence between the species I and II and the moieties a and B is:
employing class I reconstructed pixels when the reference pixel sample is in part A and employing class II reconstructed pixels when the reference pixel sample is in part B;
one of the execution forms of the correspondence relationship is: when the current CU is subjected to any shape matching decoding, determining which reconstructed pixel is adopted by the current string as a reference pixel according to the following logical relation according to the matching position of the current string:
if the reference pixel sample value specified by the matching position is located in part A, adopting the reconstructed pixel of the type I as the reference pixel;
if the reference pixel sample specified by the matching position is located in part B, the class II reconstructed pixel is taken as the reference pixel.
9. The decoding method according to claim 3, wherein: all or part of the pixel samples of the current image or current CU are represented exactly or approximately by a palette of K specific pixel sample colors and an index K of an element in the palette, where 0 ≦ K < K; performing said arbitrary shape matching decoding with said index of pixel sample as an object replacing said pixel sample; the palette is either static or dynamically updated during the decoding process.
10. The decoding method according to claim 3, wherein: the historical pixel temporary storage area temporarily stores at least different types of complete reconstruction pixels and/or different types of partial reconstruction pixels with different degrees, and the historical pixel temporary storage area at least comprises two types of reconstruction pixels: class I and class II, there are at least 3 matching patterns: mode a, mode B, mode C;
the correspondence between the type I and type II and the mode A, mode B and mode C is:
mode A and mode B employ type I reconstructed pixels, while mode C employs type II reconstructed pixels;
one of the execution forms of the correspondence relationship is that when the current CU is subjected to arbitrary shape matching decoding, which reconstructed pixel is adopted by the current CU is determined as a reference pixel according to the following logical relationship according to the matching mode of the current CU:
if (matching pattern = = pattern a) then the type I reconstructed pixel is taken as the reference pixel;
if (matching pattern = = pattern B) then the type I reconstructed pixel is taken as the reference pixel;
if (matching pattern = = pattern C) then the class II reconstructed pixel is taken as the reference pixel;
the above symbol "= =" means "equal to".
11. The decoding method according to claim 3, wherein: the sequence parameter set of the compressed codestream contains syntax elements loaded with the following information:
the number P of the reference pixel sample value set and the size of the reference pixel sample value set of the P-th type, wherein P takes values from 1 to P in sequence
Or, in the case where only one type of reference pixel sample value set size needs to be written into the sequence parameter set, the sequence parameter set of the compressed bitstream contains syntax elements loaded with the following information:
the size of the set of reference pixel samples.
12. An image encoding apparatus characterized by comprising the following modules:
module 1) arbitrary shape matching encoding module: performing any shape matching coding on the pixel sample value of the current CU by using an arbitrary shape matching coding mode and a reference pixel sample value set formed by pixels in a coded historical pixel temporary storage module and adopting at least one preset matching mode comprising a pixel sample value arrangement scanning format and a matching format, wherein the matching format comprises a 1-dimensional string shape matching format or a 2-dimensional shape-preserving matching format;
the input of the arbitrary shape matching code comprises original pixels or pixels which are processed by the original pixels;
the output of the arbitrary shape matching code comprises a matching position, a matching size and an unmatched pixel sample;
the matching position is a variable parameter indicating where within the set of reference pixel sample values a reference pixel sample value that matches a current pixel sample value in the current CU is located;
the arbitrary shape matching coding mode carries out matching coding by taking a pixel sample string with variable size in the current CU, which is called as a current string, as a unit, and a reference pixel sample matched with the pixel sample of the current string forms a reference string in the reference pixel sample value set;
the match size is a variable parameter representing the size of the current string;
the unmatched pixel samples are pixel samples within the current CU for which reference pixel samples are not found within the set of reference pixel samples according to a predetermined matching criterion;
module 2) compressed code stream generation module: generating a compressed code stream at least containing syntax elements for any shape matching decoding required for deriving the matching position, the matching size and the unmatched pixel sample value;
module 3) a history pixel temporary storage module: at least different kinds of fully reconstructed pixels and/or different degrees of partially reconstructed pixels of different kinds are temporally stored.
13. The encoding apparatus according to claim 12, wherein:
performing color-based pixel clustering on the current CU, generating a palette in a pre-processing procedure that accurately or approximately represents colors of input original pixels by the palette and indexes, and representing pixel samples in the current CU by palette indexes; performing the arbitrary shape matching encoding on palette indices of the current CU, the current pixel sample being a current palette index, and the reference pixel sample being a reference palette index.
14. An image decoding apparatus characterized by comprising the following modules:
module 1) compressed code stream parsing module: at least analyzing the compressed code stream, and at least obtaining a matching position, a matching size and an unmatched pixel sample value which are required by carrying out random shape matching decoding;
module 2) arbitrary shape matching decoding module: performing any shape matching decoding on the pixel sample value of the current CU by using an arbitrary shape matching decoding mode and a reference pixel sample value set formed by pixels in a decoded historical pixel temporary storage module and adopting at least one preset matching mode comprising a pixel sample value arrangement scanning format and a matching format, wherein the matching format comprises a 1-dimensional string shape matching format or a 2-dimensional shape-preserving matching format;
the input of the arbitrary shape matching decoding comprises the matching position, the matching size and the unmatched pixel sample;
the match position is a variable parameter indicating where within the set of reference pixel sample values a reference pixel sample value that matches the current pixel sample value in the current CU is located to copy the reference pixel sample value from the set of reference pixel sample values to the current pixel sample value of the current CU;
performing arbitrary shape matching decoding in the arbitrary shape matching decoding manner by taking a variable-size pixel sample string in a current CU, which is called a current string, as a unit, wherein the copied reference pixel sample forms a reference string in the reference pixel sample set;
the match size is a variable parameter representing the size of the current string;
the unmatched pixel sample is a pixel sample obtained by directly analyzing and decoding the compressed code stream data and copying the pixel sample to the position of the current pixel sample of the current CU;
the output of the arbitrary shape matching decoding at least comprises reconstructed I current strings and J unmatched pixel samples, wherein I is more than or equal to 0, and J is more than or equal to 0;
module 3) a history pixel temporary storage module: at least different kinds of fully reconstructed pixels and/or different degrees of partially reconstructed pixels of different kinds are temporally stored.
15. The decoding apparatus according to claim 14, wherein:
representing pixel samples within the current CU by palette indices; performing the arbitrary shape matching decoding on palette indices of the current CU, the current pixel sample being a current palette index, and the reference pixel sample being a reference palette index.
16. The decoding device according to claim 14 or 15, wherein: in the arbitrary shape matching decoding, the pixel sample of the current decoding position is identified as an unmatched pixel sample with the matching size s =0 or the matching position p = 0.
17. The decoding device according to claim 14 or 15, wherein: the scanning format of the matching mode adopted by the arbitrary shape matching comprises one or a combination of the following scanning formats:
all columns have vertical scanning formats in the same scanning direction, and the method is characterized in that pixel samples of a 2-dimensional region have the same scanning direction in all columns, and after one column is vertically scanned in one direction, adjacent columns are scanned in the same direction;
and/or
All rows have the horizontal scanning format of the same scanning direction, characterized by that the pixel sample value of a 2-dimensional area has the same scanning direction in all rows, scan the adjacent row with the same direction after finishing scanning a row horizontally with a direction;
and/or
The vertical scanning format with the scanning direction alternately changed in adjacent rows is characterized in that the pixel sample values of one 2-dimensional area are scanned in the scanning direction alternately in the adjacent rows from top to bottom and then scanned in the adjacent rows from bottom to top after vertically scanning one row from top to bottom;
and/or
The horizontal scanning format of the alternative change scanning direction of adjacent line, characterized by that the pixel sample value of a 2 dimensional area changes the scanning direction in the alternative of adjacent line, scan adjacent line from right to left again from left to right after finishing horizontal scanning of a line from left to right;
in a current image, all CUs use the same scanning format or different CUs use respective scanning formats.
18. The decoding device according to claim 14 or 15, wherein: the position of the reference sample is defined to have the same horizontal or vertical position as the current sample; the representation of the matching position comprises:
where a matching location is represented by a horizontal component and a vertical component, one of the horizontal component and the vertical component is zero or another constant;
or
The matching position is represented by a variable parameter having only one component and a flag bit indicating whether the position of the reference sample has the same horizontal position or the same vertical position as the current sample.
19. The decoding apparatus according to claim 14, wherein: the historical pixel temporary storage module at least comprises two types of reconstructed pixels: class I and class II; the set of reference pixel samples is divided into 2 parts according to the position of the reference pixel sample: part a and part B;
the correspondence between the species I and II and the moieties a and B is:
employing class I reconstructed pixels when the reference pixel sample is in part A and employing class II reconstructed pixels when the reference pixel sample is in part B;
one of the execution forms of the corresponding relation is that when the current CU is subjected to any shape matching decoding, which reconstructed pixel is adopted by the current string as a reference pixel is determined according to the following logical relation according to the matching position of the current string:
if the reference pixel sample value specified by the matching position is located in part A, adopting the reconstructed pixel of the type I as the reference pixel;
if the reference pixel sample specified by the matching position is located in part B, the class II reconstructed pixel is taken as the reference pixel.
20. The decoding apparatus according to claim 14, wherein: all or part of the pixel samples of the current image or current CU are represented exactly or approximately by a palette of K specific pixel sample colors and an index K of an element in the palette, where 0 ≦ K < K; performing said arbitrary shape matching decoding with said index of pixel sample as an object replacing said pixel sample; the palette is either static or dynamically updated during the decoding process.
21. The decoding apparatus according to claim 14, wherein: the historical pixel temporary storage module at least comprises two types of reconstructed pixels: class I and class II, there are at least 3 matching patterns: mode a, mode B, mode C;
the correspondence between the type I and type II and the mode A, mode B and mode C is:
mode A and mode B employ type I reconstructed pixels, while mode C employs type II reconstructed pixels;
one of the execution forms of the correspondence relationship is that when the current CU is subjected to arbitrary shape matching decoding, which reconstructed pixel is adopted by the current CU is determined as a reference pixel according to the following logical relationship according to the matching mode of the current CU:
if (matching pattern = = pattern a) then the type I reconstructed pixel is taken as the reference pixel;
if (matching pattern = = pattern B) then the type I reconstructed pixel is taken as the reference pixel;
if (matching pattern = = pattern C) then the class II reconstructed pixel is taken as the reference pixel;
the above symbol "= =" means "equal to".
22. The decoding apparatus according to claim 14, wherein: the sequence parameter set of the compressed codestream contains syntax elements loaded with the following information:
the number P of the reference pixel sample value set and the size of the reference pixel sample value set of the P-th type, wherein P takes values from 1 to P in sequence
Or, in the case where only one type of reference pixel sample value set size needs to be written into the sequence parameter set, the sequence parameter set of the compressed bitstream contains syntax elements loaded with the following information:
the size of the set of reference pixel samples.
CN201410259514.9A 2013-06-13 2014-06-12 Image coding method and device and decoding method and device Active CN104244007B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201410259514.9A CN104244007B (en) 2013-06-13 2014-06-12 Image coding method and device and decoding method and device
CN202010704251.3A CN111800641B (en) 2013-06-13 2014-06-12 Image coding and decoding method and device adopting different kinds of reconstructed pixels in same mode
CN202010703211.7A CN111800640B (en) 2013-06-13 2014-06-12 Method and device for encoding and decoding image by alternately changing direction and back-and-forth scanning string matching

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201310236800 2013-06-13
CN2013102368009 2013-06-13
CN201310236800.9 2013-06-13
CN201410259514.9A CN104244007B (en) 2013-06-13 2014-06-12 Image coding method and device and decoding method and device

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN202010703211.7A Division CN111800640B (en) 2013-06-13 2014-06-12 Method and device for encoding and decoding image by alternately changing direction and back-and-forth scanning string matching
CN202010704251.3A Division CN111800641B (en) 2013-06-13 2014-06-12 Image coding and decoding method and device adopting different kinds of reconstructed pixels in same mode

Publications (2)

Publication Number Publication Date
CN104244007A CN104244007A (en) 2014-12-24
CN104244007B true CN104244007B (en) 2020-09-01

Family

ID=52231222

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202010703211.7A Active CN111800640B (en) 2013-06-13 2014-06-12 Method and device for encoding and decoding image by alternately changing direction and back-and-forth scanning string matching
CN202010704251.3A Active CN111800641B (en) 2013-06-13 2014-06-12 Image coding and decoding method and device adopting different kinds of reconstructed pixels in same mode
CN201410259514.9A Active CN104244007B (en) 2013-06-13 2014-06-12 Image coding method and device and decoding method and device

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN202010703211.7A Active CN111800640B (en) 2013-06-13 2014-06-12 Method and device for encoding and decoding image by alternately changing direction and back-and-forth scanning string matching
CN202010704251.3A Active CN111800641B (en) 2013-06-13 2014-06-12 Image coding and decoding method and device adopting different kinds of reconstructed pixels in same mode

Country Status (1)

Country Link
CN (3) CN111800640B (en)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105659602B (en) 2013-10-14 2019-10-08 微软技术许可有限责任公司 Coder side option for the intra block duplication prediction mode that video and image encode
JP6336058B2 (en) 2013-10-14 2018-06-06 マイクロソフト テクノロジー ライセンシング,エルエルシー Features of base color index map mode for video and image encoding and decoding
JP6359101B2 (en) 2013-10-14 2018-07-18 マイクロソフト テクノロジー ライセンシング,エルエルシー Features of intra block copy prediction mode for video and image encoding and decoding
CN105917650B (en) 2014-01-03 2019-12-24 微软技术许可有限责任公司 Method for encoding/decoding video and image, computing device and computer readable medium
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
CN104853211A (en) * 2014-02-16 2015-08-19 上海天荷电子信息有限公司 Image compression method and apparatus employing various forms of reference pixel storage spaces
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
CN104935945B (en) * 2014-03-18 2019-11-08 上海天荷电子信息有限公司 The image of extended reference pixel sample value collection encodes or coding/decoding method
EP3158734A4 (en) 2014-06-19 2017-04-26 Microsoft Technology Licensing, LLC Unified intra block copy and inter prediction modes
EP3917146A1 (en) 2014-09-30 2021-12-01 Microsoft Technology Licensing, LLC Rules for intra-picture prediction modes when wavefront parallel processing is enabled
CN105828080B (en) 2015-01-26 2020-02-14 同济大学 Image coding and decoding method and device
WO2016119666A1 (en) * 2015-01-26 2016-08-04 同济大学 Image coding/decoding method and apparatus
WO2016119746A1 (en) * 2015-01-29 2016-08-04 同济大学 Image coding method and apparatus, and image decoding method and apparatus
WO2016119196A1 (en) * 2015-01-30 2016-08-04 富士通株式会社 Image coding method, apparatus, and image processing device
WO2016124158A1 (en) * 2015-02-05 2016-08-11 Mediatek Inc. Methods and apparatus of decoding process for palette syntax
WO2016124154A1 (en) * 2015-02-08 2016-08-11 同济大学 Image coding method and apparatus, and image decoding method and apparatus
CN105872539B (en) 2015-02-08 2020-01-14 同济大学 Image encoding method and apparatus, and image decoding method and apparatus
US20160234494A1 (en) * 2015-02-10 2016-08-11 Qualcomm Incorporated Restriction on palette block size in video coding
CN107431826B (en) * 2015-02-16 2020-06-02 寰发股份有限公司 Video data coding and decoding method and device thereof
US10904566B2 (en) 2015-03-18 2021-01-26 Hfi Innovation Inc. Method and apparatus for index map coding in video and image compression
US9460365B1 (en) * 2015-03-24 2016-10-04 Intel Corporation Clustered palette compression
US9819962B2 (en) * 2015-04-06 2017-11-14 Ati Technologies Ulc Efficient low-complexity video compression
GB2536734B (en) * 2015-04-17 2017-08-02 Imagination Tech Ltd Image synthesis
WO2016192055A1 (en) * 2015-06-03 2016-12-08 富士通株式会社 Image coding method and apparatus using prediction information and image processing device
CN106254865B (en) 2015-06-08 2020-06-09 同济大学 Image encoding and decoding method and image processing equipment
WO2016197893A1 (en) * 2015-06-08 2016-12-15 同济大学 Image encoding and decoding method, image processing device, and computer storage medium
WO2016197317A1 (en) * 2015-06-09 2016-12-15 富士通株式会社 Copy information encoding and decoding method and apparatus, and image processing device
WO2016197314A1 (en) * 2015-06-09 2016-12-15 Microsoft Technology Licensing, Llc Robust encoding/decoding of escape-coded pixels in palette mode
CN106341622B (en) * 2015-07-06 2020-01-24 阿里巴巴集团控股有限公司 Method and device for encoding multi-channel video stream
CN107431809B (en) * 2015-07-27 2020-02-14 华为技术有限公司 Image processing method and device
JP6890593B2 (en) * 2015-12-24 2021-06-18 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. Devices and methods for determining the length of related history
WO2017137006A1 (en) * 2016-02-10 2017-08-17 同济大学 Encoding and decoding method and device for data compression
CN107071450B (en) 2016-02-10 2021-07-27 同济大学 Coding and decoding method and device for data compression
CN107770543B (en) * 2016-08-21 2023-11-10 上海天荷电子信息有限公司 Data compression method and device for sequentially increasing cutoff values in multiple types of matching parameters
CN107770553B (en) * 2016-08-21 2023-06-27 上海天荷电子信息有限公司 Data compression method and device adopting multiple types of matching parameters and parameter storage addresses
CN107770544B (en) * 2016-08-21 2023-12-08 上海天荷电子信息有限公司 Data compression method and device adopting multiple types of matching parameters and pre-parameter buffer areas
CN106788447B (en) * 2016-11-29 2020-07-28 苏州浪潮智能科技有限公司 Matching length output method and device for L Z77 compression algorithm
CN107682707B (en) * 2017-10-23 2023-06-09 福州大学 Image dividing system conforming to H.265 standard and based on quadtree structure
CN108171662B (en) * 2017-12-18 2020-08-07 珠海全志科技股份有限公司 Method for reading image compression data and anti-distortion method comprising same
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
CN110087073B (en) * 2019-05-13 2021-01-26 绍兴文理学院 Multi-threshold string matching data compression method
CN112543333B (en) * 2020-06-02 2021-08-24 腾讯科技(深圳)有限公司 Video decoding method, video encoding method and related equipment
CN112532974A (en) * 2020-11-24 2021-03-19 浙江大华技术股份有限公司 Encoding method, apparatus and storage medium for string encoding technique
CN114615498A (en) * 2020-12-05 2022-06-10 腾讯科技(深圳)有限公司 Video decoding method, video encoding method, related device and storage medium
CN113347437B (en) * 2021-04-15 2022-09-06 浙江大华技术股份有限公司 Encoding method, encoder, decoder and storage medium based on string prediction
WO2022117113A1 (en) * 2020-12-06 2022-06-09 Zhejiang Dahua Technology Co., Ltd. Systems and methods for video encoding
CN112565748B (en) * 2020-12-06 2022-08-09 浙江大华技术股份有限公司 Video coding method, device and system and computer readable storage medium
CN113365080B (en) * 2021-03-19 2023-02-28 浙江大华技术股份有限公司 Encoding and decoding method, device and storage medium for string coding technology
CN115622570B (en) * 2022-12-14 2023-02-21 山东融汇通达网络科技有限公司 Efficient data storage method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101385356A (en) * 2006-02-17 2009-03-11 汤姆森许可贸易公司 Process for coding images using intra prediction mode
CN101394565A (en) * 2008-10-20 2009-03-25 成都九洲电子信息系统有限责任公司 Intra-frame prediction method
CN101594533A (en) * 2009-06-30 2009-12-02 华中科技大学 A kind of compression method that is applicable to sequence images of unmanned aerial vehicle
CN102917225A (en) * 2012-10-25 2013-02-06 电子科技大学 Method for quickly selecting HEVC (high-efficiency video coding) inframe coding units

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102469310B (en) * 2010-11-19 2015-02-04 深圳市云宙多媒体技术有限公司 Sub-pixel interpolation method and system
CN102611884B (en) * 2011-01-19 2014-07-09 华为技术有限公司 Image encoding and decoding method and encoding and decoding device
CN102497546B (en) * 2011-11-28 2014-03-05 同济大学 Screen image compression device and compression method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101385356A (en) * 2006-02-17 2009-03-11 汤姆森许可贸易公司 Process for coding images using intra prediction mode
CN101394565A (en) * 2008-10-20 2009-03-25 成都九洲电子信息系统有限责任公司 Intra-frame prediction method
CN101594533A (en) * 2009-06-30 2009-12-02 华中科技大学 A kind of compression method that is applicable to sequence images of unmanned aerial vehicle
CN102917225A (en) * 2012-10-25 2013-02-06 电子科技大学 Method for quickly selecting HEVC (high-efficiency video coding) inframe coding units

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Inter frame coding with template matching spatio-temporal prediction;Sugimoto K;《International Conference on Image Processing》;20041231;全文 *

Also Published As

Publication number Publication date
CN111800640A (en) 2020-10-20
CN111800641A (en) 2020-10-20
CN111800640B (en) 2023-11-10
CN104244007A (en) 2014-12-24
CN111800641B (en) 2023-08-25

Similar Documents

Publication Publication Date Title
CN104244007B (en) Image coding method and device and decoding method and device
CN104378644B (en) Image compression method and device for fixed-width variable-length pixel sample string matching enhancement
US11394970B2 (en) Image encoding and decoding method and device
CN111819853B (en) Image block encoding device and image block encoding method
CN104853209B (en) Image coding and decoding method and device
WO2017071480A1 (en) Reference frame decoding method
CN110024408A (en) Coded image data/coding/decoding method and device
CN107409217A (en) Adaptive model Inspection Order for Video coding
CN110691250B (en) Image compression apparatus combining block matching and string matching
CN107211160A (en) The video coding encoded by palette prediction residue
CN104754362B (en) Image compression method using fine-divided block matching
US11212527B2 (en) Entropy-inspired directional filtering for image coding
CN110710206B (en) Method and apparatus for modifying scan order to limit scan distance
CN104811731A (en) Multilayer sub-block matching image compression method
CN110505488B (en) Image coding or decoding method for expanding prediction pixel array
RU2778377C1 (en) Method and apparatus for encoding a point cloud
US20240056588A1 (en) Scalable video coding for machine
WO2024065406A1 (en) Encoding and decoding methods, bit stream, encoder, decoder, and storage medium
CN115914651A (en) Point cloud coding and decoding method, device, equipment and storage medium
CN115474041A (en) Point cloud attribute prediction method and device and related equipment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant