Data coding and decoding method and device for multiplexing point vectors with historical point prediction information table

By introducing a historical point prediction information table into the point prediction technology, the point vector parameters are stored and reused, which solves the problem of repeated transmission of frequently occurring positions and their point vectors in different compression units and improves coding efficiency.

CN114245130BActive Publication Date: 2025-12-12TONGJI UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111158855.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-30
Publication Date
2025-12-12
Estimated Expiration
2041-09-30

AI Technical Summary

Technical Problem

In existing point prediction techniques, the frequently occurring positions and their point vectors in an entire compression unit are only used in the current entire compression unit. If frequently occurring positions and their point vectors with the same element values ​​appear in subsequent entire compression units, they need to be retransmitted through the compressed data stream, resulting in reduced coding efficiency.

Method used

The method of reusing point vectors by using historical point prediction information table is adopted. The parameters of some or all point vectors used in the whole compression unit are stored in the historical point prediction information table for reuse in subsequent whole compression units. The point vectors in the historical point prediction information table represent the element values ​​of the frequently occurring positions.

Benefits of technology

This improves the coding efficiency of point prediction technology, avoids the need to repeatedly transmit the same element values ​​in subsequent compression units, and enhances the efficiency of data coding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure SMS_1
    Figure SMS_1
  • Figure SMS_2
    Figure SMS_2
  • Figure SMS_3
    Figure SMS_3
Patent Text Reader

Abstract

The application discloses a data coding and decoding method and device for multiplexing point vectors by using a history point prediction information table, and the technical scheme points are as follows: at least the following steps are included: parameters of part of point vectors or all point vectors used in any one integral compression unit are added and stored into a history point prediction information table; point vectors used by any one integral compression unit of point prediction coding are obtained from the history point prediction information table, and are referred to as multiplexed point vectors, or are not obtained from the history point prediction information table, and are referred to as new point vectors; for the new point vectors, element values of main components and / or secondary components determined according to a predetermined rule in a compressed data code stream are written into the compressed data code stream according to the predetermined rule. The data coding and decoding method provided by the application can realize fast calling of common position and point vectors with the same element values, and greatly improves coding efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of data encoding and decoding, and in particular to a data encoding and decoding method and device using a history point prediction information table to multiplex point vectors. BACKGROUND

[0002] With the advent of 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 super ultra-high definition (8K) video image resolution, and 4G / 5G communication, it is necessary to compress various data, including big data, image data, video data, and various new forms of data, at a high compression ratio and high quality.

[0003] A data set is a collection of data elements (e.g., bytes, bits, pixels, pixel components, spatial samples, transform domain coefficients).

[0004] When encoding or decoding (referred to as coding) a data set, the data elements are usually sorted according to a predetermined rule, i.e., a front-back order, and are coded in the front-back order.

[0005] When coding (and the corresponding decoding) a data set 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, an image, a video sequence, a transform domain, a transform block, multiple transform blocks, a three-dimensional scene, a sequence of a continuously changing three-dimensional scene), especially a two-dimensional or higher data set, the data set is sometimes divided into a plurality of subsets with a predetermined shape and / or size (i.e., the number of elements), referred to as an integral compression unit. The integral compression unit is coded or decoded one by one in a predetermined order. At any time, the integral compression unit being coded or decoded is referred to as the current integral compression unit. The data element (sometimes also referred to as an element) being coded or decoded is referred to as the current coding data element or the current decoding data element, and is collectively referred to as the current data element, simply referred to as the current element. An element is composed of N components (usually 1≤N≤5), and thus a data set and an integral compression unit are also composed of N components. A component of an element is also referred to as a component element.

[0006] For example, the elements of an image, i.e., pixels, are arranged in a rectangular shape, have a size (resolution) of 1920 (width) x 1080 (height), and are composed of 3 components: a G (green) component, a B (blue) component, and an R (red) component or a Y (luminance) component, a U (Cb chrominance) component, and a V (Cr chrominance) component.

[0007] The relationship between the sampling rates of the components of a multi-component data set and the overall compression unit is usually expressed in terms of a sampling format. Data in which all N components have the same sampling rate and size (i.e., number of component samples) is referred to as full-sampling format data. Data in which N components have different sampling rates and sizes, where the sampling rate and size of N1 components, referred to as primary components, are integer multiples of the sampling rate and size of the remaining N-N1 components, referred to as secondary components, is referred to as down-sampling format data. The integer multiple is typically a factor of 2, 4, 8, 2x2, 4x2, etc. In full-sampling format data, all components are considered primary components and there are no secondary components. In down-sampling format data, at least one component is a primary 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 referred to as 4:4:4 (or 444) is typically used, in which the three components of the data set have the same sampling rate and size (i.e., number of component samples). For another array of two-dimensional data elements including natural images and video taken by a video camera, a sampling format referred to as 4:2:0 (or 420) is typically used, in which the sampling rate and size of two components of a data set having a rectangular shape and three components (e.g., an image or video), referred to as secondary components (D and E components), are one-quarter of the sampling rate and size of the other component, referred to as a primary component (F component), i.e., there is a 4:1 down-sampling relationship between the primary component and the secondary components. In this case, one D component D[i][j] and one E component E[i][j] correspond to four (2x2) F components F[2i][2j], F[2i+1][2j], F[2i][2j+1], F[2i+1][2j+1]. If the resolution of the F component is 2Mx2N (2M component elements horizontally and 2N component elements vertically), i.e., the F component of the data set is F = {F[m][n] : m = 0 ~ 2M-1, n = 0 ~ 2N-1}, then the resolution of the D and E components is MxN (M component elements horizontally and N component elements vertically), i.e., the D and E components of the data set 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 higher quality is also desired for the secondary components, a sampling format referred to as 4:2:2 (or 422) is often used, in which the sampling rate and size of the two secondary components (D and E components) of a data set having a rectangular shape and three components (e.g., an image or video) are one-half of the sampling rate and size of the primary component (F component), i.e., there is a 2:1 down-sampling relationship between the primary component and the secondary components.In this case, in one direction (e.g. horizontal direction) of a data set (e.g. image or video), one D component D[i][j] and one E component E[i][j] correspond to two (2xl) F components F[2i][j] and F[2i+l][j]. If the resolution of the F components is 2M x N, i.e. the F components of the data set are F = {F[m][n] : m = 0 ~ 2M-l, n = 0 ~ N-l}, then the resolution of the D and E components are both M x N, i.e. the D and E components of the data set are D = {D[m][n] : m = 0 ~ M-l, n = 0 ~ N-l} and E = {E[m][n] : m = 0 ~ M-l, n = 0 ~ N-l} respectively. In images and videos using YUV or YCbCr or YCgCo color format, the above mentioned F, D, E components are usually Y, U, V components or Y, Cb, Cr components or Y, Cg, Co components respectively. In images and videos using RGB color format, the above mentioned F, D, E components are usually G, B, R components or G, R, B components respectively. In the case of data being image or video, the sampling format is also often called color format. Color format in which each component has the same sampling rate is called full color format. Color format in which a part of components has down-sampling relationship with another part of components is called down-sampling color format.

