CN112532990B - String length parameter coding and decoding method and device - Google Patents

String length parameter coding and decoding method and device Download PDF

Info

Publication number
CN112532990B
CN112532990B CN202011324094.XA CN202011324094A CN112532990B CN 112532990 B CN112532990 B CN 112532990B CN 202011324094 A CN202011324094 A CN 202011324094A CN 112532990 B CN112532990 B CN 112532990B
Authority
CN
China
Prior art keywords
code
length
string
remaining number
truncated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011324094.XA
Other languages
Chinese (zh)
Other versions
CN112532990A (en
Inventor
赵利平
林涛
周青阳
周开伦
焦孟草
胡珂立
沈士根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Shaoxing
Original Assignee
University of Shaoxing
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Shaoxing filed Critical University of Shaoxing
Priority to CN202011324094.XA priority Critical patent/CN112532990B/en
Publication of CN112532990A publication Critical patent/CN112532990A/en
Application granted granted Critical
Publication of CN112532990B publication Critical patent/CN112532990B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The invention discloses a string length parameter coding and decoding method and device. The invention adopts the next residual number as the string length parameter to write the compressed data code stream, thereby further improving the compression rate. According to the current common string-primitive coding mode, the value of the next remaining number is usually smaller than the string length value, so that the compressed data code stream consumption is reduced. The preferred scheme has a relatively remarkable effect of improving the compression rate when the number of strings is less than 1/4 of the current block size.

Description

String length parameter coding and decoding method and device
Technical Field
The invention belongs to the field of data compression, and in particular relates to a string length parameter coding and decoding method and device.
Background
As human society has entered 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, 4G/5G communication, various data sets including big data, image data, video data, and various new forms of data have become major consumers of internet bandwidth, and ultra-high compression ratio and ultra-high quality data compression thereof have become indispensable technologies.
A dataset is a collection of finite data (e.g., a one-dimensional data queue, a two-dimensional data file, a frame of image, a video sequence, a transform domain, a transform block, multiple transform blocks, a three-dimensional scene, a sequence of continuously changing three-dimensional scenes) that is organized into a spatial (one-dimensional, two-dimensional, or multi-dimensional) shape, consisting of samples of data, also called elements (e.g., bytes, bits, pixels, pixel components, spatial sampling points, transform domain coefficients). When encoding (and correspondingly decoding) a data set, in particular a two-dimensional or more data set, the data set is typically divided into a number of subsets having a predetermined shape, called encoded blocks (from the decoding point of view, i.e. decoded blocks, collectively encoded blocks or decoded blocks), and a block is encoded or decoded in a predetermined temporal order in units of encoded blocks or decoded blocks. At any one time, the coding block being coded is referred to as the current coding block. At any one time, the decoding block being decoded is referred to as the current decoding block. The current encoded block or the current decoded block is collectively referred to as a current encoded block or a decoded block or simply a current block. The sample being encoded or decoded is referred to as the current encoded sample or current decoded sample, simply referred to as the current sample, also referred to as the current element.
For an encoded block or a decoded block having a certain shape, it is necessary in many cases to divide it into finer cells (base units), and to encode or decode one cell by one cell in a predetermined time sequence. The same type of encoding or decoding operation is typically performed on all samples within a primitive. At any one time, the primitive being encoded or decoded is referred to as the current primitive. The result of encoding a primitive is one or more encoding parameters that ultimately produce a compressed data stream containing the encoding parameters. Decoding a primitive is to parse the compressed data stream to obtain one or more coding parameters, and recover samples of reconstructed data from the one or more coding parameters. Examples of primitives include coded or decoded blocks (whole block as a primitive), sub-blocks, micro-blocks, strings, byte strings, alpha (alpha) strings, pixel unit strings, pixel strings, sample strings, index strings, lines.
The size of an encoded block or a decoded block is the number of elements or the equivalent number of pixels contained in the encoded block or the decoded block. For example, in the case where one element contains 4×1 pixels, the size of one encoded block or decoded block containing 32×32 pixels, i.e., 8×32 elements, is 1024 pixels, i.e., 256 elements.
Typical representations of string-primitive coding modes include the latest international video standard VVC (Versatile Video Coding) standard and the national AVS3 (the third generation of Audio Video Coding Standard) standard, and the Palette (PLT) mode and string matching (also known as string prediction or intra-frame string replication, ISC) mode in the previous version of the standard.
In PLT mode, a Palette is used to hold representative colors, also called primary colors, of the current CU or the nearest CU. For one input CU, first, pixels in the CU are subjected to a palette generation method to obtain palettes, then, main colors in each palette are represented by index (index), and finally, pixels in the CU are mapped to indexes corresponding to the main colors. The PLT mode represents pixels of the entire CU with a main color, a non-main color, and an index table in the palette, and thus the main color, the non-main color, and the index table need to be encoded. The coding of the index table adopts a certain scanning sequence, uses two index copying modes, namely a copying left mode and a copying upper mode, carries out entropy coding on the index copying mode and the length (length), and writes the code stream. The non-primary color directly transmits the pixel value itself.
The ISC mode is similar to the PLT mode, and is also a mode using strings as primitives, and uses a sample, also called an element (such as a pixel unit or a pixel), as a minimum copy unit, in a given reference pixel set, according to a predetermined scanning sequence, if an optimal reference sample (such as a pixel unit or a pixel) string can be found in the reference pixel set, a sample (such as a pixel unit or a pixel) string copy relationship parameter displacement vector and a length (length) are used to respectively represent the position relationship between the reference sample string (abbreviated as a reference string) and the current sample string to be coded (also called a current string), otherwise, the current incompletely matched sample (such as an incompletely matched pixel unit, which is a pixel unit whose mxn pixels or components or indexes have at least one unmatched pixel or component or index in which the reference sample cannot be found) is coded. Typically, the displacement vector is equal to the reference string starting position minus the current string starting position.
Taking an example of a coding block or decoding block of size 32x32 pixels (1024 pixels in size of the coding block or decoding block) divided into n pixel unit strings (such as those in the ISC mode, each pixel unit is composed of 4x1 pixels, each coding block or decoding block is composed of 256 pixel units, i.e., 256 elements in size of the coding block or decoding block) and/or m incompletely matched pixel units, the length values of the n strings are length in turn 1 、length 2 、......length n (wherein,and->) A sequence of string lengths is formed. Since the sequence of string lengths has some inherent regularity and correlation: taking the example of a string of pixels, the probability of a string having a string length equal to the size of the entire encoded block is relatively high, and the sum of all string lengths and the number of unmatched pixels is equal to the size of the encoded block. Thus, redundancy exists in the sequence of string lengths, stringsThe length sequence direct coding or decoding scheme does not remove this redundancy, losing coding efficiency.
Disclosure of Invention
Aiming at the defects or improvement demands of the prior art, the invention provides a string length parameter coding and decoding method and device, which aim at adopting the next residual number as the string length parameter to write in a compressed data code stream, further improving the compression rate, thereby solving the technical problem that the existing string length is taken as the string length parameter to directly code the compression rate to be improved.
To achieve the above object, according to one aspect of the present invention, there is provided a string length parameter encoding method or apparatus, which includes at least steps or modules for performing the following functions and operations:
(1) Based at least on current block size, current string length i And the sum of the lengths of the currently encoded elements curTlen, calculates the next remaining number nrp i String length parameters as current string;
the next remaining number nrp i For the number of elements remaining in the current block after encoding the current string;
(2) At least information representing the string length parameter values is written into the compressed data stream.
According to another aspect of the present invention, there is provided a string length parameter decoding method including at least the steps of:
(A) Analyzing the compressed data code stream in the current block to at least obtain the information containing the string length parameter value of the current string; the string length parameter is the next remaining number nrp i
The next remaining number nrp i For the number of elements remaining in the current block after decoding the current string;
(B) Obtaining a current string length according to a preset string length calculation mode at least according to the current block size curize, the sum curTlen of the number of elements which are decoded currently and the next residual number i
Preferably, the string length parameter decoding method obtains a current string length according to a predetermined string length calculation mode i The method specifically comprises the following steps:
Current string length i The method is as follows:
length i =cuSize-curTlen-nrp i
or alternatively
length i =R i -nrp i
Wherein R is i The number of current remaining elements; preferably the number R of the current remaining elements i For the difference between the current block size curize and the sum curTlen of the lengths of the currently decoded elements, calculating the number R of the current remaining elements in the current block i The following are provided:
R i =cuSize-curTlen
preferably, the value range of the next remaining number is [0, R i -1]。
Preferably, the string length parameter decoding method, when R i When=1, then nrp i The value is set to 0, and the next remaining number nrp does not exist in the compressed data code stream i Is a binary symbol string of (2); otherwise, i.e. R i > 1, there is the next remaining number nrp in the compressed data stream i Is inverse binarized the next remaining number nrp i The next remaining number nrp obtained for the binary symbol string of (2) i
Preferably, the string length parameter decoding method, the inverse binarizing the next remaining number nrp i The next remaining number nrp obtained for the binary symbol string of (2) i The method specifically comprises the following steps:
nrp the next remaining number in the compressed data stream of the current string in the current block i Is decoded to include the next remaining number nrp according to a preset inverse binarization scheme i For marking the next remaining number nrp, including the number of the segment in which the value is located i A parameter vector of values; according to a preset next remaining number nrp i The value range is divided into a plurality of linksSuccessive schemes of sequentially numbered segments will include the next remaining number nrp i For marking the next remaining number nrp, including the number of the segment in which the value is located i Conversion of the parameter vector of values to the next remaining number nrp i Is a value of (2); preferably the preset next remaining number nrp i The scheme of dividing the value range into a plurality of consecutive sequentially numbered segments is based on the next remaining number nrp i Value range determination, preferably the one remaining number nrp i The value range is based on the number R of the current residual elements i And (5) determining.
Preferably, the string length parameter decoding method, the inverse binarizing the next remaining number nrp i Is composed of at least two parts:
the first part adopts an inverse binarization mode of truncated unitary code or truncated binary code or truncated k-order exponential golomb code or fixed-length code derived from a maximum value;
the second part adopts the inverse binarization mode of the segmented truncated binary code, the segment number and/or the dividing point of the segment are derived from at least the current residual number, the segment number is allowed to be 0, and the second part is null or not.
Preferably, the string length parameter decoding method, the inverse binarizing the next remaining number nrp i Is composed of at least three parts:
the first part adopts an inverse binarization mode with a maximum value, wherein the inverse binarization mode comprises a truncated unitary code or a truncated binary code or a truncated k-order exponential golomb code or a fixed-length code derived from a maximum value;
the second part adopts a segmented inverse binarization mode of a fixed-length code derived from a maximum value, the segment number and/or the demarcation point of the segment are derived from at least the current residual number, the segment number is allowed to be 0, and the second part is null or does not exist;
the third part adopts a reverse binarization mode of segmented fixed-length codes, the number of segments and/or the dividing points of the segments are derived from at least the first part and/or the second part, the number of segments is allowed to be 0, and the third part is empty, namely, is not present.
Preferably, the string length parameter decoding method, the inverse binarizing the next remaining number nrp i The next remaining number nrp obtained for the binary symbol string of (2) i The method specifically comprises the following steps:
the next remaining number nrp is counted using a truncated code having a truncated value, i.e. a maximum maxVal i Is inverse binarized, the truncated code comprising one or a combination of the following codes:
Truncating unary code, or
Truncated binary codes, i.e. truncated fixed-length codes, having at most two code lengths, or
The fixed-length code derived from said maximum value is preferably composed of the shorter of the truncated binary codes with said maximum value, or
Cutting off an exponential golomb code of a preset order, namely cutting off an exponential golomb code of k orders;
preferably, at least according to the number R of the current remaining elements i Determining the maximum value maxVal; preferably, the maximum maxVal is allowed to be 0, which indicates that the corresponding code is a null code, i.e., a binary symbol string does not actually exist.
Preferably, the string length parameter decoding method, the preferred element is a pixel unit consisting of 4x1 pixels or components or indexes;
its said inverse binarizing the next remaining number nrp i The next remaining number nrp obtained for the binary symbol string of (2) i One of the following two schemes is applied;
scheme one:
the binary symbol string of the next remaining number comprises at least three parts, the inverse binarization of which comprises at least the steps of:
performing inverse binarization on a first part of the binary symbol string by adopting a truncated code comprising a truncated unary code or a truncated binary code or a truncated k-order exponential golomb code;
the second part of the binary symbol string is inverse binarized by selecting one of predetermined I+1 cut-off codes, each of which is a fixed-length code derived from a maximum value Or truncated binary codes with a maximum value; the maximum value is at least based on the number R of the current residual elements i And said first portion is derived, the maximum allowed to be 0, indicating that said second portion is empty, i.e., not present;
performing inverse binarization on a third part of the binary symbol string by adopting a fixed-length code with a code length k, wherein the code length k is derived from at least the first part and/or the second part, the code length k is allowed to be 0, and the third part is null or is not present;
scheme II:
the binary symbol string of the next remaining number includes a flag bit, and at least three parts; the flag bit is a one-bit binary symbol, namely a fixed-length code with the code length of 1 indicates whether the next residual number is zero or not;
when the result of the inverse binarization of the binary symbol of the flag bit indicates that the next remaining number is not zero, that is, equal to or greater than 1, the inverse binarization of the portion other than the binary symbol string flag bit of the next remaining number is the next remaining number minus 1, and the inverse binarization is performed on the portion other than the binary symbol string flag bit of the next remaining number, including at least the following steps:
performing inverse binarization on a first part of the binary symbol string by adopting a truncated code comprising a truncated unary code or a truncated binary code or a truncated k-order exponential golomb code;
Selecting one of predetermined i+1 truncated codes for the second portion of the binary symbol string, each of the i+1 truncated codes being a fixed-length code derived from a maximum value or a truncated binary code having a maximum value, to inverse binarize the second portion of the binary symbol string; the maximum value is at least based on the number R of the current residual elements i And said first portion is derived, the maximum allowed to be 0, indicating that said second portion is empty, i.e., not present;
and performing inverse binarization on a third part of the binary symbol string by adopting a fixed-length code with a code length of k, wherein the code length k is derived from at least the first part and/or the second part, and the code length k is allowed to be 0, so that the third part is null, namely, is not present.
Preferably, the next remaining number nrp i Or the total value range of the next remaining number minus 1 is divided into a predetermined Imax+1 integer interval [ N0 ] i ,N0 i+1 ),i=0~Imax;
The I in the second part is that the condition N0 is satisfied I ≤R-1<N0 I+1 I.e. N0 I <R≤N0 I+1 I of (2); in scheme one, R is equal to R i The method comprises the steps of carrying out a first treatment on the surface of the Alternatively, in scheme two, R is equal to R i -1;
The maximum value maxValPrefix of the truncated code adopted by the first part is equal to I, and the truncated code with the maximum value maxValPrefix is adopted to carry out inverse binarization on the first part of the binary symbol string to obtain a value a of the first part;
The second part selects an ith truncated code in the preset I+1 truncated codes to inverse binarize the second part of the binary symbol string; said i being equal to the value a of said first portion; the maximum value maxvallnix of the truncated code used by the second part is equal to =n i+1 -N i -1, wherein N i =N0 i ,N i+1 =min(N0 i+1 R), i.e. maxvallnfix=min (N0) i+1 -N0 i -1,R-N0 i -1); the next remaining number nrp i Or the next remaining number minus 1 is [ N ] i ,N i+1 )。
Preferably, in scheme one, imax=4, i is 0, 1, 2, 3, or 4, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 、N0 5 R is the maximum value of 0, 1, 5, 21, 277, R i Is the maximum value of (2);
or,
in scheme two, imax= 3,i is 0, 1, 2, or 3, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 R is the maximum value of 0, 4, 20, 276 and R respectively i -a maximum value of 1.
Preferably, in scheme one, imax= 3,i is 0, 1, 2, or 3, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 R is the maximum value of 0, 1, 5, 21, R i Is the maximum value of (2);
or,
in scheme two, imax=2, i is 0, 1, or 2, N0 0 、N0 1 、N0 2 、N0 3 R is the maximum value of 0, 4, 20 and R i -a maximum value of 1.
According to another aspect of the present invention, there is provided a string length parameter decoding apparatus including: the device comprises a compressed data code stream analysis module and a string length calculation module;
The compressed data code stream analysis module is used for storing at least the current block size cuSize and the sum curTlen of the current decoded element length, obtaining at least the information of the string length parameter value representing the current string, and submitting the information to the string length calculation module; the string length parameter is the next remaining number nrp i The method comprises the steps of carrying out a first treatment on the surface of the The next remaining number nrp i Is the number of elements remaining in the current block after decoding the current string;
the string length calculation module is used for obtaining a string length according to a preset string length calculation mode at least according to the current block size cuSize, the sum curTlen of the number of elements which are decoded currently and the next residual number i
Preferably, the string length calculation module is configured to calculate a length according to the current string length i And updating the sum curTlen of the lengths of the elements currently decoded; the string length information is the next remaining number nrp i
Preferably, the string length is obtained according to a predetermined string length calculation mode i The sum curTlen of the currently decoded element length subtracted from the current block size cuSize and the next remaining number nrp i The method is characterized by comprising the following steps:
length i =cuSize-curTlen-nrp i
or alternatively
length i =R i -nrp i
Wherein R is i As the wayThe number of the front remaining elements;
Preferably, the obtaining the information of the string length parameter value representing the current string is specifically that the obtaining the binarized compressed data code stream of the current string in the current block, and the performing inverse binarization to obtain the code containing the string length parameter information of the current string is specifically that:
calculating the number R of the current residual elements according to the current block size cuSize and the sum curTlen of the lengths of the elements which are decoded currently i
The number R of the current residual elements i For the difference between the current block size curize and the sum curTlen of the lengths of the currently decoded elements, calculating the number R of the current remaining elements in the current block i The following are provided:
R i =cuSize-curTlen
preferably, the value range of the next remaining number is [0, R i -1];
Preferably, the element includes a pixel or a pixel component, a pixel index, an index, or a pixel unit; the pixel unit is an array of mxn pixels or components or indexes, m and n being predetermined positive integers including 1, 2, 4, 8, 16, respectively; when m and n are both 1, the pixel unit is a pixel or a pixel component or a pixel index or an index; the preferred element is a pixel cell consisting of 4x1 pixels or components or indices.
Preferably, when R i When=1, then nrp i The value is set to 0, and the next remaining number nrp does not exist in the compressed data code stream i Is a binary symbol string of (2); otherwise, i.e. R i > 1, then there is the next remaining number nrp in the compressed data stream i Is inverse binarized to obtain the next remaining number nrp i
Preferably the next remaining number nrp obtained by said inverse binarization i The method specifically comprises the following steps:
according to the number R of the current residual elements i Determining the next remaining number nrp i Value range and obtain its next remaining number nrp i The value range being divided into a plurality of successive valuesA scheme of sequentially numbered segments; according to a preset next remaining number nrp i Scheme for dividing value range into a plurality of consecutive sequentially numbered segments, said next remaining number nrp being included i For marking the next remaining number nrp, including the number of the segment in which the value is located i Conversion of the parameter vector of values to the next remaining number nrp i To decode a binarized compressed data stream of a current string in a current block to include the next remaining number nrp according to a preset inverse binarization scheme i For marking the next remaining number nrp, including the number of the segment in which the value is located i A parameter vector of values.
Preferably, the string length calculation module updates the sum curTlen of the lengths of the currently decoded elements to be the current string length i And the sum of the currently decoded element lengths curTlen updates the sum of the currently decoded element lengths curTlen; the method comprises the following steps:
curTlen=curTlen+length i
the compressed data stream parsing module is preferably configured to use a truncated code with a truncated value, i.e. a maximum value maxVal, to inverse binarize the binary symbol string of the next remaining number, where the truncated code includes one or a combination of the following codes:
truncating unary code, or
Truncated binary codes, i.e. truncated fixed-length codes, having at most two code lengths, or
A fixed-length code derived from the maximum value, consisting of shorter codes of truncated binary codes having the maximum value, or
Cutting off an exponential golomb code of a preset order, namely cutting off an exponential golomb code of k orders;
preferably, at least according to the number R of the current remaining elements i Determining the maximum value maxVal; the maximum maxVal is allowed to be 0, indicating that the corresponding code is a null code, i.e., the binary symbol string is not actually present
Preferably, the next remaining number of binary symbol strings and the inverse binarization operation thereof are composed of at least three parts;
when the number R of the current residual elements i When the binary symbol string is equal to 1, all parts of the binary symbol string are empty, namely the binary symbol string does not exist in the compressed data code stream, and the value of the next remaining number is 0;
when the number R of the current residual elements i Above 1, inverse binarization is performed using one of two schemes:
scheme one:
the binary symbol string of the next remaining number comprises at least three parts, the inverse binarization of which comprises at least the steps of:
performing inverse binarization on a first part of the binary symbol string by adopting a truncated code comprising a truncated unary code or a truncated binary code or a truncated k-order exponential golomb code;
selecting one of predetermined i+1 truncated codes for the second portion of the binary symbol string, each of the i+1 truncated codes being a fixed-length code derived from a maximum value or a truncated binary code having a maximum value, to inverse binarize the second portion of the binary symbol string; the maximum value is at least based on the number R of the current residual elements i And said first portion is derived, the maximum allowed to be 0, indicating that said second portion is empty, i.e., not present;
performing inverse binarization on a third part of the binary symbol string by adopting a fixed-length code with a code length k, wherein the code length k is derived from at least the first part and/or the second part, the code length k is allowed to be 0, and the third part is null or is not present;
Scheme II:
the binary symbol string of the next remaining number includes a flag bit, and at least three parts; the flag bit is a one-bit binary symbol, namely a fixed-length code with the code length of 1 indicates whether the next residual number is zero or not;
when the result of the inverse binarization of the binary symbol of the flag bit indicates that the next remaining number is not zero, that is, equal to or greater than 1, the inverse binarization of the portion other than the binary symbol string flag bit of the next remaining number is the next remaining number minus 1, and the inverse binarization is performed on the portion other than the binary symbol string flag bit of the next remaining number, including at least the following steps:
performing inverse binarization on a first part of the binary symbol string by adopting a truncated code comprising a truncated unary code or a truncated binary code or a truncated k-order exponential golomb code;
selecting one of predetermined i+1 truncated codes for the second portion of the binary symbol string, each of the i+1 truncated codes being a fixed-length code derived from a maximum value or a truncated binary code having a maximum value, to inverse binarize the second portion of the binary symbol string; the maximum value is at least based on the number R of the current residual elements i And said first portion is derived, the maximum allowed to be 0, indicating that said second portion is empty, i.e., not present;
and performing inverse binarization on a third part of the binary symbol string by adopting a fixed-length code with a code length of k, wherein the code length k is derived from at least the first part and/or the second part, and the code length k is allowed to be 0, so that the third part is null, namely, is not present.
Preferably, the next remaining number nrp i Or the total value range of the next remaining number minus 1 is divided into a predetermined Imax+1 integer interval [ N0 ] i ,N0 i+1 ),i=0~Imax;
The I in the second part is that the condition N0 is satisfied I ≤R-1<N0 I+1 I.e. N0 I <R≤N0 I+1 I of (2); in scheme one, R is equal to R i The method comprises the steps of carrying out a first treatment on the surface of the Alternatively, in scheme two, R is equal to R i -1;
The maximum value maxValPrefix of the truncated code adopted by the first part is equal to I, and the truncated code with the maximum value maxValPrefix is adopted to carry out inverse binarization on the first part of the binary symbol string to obtain a value a of the first part;
the second part selects an ith truncated code in the preset I+1 truncated codes to inverse binarize the second part of the binary symbol string; said i being equal to the value a of said first portion; the maximum value maxvallnix of the truncated code used by the second part is equal to =n i+1 -N i -1, wherein N i =N0 i ,N i+1 =min(N0 i+1 R), i.e. maxvallnfix=min (N0) i+1 -N0 i -1,R-N0 i -1); the next remaining number nrp i Or the next remaining number minus 1 is [ N ] i ,N i+1 )。
Preferably, in scheme one, imax=4, i is 0, 1, 2, 3, or 4, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 、N0 5 R is the maximum value of 0, 1, 5, 21, 277, R i Is the maximum value of (2);
or,
in scheme two, imax= 3,i is 0, 1, 2, or 3, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 R is the maximum value of 0, 4, 20, 276 and R respectively i -a maximum value of 1.
Preferably, in scheme one, imax= 3,i is 0, 1, 2, or 3, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 R is the maximum value of 0, 1, 5, 21, R i Is the maximum value of (2);
or,
in scheme two, imax=2, i is 0, 1, or 2, N0 0 、N0 1 、N0 2 、N0 3 R is the maximum value of 0, 4, 20 and R i -a maximum value of 1.
In general, the above technical solutions conceived by the present invention, compared with the prior art, enable the following beneficial effects to be obtained:
according to the current common string-primitive coding mode, the value of the next remaining number is usually smaller than the string length value, so that the compressed data code stream consumption is reduced. The preferred scheme has a more remarkable effect of improving the compression rate when the data of the string is smaller than 5/16 of the current block size, for example, smaller than 1/4 and 3/16.
In the preferred scheme, the number relation among the next residual numbers is considered, and the corresponding binarization scheme is adopted, so that the consumption of compressed data code streams can be further reduced, and the compression rate is improved.
Detailed Description
The present invention will be described in further detail with reference to the following examples in order to make the objects, technical solutions and advantages of the present invention more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the invention. In addition, the technical features of the embodiments of the present invention described below may be combined with each other as long as they do not collide with each other.
The invention provides a string length parameter coding method, which is suitable for a data compression process taking strings as primitives, and comprises the following steps:
(1) Based at least on current block size, current string length i And the sum of the lengths of the currently encoded elements curTlen, calculates the next remaining number nrp i String length parameters as current string;
the next remaining number nrp i For the number of elements remaining in the current block after encoding the current string;
specific examples are:
acquiring current block size cuSize and current string length i And the sum of the lengths of the currently encoded elements curTlen, calculates the next remaining number nrp i String length parameters as current string;
the next remaining number nrp i For the number of remaining elements in the current block after encoding the current string, i.e. for the number of all elements in the current block after the current string, i.e. the current block size, cuSize minus the sum of the lengths of the currently encoded elements curTlen and the current string length i The method is characterized by comprising the following steps:
nrp i =cuSize-curTlen-length i
where cuSize is the current block size, curTlen is the sum of the lengths of the currently encoded elements, length i For the current string length, i=1, 2 … …;
the total number of strings in the current block does not exceed 3/16, 1/4, or 5/16 of the current block size.
(2) Writing at least information representing the string length parameter value into a compressed data stream; the method comprises the following steps:
writing at least information representing the string length parameter values obtained in said step (1) into a compressed data stream; one of the specific methods is to binarize the current string length parameter obtained in the step (1), and write the binarized data into the compressed data code stream;
the binarization scheme of the string length parameter, namely the next remaining number nrp i According to the binarization scheme, binarization is preferably carried out according to the distribution probability of the next remaining number and according to the principle that the code after binarization is shorter when the distribution probability is higher, so that the string length parameter value with higher occurrence frequency consumes fewer bits, and the compression rate is further improved;
according to current coding methods, especially for image or video data, the elements (including pixels or pixel units) in one coding block are likely to be divided into the same string, so that the frequency of the next remaining number 0 is quite high, coding with as few bits as possible, specifically as follows:
the number R of the current residual elements i For the difference between the current block size curize and the sum curTlen of the lengths of the currently encoded elements, calculating the number R of the current remaining elements in the current block i The following are provided:
R i =cuSize-curTlen
if R is i =1, then nrp i Only can take the value of 0, and the next residual number nrp does not exist in the compressed data code stream i Is a binary symbol string of (2); otherwise, i.e. R i > 1, then nrp i The next remaining number nrp to be i Binarization.
The next remaining number nrp i Binarization, specifically includes:
according to the number R of the current residual elements i Determining the next remaining number nrp i Value field and the next remaining number nrp i The value range is divided into a plurality of consecutive sequentially numbered segments to include the next remaining number nrp i Parameter directions including the number of the segment in which the value is locatedQuantity marks the next remaining number nrp i And for said value for marking the next remaining number nrp i Including the next remaining number nrp i Binarizing the parameter vector including the number of the segment in which the value is located as the next remaining number nrp i Is encoded by the binarization of (a).
Preferably, the first segment of the sequentially numbered segments contains only one value of 0.
Due to nrp i The value range can be defined by the number R of the current residual elements i Determine, therefore, by reasonably dividing the next remaining number nrp i The value range can effectively reduce the value to be encoded, thereby further reducing the number of bits consumed.
(3) Length in current string length i And the sum of the currently encoded element lengths curTlen updates the sum of the currently encoded element lengths curTlen; the method specifically comprises the following steps:
curTlen=curTlen+length i
the invention adopts the length parameter of the next remaining number to carry out the coding scheme on at least one string length, so that the length parameter of the next remaining number is smaller than the value of the direct coding string length under partial conditions, thereby reducing the bit number consumed by entropy coding of a part of length values in the pixel unit string or the sequence of the pixel string length and further improving the coding efficiency of the string length sequence. The scheme has the advantages that the effect of improving the coding efficiency is more obvious under the condition that the number of strings is smaller, and the coding efficiency is obviously improved compared with the existing coding mode which directly takes the string length as the string length parameter under the condition that the total number of strings in the current block is not more than 5/16 of the current block size.
How to efficiently encode or decode length sequences in coding modes (such as PLT mode and ISC mode) that are primitive with pixel cell strings or pixel strings is a critical issue. Existing string-length sequence encoding or decoding schemes directly to length 1 、length 2 、......length n Encoding or decoding is performed. One specific example is: let length 1 、length 2 、......length n The sequence coding scheme of the existing string length is to directly code or decode four length values of 200, 8, 45 and 3. An important step in encoding or decoding is binarization or inverse binarization. The process of obtaining a string of binary symbols representing a value of a variable or parameter from this value is called binarization. The process of obtaining a value of a variable or parameter from a string of binary symbols representing the value is called inverse binarization. In general, the larger the value of a variable or parameter, the greater the number of bits required for binarization. Representing the value of the variable or parameter with a higher probability of occurrence by a smaller numerical value or reducing the value of the variable or parameter can further improve the encoding efficiency. The invention takes the residual string length of the string as the coding parameter, and the difference between the residual string length of the previous string and the residual string length of the current string is the current string length.
Coding modes with strings as primitives have greater prediction flexibility and higher prediction accuracy, but also bring about some drawbacks, such as high hardware implementation complexity. To solve the complexity problem of hardware implementation, it is often necessary to limit the total number of pixel unit strings into which the entire coding block is divided, for example, the total number of the entire pixel unit strings does not exceed one quarter of the entire coding block. Note that there is some inherent regularity and correlation of the sequence of string lengths: taking the example of pixel strings, the probability of strings having a string length equal to the size of the entire encoded block is relatively high. Therefore, there is redundancy in the string-length sequence, and the string-length sequence direct encoding or decoding scheme does not remove such redundancy, losing encoding efficiency.
The string is formed by arranging samples, also called elements, in a predetermined scanning manner. The samples include pixels or pixel components or pixel indices or pixel units. The pixel unit is an array of mxn pixels or components or indices, m and n being predetermined positive integers including 1, 2, 4, 8, 16, respectively. When m and n both take a value of 1, the pixel unit is a pixel or a pixel component or a pixel index or an index.
The invention provides a string length parameter decoding method, which comprises the following steps:
(A) Analyzing the compressed data code stream in the current block to at least obtain the information containing the string length parameter value of the current string; the string length parameter is the next remaining number nrp i
The next remaining number nrp i For the number of elements remaining in the current block after decoding the current string;
the method specifically comprises the following steps: sequentially obtaining a binarized compressed data code stream of a current string in a current block, and performing inverse binarization to obtain a code containing string length parameter information of the current string; the string length parameter is the next remaining number nrp i The method comprises the steps of carrying out a first treatment on the surface of the More specifically:
the number R of the current residual elements i For the difference between the current block size curize and the sum curTlen of the lengths of the currently decoded elements, calculating the number R of the current remaining elements in the current block i The following are provided:
R i =cuSize-curTlen
if R is i =1, then nrp i The value is set to 0, since 0 is the only possible value, there is no next remaining number nrp in the compressed data stream i Is a binary symbol string of (2); otherwise, i.e. R i > 1, there is the next remaining number nrp in the compressed data stream i Is inverse binarized to obtain the next remaining number nrp i
The inverse binarization yields the next remaining number nrp i The method specifically comprises the following steps:
decoding the binarized compressed data code stream of the current string in the current block into a code stream comprising the next remaining number nrp according to a preset inverse binarization scheme i For marking the next remaining number nrp, including the number of the segment in which the value is located i A parameter vector of values; according to a preset next remaining number nrp i Scheme for dividing value range into a plurality of consecutive sequentially numbered segments, said next remaining number nrp being included i For marking the next remaining number nrp, including the number of the segment in which the value is located i Conversion of the parameter vector of values to the next remaining number nrp i Values of (2)The method comprises the steps of carrying out a first treatment on the surface of the The preset next remaining number nrp i The scheme of dividing the value range into a plurality of consecutive sequentially numbered segments is based on the next remaining number nrp i Value range determination, the one remaining number nrp i The value range is based on the number R of the current residual elements i And (5) determining.
Preferably, the next remaining number of binary symbol strings are inverse binarized using a truncated code having a truncated value, i.e. a maximum value maxVal, the truncated code comprising one or a combination of the following codes:
truncating unary code, or
Truncated binary codes, i.e. truncated fixed-length codes, having at most two code lengths, or
A fixed-length code derived from the maximum value, consisting of shorter codes of truncated binary codes having the maximum value, or
Cutting off an exponential golomb code of a preset order, namely cutting off an exponential golomb code of k orders;
preferably, at least according to the number R of the current remaining elements i Determining the maximum value maxVal; the maximum maxVal is allowed to be 0, indicating that the corresponding code is a null code, i.e., the binary symbol string is not actually present
Preferably, the next remaining number of binary symbol strings and the inverse binarization operation thereof are composed of at least three parts;
when the number R of the current residual elements i When the binary symbol string is equal to 1, all parts of the binary symbol string are empty, namely the binary symbol string does not exist in the compressed data code stream, and the value of the next remaining number is 0;
when the number R of the current residual elements i Above 1, inverse binarization is performed using one of two schemes:
scheme one:
the inverse binarization of the string of binary symbols for the next remaining number consists of at least the following three part operations:
the first part adopts a truncated code comprising a truncated unary code or a truncated binary code or a truncated k-order exponential golomb code to carry out inverse binarization on the first part of the binary symbol string;
The second part selecting one of predetermined I+1 cut-off codes to inverse binarize the second part of the binary symbol string, each of the I+1 cut-off codes being a fixed-length code derived from a maximum value or a cut-off binary code having a maximum value; the maximum value is at least based on the number R of the current residual elements i And said first portion is derived, the maximum allowed to be 0, indicating that said second portion is empty, i.e., not present;
the third part is subjected to inverse binarization by adopting a fixed-length code with a code length k, wherein the code length k is derived from at least the first part and/or the second part, the code length k is allowed to be 0, and the third part is null or does not exist;
scheme II:
firstly, a flag, namely a one-bit binary symbol, namely a fixed-length code with the code length of 1 is adopted to represent whether the next residual number is zero or not;
if the result of the inverse binarization of the binary symbols of the flag indicates that the next remaining number is equal to or greater than 1, subtracting one from the next remaining number, referred to as subtracting 1 from the next remaining number, and continuing to inverse binarize the string of binary symbols of the next remaining number minus 1, the inverse binarization of the next remaining number minus 1 consisting of at least three operations:
The first part adopts a truncated code comprising a truncated unary code or a truncated binary code or a truncated k-order exponential golomb code to carry out inverse binarization on the first part of the binary symbol string;
the second part selecting one of predetermined I+1 cut-off codes to inverse binarize the second part of the binary symbol string, each of the I+1 cut-off codes being a fixed-length code derived from a maximum value or a cut-off binary code having a maximum value; the maximum value is at least based on the number R of the current residual elements i And said first portion is derived, the maximum allowed to be 0, indicating that said second portion is empty, i.e., not present;
the third part is inverse binarized with a fixed-length code of code length k derived from at least the first and/or second part, the code length k being allowed to be 0, indicating that the third part is empty, i.e. not present.
Preferably, the next remaining number nrp i Or the total value range of the next remaining number minus 1 is divided into a predetermined Imax+1 integer interval [ N0 ] i ,N0 i+1 ),i=0~Imax;
The I in the second part is that the condition N0 is satisfied I ≤R-1<N0 I+1 I.e. N0 I <R≤N0 I+1 I of (2); in scheme one, R is equal to R i The method comprises the steps of carrying out a first treatment on the surface of the Alternatively, in scheme two, R is equal to R i -1;
The maximum value maxValPrefix of the truncated code adopted by the first part is equal to I, and the truncated code with the maximum value maxValPrefix is adopted to carry out inverse binarization on the first part of the binary symbol string to obtain a value a of the first part;
The second part selects an ith truncated code in the preset I+1 truncated codes to inverse binarize the second part of the binary symbol string; said i being equal to the value a of said first portion; the maximum value maxvallnix of the truncated code used by the second part is equal to =n i+1 -N i -1, wherein N i =N0 i ,N i+1 =min(N0 i+1 R), i.e. maxvallnfix=min (N0) i+1 -N0 i -1,R-N0 i -1); the next remaining number nrp i Or the next remaining number minus 1 is [ N ] i ,N i+1 )。
Preferably, in scheme one, imax=4, i is 0, 1, 2, 3, or 4, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 、N0 5 R is the maximum value of 0, 1, 5, 21, 277, R i Is the maximum value of (2);
or,
in scheme two, imax= 3,i is 0, 1, 2, or 3, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 R is the maximum value of 0, 4, 20, 276 and R respectively i -a maximum value of 1.
Preferably, in scheme one, imax= 3,i is 0, 1, 2,Or 3, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 R is the maximum value of 0, 1, 5, 21, R i Is the maximum value of (2);
or,
in scheme two, imax=2, i is 0, 1, or 2, N0 0 、N0 1 、N0 2 、N0 3 R is the maximum value of 0, 4, 20 and R i -a maximum value of 1.
(B) Based at least on the current block size cuSize, the sum of the number of currently decoded elements curTlen, and the next remaining number nrp i Obtaining the current string length according to a preset string length calculation mode i . The method specifically comprises the following steps:
calculating the current string length according to the code containing string length parameter information obtained in the step (A) i The method comprises the steps of carrying out a first treatment on the surface of the The string length information is the next remaining number nrp i
The string length i The sum curTlen of the currently decoded element length subtracted from the current block size cuSize and the next remaining number nrp i The method is as follows:
length i =cuSize-curTlen-nrp i
or alternatively
length i =R i -nrp i
Wherein R is i The number of current remaining elements; preferably the number R of the current remaining elements i For the difference between the current block size curize and the sum curTlen of the lengths of the currently decoded elements, calculating the number R of the current remaining elements in the current block i The following are provided:
R i =cuSize-curTlen
preferably, the value range of the next remaining number is [0, R i -1];
(C) Length in current string length i And the sum of the currently decoded element lengths curTlen updates the sum of the currently decoded element lengths curTlen; the method specifically comprises the following steps:
curTlen=curTlen+length i
the present invention provides a string length parameter encoding device, comprising: the device comprises a string length parameter acquisition module and a compressed code stream generation module;
the string length parameter obtaining module stores the current block size cuSize, obtains the current string and reads the current string length i And the sum curTlen of the lengths of the currently encoded elements, and reading the current string length in parallel according to the current block size cuSize, the sum curTlen of the lengths of the previously encoded elements, and the current string i Calculate the next remaining number nrp i And the number of current remaining elements R i The next remaining number nrp i As string length parameter and number of current remaining elements R i Submitting the compressed code stream to a compressed code stream generation module;
the next remaining number nrp i For the number of remaining elements in the current block after encoding the current string, i.e. the sum of the lengths of all strings after the current string in the current block, i.e. the current block size, cuSize minus the sum of the lengths of the currently encoded elements curTlen and the current string length i The method is characterized by comprising the following steps:
nrp i =cuSize-curTlen-length i
where cuSize is the current block size, curTlen is the sum of the lengths of the currently encoded elements, length i For the current string length, i=1, 2 … …;
the compressed code stream generating module is at least used for writing information representing the string length parameter value into a compressed data code stream;
in particular for the number R of current remaining elements i Binarizing the string length parameter, writing the binarized data into a compressed code stream, and updating the sum curTlen of the lengths of the elements which are coded currently;
the number R of the current residual elements i For the difference between the current block size curize and the sum curTlen of the lengths of the currently encoded elements, calculating the number R of the current remaining elements in the current block i The following are provided:
R i =cuSize-curTlen
if R is i =1, then nrp i The value is set to 0, since 0 is the only possible value, there is no next remaining number nrp in the compressed data stream i Is a binary symbol string of (2); otherwise, i.e. R i > 1, the next remaining number nrp i Binarization.
The next remaining number nrp i Binarization, specifically includes:
according to the number R of the current residual elements i Determining the next remaining number nrp i Value field and the next remaining number nrp i The value range is divided into a plurality of consecutive sequentially numbered segments to include the next remaining number nrp i The next remaining number nrp is marked by a parameter vector including the number of segments in which the value is located i And for said value for marking the next remaining number nrp i Including the next remaining number nrp i Binarizing the parameter vector including the number of the segment in which the value is located as the next remaining number nrp i Is encoded by the binarization of (a).
The sum curTlen of the length of the element which is coded currently is updated to be the length of the current string i And the sum of the currently encoded element lengths curTlen updates the sum of the currently encoded element lengths curTlen.
The present invention provides a string length parameter decoding device, comprising: the device comprises a compressed data code stream analysis module and a string length calculation module;
The compressed data code stream analysis module is used for storing at least the current block size cuSize and the sum curTlen of the current decoded element length, obtaining at least the information of the string length parameter value representing the current string, and submitting the information to the string length calculation module; the string length parameter is the next remaining number nrp i The method comprises the steps of carrying out a first treatment on the surface of the The next remaining number nrp i Is the number of elements remaining in the current block after decoding the current string; in particular, the method comprises the steps of,
storing at least the current block size cuSize, obtaining at least the current string and the current stringFront string length i And the sum of the lengths of the currently encoded elements curTlen, at least in terms of the current block size cuSize, the sum of the lengths of the currently encoded elements curTlen, and the current string length i Calculate the next remaining number nrp i At least the next remaining number nrp i Submitting the string length parameter to the compressed code stream generating module as a string length parameter; the next remaining number nrp i For the number of elements remaining in the current block after encoding the current string; preferably comprising an inverse binarization sub-module:
the inverse binarization sub-module is used for reading the current block size cuSize and the sum of the lengths of the elements which are decoded currently, and is used for acquiring a binarized compressed data code stream of a current string in the current block, performing inverse binarization to acquire information of the current string containing string length parameters and submitting the information to the string length acquisition module; the string length parameter is the next remaining number nrp i
The method for obtaining the binary compressed data code stream of the current string in the current block and performing inverse binarization to obtain the code containing string length parameter information of the current string specifically comprises the following steps:
calculating the number R of the current residual elements according to the current block size cuSize and the sum curTlen of the lengths of the elements which are decoded currently i
The number R of the current residual elements i For the difference between the current block size curize and the sum curTlen of the lengths of the currently decoded elements, calculating the number R of the current remaining elements in the current block i The following are provided:
R i =cuSize-curTlen
if R is i =1, then nrp i The value is set to 0, since 0 is the only possible value, there is no next remaining number nrp in the compressed data stream i Is a binary symbol string of (2); otherwise, i.e. R i At > 1, there is a next remaining number nrp in the compressed data stream i Is inverse binarized to obtain the next remaining number nrp i
The inverse binary valueObtaining the next remaining number nrp i The method specifically comprises the following steps:
according to the number R of the current residual elements i Determining the next remaining number nrp i Value range and obtain its next remaining number nrp i A scheme in which the value range is divided into a plurality of consecutive sequentially numbered segments; according to a preset next remaining number nrp i Scheme for dividing value range into a plurality of consecutive sequentially numbered segments, said next remaining number nrp being included i For marking the next remaining number nrp, including the number of the segment in which the value is located i Conversion of the parameter vector of values to the next remaining number nrp i To decode a binarized compressed data stream of a current string in a current block to include the next remaining number nrp according to a preset inverse binarization scheme i For marking the next remaining number nrp, including the number of the segment in which the value is located i A parameter vector of values.
The string length obtaining module is at least used for obtaining a string length according to a preset string length calculation mode according to the current block size cuSize, the sum curTlen of the number of elements which are decoded currently and the next residual number i . Specifically:
for calculating a current string length from the string length parameter i Calculating the current string length i And updating the sum curTlen of the lengths of the elements currently decoded; the string length information is the next remaining number nrp i
The string length i The sum curTlen of the currently decoded element length subtracted from the current block size cuSize and the next remaining number nrp i The method is as follows:
length i =cuSize-curTlen-nrp i
updating the sum curTlen of the currently decoded element lengths to be at the current string length i And the sum of the currently decoded element lengths curTlen updates the sum of the currently decoded element lengths curTlen; the method specifically comprises the following steps:
curTlen=curTlen+length i
the compressed data code stream parsing module is configured to use a truncated code with a truncated value, i.e. a maximum value maxVal, to perform inverse binarization on the binary symbol string of the next remaining number, where the truncated code includes one or a combination of the following codes:
truncating unary code, or
Truncated binary codes, i.e. truncated fixed-length codes, having at most two code lengths, or
A fixed-length code derived from the maximum value, consisting of shorter codes of truncated binary codes having the maximum value, or
Cutting off an exponential golomb code of a preset order, namely cutting off an exponential golomb code of k orders;
preferably, at least according to the number R of the current remaining elements i Determining the maximum value maxVal; the maximum maxVal is allowed to be 0, indicating that the corresponding code is a null code, i.e., the binary symbol string is not actually present
Preferably, the next remaining number of binary symbol strings and the inverse binarization operation thereof are composed of at least three parts;
when the number R of the current residual elements i When the binary symbol string is equal to 1, all parts of the binary symbol string are empty, namely the binary symbol string does not exist in the compressed data code stream, and the value of the next remaining number is 0;
when the number R of the current residual elements i Above 1, inverse binarization is performed using one of two schemes:
scheme one:
the inverse binarization of the string of binary symbols for the next remaining number consists of at least the following three part operations:
the first part adopts a truncated code comprising a truncated unary code or a truncated binary code or a truncated k-order exponential golomb code to carry out inverse binarization on the first part of the binary symbol string;
the second part inverse binarizes the second part of the binary symbol string by selecting one of predetermined I+1 cut-off codes, each of the I+1 cut-off codes being a fixed-length code derived from a maximum value or a cut-off two having a maximum valueA meta code; the maximum value is at least based on the number R of the current residual elements i And said first portion is derived, the maximum allowed to be 0, indicating that said second portion is empty, i.e., not present;
the third part is subjected to inverse binarization by adopting a fixed-length code with a code length k, wherein the code length k is derived from at least the first part and/or the second part, the code length k is allowed to be 0, and the third part is null or does not exist;
Scheme II:
firstly, a flag, namely a one-bit binary symbol, namely a fixed-length code with the code length of 1 is adopted to represent whether the next residual number is zero or not;
if the result of the inverse binarization of the binary symbols of the flag indicates that the next remaining number is equal to or greater than 1, subtracting one from the next remaining number, referred to as subtracting 1 from the next remaining number, and continuing to inverse binarize the string of binary symbols of the next remaining number minus 1, the inverse binarization of the next remaining number minus 1 consisting of at least three operations:
the first part adopts a truncated code comprising a truncated unary code or a truncated binary code or a truncated k-order exponential golomb code to carry out inverse binarization on the first part of the binary symbol string;
the second part selecting one of predetermined I+1 cut-off codes to inverse binarize the second part of the binary symbol string, each of the I+1 cut-off codes being a fixed-length code derived from a maximum value or a cut-off binary code having a maximum value; the maximum value is at least based on the number R of the current residual elements i And said first portion is derived, the maximum allowed to be 0, indicating that said second portion is empty, i.e., not present;
The third part is inverse binarized with a fixed-length code of code length k derived from at least the first and/or second part, the code length k being allowed to be 0, indicating that the third part is empty, i.e. not present.
Preferably, the next remaining number nrp i Or the total value range of the next remaining number minus 1 is divided into a predetermined Imax+1 segmentInteger interval [ N0 ] i ,N0 i+1 ),i=0~Imax;
The I in the second part is that the condition N0 is satisfied I ≤R-1<N0 I+1 I.e. N0 I <R≤N0 I+1 I of (2); in scheme one, R is equal to R i The method comprises the steps of carrying out a first treatment on the surface of the Alternatively, in scheme two, R is equal to R i -1;
The maximum value maxValPrefix of the truncated code adopted by the first part is equal to I, and the truncated code with the maximum value maxValPrefix is adopted to carry out inverse binarization on the first part of the binary symbol string to obtain a value a of the first part;
the second part selects an ith truncated code in the preset I+1 truncated codes to inverse binarize the second part of the binary symbol string; said i being equal to the value a of said first portion; the maximum value maxvallnix of the truncated code used by the second part is equal to =n i+1 -N i -1, wherein N i =N0 i ,N i+1 =min(N0 i+1 R), i.e. maxvallnfix=min (N0) i+1 -N0 i -1,R-N0 i -1); the next remaining number nrp i Or the next remaining number minus 1 is [ N ] i ,N i+1 )。
Preferably, in scheme one, imax=4, i is 0, 1, 2, 3, or 4, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 、N0 5 R is the maximum value of 0, 1, 5, 21, 277, R i Is the maximum value of (2);
or,
in scheme two, imax= 3,i is 0, 1, 2, or 3, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 R is the maximum value of 0, 4, 20, 276 and R respectively i -a maximum value of 1.
Preferably, in scheme one, imax= 3,i is 0, 1, 2, or 3, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 R is the maximum value of 0, 1, 5, 21, R i Is the maximum value of (2);
or,
in scheme two, imax=2, i is 0, 1, or 2, N0 0 、N0 1 、N0 2 、N0 3 R is the maximum value of 0, 4, 20 and R i -a maximum value of 1.
The invention is suitable for encoding and decoding the data in a lossy compression way, is also suitable for encoding and decoding the data in a lossless compression way, and is used for lossless compression when the dividing rule of the strings divides adjacent elements with the same element value into the same string, and is used for lossy compression when the dividing rule divides adjacent elements with similar element value into the same string, the quality of the data in the lossy compression way is lower according to the definition stricter degree of the similar element value, the higher the data quality is, the higher the loose compression rate is, and the worse the data quality is.
The method is applicable to the encoding and decoding of one-dimensional data such as character string data or byte string data or one-dimensional graphics or fractal graphics, and is also applicable to the encoding and decoding of two-dimensional or more data such as images or video data.
In the present invention, the data to which the data compression is applied includes one or a combination of the following types of data: one-dimensional data; two-dimensional data; multidimensional data; a pattern; a split dimension graph; an image; a sequence of images; video; a three-dimensional scene; a sequence of continuously varying three-dimensional scenes; a virtual reality scene; images in the form of sequence pixels of a continuously changing virtual reality scene; transform domain data of the image; a set of two or more bytes; a set of two or more bits; a set of pixels; a set of three-component pixels (Y, U, V); a set of three-component pixels (Y, cb, cr); a set of three-component pixels (Y, cg, co); a set of three-component pixels (R, G, B); a set of four-component pixels (C, M, Y, K); a set of four-component pixels (R, G, B, a); a set of four-component pixels (Y, U, V, a); a set of four-component pixels (Y, cb, cr, a); a set of four-component pixels (Y, cg, co, a).
In the present invention, in the case where the data is an image, a sequence of images, a video, or the like, the encoded block or the decoded block is one encoded region or one decoded region of the image, including at least one of: the method comprises the steps of a whole image, a sub-image of the image, a slice, a tile, a macroblock, a maximum coding unit LCU, a coding tree unit CTU, a coding unit CU, a sub-region of the CU, a sub-coding unit sub-CU, a prediction unit PU, a sub-region of the PU, a sub-prediction unit sub-PU, a transformation unit TU, a sub-region of the TU and a sub-transformation unit sub-TU.
In the present invention, the primitives of the encoded block or the decoded block involved in data compression include one or a combination of the following cases: a coded or decoded block, sub-block, micro-block, string, byte string, alpha (alpha) string, pixel cell string, pixel string, sample string, index string, line, matching block, matching sub-block, matching micro-block, matching string, matching pixel cell string, matching sample string, matching index string, matching strip, matching line, offset string, coordinate string, unpredictable pixel string, incompletely matched string, incompletely predictable string, coordinate or unpredictable pixel string, equivalent string, string where one component of a base vector string is zero, base vector string where the absolute value of a component is 1.
The following are examples:
example 1
A string length parameter encoding method comprising the steps of:
the pixel unit is an array of mxn pixels or pixel components or pixel indices, m and n being predetermined positive integers comprising 1, 2, 4, 8, 16, respectively. When m and n take values of 1, the pixel unit is a pixel or a pixel component or a pixel index or an index.
Repeating the following steps until the pixel unit string or the sequence of the pixel string length (length 1 、length 2 、......length n ) And (3) finishing encoding:
(1) Acquiring current block size cuSize and current string length i And the sum of the lengths of the currently encoded elements curTlen, calculates the next remaining number nrp i String length parameters as current string;
the next remaining number nrp i A sum of lengths of all strings after the current string in the current block, that is, a current block size, cuSize minus a sum of lengths of currently encoded elements curTlen and a current string length i The method is characterized by comprising the following steps:
nrp i =cuSize-curTlen-length i
where cuSize is the current block size, curTlen is the sum of the lengths of the currently encoded elements, length i For the current string length, i=1, 2 … …;
the total number of strings in the current block does not exceed 1/4 of the current block size.
(2) Binarizing the current string length parameter obtained in the step (1), and writing the binarized data into a compressed data code stream;
the binarization scheme of the string length parameter, namely the next remaining number nrp i According to the binarization scheme, binarization is preferably carried out according to the distribution probability of the next remaining number and according to the principle that the code after binarization is shorter when the distribution probability is higher, so that the string length parameter value with higher occurrence frequency consumes fewer bits, and the compression rate is further improved;
According to the current coding method, elements (pixels or pixel arrays) in one coding block are likely to be divided into the same string, so that the frequency of the next remaining number of 0 is quite high, and the coding is performed with as few bits as possible, specifically as follows:
the number R of the current residual elements i For the difference between the current block size curize and the sum curTlen of the lengths of the currently encoded elements, calculating the number R of the current remaining elements in the current block i The following are provided:
R i =cuSize-curTlen
if R is i =1, then nrp i The value is set to 0, and the next remaining number nrp does not exist in the compressed data code stream i Is a binary symbol string of (2); otherwise, i.e. R i > 1, the next remaining number nrp i Binarization.
The next remaining number nrp of the pairs i Binarization, specifically includes:
according to the number R of the current residual elements i Determining the next remaining number nrp i Value field and the next remaining number nrp i The value range is divided into a plurality of consecutive sequentially numbered segments as follows:
the next remaining number nrp i Is divided into a predetermined integer interval of I+1 section [ N ] i ,N i+1 ),i=0~I;
Determination nrp i A segment number a of the segment preceding the segment where the value of (a) is located, and will nrp i The expression is as follows: nrp i =N a +b
And (3) respectively binarizing the a and/or the b, and then writing the binary codes into a code stream, wherein a truncated unary code, a truncated binary code, a truncated k-order exponential Columbus code or a fixed-length code derived from a maximum value can be respectively adopted.
For example: one example of binarizing a and/or b, respectively, is:
and (3) adopting a binarization mode of truncated unary codes for the first part a, obtaining a first partial maximum value maxValPrefix from at least the current residual number according to at least a preset first partial maximum value calculation mode, carrying out binarization on truncated unary codes with the truncated value of synElVal being a, namely with the maximum value maxVal being maxValPrefix, and adopting a table look-up mode or a calculation mode to obtain binary symbol strings. An example of a look-up table is table 1:
TABLE 1 relation of synElVal and binary symbol string (truncated unary code)
If a is equal to 0, then there is no second portion and no remaining portion in the compressed data stream, and the next remaining number nrp is directly taken i The value of (2) is set to 0; otherwise, namely a is larger than 0, continuing binarization of the segmented truncated binary code of the following second part;
binarization of the segmented truncated binary code is used for the second part b:
at least according to the currentPrevious remaining number, next remaining number nrp i The value range of (1) is divided into a preset Imax+1 section of integer interval [ Ni, ni+1), i=0-Imax;
determining a value of a segment i=a based at least on the value a of the first portion;
based at least on the value i of the segment, the second partial maximum maxvallnix is obtained by maxvallnix=n i+1 -N i –1;
B is binarized using a truncated binary code whose maximum value maxVal is maxvallnix.
Where imax=4, i is 0, 1, 2, 3, or 4, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 、N0 5 Respectively 0, 1, 5, 21, 277, the maximum value of the current remaining number R.
(3) Length in current string length i And the sum of the currently encoded element lengths curTlen updates the sum of the currently encoded element lengths curTlen; the method specifically comprises the following steps:
curTlen=curTlen+length i
example 2
A string length parameter decoding method, corresponding to embodiment 1, comprising the steps of:
repeating the following steps until the pixel unit string or the sequence of the pixel string length (length) 1 、length 2 、......length n ) And (3) finishing decoding:
(A) Sequentially obtaining a binarized compressed data code stream of a current string in a current block, and performing inverse binarization to obtain a code containing string length parameter information of the current string; the string length parameter is the next remaining number nrp i The method comprises the steps of carrying out a first treatment on the surface of the The method specifically comprises the following steps:
the number R of the current residual elements i For the difference between the current block size curize and the sum curTlen of the lengths of the currently decoded elements, calculating the number R of the current remaining elements in the current block i The following are provided:
R i =cuSize-curTlen
if R is i =1, then nrp i The value is set to 0, and the next remaining number nrp does not exist in the compressed data code stream i Is a binary symbol string of (2); otherwise, i.e. R i At > 1, there is a next remaining number nrp in the compressed data stream i Is inverse binarized to obtain the next remaining number nrp i
The inverse binarization yields the next remaining number nrp i The method specifically comprises the following steps:
decoding the binarized compressed data code stream of the current string in the current block into a code stream comprising the next remaining number nrp according to a preset inverse binarization scheme i For marking the next remaining number nrp, including the number of the segment in which the value is located i A parameter vector of values; according to a preset next remaining number nrp i Scheme for dividing value range into a plurality of consecutive sequentially numbered segments, said next remaining number nrp being included i For marking the next remaining number nrp, including the number of the segment in which the value is located i Conversion of the parameter vector of values to the next remaining number nrp i Is a value of (2); the preset next remaining number nrp i The scheme of dividing the value range into a plurality of consecutive sequentially numbered segments is based on the next remaining number nrp i Value range determination, the one remaining number nrp i The value range is based on the number R of the current residual elements i And (5) determining.
If the number of current remaining pixel units or pixels in the decoded block is referred to as the current remaining number R i Equal to 1, the next remaining number nrp does not exist in the compressed data stream i Directly to nrp i The value of (2) is set to 0; otherwise, i.e. R i >1, continue to follow the predetermined inverse binarization scheme pair nrp i Inverse binarization was performed to obtain nrp i The values of (2) are as follows:
nrp i the binary symbol string is composed of at least two parts a and b, and is converted and decoded into values of a and b by the compressed code stream according to a preset inverse binarization scheme:
according to the number R of the current residual elements i Determining the next residueNumber of remainders nrp i Value field and the next remaining number nrp i The value range is divided into a plurality of consecutive sequentially numbered segments as follows:
the next remaining number nrp i Is divided into a predetermined integer interval of I+1 section [ N ] i ,N i+1 ),i=0~I;
Calculation nrp i The method comprises the following steps: nrp i =N a +b。
(B) Calculating the current string length according to the code containing string length parameter information obtained in the step (A) i The method comprises the steps of carrying out a first treatment on the surface of the The string length information is the next remaining number nrp i
The string length i The sum curTlen of the currently decoded element length subtracted from the current block size cuSize and the next remaining number nrp i The method is as follows:
length i =cuSize-curTlen-nrp i
for example:
nrp i is composed of at least two parts:
the value a of the first part is obtained from at least the current residual number by adopting an inverse binarization mode of a truncated unary code and at least according to a preset first part maximum value calculation mode, and the value a of the first part is obtained by adopting the inverse binarization mode of the truncated unary code with the truncated value, namely, the maximum value maxVal being maxValPrefix; the inverse binarization method of truncated unary code using truncated value, i.e. maximum value maxVal is maxValPrefix, can adopt a table look-up method or a calculation method. One example of a look-up table approach: obtaining synElVal from table 1 using a truncated value, i.e., maximum value maxVal, as maxValPrefix and binary string symbols, a being equal to synElVal;
If a is equal to 0, then there is no second portion and no remaining portion in the compressed data stream, and the next remaining number nrp is directly taken i The value of (2) is set to 0; otherwise, namely a is larger than 0, continuing the inverse binarization of the segmented truncated binary code of the following second part;
the value b of the second part is inverse binarized with a segmented truncated binary code:
based at least on the current remaining number, the next remaining number nrp i The value range of (2) is divided into a preset Imax+1 section of integer interval [ N ] i ,N i+1 ),i=0~Imax;
Determining the value i of the segment based at least on the value a of the first portion in such a way that i=a;
based at least on the value i of the segment, the second partial maximum maxvallnix is obtained by maxvallnix=n i+1 -N i –1;
Obtaining a value b of the second part by using a reverse binarization mode of a truncated binary code with a truncated value, namely a maximum value maxVal, of maxValInfinix;
obtaining the next remaining number nrp based at least on the value i of the segment and/or the value b of the second portion i The way of value of (a) is nrp i =N i +b。
Where imax=4, i is 0, 1, 2, 3, or 4, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 、N0 5 Respectively 0, 1, 5, 21, 277, the maximum value of the current remaining number R.
(C) Length in current string length i And the sum of the currently decoded element lengths curTlen updates the sum of the currently decoded element lengths curTlen; the method specifically comprises the following steps:
curTlen=curTlen+length i
Example 3
A string length parameter encoding method comprising the steps of:
the pixel unit is an array of mxn pixels or pixel components, m and n being predetermined positive integers comprising 1,2, 4, 8, 16, respectively. When m and n take values of 1, the pixel unit is a pixel or a pixel component or a pixel index or an index.
Repeating the following steps until the pixel unit string or the sequence of the pixel string length (length 1 、length 2 、......length n ) And (3) finishing encoding:
(1) Obtaining the current block size cuSize and the currentString length i And the sum of the lengths of the currently encoded elements curTlen, calculates the next remaining number nrp i String length parameters as current string;
the next remaining number nrp i A sum of lengths of all strings after the current string in the current block, that is, a current block size, cuSize minus a sum of lengths of currently encoded elements curTlen and a current string length i The method is characterized by comprising the following steps:
nrp i =cuSize-curTlen-length i
where cuSize is the current block size, curTlen is the sum of the lengths of the currently encoded elements, length i For the current string length, i=1, 2 … …;
the total number of strings in the current block does not exceed 1/4 of the current block size.
(2) Binarizing the current string length parameter obtained in the step (1), and writing the binarized data into a compressed data code stream;
The binarization scheme of the string length parameter, namely the next remaining number nrp i According to the binarization scheme, binarization is preferably carried out according to the distribution probability of the next remaining number and according to the principle that the code after binarization is shorter when the distribution probability is higher, so that the string length parameter value with higher occurrence frequency consumes fewer bits, and the compression rate is further improved;
according to the current coding method, elements (pixels or pixel arrays) in one coding block are likely to be divided into the same string, so that the frequency of the next remaining number of 0 is quite high, and the coding is performed with as few bits as possible, specifically as follows:
the number R of the current residual elements i For the difference between the current block size curize and the sum curTlen of the lengths of the currently encoded elements, calculating the number R of the current remaining elements in the current block i The following are provided:
R i =cuSize-curTlen
if R is i =1, then nrp i The value is set to 0, and the next remaining number nrp does not exist in the compressed data code stream i Is a binary symbol string of (2); otherwise, i.e. R i > 1, there is the next remaining number nrp in the compressed data stream i Is inverse binarized to obtain the next remaining number nrp i
The next remaining number nrp of the pairs i Binarization, specifically includes:
s1, the next remaining number nrp of the pairs i Expressed in terms of first, second, and third parts:
nrp i =N a +(b<<k)+c-(2 n -maxValInfix-1)×k
wherein a is the value of the first part, b is the value of the second part, maxValInfix is the maximum value of the second part, and n is the length of the fixed-length code of the second part; k is the length of the third part fixed-length code; the method comprises the following steps:
according to the number R of the current residual elements i Determining the next remaining number nrp i Value field and the next remaining number nrp i The value range is divided into a plurality of consecutive sequentially numbered segments as follows:
the next remaining number nrp i The value range of (2) is divided into a preset Imax+1 section of integer interval [ Ni, ni+1 ], i=0-Imax; for example, imax=4, i is 0, 1, 2, 3, or 4, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 、N0 5 Respectively 0, 1, 5, 21, 277, the maximum value of the current remaining number R.
Determination nrp i A segment number a of a segment preceding the segment where the value of (a) is located;
determining a second partial maximum as: maxvallnix=n a+1 –N a -1, the length n of the second partial fixed-length code is: n=ceil (Log (maxvallnix+1));
the second part b has the value: when k=0, b= nrp i -N a The method comprises the steps of carrying out a first treatment on the surface of the Otherwise, k=1, b= (nrp i –N a +1+(1<<n))>>1, wherein>>For the right-shift operation,<<is left shift operation; wherein k is the length of the third partial fixed-length code, and the calculation method is as follows: nrp i Na is less than2 n -maxvallnix-1 or maxvallnix equals 0, then the value of k is set to 0; otherwise, the value of k is set to 1.
The third part c has the value: c= nrp i -Na-(b<<1)+((1<<n)-(maxValInfix+1))=nrp i –Na+1-(b<<1)+(1<<n);
S2, respectively binarizing a and/or b and/or c and then writing the binary codes into a code stream, wherein the binarization of a can adopt a truncated unary code, a truncated binary code, a truncated k-order exponential Columbus code or a fixed-length code derived from a maximum value; and b and c adopt fixed-length codes. The method comprises the following steps:
for the first part: the value a of the first part is binarized by adopting a truncated unary code and then written into a code stream;
for the second part: if the length n of the fixed-length code of the second part is calculated to be equal to or greater than 1, the b value of the second part is binarized by adopting the fixed-length code with the length n and then written into the code stream; otherwise, i.e. n is smaller than 1, the second part binary symbol string is empty, i.e. is not actually present in the compressed data code stream;
for the third part: if k is not equal to 0, the value c of the third part is binarized by adopting a fixed-length code with the length of 1 and then written into the code stream; otherwise, i.e. k is equal to 0, the third partial string of binary symbols is empty, i.e. virtually not present in the compressed data stream.
(3) Length in current string length i And the sum of the currently encoded element lengths curTlen updates the sum of the currently encoded element lengths curTlen; the method specifically comprises the following steps:
curTlen=curTlen+length i
Example 4
A string length parameter decoding method, corresponding to embodiment 3, comprising the steps of:
repeating the following steps until the pixel unit string or the sequence of the pixel string length (length) 1 、length 2 、......length n ) And (3) finishing decoding:
(A) Sequentially obtaining binarized compressed data code stream of current string in current block, performing inverse binarization to obtain current stringEncoding containing string length parameter information; the string length parameter is the next remaining number nrp i The method comprises the steps of carrying out a first treatment on the surface of the The method comprises the following steps:
the number R of the current residual elements i For the difference between the current block size curize and the sum curTlen of the lengths of the currently decoded elements, calculating the number R of the current remaining elements in the current block i The following are provided:
R i =cuSize-curTlen
if R is i =1, then nrp i The value is set to 0, and the next remaining number nrp does not exist in the compressed data code stream i Is a binary symbol string of (2); otherwise, i.e. R i > 1, then there is the next remaining number nrp in the compressed data stream i Is inverse binarized to obtain the next remaining number nrp i
The inverse binarization yields the next remaining number nrp i The method specifically comprises the following steps:
decoding the binarized compressed data code stream of the current string in the current block into a code stream comprising the next remaining number nrp according to a preset inverse binarization scheme i For marking the next remaining number nrp, including the number of the segment in which the value is located i A parameter vector of values; according to a preset next remaining number nrp i Scheme for dividing value range into a plurality of consecutive sequentially numbered segments, said next remaining number nrp being included i For marking the next remaining number nrp, including the number of the segment in which the value is located i Conversion of the parameter vector of values to the next remaining number nrp i Is a value of (2); the preset next remaining number nrp i The scheme of dividing the value range into a plurality of consecutive sequentially numbered segments is based on the next remaining number nrp i Value range determination, the one remaining number nrp i The value range is based on the number R of the current residual elements i And (5) determining.
If the number of current remaining pixel units or pixels in the decoded block is referred to as the current remaining number R i Equal to 1, the next remaining number nrp does not exist in the compressed data stream i Directly to nrp i The value of (2) is set to 0; otherwise, i.e. R i >1, continue to follow the predetermined inverse binarization scheme pair nrp i Performing inverse binarization:
nrp i inverse binarization consists of at least three parts:
for the value of the first part a: from at least the current remaining number R, at least in a predetermined first partial maximum calculation, using inverse binarization of truncated unary codes i Obtaining a first partial maximum value maxValPrefix, and obtaining a value a of the first partial by using a truncated unary code inverse binarization mode of which the maximum value maxVal is maxValPrefix; if a is equal to 0, the second portion, the third portion and the remaining portion are not present in the compressed data stream, and the next remaining number nrp is directly taken i The value of (2) is set to 0; otherwise, namely a is larger than 0, continuing the inverse binarization of the following second part and third part;
for the value b of the second part: according to the current residual number R i The next remaining number nrp i The value range of (2) is divided into a preset Imax+1 section of integer interval [ N ] i ,N i+1 ) I=0 to Imax, and the second partial maximum maxValInfix, maxValInfix =n is determined a+1 –N a -1 and deriving the length n of the second partial fixed-length code, n=ceil (Log (maxvallnix+1)); if n is equal to or greater than 1, the value b of the second part is obtained by using the inverse binarization mode of the fixed-length code with the length of n, otherwise, namely, n is less than 1, the binary symbol string is empty and is not actually existed in the compressed data code stream, so that the value b of the second part is directly set to 0 without analyzing the compressed data code stream; for example, where imax=4, i is 0, 1, 2, 3, or 4, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 、N0 5 Respectively 0, 1, 5, 21, 277, the maximum value of the current remaining number R.
For the third part: obtaining the length k of the third part fixed-length code according to the value b of the second part, if b is smaller than 2 n -maxvallnix-1 or maxvallnix is equal to 0, the value of k is set to 0, otherwise the value of k is set to 1; if k is equal to or greater than 1, the length is usedThe value c of the third part is obtained in an inverse binarization mode of the fixed-length code of k, otherwise, namely k is smaller than 1, the binary symbol string is empty, namely the binary symbol string is not actually present in the compressed data code stream, so that the value c of the third part is directly set to 0 without analyzing the compressed data code stream;
obtaining the next remaining number nrp based on the value a of the segment and the value b of the second portion, the length n of the second portion fixed-length code, the value c of the third portion, and the length k of the third portion fixed-length code i The values of (2) are as follows:
nrp i =Na+(b<<k)+c-(2 n -maxValInfix-1)×k
(B) Calculating the current string length according to the code containing string length parameter information obtained in the step (A) i The method comprises the steps of carrying out a first treatment on the surface of the The string length information is the next remaining number nrp i
The string length i The sum curTlen of the currently decoded element length subtracted from the current block size cuSize and the next remaining number nrp i The method is as follows:
length i =cuSize-curTlen-nrp i
(C) Length in current string length i And the sum of the currently decoded element lengths curTlen updates the sum of the currently decoded element lengths curTlen; the method comprises the following steps:
curTlen=curTlen+length i
it will be readily appreciated by those skilled in the art that the foregoing description is merely a preferred embodiment of the invention and is not intended to limit the invention, but any modifications, equivalents, improvements or alternatives falling within the spirit and principles of the invention are intended to be included within the scope of the invention.

