Data compression method and device for equal bit precision prediction, mapping and segmented coding
Through fully reversible equal-bit accuracy prediction operation and winding effect correction mapping, combined with multiple-multiple basic bit unit entropy coding between partitions, the problem of increasing bit accuracy in prediction encoding is solved, which improves encoding and decoding efficiency and reduces complexity and power consumption. .
Patent Information
- Application Number
- CN201910065374.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-01-23
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2039-01-23
AI Technical Summary
In the existing prediction encoding, prediction operations lead to an increase in bit accuracy, expand the range of data values, increase the complexity and power consumption of encoding and decoding, and reduce processing efficiency.
Fully reversible equal-bit accuracy prediction operation is adopted, and prediction operation is performed by discarding the highest bit, and the mapping and entropy encoding between partitions are corrected by winding effect and the entropy coding is maintained to keep the bit accuracy unchanged and the entropy coding complexity is reduced.
It effectively keeps the bit accuracy unchanged, reduces the complexity of subsequent entropy coding, improves the encoding and decoding efficiency, and reduces power consumption.
Smart Images

Figure 190123233650 
Figure 190123233702
Abstract
Description
Technical Field
[0001] The present invention relates to a coding and decoding system for lossy or lossless compression of data, in particular to a method and device for coding and decoding image and video data. Background Art
[0002] As human society enters the era of artificial intelligence, big data, virtual reality, augmented reality, mixed reality, cloud computing, mobile computing, cloud-mobile computing, ultra-high definition (4K) and ultra-ultra-high definition (8K) video image resolution, and 4G / 5G communications, ultra-high compression ratio and extremely high quality data compression for various data, including big data, image data, video data, and various new forms of data has become an indispensable technology.
[0003] A data set is a set of finite data arranged in a certain spatial (one-dimensional, two-dimensional, or multi-dimensional) shape, composed of data sample values, also called elements (e.g., bytes, bits, pixels, pixel components, spatial sampling points, transform domain coefficients) (e.g., a one-dimensional data queue, a two-dimensional data file, a frame of image, a video sequence, a transform domain, a transform block, multiple transform blocks, a three-dimensional scene, a sequence of continuously changing three-dimensional scenes). When encoding (and correspondingly decoding) a data set, especially a two-dimensional or larger data set, for data compression, the data set is usually divided into several subsets with a predetermined shape, called coding blocks (from the perspective of decoding, also called decoding blocks, collectively referred to as coding and decoding blocks), and the coding or decoding is performed one by one in a predetermined time sequence, with coding and decoding blocks as units. At any time, the coding block being encoded is called the current coding block. At any time, the decoding block being decoded is called the current decoding block. The current coding block or the current decoding block is collectively referred to as the current coding and decoding block or simply the current block. The sample value being encoded or decoded is called the current coding sample value or the current decoding sample value, referred to as the current sample value or the current element.
[0004] For a codec block with a certain shape (not necessarily limited to square, rectangle or triangle, but any other reasonable shape), it is necessary to divide it into finer primitives (basic units) in many cases, and encode or decode one primitive at a time in a predetermined order. For all sample values in a primitive, the same type of encoding or decoding operation is usually performed. At any time, the primitive being encoded or decoded is called the current primitive. The result of encoding a primitive is one or more encoding parameters, and finally a compressed data code stream containing these encoding parameters is generated. Decoding a primitive is to parse the compressed data code stream to obtain one or more encoding parameters, and restore the sample values of the reconstructed data from the one or more encoding parameters.
[0005] Examples of primitives include codec blocks (the entire block is considered a primitive), sub-blocks, micro-blocks, strings, byte strings, alpha strings, pixel strings, sample strings, index strings, and lines.
[0006] Many common datasets D A notable feature of is that there is a correlation between the current element Di of the data set and other elements. In this case, the prediction operation, also often called matching or difference or DPCM, can effectively reduce the entropy of the data set and improve the coding efficiency of the subsequent entropy coding stage.
[0007] The most common basic prediction operation is that for the current element Di, the encoder determines a prediction value Pi according to a predetermined rule, calculates the prediction residual Ri = Di-Pi, then entropy codes Ri, and writes the entropy coding result into the compressed data stream and transmits it to the decoder. The decoder obtains Ri from the compressed data stream through entropy decoding and other steps, determines a prediction value Pi according to the same predetermined rule as the encoder, and then calculates the current element Di = Ri + Pi.
[0008] In the prior art, Di and Pi usually have the same bit precision of n bits, so Ri has a bit precision of n+1 bits, that is, the prediction operation expands the value range of the data, and the value range of the prediction residual Ri is twice as large as the value range of the original data Di. Ri consumes one more bit than Di, doubling the value range, which is a negative effect of the prediction operation, which not only affects the improvement of coding efficiency, but also increases or even significantly increases the implementation complexity and power consumption (i.e., power consumption) of the codec, and reduces the processing efficiency of the codec. For example, in general-purpose processors such as CPUs and GPUs, the processors process data with a fixed bit precision, such as 8 bits, 16 bits, 32 bits, 64 bits, and 128 bits. Adding one bit often results in doubling the bit precision of the data, such as changing from 8 bits, 16 bits, 32 bits, and 64 bits to 16 bits, 32 bits, 64 bits, and 128 bits, respectively. Modern processors have the ability to process multiple data in parallel with a single instruction. One instruction of a 128-bit processor can simultaneously process 16 8-bit data, 8 16-bit data, 4 32-bit data, 2 64-bit data, or 1 128-bit data. Therefore, doubling the bit precision of processing directly leads to halving the parallel processing capability, halving the processing efficiency, and doubling the processing power consumption. This is a serious problem in predictive coding. Summary of the invention
[0009] In order to solve this problem in predictive coding, the present invention provides a prediction operation method that maintains the same bit accuracy; at the same time, in order to overcome the warping effect generated by this method that increases the complexity of subsequent entropy coding, a warping effect correction mapping is provided to effectively remove the warping effect; in addition, a multiple basic bit unit entropy coding method between partitions is provided to perform low-complexity effective entropy coding on the mapped prediction residual.
[0010] The most basic unique technical feature of the encoding method or device of the present invention is to include at least one of the following functions or a combination thereof:
[0011] 1) Perform a fully reversible equal bit precision prediction operation on the current element and its predicted value with the same bit precision to obtain a prediction residual with the same bit precision as the current element. An example of a fully reversible equal bit precision prediction operation, referred to as an equal precision prediction operation, includes a subtraction operation followed by discarding the highest bit and retaining all other bits except the highest bit, and a fully reversible inverse operation is an addition operation followed by discarding the highest bit and retaining all other bits except the highest bit.
[0012] Traditional non-equal precision prediction operations always expand a new additional value range based on the original value range, resulting in an increase in bit precision. For example, if the original value ranges of Di and Pi are both [0, 255], the value range of Ri becomes [-255, 255], expanding a new additional value range of [-255, -1].
[0013] The equal-precision prediction operation essentially achieves the purpose of keeping the original value range and the original bit precision unchanged by "wrapping" the additional value range back to the original value range or a part of it according to a predetermined rule. For example, the additional value range [-255, -1] is "wrapped" back to a part of the original value range [1, 255].
[0014] This wrapping effect of equal-precision prediction operation changes the values outside one end of the prediction residual value range to values within the other end of the value range. For example, the values -1, -2, -3, ... outside the 0 end of the prediction residual value range [0, 255] are changed to values 255, 254, 253, ... within the 255 end of the value range.
[0015] In many cases, the equal-precision prediction operation may split a continuous interval where the prediction residuals are originally clustered (i.e., there are more data taking these values) into two separate sub-ranges in the value range, increasing the complexity of subsequent entropy coding of the prediction residuals. For example, splitting an interval [-7, 7] where the values are originally clustered into two separate sub-ranges [0, 7] and [249, 255] in the value range requires the values to be judged and operated separately during entropy coding, increasing the complexity of entropy coding.
[0016] 2) Performing warping effect correction mapping on the prediction residual, reorganizing two sub-ranges in the value range that were originally continuous but separated from each other due to the warping effect into a connected interval in a predetermined manner, so as to remove the warping effect generated by the equal-precision prediction operation and reduce the complexity of subsequent entropy coding. An example of warping effect correction mapping includes mapping the values of two separated sub-ranges 0, 1, 2, ... … and 255, 254, 253, ... … to 0, 2, 4, ... … and 1, 3, 5, ... …, respectively, and reorganizing them into a connected interval 0, 1, 2, 3, 4, 5, ... ….
[0017] 3) Perform entropy coding of multiple basic bit units for the predicted residual after mapping: divide the value range of the predicted residual after mapping into K (2 ≤ K ≤ 100) intervals, and use code lengths (i.e., number of bits) of V for the values of the K intervals respectively. k The codewords are entropy encoded, where 1 ≤ k ≤ K, and each V k They are all integer multiples of a predetermined integer constant bit number C greater than 1, called the basic bit unit; at least the information representing the prediction residual is written into the compressed data bit stream. Examples of partition interval multiple basic bit unit entropy coding include K=3, C=4, V1=4, V2=8, V3=16.
[0018] The most basic unique technical feature of the decoding method or device of the present invention is to include at least one of the following functions or a combination thereof:
[0019] 1) Parse the compressed data code stream to obtain at least the information representing the value of the data, and perform entropy decoding on the data in multiple basic bit units: divide the data value range into K (2 ≤ K ≤ 100) intervals, and use code lengths (i.e., number of bits) of V for the values of the K intervals. k The codeword is entropy decoded to obtain the value of the data, where 1 ≤ k ≤ K, and each V k They are all integer multiples of a predetermined integer constant bit number C greater than 1, called the basic bit unit.
[0020] 2) Performing a convolution effect corrected inverse mapping on the data, reorganizing a connected interval of the data value range into two separate sub-ranges in the value range in a predetermined manner.
[0021] 3) Performing equal bit precision prediction compensation operation on the residual data of the current element and its predicted value with the same bit precision to obtain the current element with the same bit precision as the residual data.
[0022] According to one aspect of the present invention, a data compression encoding method or device is provided, which includes at least steps or modules for performing one or a combination of the following functions and operations:
[0023] 1) performing a fully reversible equal-bit-precision prediction operation on the current element and its predicted value with the same bit precision to obtain a prediction residual with the same bit precision as the current element;
[0024] 2) Perform a wrap-up effect correction mapping on the value range of the data, and reorganize two sub-ranges in the value range that were originally continuous but separated from each other due to the wrap-up effect into a connected interval in a predetermined manner to remove the wrap-up effect caused by the equal-precision prediction operation;
[0025] 3) Perform entropy coding of multiple basic bit units in intervals: Divide the value range of the data into K intervals (2 ≤ K ≤ 100), and use code lengths (i.e., bit numbers) of V for the values of the K intervals. k The codewords are entropy encoded, where 1 ≤ k ≤ K, and each V k They are all integer multiples of a predetermined integer constant bit number C greater than 1, called the basic bit unit; at least the information representing the data is written into the compressed data code stream.
[0026] From a first perspective, the present invention provides a coding method for compressing data, characterized in that it includes at least one of the following steps or a combination thereof:
[0027] 1) performing a fully reversible equal-bit-precision prediction operation on the current element and its predicted value with the same bit precision to obtain a prediction residual with the same bit precision as the current element;
[0028] 2) Perform a wrap-up effect correction mapping on the value range of the data, and reorganize two sub-ranges in the value range that were originally continuous but separated from each other due to the wrap-up effect into a connected interval in a predetermined manner to remove the wrap-up effect caused by the equal-precision prediction operation;
[0029] 3) Perform entropy coding of multiple basic bit units in intervals: Divide the value range of the data into K intervals (2 ≤ K ≤ 100), and use code lengths (i.e., bit numbers) of V for the values of the K intervals.k The codewords are entropy encoded, where 1 ≤ k ≤ K, and each V k They are all integer multiples of a predetermined integer constant bit number C greater than 1, called the basic bit unit; at least the information representing the data is written into the compressed data code stream.
[0030] From a second perspective, the present invention provides a coding device for compressing data, characterized in that it includes at least one of the following modules or a combination thereof:
[0031] 1) Equal bit precision prediction operation module: performs a fully reversible equal bit precision prediction operation on the current element and its predicted value with the same bit precision to obtain a prediction residual with the same bit precision as the current element;
[0032] 2) Wrapping effect correction mapping module: performs wrapping effect correction mapping on the value range of the data, and reorganizes two sub-ranges in the value range that were originally continuous but separated from each other due to the wrapping effect into a connected interval in a predetermined manner to remove the wrapping effect caused by the equal-precision prediction operation;
[0033] 3) Interval-based multiple basic bit unit entropy coding module: Perform interval-based multiple basic bit unit entropy coding on the data: divide the value range of the data into K intervals satisfying 2 ≤ K ≤ 100, and use code lengths (i.e., bit numbers) of V for the values of the K intervals. k The codewords are entropy encoded, where 1 ≤ k ≤ K, and each V k They are all integer multiples of a predetermined integer constant bit number C greater than 1, called the basic bit unit; at least the information representing the data is written into the compressed data code stream.
[0034] According to another aspect of the present invention, a data compression decoding method or device is also provided, which includes at least steps or modules for performing one or a combination of the following functions and operations:
[0035] 1) Parse the compressed data code stream to obtain at least the information representing the value of the data, and perform entropy decoding of the data in multiple basic bit units: divide the value range of the data into K intervals satisfying 2 ≤ K ≤ 100, and use code lengths (i.e., bit numbers) of V for the values of the K intervals. k The codeword is entropy decoded to obtain the value of the data, where 1 ≤ k ≤ K, and each V k They are all integer multiples of a predetermined integer constant bit number C greater than 1, called the basic bit unit;
[0036] 2) Performing a convolution effect correction inverse mapping on the data, reorganizing a connected interval of the data value range into two separate sub-ranges in the value range in a predetermined manner;
[0037] 3) Performing equal bit precision prediction compensation operation on the residual data of the current element and its predicted value with the same bit precision to obtain the current element with the same bit precision as the residual data.
[0038] From a third perspective, the present invention provides a method for decoding compressed data, characterized in that it includes at least one of the following steps or a combination thereof:
[0039] 1) Parse the compressed data code stream to obtain at least the information representing the value of the data, and perform entropy decoding of the data in multiple basic bit units: divide the value range of the data into K intervals satisfying 2 ≤ K ≤ 100, and use code lengths (i.e., bit numbers) of V for the values of the K intervals. k The codeword is entropy decoded to obtain the value of the data, where 1 ≤ k ≤ K, and each V k They are all integer multiples of a predetermined integer constant bit number C greater than 1, called the basic bit unit;
[0040] 2) Performing a convolution effect correction inverse mapping on the data, reorganizing a connected interval of the data value range into two separate sub-ranges in the value range in a predetermined manner;
[0041] 3) Performing equal bit precision prediction compensation operation on the residual data of the current element and its predicted value with the same bit precision to obtain the current element with the same bit precision as the residual data.
[0042] From a fourth perspective, the present invention provides a decoding device for compressing data, characterized in that it includes at least one of the following modules or a combination thereof:
[0043] 1) Inter-partition multiple basic bit unit entropy decoding module: parse the compressed data code stream, at least obtain the information representing the value of the data, and perform inter-partition multiple basic bit unit entropy decoding on the data: divide the data value range into K intervals satisfying 2 ≤ K ≤ 100, and use code lengths, i.e., bit numbers, of V for the values of the K intervals. k The codeword is entropy decoded to obtain the value of the data, where 1 ≤ k ≤ K, and each V k They are all integer multiples of a predetermined integer constant bit number C greater than 1, called the basic bit unit;
[0044] 2) Convolution effect correction inverse mapping module: performs convolution effect correction inverse mapping on the data, and reorganizes a connected interval of the data value range into two separate sub-ranges in the value range in a predetermined manner;
[0045] 3) Equal bit precision prediction and compensation operation module: performs equal bit precision prediction and compensation operation on the residual data of the current element and its predicted value with the same bit precision, to obtain the current element with the same bit precision as the residual data.
[0046] The present invention is applicable to encoding and decoding of lossy compressed data, and the present invention is also applicable to encoding and decoding of lossless compressed data. The present invention is applicable to encoding and decoding of one-dimensional data such as string data or byte string data or one-dimensional graphics or fractal graphics, and the present invention is also applicable to encoding and decoding of two-dimensional or more data such as image or video data.
[0047] In the present invention, the data involved in data compression includes one or a combination of the following types of data:
[0048] 1) One-dimensional data;
[0049] 2) Two-dimensional data;
[0050] 3) Multidimensional data;
[0051] 4) Graphics;
[0052] 5) Fractal graphics;
[0053] 6) Image;
[0054] 7) Sequence of images;
[0055] 8) Video;
[0056] 9) Three-dimensional scene;
[0057] 10) Sequences of continuously changing three-dimensional scenes;
[0058] 11) Virtual reality scenes;
[0059] 12) Sequence of continuously changing virtual reality scenes
[0060] 13) Images in pixel form;
[0061] 14) Transform domain data of the image;
[0062] 15) A collection of bytes of two or more dimensions;
[0063] 16) A set of bits of two or more dimensions;
[0064] 17) A collection of pixels;
[0065] 18) A collection of pixel components.
[0066] In the present invention, when the data is an image, a sequence of images, a video, etc., a coding block or a decoding block is a coding area or a decoding area of an image, including at least one of the following: an entire image, a sub-image of an image, a slice, a tile, a macroblock, a maximum coding unit LCU, a coding tree unit CTU, a coding unit CU, a sub-area of a CU, a sub-coding unit SubCU, a prediction unit PU, a sub-area of a PU, a sub-prediction unit SubPU, a transform unit TU, a sub-area of a TU, and a sub-transform unit SubTU.
[0067] In the present invention, the primitives of the codec block involved in data compression include one of the following situations or a combination thereof: codec block, sub-block, micro-block, string, byte string, alpha string, pixel string, sample string, index string, line, matching block, matching sub-block, matching micro-block, matching string, matching pixel string, matching sample string, matching index string, matching bar, matching line, offset string, coordinate string, unpredictable pixel, unpredictable pixel string, coordinate or unpredictable pixel string.
[0068] The technical features of the present invention are described above by using several specific examples. Those skilled in the art can easily understand other advantages and effects of the present invention from the contents disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0069] Figure 1 It is a schematic diagram of the encoding method or device of the present invention.
[0070] Figure 2 It is a schematic diagram of a decoding method or device of the present invention. DETAILED DESCRIPTION
[0071] The following are more implementation details or variations of the present invention.
[0072] Implementation or variant example 1
[0073] In the encoding method or device, the equal bit precision prediction operation is to discard the highest bit after the subtraction operation and retain all other bits except the highest bit;
[0074] In the decoding method or device, the equal bit precision prediction compensation operation is to discard the highest bit after the addition operation and retain all other bits except the highest bit.
[0075] Implementation or variant example 2
[0076] In the encoding method or device, the warping effect correction mapping is the following mapping:
[0077] A sub-range of j in the value range {j: 0 ≤ j < J, J = I / 2 and I is a predetermined even number} = {0, 1, 2, and so on, J-3, J-2, J-1} is mapped to an even value i = 2j in a connected interval {i: 0 ≤ i < I} composed of values i, that is, j is mapped to i = 2j; a sub-range of H-1-j in the value range {H-1-j: 0 ≤ j < J} = {H-1, H-2, H-3, and so on, H-J+2, H-J+1, HJ} is mapped to an odd value i = 2j + 1 in the connected interval, that is, H-1-j is mapped to i = 2j + 1, where H is greater than or equal to I;
[0078] Obviously, the sub-ranges {0, 1, 2, and so on, J-3, J-2, J-1} and {H-1, H-2, H-3, and so on, H-J+2, H-J+1, HJ} are two mutually separated sub-ranges in the value range, and the wrap-up effect correction mapping reorganizes the two mutually separated sub-ranges in the value range into a connected interval;
[0079] In the decoding method or device, the warping effect correction inverse mapping is the following mapping:
[0080] Mapping an even value i=2j in a connected interval {i: 0 ≤ i < I, I=2J is a predetermined even number} composed of values i to a subrange composed of j in a value range {j: 0 ≤ j < J}={0, 1, 2, and so on, J-3, J-2, J-1}, that is, mapping i=2j to j; mapping an odd value i=2j + 1 in the connected interval to a subrange composed of H-1-j in a value range {H-1-j: 0 ≤ j < J}={H-1, H-2, H-3, and so on, H-J+2, H-J+1, HJ}, that is, mapping i=2j + 1 to H-1-j, where H is greater than or equal to I;
[0081] Obviously, the sub-ranges {0, 1, 2, and so on, J-3, J-2, J-1} and {H-1, H-2, H-3, and so on, H-J+2, H-J+1, HJ} are two separate sub-ranges in the value range, and the winding effect corrected inverse mapping reorganizes a connected interval of the value range into the two separate sub-ranges in the value range.
[0082] Implementation or variant example 3
[0083] In the encoding method or device or the decoding method or device, K is greater than or equal to 3, C is 4, V1 is 4, V2 is 8, and V3 is 16.
[0084] Implementation or variant example 4
[0085] In the encoding method or device or the decoding method or device, K is greater than or equal to 3, C is 4, V1 is 4, V2 is 8, V3 is 16, and the data value range or a subrange thereof [0, N], where 255 ≤ N ≤ 390, is divided into the following three intervals:
[0086] Interval 1 is [0, 7],
[0087] Interval 2 is [8, 133] or [8, 134],
[0088] Interval 3 is [134, N-1] or [135, N],
[0089] For values in interval 1, entropy encoding and decoding is performed using codewords of the form 0xxx, where x is 0 or 1 and the code length is 4 bits.
[0090] For values in interval 2, entropy encoding and decoding is performed using code words of the form 1xxxxxxx, where x is 0 or 1, and the code length is 8 bits, except for 111111110 and 11111111 or except for 111111111.
[0091] For values in interval 3, entropy encoding and decoding is performed using a codeword in the form of 11111110xxxxxxxx or 111111111xxxxxxxx, where x is 0 or 1 and the code length is 16 bits.
[0092] Implementation or variant example 5
[0093] In the encoding method or device, at the encoding block level, the equal bit precision prediction operation and / or the warping effect correction mapping and / or the multiple basic bit unit entropy coding between partitions are optionally adopted or not adopted to encode the encoding block;
[0094] In the decoding method or device, at the decoding block level, the equal bit precision prediction compensation operation and / or the warping effect correction inverse mapping and / or the multiple basic bit unit entropy decoding between partitions are optionally used or not used to decode the decoding block.
Claims
1. A data compression encoding method, characterized in that: 1) performing a fully reversible equal-bit-precision prediction operation on the current element and its predicted value with the same bit precision to obtain a prediction residual with the same bit precision as the current element; 2) Perform a wrap-up effect correction mapping on the value range of the data, and reorganize two sub-ranges in the value range that were originally continuous but separated from each other due to the wrap-up effect into a connected interval in a predetermined manner to remove the wrap-up effect caused by the equal-precision prediction operation; 3) Perform entropy coding of multiple basic bit units on the data: Divide the value range of the data into K intervals, where 2 ≤ K ≤ 100, and use code lengths of V bits for the values of the K intervals. k The codewords are entropy encoded, where 1 ≤ k ≤ K, and each V k are all integer multiples of a predetermined integer constant bit number C greater than 1, called a basic bit unit; at least the information representing the data is written into the compressed data code stream; The equal bit precision prediction operation is to discard the highest bit after the subtraction operation and only retain all other bits except the highest bit; The wrap-around correction map is the following map: A sub-range of j in the value range {j: 0 ≤ j < J, J = I / 2 and I is a predetermined even number} = {0, 1, 2, and so on, J-3, J-2, J-1} is mapped to an even value i = 2j in a connected interval {i: 0 ≤ i < I} composed of values i, that is, j is mapped to i = 2j; a sub-range of H-1-j in the value range {H-1-j: 0 ≤ j < J} = {H-1, H-2, H-3, and so on, H-J+2, H-J+1, HJ} is mapped to an odd value i = 2j + 1 in the connected interval, that is, H-1-j is mapped to i = 2j + 1, where H is greater than or equal to I; Obviously, the sub-ranges {0, 1, 2, and so on, J-3, J-2, J-1} and {H-1, H-2, H-3, and so on, H-J+2, H-J+1, HJ} are two separate sub-ranges in the value range, and the winding effect correction mapping reorganizes the two separate sub-ranges in the value range into a connected interval.
2. The encoding method according to claim 1, characterized in that In the case where data is generated from an image, a sequence of images, or a video, a coding block is a coding region of an image, including at least one of the following: an entire image, a sub-image of an image, a slice, a tile, a macroblock, a maximum coding unit LCU, a coding tree unit CTU, a coding unit CU, a sub-region of a CU, a sub-coding unit SubCU, a prediction unit PU, a sub-region of a PU, a sub-prediction unit SubPU, a transform unit TU, a sub-region of a TU, a sub-transform unit SubTU.
3. The encoding method according to claim 1, characterized in that: The K is greater than or equal to 3, the C is 4, V1 is 4, V2 is 8, and V3 is 16.
4. The encoding method according to claim 1, characterized in that: The K is greater than or equal to 3, the C is 4, V1 is 4, V2 is 8, and V3 is 16. The data value range or a subrange thereof [0, N], where 255 ≤ N ≤ 390, is divided into the following three intervals: Interval 1 is [0, 7], Interval 2 is [8, 133] or [8, 134], Interval 3 is [134, N-1] or [135, N], For values in interval 1, entropy coding is performed using codewords of the form 0xxx, where x is 0 or 1 and the code length is 4 bits. For values in interval 2, entropy coding is performed using a codeword of the form 1xxxxxxx, where x is 0 or 1, and a code length of 8 bits, except 111111110 and 11111111 or except 111111111. For values in interval 3, entropy encoding is performed using a codeword of the form 11111110xxxxxxxx or 111111111xxxxxxxx, where x is 0 or 1 and the code length is 16 bits.
5. The encoding method according to claim 1, characterized in that: At the coding block level, it is allowed to encode only a part of the coding blocks by using the equal bit precision prediction operation and / or the warping effect correction mapping and / or the multiple basic bit unit entropy coding between partitions.
6. A data compression encoding device, characterized in that: 1) Equal bit precision prediction operation module: performs a fully reversible equal bit precision prediction operation on the current element and its predicted value with the same bit precision to obtain a prediction residual with the same bit precision as the current element; 2) Wrapping effect correction mapping module: performs wrapping effect correction mapping on the value range of the data, and reorganizes two sub-ranges in the value range that were originally continuous but separated from each other due to the wrapping effect into a connected interval in a predetermined manner to remove the wrapping effect caused by the equal-precision prediction operation; 3) Interval-based multiple basic bit unit entropy coding module: Perform interval-based multiple basic bit unit entropy coding on the data: divide the value range of the data into K intervals satisfying 2 ≤ K ≤ 100, and use code lengths (i.e., bit numbers) of V for the values of the K intervals. k The codewords are entropy encoded, where 1 ≤ k ≤ K, and each V k are all integer multiples of a predetermined integer constant bit number C greater than 1, called a basic bit unit; at least the information representing the data is written into the compressed data code stream; The equal bit precision prediction operation is to discard the highest bit after the subtraction operation and only retain all other bits except the highest bit; The wrap-around correction map is the following map: A sub-range of j in the value range {j: 0 ≤ j < J, J = I / 2 and I is a predetermined even number} = {0, 1, 2, and so on, J-3, J-2, J-1} is mapped to an even value i = 2j in a connected interval {i: 0 ≤ i < I} composed of values i, that is, j is mapped to i = 2j; a sub-range of H-1-j in the value range {H-1-j: 0 ≤ j < J} = {H-1, H-2, H-3, and so on, H-J+2, H-J+1, HJ} is mapped to an odd value i = 2j + 1 in the connected interval, that is, H-1-j is mapped to i = 2j + 1, where H is greater than or equal to I; Obviously, the sub-ranges {0, 1, 2, and so on, J-3, J-2, J-1} and {H-1, H-2, H-3, and so on, H-J+2, H-J+1, HJ} are two separate sub-ranges in the value range, and the winding effect correction mapping reorganizes the two separate sub-ranges in the value range into a connected interval.
7. The encoding device according to claim 6, characterized in that In the case where data is generated from an image, a sequence of images, or a video, a coding block is a coding region of an image, including at least one of the following: an entire image, a sub-image of an image, a slice, a tile, a macroblock, a maximum coding unit LCU, a coding tree unit CTU, a coding unit CU, a sub-region of a CU, a sub-coding unit SubCU, a prediction unit PU, a sub-region of a PU, a sub-prediction unit SubPU, a transform unit TU, a sub-region of a TU, a sub-transform unit SubTU.
8. The encoding device according to claim 6, characterized in that: The K is greater than or equal to 3, the C is 4, V1 is 4, V2 is 8, and V3 is 16.
9. The encoding device according to claim 6, characterized in that: The K is greater than or equal to 3, the C is 4, V1 is 4, V2 is 8, and V3 is 16. The data value range or a subrange thereof [0, N], where 255 ≤ N ≤ 390, is divided into the following three intervals: Interval 1 is [0, 7], Interval 2 is [8, 133] or [8, 134], Interval 3 is [134, N-1] or [135, N], For values in interval 1, entropy coding is performed using codewords of the form 0xxx, where x is 0 or 1 and the code length is 4 bits. For values in interval 2, entropy coding is performed using a codeword of the form 1xxxxxxx, where x is 0 or 1, and a code length of 8 bits, except 111111110 and 11111111 or except 111111111. For values in interval 3, entropy encoding is performed using a codeword of the form 11111110xxxxxxxx or 111111111xxxxxxxx, where x is 0 or 1 and the code length is 16 bits.
10. The encoding device according to claim 6, characterized in that: At the coding block level, it is allowed to encode only a part of the coding blocks by using the equal bit precision prediction operation and / or the warping effect correction mapping and / or the multiple basic bit unit entropy coding between partitions.
11. A data compression decoding method, characterized in that: 1) Parse the compressed data code stream to obtain at least the information representing the value of the data, and perform entropy decoding of the data in multiple basic bit units: divide the value range of the data into K intervals satisfying 2 ≤ K ≤ 100, and use code lengths (i.e., bit numbers) of V for the values of the K intervals. k The codeword is entropy decoded to obtain the value of the data, where 1 ≤ k ≤ K, and each V k They are all integer multiples of a predetermined integer constant bit number C greater than 1, called the basic bit unit; 2) Performing a convolution effect correction inverse mapping on the data, reorganizing a connected interval of the data value range into two separate sub-ranges in the value range in a predetermined manner; 3) performing equal bit precision prediction compensation operation on the residual data of the current element and its predicted value with the same bit precision to obtain the current element with the same bit precision as the residual data; The equal bit precision prediction compensation operation is to discard the highest bit after the addition operation and only retain all other bits except the highest bit; The warping effect corrected inverse mapping is the following mapping: Mapping an even value i=2j in a connected interval {i: 0 ≤ i < I, I=2J is a predetermined even number} composed of values i to a subrange composed of j in a value range {j: 0 ≤ j < J}={0, 1, 2, and so on, J-3, J-2, J-1}, that is, mapping i=2j to j; mapping an odd value i=2j + 1 in the connected interval to a subrange composed of H-1-j in a value range {H-1-j: 0 ≤ j < J}={H-1, H-2, H-3, and so on, H-J+2, H-J+1, HJ}, that is, mapping i=2j + 1 to H-1-j, where H is greater than or equal to I; Obviously, the sub-ranges {0, 1, 2, and so on, J-3, J-2, J-1} and {H-1, H-2, H-3, and so on, H-J+2, H-J+1, HJ} are two separate sub-ranges in the value range, and the winding effect corrected inverse mapping reorganizes a connected interval of the value range into the two separate sub-ranges in the value range.
12. The decoding method according to claim 11, characterized in that: In the case where data is generated from an image, a sequence of images, or a video, a decoding block is a decoding area of an image, including at least one of the following: an entire image, a sub-image of an image, a slice, a tile, a macroblock, a maximum coding unit LCU, a coding tree unit CTU, a coding unit CU, a sub-area of a CU, a sub-coding unit SubCU, a prediction unit PU, a sub-area of a PU, a sub-prediction unit SubPU, a transform unit TU, a sub-area of a TU, a sub-transform unit SubTU.
13. The decoding method according to claim 11, characterized in that: The K is greater than or equal to 3, the C is 4, V1 is 4, V2 is 8, and V3 is 16.
14. The decoding method according to claim 11, characterized in that: The K is greater than or equal to 3, the C is 4, V1 is 4, V2 is 8, and V3 is 16. The data value range or a subrange thereof [0, N], where 255 ≤ N ≤ 390, is divided into the following three intervals: Interval 1 is [0, 7], Interval 2 is [8, 133] or [8, 134], Interval 3 is [134, N-1] or [135, N], For values in interval 1, entropy decoding is performed using codewords of the form 0xxx, where x is 0 or 1 and the code length is 4 bits. For values in interval 2, entropy decoding is performed using code words of the form 1xxxxxxx, where x is 0 or 1, and the code length is 8 bits, except 111111110 and 11111111 or except 111111111. For values in interval 3, entropy decoding is performed using a codeword of the form 11111110xxxxxxxx or 111111111xxxxxxxx, where x is 0 or 1 and the code length is 16 bits.
15. The decoding method according to claim 11, characterized in that: At the decoding block level, it is allowed to decode only a part of the decoding blocks by using the equal bit precision prediction compensation operation and / or the warping effect correction inverse mapping and / or the multiple basic bit unit entropy decoding between partitions to decode the decoding blocks.
16. A data compression decoding device, characterized in that: 1) Inter-partition multiple basic bit unit entropy decoding module: parse the compressed data code stream, obtain at least the information representing the value of the data, and perform inter-partition multiple basic bit unit entropy decoding on the data: divide the data value range into K intervals satisfying 2≤ K ≤ 100, and use code lengths of V bits for the values of the K intervals. k The codeword is entropy decoded to obtain the value of the data, where 1 ≤ k ≤ K, and each V k They are all integer multiples of a predetermined integer constant bit number C greater than 1, called the basic bit unit; 2) Convolution effect correction inverse mapping module: performs convolution effect correction inverse mapping on the data, and reorganizes a connected interval of the data value range into two separate sub-ranges in the value range in a predetermined manner; 3) Equal bit precision prediction and compensation operation module: performs equal bit precision prediction and compensation operation on the residual data of the current element and its predicted value with the same bit precision, to obtain the current element with the same bit precision as the residual data; The equal bit precision prediction compensation operation is to discard the highest bit after the addition operation and only retain all other bits except the highest bit; The warping effect corrected inverse mapping is the following mapping: Mapping an even value i=2j in a connected interval {i: 0 ≤ i < I, I=2J is a predetermined even number} composed of values i to a subrange composed of j in a value range {j: 0 ≤ j < J}={0, 1, 2, and so on, J-3, J-2, J-1}, that is, mapping i=2j to j; mapping an odd value i=2j + 1 in the connected interval to a subrange composed of H-1-j in a value range {H-1-j: 0 ≤ j < J}={H-1, H-2, H-3, and so on, H-J+2, H-J+1, HJ}, that is, mapping i=2j + 1 to H-1-j, where H is greater than or equal to I; Obviously, the sub-ranges {0, 1, 2, and so on, J-3, J-2, J-1} and {H-1, H-2, H-3, and so on, H-J+2, H-J+1, HJ} are two separate sub-ranges in the value range, and the winding effect corrected inverse mapping reorganizes a connected interval of the value range into the two separate sub-ranges in the value range.
17. The decoding device according to claim 16, characterized in that: In the case where data is generated from an image, a sequence of images, or a video, a decoding block is a decoding area of an image, including at least one of the following: an entire image, a sub-image of an image, a slice, a tile, a macroblock, a maximum coding unit LCU, a coding tree unit CTU, a coding unit CU, a sub-area of a CU, a sub-coding unit SubCU, a prediction unit PU, a sub-area of a PU, a sub-prediction unit SubPU, a transform unit TU, a sub-area of a TU, a sub-transform unit SubTU.
18. The decoding device according to claim 16, characterized in that: The K is greater than or equal to 3, the C is 4, V1 is 4, V2 is 8, and V3 is 16.
19. The decoding device according to claim 16, characterized in that: The K is greater than or equal to 3, the C is 4, V1 is 4, V2 is 8, and V3 is 16. The data value range or a subrange thereof [0, N], where 255 ≤ N ≤ 390, is divided into the following three intervals: Interval 1 is [0, 7], Interval 2 is [8, 133] or [8, 134], Interval 3 is [134, N-1] or [135, N], For values in interval 1, entropy decoding is performed using codewords of the form 0xxx, where x is 0 or 1 and the code length is 4 bits. For values in interval 2, entropy decoding is performed using code words of the form 1xxxxxxx, where x is 0 or 1, and the code length is 8 bits, except 111111110 and 11111111 or except 111111111. For values in interval 3, entropy decoding is performed using a codeword of the form 11111110xxxxxxxx or 111111111xxxxxxxx, where x is 0 or 1 and the code length is 16 bits.
20. The decoding device according to claim 16, characterized in that: At the decoding block level, it is allowed to decode only a part of the decoding blocks by using the equal bit precision prediction compensation operation and / or the warping effect correction inverse mapping and / or the multiple basic bit unit entropy decoding between partitions to decode the decoding blocks.
Citation Information
Patent Citations
Apparatus, method and computer program for 3D video coding
CN104521238A
Camera using film with magnetic storage part
JP1992116535A