[0008] In the down-sampling format, one sub-component position (usually referred to as sub-component position) and its element correspond to a plurality of primary component positions (usually referred to as primary component positions, even if simply referred to as positions without causing confusion) and their elements. This one-to-many correspondence relationship has uncertainty. In order to eliminate this uncertainty, a primary component positive position and its positive element are usually pre-specified among the plurality of positions (such as 2x2 positions in the 420 format or 2x1 positions in the 422 format) and their elements corresponding to one sub-component position and its element (such as specifying the position and its element at the top left corner of the 2x2 positions and their elements or the position and its element at the left side of the 2x1 positions and their elements as the primary component positive position and its positive element) as the only regular primary component position and its element corresponding to the sub-component position and its element. The primary component positive position and the sub-component position have a one-to-one correspondence relationship, therefore, the primary component positive position and the sub-component position are collectively referred to as positive position, indicating that the position is both the primary component positive position and the sub-component position, and the positive position and the sub-component position also have a one-to-one correspondence relationship. The positions other than the positive position among the plurality of primary component positions corresponding to one sub-component position are referred to as non-positive positions. The primary component positive element and the sub-component element also have a one-to-one correspondence relationship, therefore, the primary component positive element and the sub-component element are collectively referred to as positive element, indicating that the element is both the primary component positive element and the sub-component element, and the positive element and the sub-component element also have a one-to-one correspondence relationship. The elements other than the positive element among the plurality of primary component elements corresponding to one sub-component element are referred to as non-positive elements. On the other hand, in the full-sampling format, all positions are considered as primary component positive positions and positive positions, and all elements are considered as primary component positive elements and positive elements.

[0009] In the case of data being an array or a sequence of arrays of two-dimensional data elements in the 420 sampling format, there is one primary component F and two sub-components D and E;

[0010] The sampling rate and size of the sub-components D and E are respectively one quarter of the primary component F, that is, there is a 4:1 or 2x2:1 down-sampling relationship between the primary component and the sub-components;

[0011] One D component element D[i][j] and one E component element E[i][j] correspond to 2x2 or 4 F component elements F[2i][2j], F[2i+1][2j], F[2i][2j+1], F[2i+1][2j+1] arranged in up-down and left-right directions;

[0012] The resolution of the F component elements is 2Mx2N, that is, the F component elements form an array F={F[m][n]:m=0~2M-1,n=0~2N-1},

[0013] The resolution of D-component elements is M x N, i.e. D-component elements constitute an array D = {D[m][n]: m = 0 ~ M-1, n = 0 ~ N-1},

[0014] The resolution of E-component elements is also M x N, i.e. E-component elements constitute an array E = {E[m][n]: m = 0 ~ M-1, n = 0 ~ N-1}.

[0015] The primary component positive element at the pre-specified positive position is F[2i][2j], which is called the top-left type of primary component positive position and its positive element;

[0016] Or,

[0017] The primary component positive element at the pre-specified positive position is F[2i+1][2j], which is called the top-right type of primary component positive position and its positive element;

[0018] Or,

[0019] The primary component positive element at the pre-specified positive position is F[2i][2j+1], which is called the bottom-left type of primary component positive position and its positive element;

[0020] Or,

[0021] The primary component positive element at the pre-specified positive position is F[2i+1][2j+1], which is called the bottom-right type of primary component positive position and its positive element.

[0022] In the case that the data set is divided into integral compression units, one predetermined rule of sorting is to sort the integral compression units first, and then sort the elements within each integral compression unit.

[0023] One effective means of data compression is string prediction, also called string matching. String prediction divides the elements of a current integral compression unit into variable-length element strings. For a current element string, simply called a current string, a reference element string, simply called a reference string, having the same or similar numerical value as the current string is obtained in a set of completed predetermined degree of coding and decoding elements or its subset, called a reference set. For a reference string of a current string, only a few parameters are needed to record the position and / or shape and / or size and / or dimension of the reference string in the reference set, without recording the numerical value of each element in the current string itself, to completely represent and reconstruct all elements and their numerical values of the current string whenever and wherever needed, so as to achieve the purpose of data compression. The elements of the reconstructed current string are called reconstructed elements, and their numerical values are called reconstructed values of the current string and its elements. Data compression in which the reconstructed value of an element is equal to the original value of the element is called lossless compression. Data compression in which the reconstructed value of an element is not equal to the original value of the element is called lossy compression.