Claims (26)

1. A method for decoding string length parameters, comprising at least the steps of:
(A) Analyzing the compressed data code stream in the current block to at least obtain the information containing the string length parameter value of the current string; the string length parameter is the next remaining number nrp i
The next remaining number nrp i For the number of elements remaining in the current block after decoding the current string;
(B) Obtaining a current string length according to a preset string length calculation mode at least according to the current block size curize, the sum curTlen of the number of elements which are decoded currently and the next residual number i
The current string length is obtained according to a preset string length calculation mode i The method specifically comprises the following steps:
current string length i The method is as follows:
length i =R i -nrp i
wherein R is i The number of current remaining elements; the number R of the current residual elements i For the difference between the current block size curize and the sum curTlen of the lengths of the currently decoded elements, calculating the number R of the current remaining elements in the current block i The following are provided:
R i =cuSize-curTlen;
when R is i When=1, then nrp i The value is set to 0, and the next remaining number nrp does not exist in the compressed data code stream i Is a binary symbol string of (2); otherwise, i.e. R i > 1, there is the next remaining number nrp in the compressed data stream i Is inverse binarized the next remaining number nrp i The next remaining number nrp obtained for the binary symbol string of (2) i
The inverse binarizing the next remaining number nrp i The next remaining number nrp obtained for the binary symbol string of (2) i The method specifically comprises the following steps:
nrp the next remaining number in the compressed data stream of the current string in the current block i Is decoded to include the next remaining number nrp according to a preset inverse binarization scheme i For marking the next remaining number nrp, including the number of the segment in which the value is located i A parameter vector of values; according to a preset next remaining number nrp i The value range being divided into a plurality of successive values A scheme of sequentially numbered segments including the next remaining number nrp i For marking the next remaining number nrp, including the number of the segment in which the value is located i Conversion of the parameter vector of values to the next remaining number nrp i Is a value of (2).
2. The string length parameter decoding method according to claim 1, wherein the value range of the next remaining number is [0, r i -1]。
3. The string length parameter decoding method of claim 1, wherein the element comprises a pixel or a pixel component simply component or a pixel index simply index or a pixel unit; the pixel unit is an array of mxn pixels or components or indexes, m and n being predetermined positive integers including 1, 2, 4, 8, 16, respectively; when m and n both take a value of 1, the pixel unit is a pixel or a pixel component or a pixel index or an index.
4. The string length parameter decoding method as claimed in claim 1, wherein the preset next remaining number nrp i The scheme of dividing the value range into a plurality of consecutive sequentially numbered segments is based on the next remaining number nrp i And (5) determining a value range.
5. The string length parameter decoding method according to claim 4, wherein the next remaining number nrp i The value range is based on the number R of the current residual elements i And (5) determining.
6. The string length parameter decoding method of claim 1, wherein the inverse binarizing next remaining number nrp i Is composed of at least two parts:
the first part adopts an inverse binarization mode of truncated unitary code or truncated binary code or truncated k-order exponential golomb code or fixed-length code derived from a maximum value;
the second part adopts the inverse binarization mode of the segmented truncated binary code, the segment number and/or the dividing point of the segment are derived from at least the current residual number, the segment number is allowed to be 0, and the second part is null or not.
7. The string length parameter decoding method of claim 1, wherein the inverse binarizing next remaining number nrp i Is composed of at least three parts:
the first part adopts an inverse binarization mode with a maximum value, wherein the inverse binarization mode comprises a truncated unitary code or a truncated binary code or a truncated k-order exponential golomb code or a fixed-length code derived from a maximum value;
the second part adopts a segmented inverse binarization mode of a fixed-length code derived from a maximum value, the segment number and/or the demarcation point of the segment are derived from at least the current residual number, the segment number is allowed to be 0, and the second part is null or does not exist;
The third part adopts a reverse binarization mode of segmented fixed-length codes, the number of segments and/or the dividing points of the segments are derived from at least the first part and/or the second part, the number of segments is allowed to be 0, and the third part is empty, namely, is not present.
8. The string length parameter decoding method of claim 7, wherein for the value a of the first portion: from at least the current remaining number R, at least in a predetermined first partial maximum calculation, using inverse binarization of truncated unary codes i Obtaining a first partial maximum value maxValPrefix, and obtaining a value a of the first partial by using a truncated unary code inverse binarization mode of which the maximum value maxVal is maxValPrefix; if a is equal to 0, the second portion, the third portion and the remaining portion are not present in the compressed data stream, and the next remaining number nrp is directly taken i The value of (2) is set to 0; otherwise, namely a is larger than 0, continuing the inverse binarization of the following second part and third part;
for the value b of the second part: according to the current residual number R i Will leave nextNumber of remainders nrp i The value range of (2) is divided into a preset Imax+1 section integer interval [ N0 ] i ,N0 i+1 ) I=0 to Imax, and the second partial maximum value maxValInfix, maxValInfix =n0 is determined a+1 –N0 a -1 and deriving the length n of the second partial fixed-length code, n=ceil (Log (maxvallnix+1)); if n is equal to or greater than 1, the value b of the second part is obtained by using the inverse binarization mode of the fixed-length code with the length of n, otherwise, namely, n is less than 1, the binary symbol string is empty and is not actually existed in the compressed data code stream, so that the value b of the second part is directly set to 0 without analyzing the compressed data code stream;
for the value c of the third part: obtaining the length k of the third part fixed-length code according to the value b of the second part, if b is smaller than 2 n -maxvallnix-1 or maxvallnix is equal to 0, the value of k is set to 0, otherwise the value of k is set to 1; if k is equal to or greater than 1, the value c of the third part is obtained by using the inverse binarization mode of the fixed-length code with the length of k, otherwise, if k is less than 1, the binary symbol string is empty and is not actually present in the compressed data code stream, so that the value c of the third part is directly set to 0 without analyzing the compressed data code stream;
obtaining the next remaining number nrp based on the value a of the segment and the value b of the second portion, the length n of the second portion fixed-length code, the value c of the third portion, and the length k of the third portion fixed-length code i The values of (2) are as follows:
nrp i =N0 a +(b<<k)+c-(2 n -maxValInfix-1)×k。
9. the string length parameter decoding method of claim 1, wherein the inverse binarizing next remaining number nrp i The next remaining number nrp obtained for the binary symbol string of (2) i The method specifically comprises the following steps:
the next remaining number nrp is counted using a truncated code having a truncated value, i.e. a maximum maxVal i Is inverse binarized, the truncated code comprising one or a combination of the following codes:
truncating unary code, or
Truncated binary codes, i.e. truncated fixed-length codes, having at most two code lengths, or
A fixed-length code derived from the maximum value, consisting of shorter codes of truncated binary codes having the maximum value, or
The exponential golomb code of the predetermined order is truncated, i.e., the k-order exponential golomb code is truncated.
10. The string length parameter decoding method of claim 9, wherein the number R of current remaining elements is at least based on i The maximum maxVal is determined.
11. The string length parameter decoding method of claim 10, wherein the maximum value maxVal is allowed to be 0, indicating that the corresponding code is a null code, i.e., a binary symbol string does not actually exist.
12. The string length parameter decoding method of claim 10, wherein the element is a pixel unit consisting of 4x1 pixels or components or indices.
13. The string length parameter decoding method of claim 12, wherein the inverse binarizing the next remaining number nrp i The next remaining number nrp obtained for the binary symbol string of (2) i One of the following two schemes is applied;
scheme one:
the binary symbol string of the next remaining number comprises at least three parts, the inverse binarization of which comprises at least the steps of:
performing inverse binarization on a first part of the binary symbol string by adopting a truncated code comprising a truncated unary code or a truncated binary code or a truncated k-order exponential golomb code;
selecting one of predetermined i+1 truncated codes for the second portion of the binary symbol string, each of the i+1 truncated codes being a fixed-length code derived from a maximum value or a truncated binary code having a maximum value, to inverse binarize the second portion of the binary symbol string; the maximum value is at least based on the currentNumber of remaining elements R i And said first portion is derived, the maximum allowed to be 0, indicating that said second portion is empty, i.e., not present;
performing inverse binarization on a third part of the binary symbol string by adopting a fixed-length code with a code length k, wherein the code length k is derived from at least the first part and/or the second part, the code length k is allowed to be 0, and the third part is null or is not present;
scheme II:
the binary symbol string of the next remaining number includes a flag bit, and at least three parts; the flag bit is a one-bit binary symbol, namely a fixed-length code with the code length of 1 indicates whether the next residual number is zero or not;
When the result of the inverse binarization of the binary symbol of the flag bit indicates that the next remaining number is not zero, that is, equal to or greater than 1, the inverse binarization of the portion other than the binary symbol string flag bit of the next remaining number is the next remaining number minus 1, and the inverse binarization is performed on the portion other than the binary symbol string flag bit of the next remaining number, including at least the following steps:
performing inverse binarization on a first part of the binary symbol string by adopting a truncated code comprising a truncated unary code or a truncated binary code or a truncated k-order exponential golomb code;
selecting one of predetermined i+1 truncated codes for the second portion of the binary symbol string, each of the i+1 truncated codes being a fixed-length code derived from a maximum value or a truncated binary code having a maximum value, to inverse binarize the second portion of the binary symbol string; the maximum value is at least based on the number R of the current residual elements i And said first portion is derived, the maximum allowed to be 0, indicating that said second portion is empty, i.e., not present;
and performing inverse binarization on a third part of the binary symbol string by adopting a fixed-length code with a code length of k, wherein the code length k is derived from at least the first part and/or the second part, and the code length k is allowed to be 0, so that the third part is null, namely, is not present.
14The string length parameter decoding method of claim 13, wherein the next remaining number nrp i Or the total value range of the next remaining number minus 1 is divided into a predetermined Imax+1 integer interval [ N0 ] i ,N0 i+1 ),i=0~Imax;
The I in the second part is that the condition N0 is satisfied I ≤R-1<N0 I+1 I.e. N0 I <R≤N0 I+1 I of (2); in scheme one, R is equal to R i The method comprises the steps of carrying out a first treatment on the surface of the Alternatively, in scheme two, R is equal to R i -1;
The maximum value maxValPrefix of the truncated code adopted by the first part is equal to I, and the truncated code with the maximum value maxValPrefix is adopted to carry out inverse binarization on the first part of the binary symbol string to obtain a value a of the first part;
the second part selects an ith truncated code in the preset I+1 truncated codes to inverse binarize the second part of the binary symbol string; said i being equal to the value a of said first portion; the maximum value maxvallnix of the truncated code used by the second part is equal to =n i+1 -N i -1, wherein N i =N0 i ,N i+1 =min(N0 i+1 R), i.e. maxvallnfix=min (N0) i+1 -N0 i -1,R-N0 i -1); the next remaining number nrp i Or the next remaining number minus 1 is [ N ] i ,N i+1 )。
15. The string length parameter decoding method according to claim 14, wherein in scheme one, imax=4, i is 0, 1, 2, 3, or 4, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 、N0 5 R is the maximum value of 0, 1, 5, 21, 277, R i Is the maximum value of (2);
or,
in scheme two, imax= 3,i is 0, 1, 2, or 3, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 R is the maximum value of 0, 4, 20, 276 and R respectively i -a maximum value of 1.
16. The string length parameter decoding method according to claim 14, wherein in scheme one, imax= 3,i is 0, 1, 2, or 3, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 R is the maximum value of 0, 1, 5, 21, R i Is the maximum value of (2);
or,
in scheme two, imax=2, i is 0, 1, or 2, N0 0 、N0 1 、N0 2 、N0 3 R is the maximum value of 0, 4, 20 and R i -a maximum value of 1.
17. A string length parameter decoding apparatus, comprising: the device comprises a compressed data code stream analysis module and a string length calculation module;
the compressed data code stream analysis module is used for storing at least the current block size cuSize and the sum curTlen of the current decoded element length, obtaining at least the information of the string length parameter value representing the current string, and submitting the information to the string length calculation module; the string length parameter is the next remaining number nrp i The method comprises the steps of carrying out a first treatment on the surface of the The next remaining number nrp i Is the number of elements remaining in the current block after decoding the current string;
The string length calculation module is used for obtaining a string length according to a preset string length calculation mode at least according to the current block size cuSize, the sum curTlen of the number of elements which are decoded currently and the next residual number i The method comprises the steps of carrying out a first treatment on the surface of the And is used for length according to the current string length i And updating the sum curTlen of the lengths of the elements currently decoded; the string length information is the next remaining number nrp i
The string length is obtained according to a preset string length calculation mode i The sum curTlen of the currently decoded element length subtracted from the current block size cuSize and the next remaining number nrp i The method is characterized by comprising the following steps:
length i =R i -nrp i
wherein R is i The number of current remaining elements;
the information for obtaining the string length parameter value representing the current string is specifically:
the number Ri of current remaining elements is calculated from the current block size cuSize and the sum curtlin of the lengths of the elements currently decoded,
the number R of the current residual elements i For the difference between the current block size curize and the sum curTlen of the lengths of the currently decoded elements, calculating the number R of the current remaining elements in the current block i The following are provided:
R i =cuSize-curTlen;
when R is i When=1, then nrp i The value is set to 0, and the next remaining number nrp does not exist in the compressed data code stream i Is a binary symbol string of (2); otherwise, i.e. R i > 1, then there is the next remaining number nrp in the compressed data stream i Is inverse binarized to obtain the next remaining number nrp i
According to the number R of the current residual elements i Determining the next remaining number nrp i Value range and obtain its next remaining number nrp i A scheme in which the value range is divided into a plurality of consecutive sequentially numbered segments; according to a preset next remaining number nrp i Scheme of value range division into a plurality of consecutive sequentially numbered segments will include the next remaining number nrp i For marking the next remaining number nrp, including the number of the segment in which the value is located i Conversion of the parameter vector of values to the next remaining number nrp i To decode a binarized compressed data stream of a current string in a current block to include the next remaining number nrp according to a preset inverse binarization scheme i For marking the next remaining number nrp, including the number of the segment in which the value is located i A parameter vector of values.
18. The string length parameter decoding device according to claim 17, wherein the value range of the next remaining number is [0, r i -1]。
19. The string length parameter decoding device of claim 17, wherein the element comprises a pixel or a pixel component simply component or a pixel index simply index or a pixel unit; the pixel unit is an array of mxn pixels or components or indexes, m and n being predetermined positive integers including 1, 2, 4, 8, 16, respectively; when m and n are both 1, the pixel unit is a pixel or a pixel component or a pixel index or an index; an element is a unit of pixel consisting of 4x1 pixels or components or indices.
20. The string length parameter decoding apparatus according to claim 17, wherein the string length calculation module updates a sum curtlien of lengths of elements currently decoded to be a current string length i And the sum of the lengths of the elements currently decoded curTlen, in particular:
curTlen=curTlen+length i
21. the string length parameter decoding device according to claim 17, wherein the compressed data stream parsing module is configured to use a truncated code having a truncated value, i.e., a maximum maxVal, to inverse binarize the next remaining number of binary symbol strings, the truncated code including one or a combination of the following codes:
truncating unary code, or
Truncated binary codes, i.e. truncated fixed-length codes, having at most two code lengths, or
A fixed-length code derived from the maximum value, consisting of shorter codes of truncated binary codes having the maximum value, or
The exponential golomb code of the predetermined order is truncated, i.e., the k-order exponential golomb code is truncated.
22. The string length parameter decoding apparatus as claimed in claim 21, wherein the number R of at least current remaining elements is based on i Determining the maximum value maxVal; the maximum value maxVal is allowed to be 0, indicating that the corresponding code is a null code, i.e., a binary symbol string is not actually present.
23. The string length parameter decoding device according to claim 22, wherein the next remaining number of binary symbol strings and their inverse binarization operations are composed of at least three parts;
when the number R of the current residual elements i When the binary symbol string is equal to 1, all parts of the binary symbol string are empty, namely the binary symbol string does not exist in the compressed data code stream, and the value of the next remaining number is 0;
when the number R of the current residual elements i Above 1, inverse binarization is performed using one of two schemes:
scheme one:
the binary symbol string of the next remaining number comprises at least three parts, the inverse binarization of which comprises at least the steps of:
performing inverse binarization on a first part of the binary symbol string by adopting a truncated code comprising a truncated unary code or a truncated binary code or a truncated k-order exponential golomb code;
selecting one of predetermined i+1 truncated codes for the second portion of the binary symbol string, each of the i+1 truncated codes being a fixed-length code derived from a maximum value or a truncated binary code having a maximum value, to inverse binarize the second portion of the binary symbol string; the maximum value is at least based on the number R of the current residual elements i And said first portion is derived, the maximum allowed to be 0, indicating that said second portion is empty, i.e., not present;
performing inverse binarization on a third part of the binary symbol string by adopting a fixed-length code with a code length k, wherein the code length k is derived from at least the first part and/or the second part, the code length k is allowed to be 0, and the third part is null or is not present;
scheme II:
the binary symbol string of the next remaining number includes a flag bit, and at least three parts; the flag bit is a one-bit binary symbol, namely a fixed-length code with the code length of 1 indicates whether the next residual number is zero or not;
when the result of the inverse binarization of the binary symbol of the flag bit indicates that the next remaining number is not zero, that is, equal to or greater than 1, the inverse binarization of the portion other than the binary symbol string flag bit of the next remaining number is the next remaining number minus 1, and the inverse binarization is performed on the portion other than the binary symbol string flag bit of the next remaining number, including at least the following steps:
performing inverse binarization on a first part of the binary symbol string by adopting a truncated code comprising a truncated unary code or a truncated binary code or a truncated k-order exponential golomb code;
Selecting one of predetermined i+1 truncated codes for the second portion of the binary symbol string, each of the i+1 truncated codes being a fixed-length code derived from a maximum value or a truncated binary code having a maximum value, to inverse binarize the second portion of the binary symbol string; the maximum value is at least based on the number R of the current residual elements i And said first portion is derived, the maximum allowed to be 0, indicating that said second portion is empty, i.e., not present;
and performing inverse binarization on a third part of the binary symbol string by adopting a fixed-length code with a code length of k, wherein the code length k is derived from at least the first part and/or the second part, and the code length k is allowed to be 0, so that the third part is null, namely, is not present.
24. The string length parameter decoding apparatus according to claim 23, wherein the next remaining number nrp i Or the total value range of the next remaining number minus 1 is divided into a predetermined Imax+1 integer interval [ N0 ] i ,N0 i+1 ),i=0~Imax;
The I in the second part is that the condition N0 is satisfied I ≤R-1<N0 I+1 I.e. N0 I <R≤N0 I+1 I of (2); in scheme one, R is equal to R i The method comprises the steps of carrying out a first treatment on the surface of the Alternatively, in scheme two, R is equal to R i -1;
The maximum value maxValPrefix of the truncated code adopted by the first part is equal to I, and the truncated code with the maximum value maxValPrefix is adopted to carry out inverse binarization on the first part of the binary symbol string to obtain a value a of the first part;
The second part selects an ith truncated code in the preset I+1 truncated codes to inverse binarize the second part of the binary symbol string; said i being equal to the value a of said first portion; the maximum value maxvallnix of the truncated code used by the second part is equal to =n i+1 -N i -1, wherein N i =N0 i ,N i+1 =min(N0 i+1 R), i.e. maxvallnfix=min (N0) i+1 -N0 i -1,R-N0 i -1); the next remaining number nrp i Or the next remaining number minus 1 is [ N ] i ,N i+1 )。
25. The string length parameter decoding apparatus according to claim 24, wherein in scheme one, imax=4, i is 0, 1, 2, 3, or 4, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 、N0 5 R is the maximum value of 0, 1, 5, 21, 277, R i Is the maximum value of (2);
or,
in scheme two, imax= 3,i is 0, 1, 2, or 3, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 R is the maximum value of 0, 4, 20, 276 and R respectively i -a maximum value of 1.
26. The string length parameter decoding apparatus according to claim 24, wherein in scheme one, imax= 3,i is 0, 1, 2, or 3, N0 0 、N0 1 、N0 2 、N0 3 、N0 4 R is the maximum value of 0, 1, 5, 21, R i Is the maximum value of (2);
or,
in scheme two, imax=2, i is 0, 1, or 2, N0 0 、N0 1 、N0 2 、N0 3 R is the maximum value of 0, 4, 20 and R i -a maximum value of 1.
CN202011324094.XA 2020-11-23 2020-11-23 String length parameter coding and decoding method and device Active CN112532990B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011324094.XA CN112532990B (en) 2020-11-23 2020-11-23 String length parameter coding and decoding method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011324094.XA CN112532990B (en) 2020-11-23 2020-11-23 String length parameter coding and decoding method and device

