Coding method and apparatus for multiplexing only principal components from a predicted location of a point
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- 郭萍
- Filing Date
- 2021-11-01
- Publication Date
- 2026-06-23
Smart Images

Figure CN117319663B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to an encoding and decoding system for lossy or lossless data compression, and particularly to an encoding method and apparatus for data compression using point prediction, and a decoding method and apparatus. Background Technology
[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-high definition (8K) video image resolution, and 4G / 5G communication, ultra-high compression ratio and extremely high quality data compression for various types of data, including big data, image data, video data, and various new forms of data, has become an indispensable technology.
[0003] A dataset is a collection of data elements (e.g., bytes, bits, pixels, pixel components, spatial sampling points, transform domain coefficients).
[0004] When encoding or decoding a dataset, the data elements are usually sorted according to a predetermined rule, i.e., the order is specified, and then the encoding and decoding are performed according to the order.
[0005] When encoding (and corresponding decoding) a dataset arranged in a certain spatial (one-dimensional, two-dimensional, or multi-dimensional) shape (e.g., a one-dimensional data queue, a two-dimensional data file, a frame image, a video sequence, a transform domain, a transform block, multiple transform blocks, a three-dimensional scene, or a sequence of continuously changing three-dimensional scenes), especially two-dimensional or higher-dimensional datasets, the dataset is generally divided into several compressed subsets with a predetermined shape and / or size (i.e., the number of elements). The compressed subsets are then encoded or decoded sequentially in a predetermined order.
[0006] When encoding or decoding a compressed subset, this compressed subset is usually divided into several maximum compressed units with a predetermined shape and / or size (i.e., number of elements). Encoding or decoding is performed sequentially, one maximum compressed unit after another, in a predetermined order. Maximum compressed units arranged in a row from left to right constitute a maximum compressed unit row.
[0007] Within a maximum compression unit, this maximum compression unit is further divided into several sub-units with a predetermined shape and / or size (i.e., number of elements), called whole compression units. Encoding or decoding is performed one by one in a predetermined order, using whole compression units as the unit.
[0008] In short, the above process ultimately divides the dataset into several subsets with a predetermined shape and / or size (i.e., number of elements), called whole compression units. Encoding or decoding is performed one whole compression unit at a time in a predetermined order.
[0009] At any given moment, the compressed subset being encoded or decoded is called the current compressed subset. The largest compressed unit being encoded or decoded is called the current largest compressed unit. The row of the largest compressed unit being encoded or decoded is called the current largest compressed unit row. The integer compressed unit being encoded or decoded is called the current integer compressed unit. The data element being encoded or decoded (sometimes simply called an element) is called the currently encoded data element or the currently decoded data element, collectively referred to as the current data element, or simply the current element. An element consists of N components (usually 1 ≤ N ≤ 5), therefore the dataset, compressed subset, largest compressed unit, and integer compressed unit also consist of N components. The components of an element are also called component elements.
[0010] For example, a compressed subset is a frame of image whose elements, i.e., pixels, are arranged in a rectangular shape with a size (resolution) of 3840 (width) x 2160 (height), consisting of three components: G (green), B (blue), and R (red) components, or Y (luminance), U (Cb) and V (Cr) chrominance components. A frame of image is divided into a maximum compression unit of 128x128 pixels. Each maximum compression unit is further divided into smaller compression units of varying sizes, ranging from 4x4 to 64x64 squares or rectangles.
[0011] When a dataset is divided into compressed subsets, maximum compressed units, and integer compressed units, a predetermined rule for sorting the elements is to first sort the compressed subsets, then sort the maximum compressed units within each compressed subset, then sort the integer compressed units within each maximum compressed unit, and finally sort the elements within each integer compressed unit.
[0012] In other words, when the dataset is finally divided into whole compressed units, a predetermined rule for sorting is to first sort the whole compressed units, and then sort the elements within each whole compressed unit.
[0013] The relationship between the sampling rates of components in a multi-component dataset and an integer compression unit, which are the objects of encoding, is usually represented by the sampling format. Data in which all N components have the same sampling rate and size (i.e., the number of component samples) is called full-sampled data. Data in which N components have different sampling rates and sizes, where N1 components are called principal components, and the sampling rate and size of the remaining N-N1 components are called secondary components, and the sampling rate and size of the secondary components are integer multiples of the secondary components, is called downsampled data. These integer multiples are usually 2x, 4x, 8x, 2x2, 4x2, etc. In full-sampled data, all components are considered principal components, and there are no secondary components. In downsampled data, at least one component is a principal component and at least one component is a secondary component. For example, for an array of two-dimensional data elements including computer-generated images containing graphics and text, a sampling format called 4:4:4 (or simply 444) is often used, where all three components of the dataset have the same sampling rate and size (i.e., the number of component samples). For arrays of another type of two-dimensional data elements, including natural images and videos captured by cameras, a sampling format called 4:2:0 (or simply 420) is typically used. This means that for a dataset (such as an image or video) with a rectangular shape and three components, the sampling rate and size of two components called secondary components (D and E components) are one-quarter of the sampling rate and size of another component called the primary component (F component). In other words, there is a 4:1 downsampling relationship between the primary and secondary components. In this case, one D component D[i][j] and one E component E[i][j] correspond to four (2×2) F components F[2i][2j], F[2i+1][2j], F[2i][2j+1], and F[2i+1][2j+1]. If the resolution of the F component is 2M×2N (2M horizontal component elements and 2N vertical component elements), that is, the F component of the dataset is F = {F[m][n]: m = 0~2M-1, n = 0~2N-1}, then the resolutions of the D component and the E component are both M×N (M horizontal component elements and N vertical component elements), that is, the D component and the E component of the dataset are D = {D[m][n]: m = 0~M-1, n = 0~N-1} and E = {E[m][n]: m = 0~M-1, n = 0~N-1}, respectively. In situations where high quality is also required for the secondary components, a sampling format called 4:2:2 (abbreviated as 422) is often used. This means that for a dataset with a rectangular shape and three components (such as an image or video), the sampling rate and size of the two secondary components (D component and E component) are each half that of the other principal component (F component), which means that there is a 2:1 downsampling relationship between the principal component and the secondary component.In this scenario, in one direction (e.g., horizontally) of a dataset (such as an image or video), a D component D[i][j] and an E component E[i][j] correspond to two (2×1) F components F[2i][j] and F[2i+1][j]. If the resolution of the F components is 2M×N, i.e., the F components of the dataset are F = {F[m][n]: m = 0~2M-1, n = 0~N-1}, then the resolutions of the D and E components are both M×N, i.e., the D and E components of the dataset are D = {D[m][n]: m = 0~M-1, n = 0~N-1} and E = {E[m][n]: m = 0~M-1, n = 0~N-1}, respectively. In images and videos using YUV, YCbCr, or YCgCo color formats, the aforementioned F, D, and E components are typically Y, U, V components, Y, Cb, Cr components, or Y, Cg, Co components, respectively. In images and videos using the RGB color format, the F, D, and E components mentioned above are typically the G, B, and R components, or the G, R, and B components, respectively. When the data is an image or video, the sampling format is often referred to as the chroma format. A chroma format where all components have the same sampling rate is called a full chroma format. A chroma format where some components have a downsampling relationship with other components is called a downsampled chroma format.
[0014] In downsampling formats, the location of a minor component (usually called the minor component location) and its elements correspond to the locations of multiple major components (usually called major component locations; even simply referring to them as locations avoids confusion) and their elements. This one-to-many correspondence is uncertain. To eliminate this uncertainty, a major component is typically pre-specified among the multiple locations (such as 2x2 locations in the 420 format or 2x1 locations in the 422 format) and their elements corresponding to a minor component location and its elements. just Location and its just Elements (such as specifying 2x2 positions and their elements, including the top-left position and its elements, or 2x1 positions and their elements, including the leftmost position and its elements, are principal components) just Location and its just (element) as a one-to-one correspondence between the position and element of the subcomponent. The only legitimate one The location and elements of the principal components. Principal components. just There is a one-to-one correspondence between the position of the principal component and the position of the secondary component; therefore, the principal component... just The position and the position of the secondary component are collectively called the positive position, indicating that this position is both the principal component and the secondary component. just The position is also the position of the secondary component. There is also a one-to-one correspondence between the positive and secondary component positions. The positions other than the positive position among the multiple positions corresponding to a secondary component position are called non-positive positions. Principal component justThere is also a one-to-one correspondence between the principal components and the secondary components; therefore, the principal components... just The element and the secondary component elements together are called positive elements, indicating that the element is both a principal component and a secondary component. just Elements are also secondary component elements, and there is a one-to-one correspondence between positive elements and secondary component elements. Among the multiple elements corresponding to a secondary component element, all elements other than the positive element are called non-positive elements. On the other hand, in the full sampling format, all positions are considered principal components. just Location and just Position, all elements are considered principal components just Elements and just element.
[0015] In the case where the data is an array or sequence of two-dimensional data elements in a 420 sampling format, there is one principal component F and two secondary components D and E.
[0016] The sampling rate and size of the secondary components D and E are one-quarter of those of the primary component F, meaning that there is a 4:1 downsampling relationship between the primary and secondary components, or 2x2:1.
[0017] A D component element D[i][j] and an E component element E[i][j] correspond to 2×2 F component elements F[2i][2j], F[2i+1][2j], F[2i][2j+1], F[2i+1][2j+1] in a top-bottom-left-right arrangement;
[0018] The resolution of the F component elements is 2M×2N, that is, the array composed of the F component elements is F = {F[m][n]: m = 0~2M-1, n = 0~2N-1}.
[0019] The resolution of the D component elements is M×N, that is, the array composed of D component elements is D = {D[m][n]: m = 0~M-1, n = 0~N-1}.
[0020] The resolution of the E component elements is also M×N, that is, the E component elements form an array E = {E[m][n]: m = 0~M-1, n = 0~N-1}.
[0021] The positive element of the principal component at the pre-specified positive position is F[2i][2j], which is called the positive position of the principal component of the upper left corner type and its positive element;
[0022] or,
[0023] The positive element of the principal component at the pre-specified positive position is F[2i+1][2j], which is called the positive position of the principal component of the upper right corner type and its positive element;
[0024] or,
[0025] The positive element of the principal component at the pre-specified positive position is F[2i][2j+1], which is called the positive position of the principal component of the lower left corner type and its positive element;
[0026] or,
[0027] The positive element of the principal component at the pre-specified positive position is F[2i+1][2j+1], which is called the positive position of the principal component of the lower right corner type and its positive element.
[0028] When a dataset is divided into compressed units, a pre-defined sorting rule is to first sort the compressed units, and then sort the elements within each compressed unit.
[0029] One effective method for data compression is string prediction, also known as string matching. String prediction divides the elements of a current compressed unit into strings of variable length. For a current string being encoded or decoded (referred to as the current string), a reference string (also called the reference string, prediction string, or matching string) with the same or similar values is obtained from a set or subset of elements that have completed a predetermined degree of encoding or decoding, called the reference set. For a reference string of the current string, only a few parameters are needed to record the position and / or shape and / or size and / or dimensions of the reference string within the reference set, without needing to record the value of each element in the current string individually. This allows for a complete representation and reconstruction of all elements and their values of the current string whenever needed, thus achieving data compression. The elements of the reconstructed current string are called reconstructed elements, and their values are called the reconstructed values of the current string and its elements. Data compression where the reconstructed value of an element is equal to its original value is called lossless compression. Data compression where the reconstructed value of an element is not equal to its original value is called lossy compression.
[0030] For example, given a string ordered sequentially according to a certain scanning method, if a corresponding reference string can be found in a reference set, then only two parameters are needed: the positional relationship between the first element of the current string and the first element of the reference string, and the string length, to record the position and size of the reference string in the reference set. This eliminates the need to record the value of each element in the current string individually. This allows for a complete representation and reconstruction of all elements and their values whenever needed, obtaining the reconstructed values of the current string and its elements. The number of bits consumed in recording these two parameters is often far less than the number of bits consumed in recording the value of each element in the current string individually, thus achieving data compression.
[0031] In string prediction, the reconstruction operation is typically performed by reading a reference element and copying it to the current element's position. Therefore, string prediction is also called string copying. The throughput of producing the reconstructed element largely depends on the throughput of reading the reference element.
[0032] In string prediction, unpredictable elements (also known as unmatched, mismatched, or non-matched elements) may appear where no reference element can be found in the reference set. The components, principal components, and secondary components of an unpredictable element are called unpredictable components, unpredictable principal components, and unpredictable secondary components, respectively. For unpredictable elements, only their exact or approximate values can be recorded, compressed according to a predetermined method, and reconstructed whenever needed to obtain the reconstructed value of the unpredictable element.
[0033] Commonly used scanning methods in string prediction include:
[0034] Horizontal raster scanning: Elements within a single compressed cell are arranged one by one along the horizontal direction. After one row is completed, the next row is arranged. All scanning directions within a row are arranged from left to right or from right to left.
[0035] or
[0036] Horizontal back-and-forth scanning, also known as forward and backward scanning or bow scanning, involves arranging elements one by one in a horizontal direction within a single compressed cell. After arranging one row, the next row is arranged. In any two adjacent rows, the scanning direction of one row is from left to right, while the scanning direction of the other row is from right to left. Rows arranged from left to right are called forward rows, and rows arranged from right to left are called reverse rows.
[0037] or
[0038] Vertical raster scanning: Elements within a single compressed cell are arranged one by one along the vertical direction. After one column is completed, the next column is arranged. The scanning direction within all columns is either from top to bottom or from bottom to top.
[0039] or
[0040] Vertical back-and-forth scanning, also known as forward and backward scanning or bow scanning, involves arranging elements one by one along a vertical direction within a single compressed cell. After arranging one column, the next column is then arranged. In any two adjacent columns, one column is arranged from top to bottom while the other column is arranged from bottom to top. Columns arranged from top to bottom are called forward columns, and columns arranged from bottom to top are called reverse columns.
[0041] The first element in a string scan, i.e., the permutation, is called the starting element, and the last element in a string scan, i.e., the permutation, is called the ending element.
[0042] A special case of string prediction is block prediction, also known as block matching. In this special case, each string forms a rectangular block, or even a single string or block constitutes a complete compression unit. In this special case, encoding and decoding can proceed directly in blocks, rather than according to the form and order of element scanning. Alternatively, blocks and strings can be encoded and decoded in the same form and order as element scanning.
[0043] In this application, strings and blocks are collectively referred to as strings. Therefore, string prediction is also a general term for string prediction and block prediction.
[0044] A crucial factor affecting the coding efficiency of string prediction is the reference set, often referred to as the reference range, which is the range of possible positions of reference elements pointed to by the string vector. A larger reference range yields more candidate reference elements, increasing the likelihood of finding suitable ones and thus improving coding efficiency. However, a larger reference range also increases implementation complexity and cost. In particular, when the reference range becomes excessively large, reference elements cannot be stored internally in the codec chip and must be placed in a dedicated external memory chip. This not only increases cost but also severely bottlenecks read / write bandwidth and pixel processing throughput, potentially even hindering the encoding and decoding of high-resolution images and videos.
[0045] In string prediction techniques, to reduce implementation complexity and cost, the reference range is typically limited to a predetermined fixed size (i.e., the number of elements), such as being restricted to the largest compression unit or the nearest largest compression unit where the current compression unit is located. Even with a limited reference range, since its elements are all within the codec chip, read / write bandwidth and element processing throughput, especially the throughput of reading reference elements, remain bottlenecks. For example, if only a reference element capable of generating at most one reconstructed element can be read per clock cycle, the throughput of generating reconstructed elements will never exceed one element per clock cycle.
[0046] Point prediction is another special case of string prediction and an effective means of data compression.
[0047] Point prediction technology identifies the positions of data elements that have undergone predetermined encoding and decoding and whose values frequently recur within or near the current compressed unit as "frequent positions" within the dataset. These positions are stored in a frequent position array or a subset thereof. Each frequent position in the array or subset is identified by an index, called a frequent position index or frequent position address. Data elements at frequent positions are used as reference elements, prediction elements, or matching elements. For a given string of equal values to be encoded or decoded within a single compression unit, only an index parameter and a repetition count parameter for the frequently occurring position indicated by the index are needed. This indicates that the reference element for all elements of the equal string is an element at the frequently occurring position indicated by the index (this frequently occurring position can be the position of an element in the dataset preceding the equal string, or the position of an element within the equal string itself). Alternatively, it indicates that the value of all elements in the equal string is equal to the value of the element at the frequently occurring position indicated by the index (this frequently occurring position can be the position of an element in the dataset preceding the equal string, or the position of an element within the equal string itself). This eliminates the need to record the value of each element within the equal string individually, thus achieving data compression. The values of elements in the equal string used for reconstruction are typically equal to or close to (i.e., the error does not exceed a predetermined threshold) the values of the original elements, thereby ensuring high quality and low distortion of the reconstructed elements while achieving data compression. Frequently occurring positions are usually represented in the form of point vectors; therefore, the frequently occurring position index is also called the point vector address. The frequently occurring position array is usually a point vector array, that is, an array that stores the parameters of the point vectors. The parameters of the point vectors include at least the point vector itself and information related to the point vector. The point vector is usually represented by coordinates in a predetermined form, called the position coordinates of the point vector. The point vector array is sometimes also called the point prediction array or the point prediction information table.
[0048] For example, given a current string arranged according to a predetermined scanning method, if a point vector can be found within a persistent position array or a subset thereof, pointing to a reference element whose value is the predicted value of all elements in the current string, and using the predicted value as the value of the reconstructed element, then only the point vector address and the current string length are needed to record the value of each element in the current string. This eliminates the need to record the value of each element individually, thus completely representing all elements and their values in the current string. The number of bits consumed in recording these two parameters is often far less than the number of bits consumed in recording the value of each element individually, thereby achieving data compression.
[0049] A persistent position element, if it appears in a positive position (meaning the position specified by the point vector at that persistent position is positive), has all N components, including the secondary component. The compressed data stream contains all N components, including the secondary component. The encoder writes the values of all N components, including the secondary component, into the compressed data stream, while the decoder obtains the values of all N components, including the secondary component, from the compressed data stream. Otherwise, it only has a primary component and no secondary components. The encoder only writes the values of the primary components into the compressed data stream, and the decoder obtains only the values of the primary components from the compressed data stream. The values of the secondary components of a persistent position element are stored in the secondary component space at the positive position. A persistent position element serves as both a reconstructed element at its location and a reference element for other elements, used to obtain the reconstructed values of other elements. In this case, the persistent position element is also called a persistent position reference element.
[0050] In integer compression units using point prediction techniques for encoding and decoding, there may be unmatched elements where no reference element can be found. Unmatched elements, if they appear... just If a position contains all N components, including the secondary component, the encoder writes the values of all N components, including the secondary component, into the compressed data stream, and the decoder obtains the values of all N components, including the secondary component, from the compressed data stream. Otherwise, if only the primary component exists but no secondary component, the encoder writes only the value of the primary component into the compressed data stream, and the decoder obtains only the value of the primary component from the compressed data stream. Unmatched elements can also be used as reference elements for other elements to obtain their reconstructed values; in this case, the unmatched element is also called an unmatched reference element.
[0051] Point prediction technology divides the elements of a single compression unit into three types of string elements of variable length, along a scan path formed by continuously sorting them according to a predetermined scan method:
[0052] String Type 1: Equal-value string. In an equal-value string, the reference element or predictor element of all elements is equal to the value of an element at a constant position.
[0053] String type 2: Unmatched element string. All elements in an unmatched element string are unmatched elements, i.e., unpredictable elements;
[0054] String Type 3: Unit Basis Vector String. A unit basis vector string is a string that is located one unit distance directly above the current string, referring to the reference string. In horizontal scan mode, "directly above" means the directly adjacent string above, while in vertical scan mode, "directly above" means the directly adjacent string to the left. Therefore, a unit basis vector string is also called a copy of the string above.
[0055] Point prediction technology also mandates that the reference elements of a unit basis vector string are limited to elements within the current integer compression unit, and cannot be elements outside the current integer compression unit. Therefore, the initial source of each element in all three string types within an integer compression unit can only be a persistent position element or an unmatched element. In other words, the reference elements of all elements in an integer compression unit are, without exception, directly derived from persistent position elements or unmatched elements.
[0056] Therefore, in the integer compression unit that uses point prediction technology for encoding and decoding, the value of the reconstructed element (i.e. the reconstructed value of the element) is obtained from the element at the constant position or the unmatched element.
[0057] To improve the coding efficiency of point prediction, point prediction technology adds and stores the parameters of some or all frequently occurring positions and their point vectors used in the current compression unit to a historical point prediction information table for reuse in subsequent compression units. The frequently occurring positions and their point vectors used by the compression unit employing point prediction are partly derived from the historical point prediction information table (called reused frequently occurring positions and reused point vectors), and partly generated by the compression unit itself (called new frequently occurring positions and new point vectors). For new frequently occurring positions and their new point vectors, the encoder writes the element values of the new frequently occurring positions represented by the new point vectors into the compressed data stream, while the decoder obtains the element values of the new frequently occurring positions represented by the new point vectors from the compressed data stream. The parameters of all point vectors used in the current compression unit are stored in a dedicated point prediction information table for that unit; this table consists of parameters of reused point vectors and parameters of new point vectors. When encoding or decoding a current full compression unit, on the one hand, the parameters of the multiplexed point vectors are retrieved from the historical point prediction information table and placed into the current point prediction information table dedicated to the current full compression unit; on the other hand, the parameters of the new point vectors are also placed into the current point prediction information table. After placing the parameters of all point vectors used in a current full compression unit into the current point prediction information table dedicated to the current full compression unit, the current point prediction information table and the historical point prediction information table are merged, duplicate and redundant point vector parameters are deleted, and a new historical point prediction information table is generated.
[0058] When the dataset has primary and secondary components, the current compression unit can be divided into the following three types.
[0059] 1) Primary and secondary component compression unit: It encodes and decodes the primary component and the corresponding secondary component at the same time. It is used for data elements that have a strong correlation between the primary component and the corresponding secondary component. Usually, the primary component and the secondary component are encoded and decoded in the same or basically the same way.
[0060] 2) Main component compression unit: only encodes and decodes the main component, used for data elements that do not have a strong correlation with the main component and the corresponding secondary component.
[0061] 3) Subcomponent compression unit: only encodes and decodes the subcomponent, used for data elements where there is no strong correlation between the main component and the corresponding subcomponent.
[0062] Each primary component compression unit has a corresponding secondary component compression unit. Multiple primary component compression units can correspond to one secondary component compression unit. Alternatively, multiple primary component compression units can correspond to multiple secondary component compression units, but the correspondence between the primary and secondary component compression units is not one-to-one.
[0063] In existing technologies, point prediction is only applied to the compression units of primary and secondary components. Therefore, for data where there is no strong correlation between the primary component and its corresponding secondary component, point prediction cannot leverage its unique advantages, severely impacting its coding efficiency. Summary of the Invention
[0064] To address this problem in point prediction techniques, this invention provides a method and apparatus for applying point prediction to the encoding and decoding of a primary component integer compression unit. Point prediction is used to encode and decode a primary component integer compression unit; the resulting new common position and its point vector, even at positive positions, still only generate the primary component and not the secondary component; to obtain the missing secondary component, after performing non-point prediction encoding and decoding on the secondary component integer compression unit corresponding to the primary component integer compression unit, the secondary component at the corresponding position in the secondary component integer compression unit is used as the secondary component of the common position and its point vector; the common position and its point vector are multiplexed for point prediction encoding and decoding of subsequent primary and secondary component integer compression units and / or primary component integer compression units.
[0065] Preferably,
[0066] The principal component is the luminance component, and the secondary component is the chrominance component;
[0067] or,
[0068] The principal component is the Y component, and the secondary components are the U component and the V component;
[0069] or,
[0070] The principal component is the Y component, and the secondary components are the Cb component and the Cr component;
[0071] or,
[0072] The principal component is the Y component, and the secondary components are the Cg component and the Co component;
[0073] or,
[0074] The principal component is the G component, and the secondary components are the B component and the R component.
[0075] Preferably,
[0076] The secondary component is only a nominal secondary component; in reality, it has the same sampling rate and size as the primary component.
[0077] Preferably,
[0078] For the new common position and its point vector generated by the main component compression unit using point prediction encoding and decoding, regardless of whether the common position and its point vector appear in the positive position, only the main component exists in the compressed data bitstream and no secondary component exists. The encoder only writes the value of the main component into the compressed data bitstream, and the decoder only obtains the value of the main component from the compressed data bitstream.
[0079] Preferably,
[0080] For the new common position and its point vector generated by the main component integer compression unit using point predictive coding and decoding, although point predictive coding and decoding itself only generates the main component and not the corresponding secondary component, the corresponding secondary component can always be generated when non-point predictive coding and decoding is performed on the secondary component integer compression unit corresponding to the main component integer compression unit. Therefore, for the new common position and its point vector generated by the main component integer compression unit using point predictive coding and decoding, regardless of whether the common position and its point vector appear in the positive position, it is always marked as having both a main component and a secondary component.
[0081] Preferably,
[0082] For new persistent positions and their point vectors generated by the principal component integer compression unit using point predictive encoding and decoding, regardless of whether the persistent position and its point vector appear in a positive position, they are always marked as having both principal and secondary components. The syntax description table includes at least the following assignment operations:
[0083] if (component == 'COMPONENT_LUMA') FopYonly[PvNum] = 0 else FopYonly[PvNum] = 1
[0084] In the syntax description table above, component is a variable representing the type of the current integer compression unit. The value of component is 'COMPONENT_LUMA', indicating that the type of the current integer compression unit is a principal component integer compression unit. PvNum is the index of the new persistent position and its point vector. FopYonly[PvNum] is a variable in the point prediction information table dedicated to the current integer compression unit, marking whether the new persistent position and its point vector with index PvNum has only a principal component or both a principal component and a secondary component. Its value of 1 indicates that the new persistent position and its point vector has only a principal component, and its value of 0 indicates that the new persistent position and its point vector have both a principal component and a secondary component. The purpose of the above assignment operation is: if the type of the current integer compression unit is a principal component integer compression unit, assign 0 to FopYonly[PvNum], otherwise, assign 1 to FopYonly[PvNum].
[0085] Preferably,
[0086] For the new common positions and their point vectors generated by the primary component integer compression unit using point predictive coding and decoding, they are first marked as originating from the primary component integer compression unit. Then, after performing non-point predictive coding and decoding on the secondary component integer compression unit corresponding to the primary component integer compression unit and calculating its position coordinates in the secondary component integer compression unit, it is remarked as being equivalent to originating from the primary and secondary component integer compression units, so that it can be reused for point predictive coding and decoding of subsequent primary and secondary component integer compression units and / or primary component integer compression units.
[0087] Preferably,
[0088] The dataset is an array or sequence of two-dimensional data elements, including images, sequences of images, or videos, in a 420 sampling format.
[0089] For the new persistent positions and their point vectors generated by the principal component integer compression unit using point predictive encoding and decoding, they are first marked as originating from the syntax description table of the principal component integer compression unit, which includes at least the following assignment operations:
[0090] if (component == 'COMPONENT_LUMA') CompLumaFreqOccurPos[PvNum] = 1 else CompLumaFreqOccurPos[PvNum] = 0
[0091] In the syntax description table above, `component` is a variable representing the type of the current integer compression unit. A value of `component` of `'COMPONENT_LUMA'` indicates that the type of the current integer compression unit is a primary component integer compression unit. `PvNum` is the index of the new persistent position and its point vector. `CompLumaFreqOccurPos[PvNum]` is a variable in the point prediction information table dedicated to the current integer compression unit, marking whether the new persistent position and its point vector with index `PvNum` comes from the primary component integer compression unit or the primary-secondary component integer compression unit. A value of 1 indicates that the new persistent position and its point vector come from the primary component integer compression unit, and a value of 0 indicates that the new persistent position and its point vector come from the primary-secondary component integer compression unit. The above assignment operation has the following effect: if the type of the current integer compression unit is a primary component integer compression unit, assign 1 to `CompLumaFreqOccurPos[PvNum]`; otherwise, assign 0 to `CompLumaFreqOccurPos[PvNum]`.
[0092] Secondly, the CompLumaFreqOccurPos[PvNum] in the current point prediction information table dedicated to the whole compression unit is assigned to the PrevCompLumaFreqOccurPos[PvNum] in the historical point prediction information table;
[0093] Then, after performing non-point predictive encoding and decoding on the secondary component integer compression unit corresponding to the primary component integer compression unit and obtaining the element value array CompMatrix = {CompMatrix[x][y]: x = 0~W-1, y = 0~H-1, where W and H are the width and height of the secondary component integer compression unit, respectively, the following operation is performed to calculate the new constant position and its point vector coordinates (x, y) in CompMatrix. k ,y k The new common positions and their point vectors are then relabeled as equivalent to those from the primary and secondary component compression units, allowing them to be reused for point prediction encoding and decoding in subsequent primary and secondary component compression units and / or primary component compression units.
[0094] a) Let the coordinates of the top-left element of the current full compression unit in the subcomponent data element array of the current two-dimensional data element array be (xC, yC), and the coordinates of the top-left element of the current maximum compression unit row in the current two-dimensional data element array be (LcuRx0, LcuRy0). Let the frequently occurring position of the historical point prediction information table with the sequence number PvNum and its point vector position coordinates be (P... v X k , P v Yk );
[0095] b) Calculate (x) k , y k )as follows:
[0096] x k = (P v X k >> 1) + (LcuRx0 >> 1) – xC
[0097] y k = (P v Y k >> 1) + (LcuRy0 >> 1) – yC
[0098] c) Set CompMatrix[x k ][y k ] as the position coordinates (P v X k , P v Y k The element value of the secondary component at the frequently occurring position of ) LcuRowBufC[P v X k >>1][P v Y k >>1] Used to extract the secondary component at the frequently occurring position from LcuRowBufC in the subsequent point prediction encoding and decoding of the primary and secondary component compression units;
[0099] d) Set PrevCompLumaFreqOccurPos[PvNum] to 0, that is, the constant position and point vector are now equivalent to the main and secondary component integer compression units, and can be reused for point prediction encoding and decoding of subsequent main and secondary component integer compression units and / or main component integer compression units.
[0100] According to a first aspect of the present invention, a point prediction encoding method is provided, characterized by comprising at least the following steps:
[0101] 1) Input the raw data of at least one principal component integer compression unit.
[0102] 2) At least the principal component integer compression unit is subjected to point predictive coding. For new frequently occurring positions and their point vectors that appear during this process, even if they are at positive positions, only the principal component is generated and no secondary component is generated. To obtain the missing secondary component, after performing non-point predictive coding on the secondary component integer compression unit corresponding to the principal component integer compression unit, the secondary component at the corresponding position in the secondary component integer compression unit is used as the secondary component of the frequently occurring position and its point vector. The frequently occurring position and its point vector are multiplexed for point predictive coding of subsequent principal and secondary component integer compression units and / or principal component integer compression units.
[0103] 3) Output at least the compressed data bitstream of the main component compression unit.
[0104] According to a second aspect of the present invention, a point prediction coding apparatus is provided, characterized in that it comprises at least the following modules:
[0105] 1) Raw data input module: At least one main component integer compression unit's raw data must be input.
[0106] 2) Point Predictive Coding Module: At least the principal component integer compression unit is subjected to point predictive coding. For new frequently occurring positions and their point vectors that appear during this process, even if they are in positive positions, only the principal component is generated, and no secondary component is generated. To obtain the missing secondary component, after performing non-point predictive coding on the secondary component integer compression unit corresponding to the principal component integer compression unit, the secondary component at the corresponding position in the secondary component integer compression unit is used as the secondary component of the frequently occurring position and its point vector. The frequently occurring position and its point vector are multiplexed for point predictive coding of subsequent principal and secondary component integer compression units and / or principal component integer compression units.
[0107] 3) Compressed data stream output module: at least outputs the compressed data stream of the main component compression unit.
[0108] According to a third aspect of the present invention, a point prediction decoding method is provided, characterized by comprising at least the following steps:
[0109] 1) Input at least one main component integer compression unit's compressed data bitstream.
[0110] 2) At least the principal component integer compression unit is subjected to point prediction decoding. For new frequently occurring positions and their point vectors that appear during this process, even if they are in positive positions, only the principal component is generated and no secondary component is generated. To obtain the missing secondary component, after performing non-point prediction decoding on the secondary component integer compression unit corresponding to the principal component integer compression unit, the secondary component at the corresponding position in the secondary component integer compression unit is used as the secondary component of the frequently occurring position and its point vector. The frequently occurring position and its point vector are multiplexed for point prediction decoding on subsequent principal and secondary component integer compression units and / or principal component integer compression units.
[0111] 3) Output at least the reconstructed elements of the main component compression unit.
[0112] According to a fourth aspect of the present invention, a point prediction decoding apparatus is provided, characterized in that it comprises at least the following modules:
[0113] 1) Compressed data stream input module: This module requires at least one main component compression unit's compressed data stream as input.
[0114] 2) Point Prediction Decoding Module: At least the principal component integer compression unit is subjected to point prediction decoding. For new frequently occurring positions and their point vectors that appear during this process, even if they are in positive positions, only the principal component is generated, and no secondary component is generated. To obtain the missing secondary component, after performing non-point prediction decoding on the secondary component integer compression unit corresponding to the principal component integer compression unit, the secondary component at the corresponding position in the secondary component integer compression unit is used as the secondary component of the frequently occurring position and its point vector. The frequently occurring position and its point vector are multiplexed for point prediction decoding on subsequent principal and secondary component integer compression units and / or principal component integer compression units.
[0115] 3) Reconstruction element output module: at least outputs the reconstruction elements of the main component compaction and compression unit.
[0116] This invention is applicable to the encoding and decoding of data with lossy compression, and it is also applicable to the encoding and decoding of data with lossless compression. This invention is applicable to the encoding and decoding of one-dimensional data such as string data, byte string data, one-dimensional graphics, or fractal-dimensional graphics, and it is also applicable to the encoding and decoding of two-dimensional or higher-dimensional data such as images, image sequences, or video data.
[0117] In this invention, the data compression involves one or a combination of the following types of data.
[0118] 1) One-dimensional data;
[0119] 2) Two-dimensional data;
[0120] 3) Multidimensional data;
[0121] 4) Graphics;
[0122] 5) Fractal dimensions;
[0123] 6) Images;
[0124] 7) Image sequences;
[0125] 8) Video;
[0126] 9) Audio;
[0127] 10) Documents;
[0128] 11) bytes;
[0129] 12) bits;
[0130] 13) Pixels;
[0131] 14) Three-dimensional scene;
[0132] 15) A sequence of continuously changing 3D scenes;
[0133] 16) Virtual reality scenarios;
[0134] 17) A sequence of continuously changing virtual reality scenes.
[0135] 18) Images in pixel format;
[0136] 19) Transform domain data of the image;
[0137] 20) A collection of bytes with two or more dimensions;
[0138] 21) A set of bits with two or more dimensions;
[0139] 22) A set of pixels;
[0140] 23) A set of single-component pixels;
[0141] 24) A set of three-component pixels (R, G, B, A);
[0142] 25) A set of three-component pixels (Y, U, V);
[0143] 26) A set of three-component pixels (Y, Cb, Cr);
[0144] 27) A set of three-component pixels (Y, Cg, Co);
[0145] 28) A set of four-component pixels (C, M, Y, K);
[0146] 29) A set of four-component pixels (R, G, B, A);
[0147] 30) A set of four-component pixels (Y, U, V, A);
[0148] 31) A set of four-component pixels (Y, Cb, Cr, A);
[0149] 32) A set of four-component pixels (Y, Cg, Co, A).
[0150] The technical features of the present invention have been illustrated above through several specific examples. Those skilled in the art can easily understand other advantages and effects of the present invention from the content disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of the present invention. Attached Figure Description
[0151] Figure 1 This is a schematic diagram of the encoding method or apparatus of the present invention.
[0152] Figure 2 This is a schematic diagram of the decoding method or apparatus of the present invention. Detailed Implementation
[0153] The following are further implementation details of the present invention.
[0154] Example 1
[0155] In the encoding method, encoding device, or decoding method or decoding device, the original data is an array or sequence of two-dimensional data elements including images, image sequences, and videos.
[0156] The compressed subsets involved in point prediction include images, sub-images of images, tiles, slices, and patches;
[0157] The maximum compression units involved in point prediction include tiles, maximum coding units (LCUs), and coding tree units (CTUs).
[0158] The entire compression unit includes a macroblock, a coding unit CU, a sub-region of CU, a sub-coding unit SubCU, a prediction block, a prediction unit PU, a sub-region of PU, a sub-prediction unit SubPU, a transform block, a transform unit TU, a sub-region of TU, and a sub-transform unit SubTU.
[0159] Example 2
[0160] In the encoding method or encoding device or decoding method or decoding device
[0161] The principal component is the luminance component, and the secondary component is the chrominance component;
[0162] or,
[0163] The principal component is the Y component, and the secondary components are the U component and the V component;
[0164] or,
[0165] The principal component is the Y component, and the secondary components are the Cb component and the Cr component;
[0166] or,
[0167] The principal component is the Y component, and the secondary components are the Cg component and the Co component;
[0168] or,
[0169] The principal component is the G component, and the secondary components are the B component and the R component.
[0170] Example 3
[0171] In the encoding method or encoding device or decoding method or decoding device
[0172] The secondary component is only a nominal secondary component; in reality, it has the same sampling rate and size as the primary component.
[0173] Example 4
[0174] In the encoding method or encoding device or decoding method or decoding device
[0175] For the new common position and its point vector generated by the main component compression unit using point prediction encoding and decoding, regardless of whether the common position and its point vector appear in the positive position, only the main component exists in the compressed data bitstream and no secondary component exists. The encoder only writes the value of the main component into the compressed data bitstream, and the decoder only obtains the value of the main component from the compressed data bitstream.
[0176] Example 5
[0177] In the encoding method or encoding device or decoding method or decoding device
[0178] For the new common position and its point vector generated by the main component integer compression unit using point predictive coding and decoding, although point predictive coding and decoding itself only generates the main component and not the corresponding secondary component, the corresponding secondary component can always be generated when non-point predictive coding and decoding is performed on the secondary component integer compression unit corresponding to the main component integer compression unit. Therefore, for the new common position and its point vector generated by the main component integer compression unit using point predictive coding and decoding, regardless of whether the common position and its point vector appear in the positive position, it is always marked as having both a main component and a secondary component.
[0179] Example 6: A more specific embodiment of Example 5
[0180] In the encoding method or encoding device or decoding method or decoding device
[0181] For new persistent positions and their point vectors generated by the principal component integer compression unit using point predictive encoding and decoding, regardless of whether the persistent position and its point vector appear in a positive position, they are always marked as having both principal and secondary components. The syntax description table includes at least the following assignment operations:
[0182] if (component == 'COMPONENT_LUMA') FopYonly[PvNum] = 0 else FopYonly[PvNum] = 1
[0183] In the syntax description table above, component is a variable representing the type of the current integer compression unit. The value of component is 'COMPONENT_LUMA', indicating that the type of the current integer compression unit is a principal component integer compression unit. PvNum is the index of the new persistent position and its point vector. FopYonly[PvNum] is a variable in the point prediction information table dedicated to the current integer compression unit, marking whether the new persistent position and its point vector with index PvNum has only a principal component or both a principal component and a secondary component. Its value of 1 indicates that the new persistent position and its point vector has only a principal component, and its value of 0 indicates that the new persistent position and its point vector have both a principal component and a secondary component. The purpose of the above assignment operation is: if the type of the current integer compression unit is a principal component integer compression unit, assign 0 to FopYonly[PvNum], otherwise, assign 1 to FopYonly[PvNum].
[0184] Example 7
[0185] In the encoding method or encoding device or decoding method or decoding device
[0186] For the new common positions and their point vectors generated by the primary component integer compression unit using point predictive coding and decoding, they are first marked as originating from the primary component integer compression unit. Then, after performing non-point predictive coding and decoding on the secondary component integer compression unit corresponding to the primary component integer compression unit and calculating its position coordinates in the secondary component integer compression unit, it is remarked as being equivalent to originating from the primary and secondary component integer compression units, so that it can be reused for point predictive coding and decoding of subsequent primary and secondary component integer compression units and / or primary component integer compression units.
[0187] Example 8: A more specific embodiment of Example 7
[0188] In the encoding method or encoding device or decoding method or decoding device
[0189] The dataset is an array or sequence of two-dimensional data elements, including images, sequences of images, or videos, in a 420 sampling format.
[0190] For the new persistent positions and their point vectors generated by the principal component integer compression unit using point predictive encoding and decoding, they are first marked as originating from the syntax description table of the principal component integer compression unit, which includes at least the following assignment operations:
[0191] if (component == 'COMPONENT_LUMA') CompLumaFreqOccurPos[PvNum] = 1 else CompLumaFreqOccurPos[PvNum] = 0
[0192] In the syntax description table above, `component` is a variable representing the type of the current integer compression unit. A value of `component` of `'COMPONENT_LUMA'` indicates that the type of the current integer compression unit is a primary component integer compression unit. `PvNum` is the index of the new persistent position and its point vector. `CompLumaFreqOccurPos[PvNum]` is a variable in the point prediction information table dedicated to the current integer compression unit, marking whether the new persistent position and its point vector with index `PvNum` comes from the primary component integer compression unit or the primary-secondary component integer compression unit. A value of 1 indicates that the new persistent position and its point vector come from the primary component integer compression unit, and a value of 0 indicates that the new persistent position and its point vector come from the primary-secondary component integer compression unit. The above assignment operation has the following effect: if the type of the current integer compression unit is a primary component integer compression unit, assign 1 to `CompLumaFreqOccurPos[PvNum]`; otherwise, assign 0 to `CompLumaFreqOccurPos[PvNum]`.
[0193] Secondly, the CompLumaFreqOccurPos[PvNum] in the current point prediction information table dedicated to the whole compression unit is assigned to the PrevCompLumaFreqOccurPos[PvNum] in the historical point prediction information table;
[0194] Then, after performing non-point predictive encoding and decoding on the secondary component integer compression unit corresponding to the primary component integer compression unit and obtaining the element value array CompMatrix = {CompMatrix[x][y]: x = 0~W-1, y = 0~H-1, where W and H are the width and height of the secondary component integer compression unit, respectively, the following operation is performed to calculate the new constant position and its point vector coordinates (x, y) in CompMatrix. k ,y k The new common positions and their point vectors are then relabeled as equivalent to those from the primary and secondary component compression units, allowing them to be reused for point prediction encoding and decoding in subsequent primary and secondary component compression units and / or primary component compression units.
[0195] e) Let the coordinates of the top-left element of the current full compression unit in the subcomponent data element array of the current two-dimensional data element array be (xC, yC), and the coordinates of the top-left element of the current maximum compression unit row in the current two-dimensional data element array be (LcuRx0, LcuRy0). Let the frequently occurring position of the historical point prediction information table with the sequence number PvNum and its point vector position coordinates be (P... v X k , P v Y k );
[0196] f) Calculate (x) k , y k )as follows:
[0197] x k = (P v X k >> 1) + (LcuRx0 >> 1) – xC
[0198] y k = (P v Y k >> 1) + (LcuRy0 >> 1) – yC
[0199] g) Set CompMatrix[x k ][y k ] as the position coordinates (P v X k , P v Y k The element value of the secondary component at the frequently occurring position of ) LcuRowBufC[P v X k >>1][P v Y k >>1] Used to extract the secondary component at the frequently occurring position from LcuRowBufC in the subsequent point prediction encoding and decoding of the primary and secondary component compression units;
[0200] h) Set PrevCompLumaFreqOccurPos[PvNum] to 0, that is, the constant position and point vector are now equivalent to those from the primary and secondary component integer compression units, and can be reused for point prediction encoding and decoding of subsequent primary and secondary component integer compression units and / or primary component integer compression units.
Claims
1. A point prediction coding method, characterized in that... It should include at least the following steps: 1) Input the raw data of at least one principal component compression unit. 2) At least the principal component integer compression unit is subjected to point predictive coding. For new frequently occurring positions and their point vectors that appear during this process, even if they are at positive positions, only the principal component is generated and no secondary component is generated. To obtain the missing secondary component, after performing non-point predictive coding on the secondary component integer compression unit corresponding to the principal component integer compression unit, the secondary component at the corresponding position in the secondary component integer compression unit is used as the secondary component of the frequently occurring position and its point vector. The frequently occurring position and its point vector are multiplexed for point predictive coding of subsequent principal and secondary component integer compression units and / or principal component integer compression units. 3) Output at least the compressed data bitstream of the main component compression unit.
2. A point prediction coding device, characterized in that... It should include at least the following modules: 1) Raw data input module: Input raw data from at least one main component compression unit. 2) Point Predictive Coding Module: At least the principal component integer compression unit is subjected to point predictive coding. For new frequently occurring positions and their point vectors that appear during this process, even if they are in positive positions, only the principal component is generated, and no secondary component is generated. To obtain the missing secondary component, after performing non-point predictive coding on the secondary component integer compression unit corresponding to the principal component integer compression unit, the secondary component at the corresponding position in the secondary component integer compression unit is used as the secondary component of the frequently occurring position and its point vector. The frequently occurring position and its point vector are multiplexed for point predictive coding of subsequent principal and secondary component integer compression units and / or principal component integer compression units. 3) Compressed data stream output module: at least outputs the compressed data stream of the main component compression unit.
3. A point prediction decoding method, characterized in that... It should include at least the following steps: 1) Input at least one main component compression unit's compressed data bitstream. 2) At least the principal component integer compression unit is subjected to point prediction decoding. For new frequently occurring positions and their point vectors that appear during this process, even if they are in positive positions, only the principal component is generated and no secondary component is generated. To obtain the missing secondary component, after performing non-point prediction decoding on the secondary component integer compression unit corresponding to the principal component integer compression unit, the secondary component at the corresponding position in the secondary component integer compression unit is used as the secondary component of the frequently occurring position and its point vector. The frequently occurring position and its point vector are multiplexed for point prediction decoding on subsequent principal and secondary component integer compression units and / or principal component integer compression units. 3) Output at least the reconstructed elements of the main component compression unit.
4. The decoding method according to claim 3, characterized in that, The raw data is an array or sequence of two-dimensional data elements, including images, sequences of images, or videos. The compressed subsets involved in point prediction include images, sub-images of images, tiles, slices, and patches; The maximum compression units involved in point prediction include tiles, maximum coding units (LCUs), and coding tree units (CTUs). The entire compression unit includes a macroblock, a coding unit CU, a sub-region of CU, a sub-coding unit SubCU, a prediction block, a prediction unit PU, a sub-region of PU, a sub-prediction unit SubPU, a transform block, a transform unit TU, a sub-region of TU, and a sub-transform unit SubTU.
5. The decoding method according to claim 3, characterized in that, The principal component is the luminance component, and the secondary component is the chrominance component; or, The principal component is the Y component, and the secondary components are the U component and the V component; or, The principal component is the Y component, and the secondary components are the Cb component and the Cr component; or, The principal component is the Y component, and the secondary components are the Cg component and the Co component; or, The principal component is the G component, and the secondary components are the B component and the R component.
6. The decoding method according to claim 3, characterized in that, The secondary component is only a nominal secondary component; in reality, it has the same sampling rate and size as the primary component.
7. The decoding method according to claim 3, characterized in that, For the new common position and its point vector generated by the main component compression unit using point prediction encoding and decoding, regardless of whether the common position and its point vector appear in the positive position, only the main component exists in the compressed data bitstream and no secondary component exists. The encoder only writes the value of the main component into the compressed data bitstream, and the decoder only obtains the value of the main component from the compressed data bitstream.
8. The decoding method according to claim 3, characterized in that... Includes either of the following two characteristics: Feature 1: For the new common position and its point vector generated by the main component integer compression unit using point predictive coding and decoding, although point predictive coding and decoding itself only generates the main component and not the corresponding secondary component, when performing non-point predictive coding and decoding on the secondary component integer compression unit corresponding to the main component integer compression unit, the corresponding secondary component can always be generated; therefore, for the new common position and its point vector generated by the main component integer compression unit using point predictive coding and decoding, regardless of whether the common position and its point vector appear in the positive position, it is always marked as having both a main component and a secondary component. Feature 2: for The new persistent positions and their point vectors generated by the principal component integer compression unit using point prediction encoding and decoding are always marked as having both principal and secondary components. The syntax description table includes at least the following assignment operations: if (component == 'COMPONENT_LUMA') FopYonly[PvNum] = 0 else FopYonly[PvNum] = 1 In the syntax description table above, component is a variable representing the type of the current integer compression unit. The value of component is 'COMPONENT_LUMA', indicating that the type of the current integer compression unit is a principal component integer compression unit. PvNum is the index of the new persistent position and its point vector. FopYonly[PvNum] is a variable in the point prediction information table dedicated to the current integer compression unit, marking whether the new persistent position and its point vector with index PvNum has only a principal component or both a principal component and a secondary component. Its value of 1 indicates that the new persistent position and its point vector has only a principal component, and its value of 0 indicates that the new persistent position and its point vector have both a principal component and a secondary component. The purpose of the above assignment operation is: if the type of the current integer compression unit is a principal component integer compression unit, assign 0 to FopYonly[PvNum], otherwise, assign 1 to FopYonly[PvNum].
9. The decoding method according to claim 3, characterized in that... Includes either of the following two characteristics: Feature 1: For the new common positions and their point vectors generated by the primary component integer compression unit using point predictive coding and decoding, they are first marked as originating from the primary component integer compression unit; then, after performing non-point predictive coding and decoding on the secondary component integer compression unit corresponding to the primary component integer compression unit and calculating its position coordinates in the secondary component integer compression unit, it is remarked as being equivalent to originating from the primary and secondary component integer compression units, so that it can be reused for point predictive coding and decoding of subsequent primary and secondary component integer compression units and / or primary component integer compression units; Feature 2: The dataset is an array or sequence of two-dimensional data elements, including images, sequences of images, or videos, in a 420 sampling format. For the new persistent positions and their point vectors generated by the principal component integer compression unit using point predictive encoding and decoding, they are first marked as originating from the syntax description table of the principal component integer compression unit, which includes at least the following assignment operations: if (component == 'COMPONENT_LUMA') CompLumaFreqOccurPos[PvNum] = 1 else CompLumaFreqOccurPos[PvNum] = 0 In the syntax description table above, `component` is a variable representing the type of the current integer compression unit. A value of `component` of `'COMPONENT_LUMA'` indicates that the type of the current integer compression unit is a primary component integer compression unit. `PvNum` is the index of the new persistent position and its point vector. `CompLumaFreqOccurPos[PvNum]` is a variable in the point prediction information table dedicated to the current integer compression unit, marking whether the new persistent position and its point vector with index `PvNum` comes from the primary component integer compression unit or the primary-secondary component integer compression unit. A value of 1 indicates that the new persistent position and its point vector come from the primary component integer compression unit, and a value of 0 indicates that the new persistent position and its point vector come from the primary-secondary component integer compression unit. The above assignment operation has the following effect: if the type of the current integer compression unit is a primary component integer compression unit, assign 1 to `CompLumaFreqOccurPos[PvNum]`; otherwise, assign 0 to `CompLumaFreqOccurPos[PvNum]`. Secondly, the CompLumaFreqOccurPos[PvNum] in the current point prediction information table dedicated to the whole compression unit is assigned to the PrevCompLumaFreqOccurPos[PvNum] in the historical point prediction information table; Then, after performing non-point predictive encoding and decoding on the secondary component integer compression unit corresponding to the primary component integer compression unit and obtaining the element value array CompMatrix = {CompMatrix[x][y]: x = 0~W-1, y = 0~H-1, where W and H are the width and height of the secondary component integer compression unit, respectively, the following operation is performed to calculate the new constant position and its point vector coordinates (x, y) in CompMatrix. k ,y k The new common positions and their point vectors are then relabeled as equivalent to those from the primary and secondary component compression units, allowing them to be reused for point prediction encoding and decoding in subsequent primary and secondary component compression units and / or primary component compression units. Let the coordinates of the top-left element of the current full compression unit in the subcomponent data element array of the current two-dimensional data element array be (xC, yC), and the coordinates of the top-left element of the current maximum compression unit row in the current two-dimensional data element array be (LcuRx0, LcuRy0). Let the frequently occurring position of the historical point prediction information table with index PvNum and its point vector coordinates be (P...). v X k , P v Y k ); Calculate (x) k , y k )as follows: x k = (P v X k >> 1) + (LcuRx0 >> 1) – xC y k = (P v Y k >> 1) + (LcuRy0 >> 1) – yC CompMatrix[x k ][y k ] as the position coordinates (P v X k , P v Y k The element value of the secondary component at the frequently occurring position of ) LcuRowBufC[P v X k >>1][P v Y k >>1] Used to extract the secondary component at the frequently occurring position from LcuRowBufC in the subsequent point prediction encoding and decoding of the primary and secondary component compression units; Set PrevCompLumaFreqOccurPos[PvNum] to 0, meaning that the constant position and point vector are now equivalent to those from the primary and secondary component integer compression units, and can be reused for point prediction encoding and decoding of subsequent primary and secondary component integer compression units and / or primary component integer compression units.
10. A point prediction decoding apparatus, characterized in that, Includes a module that implements a point prediction decoding method as described in any one of claims 3 to 9.