[0024] For example, if a current string, which is continuously ordered according to a certain scanning mode, can find a corresponding reference string in the reference set, only two parameters, i.e. the position relationship between the first element of the current string and the first element of the reference string and the length of the string, are needed to record the position and size of the reference string in the reference set, without recording the numerical value of each element in the current string one by one, so as to completely represent and reconstruct all elements and their numerical values of the current string at any time and any place, and obtain the reconstructed value of the current string and its elements. The number of bits consumed by recording the two parameters is usually much less than the number of bits consumed by recording the numerical value of each element in the current string one by one, so as to achieve the purpose of data compression.

[0025] In string prediction, there may also be unpredictable (also known as unmatched or non-matched or non-matchable) elements that cannot find reference elements in the reference set. The components, primary components and secondary components of the unpredictable elements are respectively called unpredictable components, unpredictable primary components and unpredictable secondary components. For the unpredictable elements, only their exact or approximate numerical values can be recorded, compressed according to a predetermined manner, and reconstructed at any time and any place to obtain the reconstructed value of the unpredictable elements.

[0026] The scanning modes frequently used in string prediction include:

[0027] Horizontal raster scanning: the elements in an entire compression unit are arranged one by one along the horizontal direction, and after arranging a row, the next row is arranged, and the scanning direction in all rows is from left to right or the scanning direction in all rows is from right to left.

[0028] Or

[0029] Horizontal back-and-forth scanning, also known as shuttle scanning or arcuate scanning: the elements in an entire compression unit are arranged one by one along the horizontal direction, and after arranging a row, the next row is arranged, and in any two adjacent rows, the scanning direction in one row is from left to right and the scanning direction in the other row is from right to left, and the row arranged from left to right is called a forward row and the row arranged from right to left is called a reverse row.

[0030] Or

[0031] Vertical raster scanning: the elements in an entire compression unit are arranged one by one along the vertical direction, and after arranging a column, the next column is arranged, and the scanning direction in all columns is from top to bottom or the scanning direction in all columns is from bottom to top.

[0032] Or

[0033] Vertical back-and-forth scan, also called shuttle scan or arch scan: the elements in an integer compression unit are arranged one element by one element in the vertical direction, after arranging one column, the next column is arranged, the scan direction in a column of any two adjacent columns is from top to bottom, and the scan direction in the other column is from bottom to top, the column arranged from top to bottom is called a positive column, and the column arranged from bottom to top is called a negative column.

[0034] The first element in the string is called the start element, and the last element in the string is called the end element.

[0035] A special case of string prediction is block prediction, also called block matching. In this special case, each string forms a rectangular block.

[0036] Point prediction is another special case of string prediction and is also an effective means of data compression.

[0037] In point prediction technology, the positions of a number of data elements in the data set, whose values often repeat in the current integer compression unit or in the vicinity, are stored in a frequently-occurring position array, and each frequently-occurring position in the array is marked by an index, called a frequently-occurring position index. The data elements at the frequently-occurring positions are used as reference elements or prediction elements or matching elements. A string of equal values in the current integer compression unit only needs to use an index parameter and a repetition number parameter of the frequently-occurring position marked by the index to represent that the values of all elements in the string of equal values are equal to the value of the element at the frequently-occurring position marked by the index (this frequently-occurring position can be the position of an element in the data set before the string of equal values or the position of an element in the string of equal values), and does not need to record the values of each element in the string of equal values one by one, thereby achieving the purpose of data compression. Frequently-occurring positions are usually represented by point vectors, and frequently-occurring position arrays are usually point vector arrays, i.e., arrays storing point vector parameters, and the parameters of a point vector at least include the point vector and information related to the point vector, and the point vector is usually represented by coordinates in a certain form. The point vector array is also sometimes called a point prediction information table.

[0038] A constant position element, if appearing at the positive position, has all N components including the secondary components, the compressed data stream has all N components including the secondary components, the encoder writes the values of all N components including the secondary components into the compressed data stream, and the decoder obtains the values of all N components including the secondary components from the compressed data stream, otherwise, only has the primary component but no secondary component, the compressed data stream only has the primary component but no secondary component, the encoder only writes the value of the primary component into the compressed data stream, and the decoder only obtains the value of the primary component from the compressed data stream. The values of the secondary components of the constant position element are stored in the secondary component space at the positive position. The constant position element is a reconstructed element at the position and is also a reference element of other elements for obtaining the reconstructed values of the other elements, and the constant position element is also called a constant position reference element.

[0039] In the entire compression unit coded using the point prediction technology, there can be an unmatched element that cannot find a reference element. The unmatched element, if appearing at the positive position, has all N components including the secondary components, the compressed data stream has all N components including the secondary components, the encoder writes the values of all N components including the secondary components into the compressed data stream, and the decoder obtains the values of all N components including the secondary components from the compressed data stream, otherwise, only has the primary component but no secondary component, the compressed data stream only has the primary component but no secondary component, the encoder only writes the value of the primary component into the compressed data stream, and the decoder only obtains the value of the primary component from the compressed data stream. The unmatched element itself is also allowed to be used as a reference element of other elements for obtaining the reconstructed values of the other elements, and the unmatched element is also called an unmatched reference element.

[0040] The point prediction technology divides the elements of an entire compression unit along the path formed by continuously ordering the elements according to a predetermined scanning mode into element strings of the following three string types with variable lengths:

[0041] String type 1: equal value string or equal value string. The values of all elements on an equal value string are equal to the value of a constant position element;

[0042] String type 2: unmatched element string. All elements on an unmatched element string are unmatched elements;

[0043] String type 3: unit basis vector string. The unit basis vector string is a string in which the reference string is located one unit distance above the current string in the horizontal scanning mode and one unit distance to the left of the current string in the vertical scanning mode. The unit basis vector string in the horizontal scanning mode is also called a copy-above string, and the unit basis vector string in the vertical scanning mode is also called a copy-left string.