Publications (2)

Publication Number Publication Date
CN112532990A CN112532990A (en) 2021-03-19
CN112532990B true CN112532990B (en) 2024-03-08

Family

ID=74993106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011324094.XA Active CN112532990B (en) 2020-11-23 2020-11-23 String length parameter coding and decoding method and device

Country Status (1)

Country Link
CN (1) CN112532990B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113518222B (en) * 2021-06-07 2022-11-08 同济大学 Coding and decoding method and device for different types of strings by adopting different length binarization schemes

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016202189A1 (en) * 2015-06-14 2016-12-22 同济大学 Image coding and decoding methods, image processing device, and computer storage medium
CN107483962A (en) * 2016-06-08 2017-12-15 上海天荷电子信息有限公司 Use the data compression method and device for associating more segment encodes
CN107770553A (en) * 2016-08-21 2018-03-06 上海天荷电子信息有限公司 Using the data compression method and device of multiclass match parameter and parameter storage address
WO2020138352A1 (en) * 2018-12-26 2020-07-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
CN111866512A (en) * 2020-07-29 2020-10-30 腾讯科技(深圳)有限公司 Video decoding method, video encoding method, video decoding apparatus, video encoding apparatus, and storage medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101943805B1 (en) * 2014-06-20 2019-01-29 에이치에프아이 이노베이션 인크. Method and apparatus of binarization and context-adaptive coding for syntax in video coding
CN106254865B (en) * 2015-06-08 2020-06-09 同济大学 Image encoding and decoding method and image processing equipment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016202189A1 (en) * 2015-06-14 2016-12-22 同济大学 Image coding and decoding methods, image processing device, and computer storage medium
CN107483962A (en) * 2016-06-08 2017-12-15 上海天荷电子信息有限公司 Use the data compression method and device for associating more segment encodes
CN107770553A (en) * 2016-08-21 2018-03-06 上海天荷电子信息有限公司 Using the data compression method and device of multiclass match parameter and parameter storage address
WO2020138352A1 (en) * 2018-12-26 2020-07-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
CN111866512A (en) * 2020-07-29 2020-10-30 腾讯科技(深圳)有限公司 Video decoding method, video encoding method, video decoding apparatus, video encoding apparatus, and storage medium

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
An Adaptive Cycle Decrease Encoding Scheme for Short Length LT Codes;Xin Song;IEEE;20180709;全文 *
An Ultra-Low Complexity and High Efficiency Approach for Lossless Alpha Channel Coding;Zhao, Liping;IEEE;全文 *
Proposed modifications to add default values for VUI syntax elements and signal the VUI length;Benjamin Bross;JVET;20200701;全文 *
一种基于字节型多变长码的串匹配的Alpha 图像编码算法;ZHAO Liping;《研究与开发》;97-104 *
一种改进的串匹配参数编码算法 及在Alpha 图像中的应用;潘承宝;绍兴文理学院学报;69-73 *
史敬灼 ; 徐美玉 ; 徐殿国 ; .基于CPLD的Manchester编码器与解码器.电气应用.2006,(第05期),全文. *
基于CPLD的Manchester编码器与解码器;史敬灼;徐美玉;徐殿国;;电气应用(第05期);全文 *
融合像素串匹配的AVS2全色度屏幕与混合内容视频编码算法;赵利平;周开伦;郭靖;蔡文婷;林涛;朱蓉;;计算机学报(第11期);全文 *
赵利平 ; 周开伦 ; 郭靖 ; 蔡文婷 ; 林涛 ; 朱蓉 ; .融合像素串匹配的AVS2全色度屏幕与混合内容视频编码算法.计算机学报.2017,(第11期),全文. *