[0044] The point prediction technique also stipulates that the unit basis vector string is limited to copying the elements within the current compression unit, and cannot copy the elements outside the current compression unit. Therefore, the original source of the elements within the current compression unit can only be the existing position element or the unmatched element. That is, the reference elements of all elements of a compression unit are directly derived from the existing position element or the unmatched element without exception.

[0045] Therefore, in the compression unit coded using the point prediction technique, the numerical value of the reconstructed element (i.e., the reconstructed value of the element) is obtained from the existing position element or the unmatched element.

[0046] As a special case of string prediction, point prediction always requires reconstructing the primary component of the current element when reconstructing an element, and if the current element is in the positive position, the secondary component of the current element must also be reconstructed, otherwise, the secondary component of the current element is not reconstructed.

[0047] In the point prediction technique, the existing position and its point vector in a compression unit are only used in the current compression unit. If the existing position and its point vector with the same element value appear in the subsequent compression unit, the element value needs to be retransmitted through the compressed data code stream, which significantly reduces the coding efficiency of the point prediction technique.

[0048] Therefore, it is necessary to design a new technical solution to overcome the above-mentioned defects. SUMMARY

[0049] The purpose of the present application is to provide a data coding method and device for multiplexing point vectors with a history point prediction information table, which solves the problem of the point prediction technique that the existing position and its point vector in a compression unit are only used in the current compression unit, and if the existing position and its point vector with the same element value appear in the subsequent compression unit, the element value needs to be retransmitted through the compressed data code stream, which significantly reduces the coding efficiency of the point prediction technique.

[0050] The above technical purpose of the present application is achieved by the following technical solution:

[0051] The data coding method for multiplexing point vectors with a history point prediction information table comprises the following steps:

[0052] Step 1: Add and store the parameters of part or all of the point vectors used in any compression unit to a history point prediction information table;

[0053] Step 2: The point vector used in any one integral compression unit of the point prediction encoding, or from the history point prediction information table, is called a reused point vector, or not in the history point prediction information table, is called a new point vector;

[0054] Step 3: For the new point vector, the element values of the primary component and / or the secondary component determined at least according to the predetermined rule in the compressed data code stream are written into the compressed data code stream according to the predetermined rule.

[0055] The data encoding device for reusing the point vector with the history point prediction information table, the data encoding device at least includes the modules capable of realizing the following functions and operations;

[0056] The parameters of part or all of the point vectors used in any one integral compression unit are added and stored in a history point prediction information table;

[0057] The point vector used in any one integral compression unit of the point prediction encoding, or from the history point prediction information table, is called a reused point vector, or not in the history point prediction information table, is called a new point vector;

[0058] For the new point vector, the element values of the primary component and / or the secondary component determined at least according to the predetermined rule in the compressed data code stream are written into the compressed data code stream according to the predetermined rule.

[0059] The data decoding method for reusing the point vector with the history point prediction information table, the decoding method at least includes the following steps:

[0060] The parameters of part or all of the point vectors used in any one integral compression unit are added and stored in a history point prediction information table;

[0061] The point vector used in any one integral compression unit of the point prediction decoding, or from the history point prediction information table, is called a reused point vector, or not in the history point prediction information table, is called a new point vector;

[0062] For the new point vector, the element values of the primary component and / or the secondary component determined at least according to the predetermined rule in the compressed data code stream are written into the compressed data code stream according to the predetermined rule.

[0063] The data decoding device for reusing the point vector with the history point prediction information table, the decoding device at least includes the modules capable of realizing the following functions and operations:

[0064] The parameters of the partial point vector or all point vectors used in any one integral compression unit are added and stored into a history point prediction information table;

[0065] The point vector used in any one integral compression unit of point prediction decoding, or from the history point prediction information table, is called a reused point vector, or not in the history point prediction information table, is called a new point vector;

[0066] For the new point vector, at least the element value of the primary component and / or the element value of the secondary component determined according to a predetermined rule exists in the compressed data code stream, and at least according to the predetermined rule, the element value at the common position represented by the new point vector is obtained from the compressed data code stream.

[0067] Preferably, the integral compression unit includes a macroblock, a coding unit (CU), a sub-region of the CU, a sub-coding unit (SubCU), a prediction block, a prediction unit (PU), a sub-region of the PU, a sub-prediction unit (SubPU), a transform block, a transform unit (TU), a sub-region of the TU, or a sub-transform unit (SubTU).

[0068] Preferably, the parameters of the point vector at least include one-dimensional or multi-dimensional coordinates of the common position represented by the point vector in a predetermined one-dimensional or multi-dimensional region.

[0069] Preferably, the parameters of all point vectors used in the integral compression unit are stored in a point prediction information table dedicated to the compression unit, and the point prediction information table is composed of two parts, the first part stores the parameters of the reused point vector or is empty, and the second part stores the parameters of the new point vector or is empty.

[0070] Preferably, in the above-mentioned encoding method or decoding method, if the original data includes an image, a sequence of images, an array of two-dimensional data elements of a video, or a sequence of arrays, the data is an array of two-dimensional data elements in 420 sampling format or a sequence of arrays, and there is a primary component F and two secondary components D and E.

[0071] Preferably, in the above-mentioned encoding method or decoding method, for the new point vector, the predetermined rule at least includes: if the common position represented by the new point vector is the positive position of the primary component, the element value of the primary component and the element value of the secondary component exist in the compressed data code stream, the encoder writes the element value of the primary component and the element value of the secondary component into the compressed data code stream, and the decoder obtains the element value of the primary component and the element value of the secondary component from the compressed data code stream; otherwise, the element value of the primary component exists in the compressed data code stream, the encoder writes the element value of the primary component into the compressed data code stream, and the decoder obtains the element value of the primary component from the compressed data code stream.

[0072] Preferably, in the above encoding method or decoding method, for a new point vector, the predetermined rule at least includes: the element value of the principal component of the always-present position represented by the new point vector is always present in the compressed data stream, and the encoder always writes the element value of the principal component into the compressed data stream, and the decoder always obtains the element value of the principal component from the compressed data stream; if the always-present position represented by the new point vector is the principal positive position, the element value of the secondary component of the always-present position represented by the new point vector is also present in the compressed data stream, and the encoder also writes the element value of the secondary component into the compressed data stream, and the decoder also obtains the element value of the secondary component from the compressed data stream.

[0073] Preferably, when encoding or decoding a current integral compression unit, on one hand, the parameters of the multiplexed point vectors are taken out from the history point prediction information table and put into a current point prediction information table dedicated to the current integral compression unit, and the multiplexed point vectors are marked as being multiplexed in the history point prediction information table; on the other hand, the parameters of new point vectors are put into the current point prediction information table.

[0074] Preferably, when encoding or decoding a current integral compression unit, first, the parameters of multiplexed point vectors are taken out from the history point prediction information table and put into a current point prediction information table dedicated to the current integral compression unit, and the multiplexed point vectors are marked as being multiplexed in the history point prediction information table; then, the parameters of new point vectors are put into the current point prediction information table.

[0075] Preferably, in the process of taking out the parameters of multiplexed point vectors from the history point prediction information table and putting them into a current point prediction information table dedicated to a current integral compression unit, the multiplexed point vectors are selected and taken out using the difference between the address or index of the multiplexed point vectors in the history point prediction information table and the address or index of the previous multiplexed point vectors in the history point prediction information table.

[0076] Preferably, after the parameters of all point vectors used in a current integral compression unit are put into a current point prediction information table dedicated to the current integral compression unit, the current point prediction information table and the history point prediction information table are merged in the following manner to generate a new history point prediction information table: on one hand, the current point prediction information table is put into the new history point prediction information table, occupying a part of the new history point prediction information table; on the other hand, the parameters of point vectors in the history point prediction information table that are not multiplexed by the current integral compression unit are put into the new history point prediction information table, occupying another part of the new history point prediction information table.

[0077] Preferably, after the parameters of all the point vectors used in a current integral compression unit are put into a current point prediction information table dedicated to the current integral compression unit, the current point prediction information table and the history point prediction information table are merged to produce a new history point prediction information table in the following manner: first, the current point prediction information table is put into the new history point prediction information table to occupy the front part of the new history point prediction information table; then, the parameters of the point vectors in the history point prediction information table that are not reused by the current integral compression unit are put into the new history point prediction information table to occupy the rear part of the new history point prediction information table.

[0078] The present application is applicable to encoding and decoding of data with lossy compression, and is also applicable to encoding and decoding of data with lossless compression. The present application is applicable to encoding and decoding of one-dimensional data such as character string data or byte string data or one-dimensional graphics or sub-dimensional graphics, and is also applicable to encoding and decoding of two-dimensional or higher dimensional data such as image data, image sequence data or video data.

[0079] In lossy compression, the values of the elements on the original equal-valued string before encoding are allowed to differ, but the difference is less than a predetermined threshold.

[0080] In the present application, the data involved in data compression includes one or a combination of the following types of data

[0081] One-dimensional data;

[0082] Two-dimensional data;

[0083] Multi-dimensional data;

[0084] Graphics;

[0085] Sub-dimensional graphics;

[0086] Image;

[0087] Sequence of images;

[0088] Video;

[0089] Audio;

[0090] File;

[0091] Byte;

[0092] Bit;

[0093] Pixel;

[0094] Three-dimensional scene;

[0095] Sequence of continuously changing three-dimensional scenes;

[0096] Scene of virtual reality;

[0097] a sequence of continuously changing virtual reality scenes

[0098] an image in the form of pixels;

[0099] transform domain data of an image;

[0100] a set of two or more dimensional bytes;

[0101] a set of two or more dimensional bits;

[0102] a set of pixels;

[0103] a set of single component pixels;

[0104] a set of three component pixels (R, G, B, A);

[0105] a set of three component pixels (Y, U, V);

[0106] a set of three component pixels (Y, Cb, Cr);

[0107] a set of three component pixels (Y, Cg, Co);

[0108] a set of four component pixels (C, M, Y, K);

[0109] a set of four component pixels (R, G, B, A);

[0110] a set of four component pixels (Y, U, V, A);

[0111] a set of four component pixels (Y, Cb, Cr, A);

[0112] a set of four component pixels (Y, Cg, Co, A).

[0113] The technical features of the present application are described above by way of several specific embodiments. Those skilled in the art can easily understand other advantages and effects of the present application from the content disclosed in the present specification. The present application can also be implemented or applied by other different embodiments, and the details in the present specification can be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present application.

[0114] In summary, the present application has the following advantages:

[0115] The data encoding and decoding method and device for multiplexing point vectors by using a history point prediction information table add and store parameters of part of point vectors or all point vectors used in a current compression unit to a history point prediction information table for repeated use of subsequent integral compression units, solve the problem that in the existing point prediction technology, a common position and its point vector appearing in an integral compression unit are only used in the current integral compression unit, and if the common position and its point vector with the same element value appear in a subsequent integral compression unit, the element value needs to be retransmitted through a compressed data code stream, and the coding efficiency of the point prediction technology is significantly improved. DETAILED DESCRIPTION

[0116] In order to make the technical means, creative features, purposes and effects of the present application easy to understand, the present application is further described below in combination with specific embodiments.

[0117] The data encoding method for multiplexing point vectors by using a history point prediction information table includes at least the following steps:

[0118] Step 1: adding and storing parameters of part of point vectors or all point vectors used in any integral compression unit to a history point prediction information table;

[0119] Step 2: the point vector used by any integral compression unit of point prediction encoding is from the history point prediction information table, referred to as a multiplexed point vector, or not in the history point prediction information table, referred to as a new point vector;