Also Published As

Publication number Publication date
CN112532990A (en) 2021-03-19

Similar Documents

Publication Publication Date Title
CN111800640B (en) Method and device for encoding and decoding image by alternately changing direction and back-and-forth scanning string matching
RU2567988C2 (en) Encoder, method of encoding data, decoder, method of decoding data, system for transmitting data, method of transmitting data and programme product
CN107770540B (en) Data compression method and device for fusing multiple primitives with different reference relations
CN112532990B (en) String length parameter coding and decoding method and device
CN105592313A (en) Grouped adaptive entropy coding compression method
CN112637600B (en) Method and device for encoding and decoding data in a lossy or lossless compression mode
CN107770553B (en) Data compression method and device adopting multiple types of matching parameters and parameter storage addresses
CN112565790B (en) Method and device for encoding and decoding string prediction by using minimum base vector mark
CN116320485A (en) Data compression method and apparatus for selecting one of a plurality of low frequency transform matrix candidate sets
CN107770527B (en) Data compression method and apparatus using neighboring encoding parameters and nearest encoding parameters
CN111757117B (en) Data encoding and decoding method for performing string prediction on component downsampled format data
Padmavati et al. DCT combined with fractal quadtree decomposition and Huffman coding for image compression
Mohideen et al. A systematic evaluation of coding strategies for sparse binary images
CN107770543B (en) Data compression method and device for sequentially increasing cutoff values in multiple types of matching parameters
CN108989819B (en) Data compression method and device adopting respective corresponding color spaces for modes
CN111131826A (en) Data compression method and device for fixed-length code unit containing multiple coding parameter variable-length codes
CN112601086B (en) String length parameter hybrid coding and decoding method and device
CN113395515B (en) Coding and decoding method and device for point prediction of component down-sampling format data
CN112672160B (en) Encoding and decoding method and device for fusing intra-frame block copy and string copy encoding parameters
CN107770544B (en) Data compression method and device adopting multiple types of matching parameters and pre-parameter buffer areas
CN113422964A (en) String length parameter coding and decoding method and device
CN108989800B (en) Data compression method and apparatus for generating a compressed data byte stream in byte units
CN111479116A (en) Data compression method and device for equal bit precision prediction, mapping and segmented coding
CN118317115A (en) Data decoding method and device for equal bit precision prediction, mapping and segment coding
CN108322753B (en) Data compression method and device for dynamically adjusting elements of latest coding parameter array

Legal Events

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