[0120] Step 3: for the new point vector, at least the element value of the main component and / or the secondary component determined according to a predetermined rule in the compressed data code stream, the element value of the common position represented by the new point vector is written into the compressed data code stream according to the predetermined rule.

[0121] The data encoding device for multiplexing point vectors by using a history point prediction information table includes at least the following modules capable of realizing the following functions and operations:

[0122] adding and storing parameters of part of point vectors or all point vectors used in any integral compression unit to a history point prediction information table;

[0123] the point vector used by any integral compression unit of point prediction encoding is from the history point prediction information table, referred to as a multiplexed point vector, or not in the history point prediction information table, referred to as a new point vector;

[0124] For a new point vector, at least the element values of the primary component and / or the secondary component determined according to a predetermined rule exist in the compressed data stream, and at least according to the predetermined rule, the element values at the positions represented by the new point vector are written into the compressed data stream.

[0125] The data decoding method for multiplexing point vectors with the history point prediction information table comprises at least the following steps:

[0126] The parameters of the partial point vectors or the whole point vectors used in any one integral compression unit are added and stored into a history point prediction information table.

[0127] The point vectors used in any one integral compression unit of the point prediction decoding are either from the history point prediction information table, called multiplexed point vectors, or not in the history point prediction information table, called new point vectors.

[0128] For a new point vector, at least the element values of the primary component and / or the secondary component determined according to a predetermined rule exist in the compressed data stream, and at least according to the predetermined rule, the element values at the positions represented by the new point vector are written into the compressed data stream.

[0129] The data decoding apparatus for multiplexing point vectors with the history point prediction information table comprises at least the following modules capable of realizing the following functions and operations:

[0130] The parameters of the partial point vectors or the whole point vectors used in any one integral compression unit are added and stored into a history point prediction information table.

[0131] The point vectors used in any one integral compression unit of the point prediction decoding are either from the history point prediction information table, called multiplexed point vectors, or not in the history point prediction information table, called new point vectors.

[0132] For a new point vector, at least the element values of the primary component and / or the secondary component determined according to a predetermined rule exist in the compressed data stream, and at least according to the predetermined rule, the element values at the positions represented by the new point vector are written into the compressed data stream.

[0133] Embodiment 1

[0134] The integral compression unit comprises a macroblock, a coding unit (CU), a sub-region of the CU, a sub-coding unit (SubCU), a prediction block, a prediction unit (PU), a sub-region of the PU, a sub-prediction unit (SubPU), a transform block, a transform unit (TU), a sub-region of the TU or a sub-transform unit (SubTU).

[0135] Embodiment 2

[0136] The parameters of the point vector at least include one-dimensional or multi-dimensional coordinates of the frequently-occurring position represented by the point vector in a predetermined one-dimensional or multi-dimensional region.

[0137] Embodiment 3

[0138] The parameters of all point vectors used in the integral compression unit are stored in a point prediction information table dedicated to the integral compression unit, and the point prediction information table is composed of two parts, the first part stores parameters of multiplexed point vectors or is empty, and the second part stores parameters of new point vectors or is empty.

[0139] Embodiment 4

[0140] In the above-mentioned encoding method or decoding method, if the original data includes an image, a sequence of images, an array of two-dimensional data elements of a video, or a sequence of arrays, the data is an array of two-dimensional data elements or a sequence of arrays in 420 sampling format, and there is one primary component F and two secondary components D and E.

[0141] For the new point vector, the predetermined rule at least includes:

[0142] If the frequently-occurring position represented by the new point vector is a primary component positive position, the element values of the primary component and the secondary component exist in the compressed data code stream; otherwise, only the element values of the primary component exist in the compressed data code stream.

[0143] Preferably,

[0144] For the new point vector, the predetermined rule at least includes:

[0145] The element values of the primary component of the frequently-occurring position represented by the new point vector always exist in the compressed data code stream; if the frequently-occurring position represented by the new point vector is a primary component positive position, the element values of the secondary component of the frequently-occurring position represented by the new point vector also exist in the compressed data code stream.

[0146] Embodiment 5

[0147] In the encoding method or encoding device or decoding method or decoding device, when encoding or decoding a current integral compression unit, on the one hand, the parameters of multiplexed point vectors are taken out from the historical point prediction information table and put into a current point prediction information table dedicated to the current integral compression unit, and the multiplexed point vectors are marked as multiplexed in the historical point prediction information table; on the other hand, the parameters of new point vectors are put into the current point prediction information table.

[0148] Preferably,

[0149] In the encoding method or the encoding device or the decoding method or the decoding device, in the process of taking out the parameters of the multiplexed point vector from the history point prediction information table and putting them into the current point prediction information table special for the current compression unit, the difference between the address or index of the multiplexed point vector in the history point prediction information table and the address or index of the previous multiplexed point vector in the history point prediction information table is used to select and take out the multiplexed point vector;

[0150] Preferably,

[0151] In the encoding method or the encoding device or the decoding method or the decoding device, after all the parameters of the point vectors used in a current compression unit are put into the current point prediction information table special for the current compression unit, the current point prediction information table and the history point prediction information table are merged to generate a new history point prediction information table in the following way:

[0152] On one hand, the current point prediction information table is put into the new history point prediction information table to occupy a part of the new history point prediction information table.

[0153] On the other hand, the parameters of the point vectors in the history point prediction information table that are not multiplexed by the current compression unit are put into the new history point prediction information table to occupy another part of the new history point prediction information table.

[0154] Embodiment 6

[0155] In the encoding method or the encoding device or the decoding method or the decoding device, in the case where the original data is a two-dimensional data element array or a sequence of arrays including images, sequences of images, or videos,

[0156] The syntax description table of the process of taking out the parameters of the multiplexed point vector from the history point prediction information table composed of PrevPpInfoList, PrevFopYonly, PrevEvsDpbIndex, PrevEvsDpbReactivatedYonly, PrevCompLumaFreqOccurPos and putting them into the current point prediction information table composed of PpInfoList, FopYonly, EvsDpbIndex, EvsDpbReactivatedYonly, CompLumaFreqOccurPos special for the current compression unit at least includes:

[0157]

[0158]

[0159]

[0160]

[0161] In the syntax description table above, isc_num_of_reused_pv and isc_prev_pv_not_reused_run are syntax elements present in the bitstream; IscNumOfReusedPv and IscPrevPvNotReusedRun are values of isc_num_of_reused_pv and isc_prev_pv_not_reused_run, respectively;

[0162] Preferably, in the encoding method or the encoding device or the decoding method or the decoding device, in the case where the original data is an array or a sequence of arrays of two-dimensional data elements comprising an image, a sequence of images, a video,

[0163] For the new point vector, the predetermined rule at least comprises: the element value of the principal component of the frequently-occurring position represented by the new point vector is always present in the compressed data bitstream; if the frequently-occurring position represented by the new point vector is a positive principal component position, the element value of the secondary component of the frequently-occurring position represented by the new point vector is also present in the compressed data bitstream; the syntax description table of the predetermined rule at least comprises:

[0164]

[0165]

[0166]

[0167] In the syntax description table above, isc_fopixel_y, isc_fopixel_cb and isc_fopixel_cr are syntax elements present in the bitstream; IscFopixelY, IscFopixelCb and IscFopixelCr are values of isc_fopixel_y, isc_fopixel_cb and isc_fopixel_cr, respectively;

[0168] Preferably, in the encoding method or the encoding device or the decoding method or the decoding device, in the case where the original data is an array or a sequence of arrays of two-dimensional data elements comprising an image, a sequence of images, a video,

[0169] Preferably,

[0170] In the encoding method or the encoding device or the decoding method or the decoding device, in the case where the original data is an array or a sequence of arrays of two-dimensional data elements comprising an image, a sequence of images, a video,

[0171] After parameters of all point vectors used in a current integral compression unit are put into a current point prediction information table composed of PpInfoList, FopYonly, EvsDpbIndex, EvsDpbReactivatedYonly, and CompLumaFreqOccurPos, which is specific to the current integral compression unit, the current point prediction information table and a history point prediction information table composed of PrevPpInfoList, PrevFopYonly, PrevEvsDpbIndex, PrevEvsDpbReactivatedYonly, and PrevCompLumaFreqOccurPos are merged to generate a new history point prediction information table. The merging operation includes at least:

[0172] Let PrevPvBufSize be equal to the total number of point vectors in the history point prediction information table, PvBufSize be equal to the total number of point vectors in the current point prediction information table, tmpPvBuf[i], tmpFlag[i], tmpEvsDpbIndex[i], tmpEvsDpbReactivatedYonly[i], and tmpCompLumaFreqOccurPos[i] (i = 0 ~ I-1) be temporary point prediction information buffers, and the merging operation be performed at least in the manner shown in the following table:

[0173]

[0174]

[0175]

[0176]

[0177]

[0178] The above I is an upper limit of the number of point vectors that can be stored in PrevPpInfoList.

[0179] The basic principles, main features, and advantages of the present application are shown and described above. Those skilled in the art should understand that the present application is not limited by the above examples, and the above examples and descriptions in the specification are only to illustrate the principles of the present application. Various changes and improvements can be made to the present application without departing from the spirit and scope of the present application, and these changes and improvements all fall within the scope of the present application. The scope of the present application is defined by the appended claims and their equivalents.

Claims

1. A data encoding method for multiplexing point vectors with a history point prediction information table, characterized by, The data encoding method comprises at least the following steps: Step 1: adding and storing the parameters of part or all of the point vectors used in any one integral compression unit into a history point prediction information table; Step 2: the point vector used in any one integral compression unit of point prediction encoding is called a reused point vector if it is a point vector from the history point prediction information table, and is called a new point vector if it is not a point vector in the history point prediction information table; Step 3: for the new point vector, at least the element values of the primary component and the secondary component or the element value of the primary component determined according to a predetermined rule exist in the compressed data code stream, that is, according to the predetermined rule, the element values of both the primary component and the secondary component at the frequently-occurring position represented by the new point vector are written into the compressed data code stream or only the element value of the primary component at the frequently-occurring position represented by the new point vector is written into the compressed data code stream; The predetermined rule at least comprises: if the frequently-occurring position represented by the new point vector is the primary component positive position, the element values of the primary component and the secondary component exist in the compressed data code stream; otherwise, only the element value of the primary component exists in the compressed data code stream; that is, the element value of the primary component at the frequently-occurring position represented by the new point vector always exists in the compressed data code stream; if the frequently-occurring position represented by the new point vector is the primary component positive position, the element value of the secondary component at the frequently-occurring position represented by the new point vector also exists in the compressed data code stream.

2. A data encoding device for reusing point vectors with a history point prediction information table, characterized in that the data encoding device comprises at least the following modules capable of realizing the following functions and operations: adding and storing the parameters of part or all of the point vectors used in any one integral compression unit into a history point prediction information table; the point vector used in any one integral compression unit of point prediction encoding is called a reused point vector if it is a point vector from the history point prediction information table, and is called a new point vector if it is not a point vector in the history point prediction information table; for the new point vector, at least the element values of the primary component and the secondary component or the element value of the primary component determined according to a predetermined rule exist in the compressed data code stream, that is, according to the predetermined rule, the element values of both the primary component and the secondary component at the frequently-occurring position represented by the new point vector are written into the compressed data code stream or only the element value of the primary component at the frequently-occurring position represented by the new point vector is written into the compressed data code stream; The predetermined rule at least comprises: if the frequently-occurring position represented by the new point vector is the primary component positive position, the element values of the primary component and the secondary component exist in the compressed data code stream; otherwise, only the element value of the primary component exists in the compressed data code stream; that is, the element value of the primary component at the frequently-occurring position represented by the new point vector always exists in the compressed data code stream; if the frequently-occurring position represented by the new point vector is the primary component positive position, the element value of the secondary component at the frequently-occurring position represented by the new point vector also exists in the compressed data code stream.

3. A data decoding method for multiplexing point vectors with a history point prediction information table, characterized in that the decoding method comprises at least the following steps: adding and storing the parameters of the partial point vectors or all point vectors used in any one integral compression unit to a history point prediction information table; a point vector used by any one integral compression unit for point prediction decoding is called a multiplexed point vector when it is a point vector from the history point prediction information table, and is called a new point vector when it is not a point vector in the history point prediction information table; for a new point vector, there are at least the element values of the primary component and the secondary component or the element values of the primary component in the compressed data code stream according to a predetermined rule, and at least according to the predetermined rule, the element values of both the primary component and the secondary component at the frequently-occurring position represented by the new point vector or only the element values of the primary component at the frequently-occurring position represented by the new point vector are obtained from the compressed data code stream; the predetermined rule at least includes: if the frequently-occurring position represented by the new point vector is the primary component positive position, then the element values of the primary component and the secondary component exist in the compressed data code stream; otherwise, only the element values of the primary component exist in the compressed data code stream; that is, the element values of the primary component at the frequently-occurring position represented by the new point vector always exist in the compressed data code stream; if the frequently-occurring position represented by the new point vector is the primary component positive position, then the element values of the secondary component at the frequently-occurring position represented by the new point vector also exist in the compressed data code stream.

4. The data decoding method of claim 3, wherein the history point prediction information table is a table of a size of 64x64. The original data is an array or sequence of arrays of two-dimensional data elements including images, sequences of images, or videos, and the integral compression unit includes a macroblock, a coding unit (CU), a sub-region of a CU, a sub-coding unit (SubCU), a prediction block, a prediction unit (PU), a sub-region of a PU, a sub-prediction unit (SubPU), a transform block, a transform unit (TU), a sub-region of a TU, or a sub-transform unit (SubTU).

5. The data decoding method of claim 3, wherein the history point prediction information table is a table of a size of 64x64. The parameters of the point vector at least include one-dimensional or multi-dimensional coordinates of the frequently-occurring position represented by the point vector in a predetermined one-dimensional or multi-dimensional region.

6. The data decoding method of claim 3, wherein the history point prediction information table is a table of a size of 64x64. The parameters of all point vectors used in the integral compression unit are stored in a point prediction information table dedicated to the integral compression unit, and the point prediction information table is composed of two parts, the first part stores the parameters of the multiplexed point vector or is empty, and the second part stores the parameters of the new point vector or is empty.

7. The data decoding method of claim 3, wherein the history point prediction information table is a table of a size of 64x64. The data source is an image, a sequence of images, or a video, and the data is an array or sequence of arrays of two-dimensional data elements in 420 sample format, having a primary component F and two secondary components D and E.

8. The data decoding method of claim 3, wherein the history point prediction information table is a table of a size of 64x64. including one of the following features, Feature 1: when encoding or decoding a current integral compression unit, on the one hand, the parameters of the multiplexed point vector are taken out from the history point prediction information table and put into a current point prediction information table dedicated to the current integral compression unit, and the multiplexed point vector is marked as being multiplexed in the history point prediction information table; on the other hand, the parameters of the new point vector are put into the current point prediction information table; Feature 2: In the process of taking out the parameters of the multiplexed point vector from the history point prediction information table and putting them into the current point prediction information table dedicated to the current integral compression unit, the difference between the address or index of the multiplexed point vector in the history point prediction information table and the address or index of the previous multiplexed point vector in the history point prediction information table is used to select and take out the multiplexed point vector; Feature 3: After the parameters of all point vectors used in a current integral compression unit are put into the current point prediction information table dedicated to the current integral compression unit, the current point prediction information table and the history point prediction information table are merged in the following manner to generate a new history point prediction information table; On one hand, the current point prediction information table is put into the new history point prediction information table to occupy a part of the new history point prediction information table; On the other hand, the parameters of the point vectors in the history point prediction information table that are not multiplexed by the current integral compression unit are put into the new history point prediction information table to occupy another part of the new history point prediction information table.

9. A data decoding apparatus for realizing the data decoding method with history point prediction information table multiplexing point vector according to any one of claims 3 to 8, characterized by, The decoding device at least includes modules capable of implementing the following functions and operations: adding and storing the parameters of part or all of the point vectors used in any integral compression unit into a history point prediction information table; A point vector used by any integral compression unit in point prediction decoding is called a multiplexed point vector when it is a point vector from the history point prediction information table, and is called a new point vector when it is not a point vector in the history point prediction information table; For a new point vector, at least the element values of the primary component and the secondary component or the element values of the primary component at the position represented by the new point vector are present in the compressed data code stream according to a predetermined rule, and at least the element values of the primary component and the secondary component or only the element values of the primary component at the position represented by the new point vector are obtained from the compressed data code stream according to the predetermined rule; The predetermined rule at least includes: If the position represented by the new point vector is a primary component positive position, the element values of the primary component and the secondary component are present in the compressed data code stream; otherwise, the element values of the primary component are present in the compressed data code stream. That is, the element values of the primary component at the position represented by the new point vector are always present in the compressed data code stream; if the position represented by the new point vector is a primary component positive position, the element values of the secondary component at the position represented by the new point vector are also present in the compressed data code stream.

Citation Information

Patent Citations

  • Coding and decoding method and a coding and decoding device for limiting point prediction frequent positions and the number of point vectors thereof

    CN113365074A

  • Image coding method, image coding device, image decoding method, and image decoding device

    JP2021057730A