CN117061769A - Encoding method and encoding device, decoding method and decoding device for data compression - Google Patents
Encoding method and encoding device, decoding method and decoding device for data compression Download PDFInfo
- Publication number
- CN117061769A CN117061769A CN202310131932.9A CN202310131932A CN117061769A CN 117061769 A CN117061769 A CN 117061769A CN 202310131932 A CN202310131932 A CN 202310131932A CN 117061769 A CN117061769 A CN 117061769A
- Authority
- CN
- China
- Prior art keywords
- block
- sub
- merge
- current
- motion vector
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 105
- 238000013144 data compression Methods 0.000 title claims abstract description 17
- 239000013598 vector Substances 0.000 claims abstract description 166
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 11
- 238000005192 partition Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 5
- 238000009795 derivation Methods 0.000 claims description 4
- 230000002457 bidirectional effect Effects 0.000 claims description 2
- 230000004048 modification Effects 0.000 description 24
- 238000012986 modification Methods 0.000 description 24
- 230000009466 transformation Effects 0.000 description 19
- 239000011159 matrix material Substances 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 238000007906 compression Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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 an image region, e.g. an object
- H04N19/176—Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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 Or Coding Systems Of Tv Signals (AREA)
Abstract
The invention provides a data compression coding method and device, and a data compression decoding method and device. The present invention uses a plurality of motion vector candidate sets for data compression, the candidate sets are associated with each other by a set of flag bits, and when encoding and decoding a current data unit, one of the plurality of candidate sets is selected as the current candidate set of the current data unit according to the value of the set of flag bits of the current data unit. Thus, there is no need to consume any number of bits to indicate which candidate set is selected, thereby improving coding efficiency.
Description
Technical Field
The present invention relates to a coding and decoding system for lossy or lossless compression of data, in particular to a method and a device for coding and decoding image and video data.
Background
As human society enters the era of big data, cloud computing, mobile computing, cloud-mobile computing, ultra-high definition (4K) and ultra-high definition (8K) video image resolution, 4G/5G communication, virtual reality, ultra-high compression ratio and ultra-high quality data compression are indispensable for various data including big data, image data, video data.
A dataset is a collection of finite data (e.g., a one-dimensional data queue, a two-dimensional data file, a frame of an image, a video sequence, a transform domain, a transform block, multiple transform blocks, a three-dimensional scene, a sequence of continuously varying three-dimensional scenes) made up of samples (e.g., bytes, bits, pixels, pixel components, spatial sampling points, transform domain coefficients) of data, arranged in a spatial (one-dimensional, two-dimensional, or multi-dimensional) shape. 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 encoding blocks (from the decoding point of view, i.e. decoding blocks, collectively called codec blocks), and a block is encoded or decoded in a predetermined time sequence in units of codec 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 current decoded block is collectively referred to as a current encoded block or simply a current block. The sample being encoded or decoded is referred to as the current encoded sample or the current decoded sample, simply the current sample.
For a codec block having a certain shape (not necessarily limited to square or rectangle, but any reasonable other shape), it is necessary in many cases to divide it into finer cells (basic units), and to encode or decode cell by 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 codec blocks (the entire codec block serves as one primitive), sub-blocks of various shapes such as square or rectangular or triangular or trapezoidal, micro-blocks, strings, pixel strings, sample strings, index strings, lines, and the like.
The data and the data set related in the invention comprise the collected or generated original state data and the data set, also comprise the intermediate state data and the data set which are processed by a plurality of processes, and also comprise the coding parameter data and the data set which are generated in the coding and decoding process, such as various coding modes, multidimensional or three-dimensional or two-dimensional motion vectors, matching lengths and the like.
One means of data compression is to mine the correlation between data units in various aspects of the hierarchy, and match (also commonly referred to as predicting, representing, compensating, approximating, etc.) the current data unit with data units commonly referred to as reference data units (also commonly referred to as predicted data units, compensating data units, matching data units, matched data units, predicted values, compensating values, reference values, etc.), to achieve the effect of lossless or lossy compression of the data.
One or more data units that may be used as prediction data units (also commonly referred to as reference data units, compensation data units, matched data units, predictors, compensation values, reference values, etc.) that have completed at least a portion of the codec operation constitute a prediction candidate set (also referred to as predictor candidate set or reference candidate set, etc.) simply candidate set. When a candidate set has multiple data units, predicting (also commonly referred to as matching, representing, compensating, approximating, etc.) a current data unit with a data unit in the candidate set requires an index (also commonly referred to as an address, index, etc.) to specify which data unit in the candidate set the predicted data unit is to the bottom.
In the prior art, in order to increase the number of predicted data units in order to facilitate the possibility of finding good predicted data units, thereby improving the compression effect, multiple candidate sets are often employed. However, on the other hand, the more candidate sets, the more bits are consumed to indicate which candidate set and which index value are selected as the predicted data unit of the current data unit, thereby affecting the compression effect and reducing the coding efficiency.
Disclosure of Invention
In order to solve this problem in data compression, the present invention provides a data compression method and apparatus using a plurality of candidate sets associated with each other with a specific coding parameter, the candidate sets being associated with each other with a specific coding parameter corresponding to a current data unit existing in a predetermined codec process, and selecting one of the plurality of candidate sets as a current candidate set of the current data unit according to a value of the specific coding parameter corresponding to the current data unit when the current data unit is encoded. Thus, there is no need to consume any number of bits to indicate which candidate set is selected, thereby improving coding efficiency.
The invention is primarily characterized in that it has a plurality of candidate sets associated with each other by a specific coding parameter, each current data unit corresponding to a value of a specific coding parameter, one of the plurality of candidate sets being selected as the current candidate set for said current data unit according to the value of the specific coding parameter.
The most basic characteristic feature of the coding method or device of the present invention is that when a current data unit is coded, one of a plurality of candidate sets is selected as the current candidate set of the current data unit according to the value of a specific coding parameter corresponding to the current data unit, and in at least the current candidate set, an optimal data unit is derived or selected as the predicted data unit of the current data unit according to a predetermined scheme, such as the number of consumed bits and/or the size of coding errors, and a compressed data code stream at least containing information representing the predicted data unit of the current data unit is generated. Fig. 1 is a schematic diagram of the encoding method or apparatus of the present invention.
The most basic characteristic technical feature of the decoding method or device of the present invention is to parse the compressed data code stream, obtain the information of the predicted data unit at least representing the current data unit, select one of a plurality of candidate sets as the current candidate set of the current data unit according to the value of the specific coding parameter corresponding to the current data unit, decode and obtain the predicted data unit of the current data unit according to the information of the predicted data unit of the current data unit in at least the current candidate set. Fig. 2 is a schematic diagram of the decoding method or apparatus of the present invention.
According to one aspect of the present invention, there is provided a data compression encoding method or apparatus, comprising at least the steps or modules for performing the following functions and operations:
when a current data unit in an encoding block is encoded, one of a plurality of candidate sets is selected as a current candidate set for the current data unit at least according to a value of a specific encoding parameter corresponding to the current data unit, a data unit called a selected data unit is derived or selected as a predicted data unit (the predicted data unit is a selected data unit close to or identical to the current data unit) for the current data unit at least according to a predetermined scheme from at least the current candidate set, and a special case of the predicted data unit is an equivalent data unit (the equivalent data unit is a selected data unit identical to the current data unit), and a compressed data code stream containing at least part or all of information representing the predicted data unit of the current data unit is generated.
According to another aspect of the present invention, there is also provided a decoding method or apparatus for data compression, at least including steps or modules for performing the following functions and operations:
When decoding a current data unit in a decoding block, parsing the compressed data code stream, obtaining at least part or all of the information representing the predicted data unit of the current data unit, selecting one of a plurality of candidate sets as the current candidate set of the current data unit at least according to the value of a specific coding parameter corresponding to the current data unit, deriving or selecting a data unit called the selected data unit from at least the current candidate set at least according to a predetermined scheme as the predicted data unit of the current data unit (the predicted data unit is a selected data unit which is close to or identical to the current data unit), and a special case of the predicted data unit is an equivalent data unit (the equivalent data unit is a selected data unit which is identical to the current data unit).
From a first aspect, the present invention provides a method of encoding a data set and its data compression, characterized in that it comprises at least the following steps:
1) Selecting one of a plurality of candidate sets as a current candidate set of a current data unit in a coding block according to at least a value of a specific coding parameter corresponding to the current data unit when coding the current data unit;
2) Deriving or selecting a data unit called a selected data unit from at least the current candidate set, at least according to a predetermined scheme, as a predicted data unit of the current data unit (predicted data unit being a selected data unit that is close to or identical to the current data unit), a special case of predicted data unit being an equivalent data unit (equivalent data unit being a selected data unit that is identical to the current data unit);
3) A compressed data stream is generated containing at least some or all of the information representing the predicted data unit of the current data unit.
From a second aspect, the present invention provides a decoding method for compressing a data set and data thereof, characterized by comprising at least the steps of:
1) When decoding a current data unit in a decoding block, analyzing a compressed data code stream to obtain partial or all information of a predicted data unit at least representing the current data unit;
2) Selecting one of a plurality of candidate sets as a current candidate set for the current data unit based at least on a value of a particular coding parameter corresponding to the current data unit;
3) Deriving or selecting a data unit called a selected data unit from at least the current candidate set, at least according to a predetermined scheme, as a predicted data unit of the current data unit (predicted data unit is a selected data unit that is close to or identical to the current data unit), a special case of predicted data unit being an equivalent data unit (equivalent data unit is a selected data unit that is identical to the current data unit).
From a third aspect, the present invention provides an encoding device for compressing a data set and data thereof, comprising at least the following modules:
1) A current candidate set selection module for selecting one of a plurality of candidate sets as a current candidate set of a current data unit according to at least a value of a specific coding parameter corresponding to the current data unit when encoding the current data unit in one coding block;
2) A predicted data unit selection module that derives or selects a data unit called a selected data unit as a predicted data unit of the current data unit from at least the current candidate set according to at least a predetermined scheme (the predicted data unit is a selected data unit that is close to or identical to the current data unit), a special case of the predicted data unit being an equivalent data unit (the equivalent data unit is a selected data unit that is identical to the current data unit);
3) The compressed data code stream generating module generates a compressed data code stream containing at least part or all of the information representing the predicted data unit of the current data unit.
From a fourth aspect, the present invention provides a decoding device for compressing a data set and data thereof, comprising at least the following modules:
1) The compressed data code stream analysis module is used for analyzing the compressed data code stream when decoding one current data unit in one decoding block, and acquiring partial or all information of a predicted data unit at least representing the current data unit;
2) A current candidate set selection module that selects one of a plurality of candidate sets as a current candidate set for the current data unit based at least on a value of a particular coding parameter corresponding to the current data unit;
3) A predictive data unit decoding module derives or selects a data unit called a selected data unit as a predictive data unit of the current data unit from at least the current candidate set according to at least a predetermined scheme (the predictive data unit is a selected data unit that is close to or identical to the current data unit), and a special case of the predictive data unit is an equivalent data unit (the equivalent data unit is a selected data unit that is identical to the current data unit).
The invention is suitable for encoding and decoding of lossy data compression, and is also suitable for encoding and decoding of lossless data compression. The invention is applicable to the encoding and decoding of image data, and is also applicable to the encoding and decoding of any one-dimensional, two-dimensional or multi-dimensional data.
In the present invention, the data involved in the data compression includes one or a combination of the following types of data
1) One-dimensional data;
2) Two-dimensional data;
3) Multidimensional data;
4) An image;
5) A sequence of images;
6) Video;
7) A three-dimensional scene;
8) A sequence of continuously varying three-dimensional scenes;
9) A virtual reality scene;
10 Sequence of continuously changing virtual reality scenes
11 An image in the form of pixels;
12 Transform domain data of the image;
13 A set of bytes of two or more dimensions;
14 A set of bits that are two or more dimensions;
15 A set of pixels;
16 A set of pixel components.
In the present invention, in the case where data is generated from an image, a sequence of images, video, or the like, an encoded block or a decoded block is one encoded region or one decoded region of an 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 prediction block, a prediction sub-block, a sub-prediction block, a sub-region of a transformation unit TU and TU, a sub-transformation unit sub-TU, a transformation block, a transformation sub-block and a sub-transformation block.
In the present invention, the primitive includes one or a combination of the following cases: a codec block, a sub-region of a codec block, a sub-block, a micro-block, a string, a pixel string, a sample string, an index string, a line, etc., of various shapes such as a square or rectangle or triangle or trapezoid.
The technical features of the present invention are described above by means of several specific embodiments. Other advantages and effects of the present invention will be readily apparent to those skilled in the art from the present disclosure. The invention may be practiced or carried out in other embodiments that depart from the spirit and scope of the present invention, and the details of the present invention may be modified or changed from various points of view and applications.
Drawings
Fig. 1 is a schematic diagram of the encoding method or apparatus of the present invention.
Fig. 2 is a schematic diagram of the decoding method or apparatus of the present invention.
Detailed Description
Further details or variations of the invention are set forth below.
Examples or variants 1
In the encoding method or apparatus or the decoding method or apparatus,
in inter coding of video codecs (including the case where the current picture is allowed to be used as a reference picture), the data units are motion vectors of the codec blocks or sub-blocks, comprising at least one two-dimensional vector (mv [0], mv [1 ]) representing the difference, i.e. offset, between the two-dimensional coordinates of the current block or sub-block in the picture in which it is located, i.e. the current picture, and the two-dimensional coordinates of the corresponding reference block or sub-block in the picture in which it is located, i.e. the reference picture;
The specific coding parameter is a reference picture index ref_idx of an inter-coded coding and decoding block or sub-block, and the reference picture index ref_idx represents a position or an address of a picture where the reference block or the sub-block is located, namely, a reference picture in a reference picture queue, namely, represents which frame picture of the reference block or the sub-block in the reference picture queue;
the candidate set is a historical latest motion vector predicted value candidate set and consists of motion vectors of a plurality of latest coded and decoded blocks or subblocks which are in an inter-frame coding mode and appear in the coding and decoding historical process according to the coding and decoding sequence;
the historical most recent motion vectors with the same set (i.e., one or more) of reference image index values form a historical most recent motion vector predictor candidate set;
the plurality of candidate sets are a plurality of historical latest motion vector predictor candidate sets respectively corresponding to a plurality of groups, wherein each group has one or a plurality of reference image index values.
Examples or variants 2
In the encoding method or apparatus or the decoding method or apparatus,
in inter coding of video codecs (including the case where the current picture is allowed to be used as a reference picture), the data units are motion vectors of the codec blocks or sub-blocks, comprising at least one two-dimensional vector (mv [0], mv [1 ]) representing the difference, i.e. offset, between the two-dimensional coordinates of the current block or sub-block in the picture in which it is located, i.e. the current picture, and the two-dimensional coordinates of the corresponding reference block or sub-block in the picture in which it is located, i.e. the reference picture;
The motion vector predictor of the motion vector of the inter-coded codec block or sub-block is from at least the merge candidate list mergeCandList;
the merge candidate list includes at least the following motion vectors as motion vector predictors of the motion vector of the current block:
motion vectors of co-frame adjacent, also called spatially adjacent (spatial neighboring) codec blocks or sub-blocks thereof, called co-frame adjacent motion vectors
And/or
Motion vectors of previous frame neighboring, also called temporal neighboring (temporal neighboring) codec blocks or sub-blocks thereof, called previous frame neighboring motion vectors
And/or
Some or all of the motion vectors belonging to a candidate set of historical most recent motion vector predictors corresponding to a selected set (i.e., one or more) of the particular reference image index values are referred to as historical most recent motion vectors;
the merging candidate list has MaxNumMergeCand candidate motion vector predicted values which are respectively represented by sequence numbers i from 0 to MaxNumMergeCand-1;
if the motion vector predictor with sequence number 0 is not the historical latest motion vector, the selected group of specific reference picture index values at least comprises the reference picture index of the motion vector predictor with sequence number 0, otherwise, the selected group of specific reference picture index values at least comprises 0.
Examples or variants 3
In the implementation of the encoding method or apparatus or the decoding method or apparatus described in variant 2,
the construction process of the merging candidate list at least comprises the following operations:
first a non-duplicate co-frame neighboring motion vector is placed into the merge candidate list,
next, non-repeated previous frame neighboring motion vectors are put into the merge candidate list,
then, the non-repeated historical latest motion vector with the same reference image index value is put into the merging candidate list.
Examples or variants 4
In the implementation of the encoding method or apparatus or the decoding method or apparatus described in variant 2,
the construction process of the merging candidate list at least comprises the following operations:
the initialization sequence number i is set to 0,
if a block or sub-block to the left adjacent to the frame is available and valid, the motion vector of said block or sub-block to the left is assigned a candidate motion vector predictor with sequence number i and sequence number i is incremented by one,
if an upper block or sub-block adjacent to the frame is available and valid, the motion vector of the upper block or sub-block is assigned a candidate motion vector predictor with sequence number i and sequence number i is incremented by one,
if an upper right block or sub-block adjacent to the frame is available and valid, the motion vector of the upper right block or sub-block is assigned a candidate motion vector predictor with a sequence number i and the sequence number i is incremented by one,
If a block or sub-block next to the frame and below left is available and valid, the motion vector of said block or sub-block below left is assigned a candidate motion vector predictor with a sequence number i and the sequence number i is incremented by one,
if a block or sub-block of the previous frame adaptation position is available and valid, the motion vector of said block or sub-block of the previous frame adaptation position is assigned a candidate motion vector predictor with sequence number i and sequence number i is incremented by one (only adapted to AMVP cand list),
if the upper left block or sub-block adjacent to the frame is available and valid, the motion vector of the upper left block or sub-block is assigned a motion vector predictor with a sequence number i and the sequence number i is incremented by one,
if a co-located block of a previous frame is available and valid, the motion vector of the co-located block of the previous frame is assigned a candidate motion vector predictor with a sequence number i and the sequence number i is incremented by one,
and repeatedly assigning a motion vector among a candidate set of historical nearest motion vector predictors having at least a reference image index value equal to a reference image index value of a motion vector predictor having a sequence number of a predetermined constant (e.g., 0) to a candidate motion vector predictor having a sequence number i and adding one to the sequence number i in order until the sequence number i is equal to MaxNumMergeCand, as long as the motion vector value and/or the reference image index value thereof is not equal to the motion vector value and/or the reference image index value of the motion vector having been put in the merge candidate list in the construction process of the merge candidate list, i.e., the motion vector value and/or the reference image index value of the motion vector having a sequence number smaller than the sequence number in the merge candidate list.
Examples or variants 5
Implementation or variation 4 of the encoding or decoding method or apparatus, the definition of "useful" is that the block or sub-block exists, at least part of the codec operation has been completed and is in the same slice as the current block where adjacent to the frame, and the definition of "useful" is one or a combination of the following:
1) There is a motion vector that is used to determine the motion vector,
2) The motion vector values and/or reference picture index values having motion vectors and whose motion vector values and/or reference picture index values are not equal to the motion vector values and/or reference picture index values of the motion vectors that have been put into the merge candidate list during the construction of the merge candidate list i.e. are not repeated with the motion vector values and/or reference picture index values of the motion vectors having a smaller sequence number within the merge candidate list,
3) A coding mode with at least one motion vector is employed, comprising: inter prediction mode, inter prediction mode allowing use of a current image as a reference image, intra block matching mode, intra block prediction mode, string matching mode, string prediction mode, micro block matching mode, micro block prediction mode, line matching mode, line prediction mode,
4) Having a predetermined characteristic of being able to be used,
5) The predetermined condition is satisfied and,
6) With a motion vector of a predetermined type,
7) Having a motion vector whose value falls within a predetermined range of values,
8) With motion vectors whose values fall outside a predetermined range of values.
Implementation or modification 6
In the encoding method or apparatus or the decoding method or apparatus, when a candidate set has more than one element (i.e., data unit), the element of the candidate set is represented using the index Idx, and thus, the selected data unit is represented by one selected index.
Implementation or modification 7
In the encoding method or apparatus or the decoding method or apparatus,
the data unit is a motion vector of a coding and decoding block or a subblock in video coding and decoding, and at least comprises a two-dimensional vector (mv 0, mv 1) representing the difference, namely the offset, between the two-dimensional coordinates of the current block or subblock in the image where the current block or subblock is located, namely the current image, and the two-dimensional coordinates of the corresponding reference block or subblock in the image where the corresponding reference block or subblock is located, namely the reference image;
the predicted data unit is a motion vector predictor of the current motion vector;
the part or all of the information representing the predicted data unit of the current data unit is part or all of the information representing the motion vector predicted value of the current motion vector;
The specific coding parameter is coding mode of coding and decoding block or subblock, and its value at least includesIntra block copy pre-processing IBC prediction mode for short for Intra Block Copy predictionAndinter prediction, i.e. inter prediction mode;
The candidate set is a historical nearest motion vector prediction candidate set, and consists of motion vectors of a plurality of nearest coded and decoded blocks or subblocks which adopt an inter-frame prediction mode and/or an IBC prediction mode and appear in a coding and decoding historical process according to a coding and decoding sequence, wherein the motion vectors of the coded and decoded blocks or subblocks which adopt the IBC prediction mode are also called block vectors, namely block vector is abbreviated as bv;
historical latest motion vectors with IBC prediction modes constitute an IBC historical latest motion vector prediction candidate setHmvpIbcCandList={HmvpIbcCandList[i], 0 ≤ i ≤ I 1 -1, the element of which, i.e. the stored block vector, is a block vector of a coded block or sub-block which has completed at least part of the coding operation and which at least meets a predetermined rule of the first type, yet further meets a selection condition of the first type, wherein I 1 Is thatHmvpIbcCandListThe number of block vectors stored in I 1 Less than or equal to a predetermined first maximum value;
historical latest motion vector with inter-frame prediction mode constitutes inter-frame historical latest motion vector prediction candidate set HmvpCandList={HmvpCandList[i], 0 ≤ i ≤I 2 -1, the element of which, i.e. the stored motion vector, is a motion vector of a codec block or sub-block which has completed at least part of the codec operation and which at least meets a predetermined rule of a second kind, yet further meets a selection condition of the second kind, wherein I 2 Is thatHmvpCandListThe number of motion vectors stored in I 2 Less than or equal to a predetermined second maximum value;
the plurality of candidate sets areHmvpIbcCandListAndHmvpCandList。
implementation or modification 8 (examples of predetermined rules and selection conditions)
In carrying out or modifying the encoding method or apparatus or the decoding method or apparatus of example 7,
the first predetermined rule includes at least that the coding mode of the coding block or sub-block for which at least part of the coding operation is completed isIntra block copy prediction modeThe first type of selection condition comprises at least that the reference block or sub-block represented by the motion vector concerned is within a predetermined reference range;
the second type of predetermined rule includes at least that the coding mode of the coding block or sub-block for which at least part of the coding operation has been completed isInter prediction modeThe second class of selection conditions comprises at least that the reference block or sub-block represented by the motion vector in question is within a predetermined reference range.
Implementation or modification 9 (example of a predetermined maximum value)
In carrying out or modifying the encoding method or apparatus or the decoding method or apparatus of example 7,
the first maximum is an integer between 4 and 12;
the second maximum is an integer between 4 and 12.
Implementation or modification 10 (example of candidate list for motion vector prediction)
In carrying out or modifying the encoding method or apparatus or the decoding method or apparatus of example 7,
at least from the coding mode when the coding mode is an IBC prediction modeHmvpIbcCandListWherein the predetermined number K is selected in a predetermined manner 1 HmvpIBcCandList [ i ]]Put into a block vector candidate list for block vector predictionbvCandList={bvCandList[j], 0 ≤ j ≤ J 1 -1}, from thebvCandListSelecting a block vector bvCandList [ mvIdx ]]Block vector predictor as the current block vector, where J 1 Is thatbvCandListThe number of motion vectors stored in J 1 Less than or equal to a predetermined maximum (typically an integer between 4 and 16), mvIdx satisfying 0.ltoreq.mvIdx.ltoreq.J 1 -1;
At least from the coding mode when the coding mode is inter prediction modeHmvpCandListWherein the predetermined number K is selected in a predetermined manner 2 HmvpCANdList [ i ]]Put into a merge candidate list for motion vector prediction mergeCandList={mergeCandList[j], 0 ≤ j ≤ J 2 -1}, from themergeCandListSelecting a motion vector mergeCandList [ merge_idx ]]A motion vector predictor as the current motion vector, wherein J 2 Is thatmergeCandListThe number of motion vectors stored in J 2 Less than or equal to a predetermined maximum (typically an integer between 4 and 16), with merge_idx satisfying 0 < merge_idx < J 2 -1。
Implementation or modification 11 (example of candidate list for motion vector prediction)
In implementing or modifying the encoding method or apparatus or decoding method or apparatus of example 10,
said mvIdx being present in or derived from at least part or all of said motion vector predictor representing a current motion vector;
the merge idx is present in or derived from at least part or all of the information representing the motion vector predictor of the current motion vector.
Implementation or modification 12 (example of composition of elements of the historical recent motion vector prediction candidate set)
In carrying out or modifying the encoding method or apparatus or the decoding method or apparatus of example 7,
The saidHmvpIbcCandListThe constituent components of the element of (a) include at least a horizontal component and a vertical component of the block vector;
the saidHmvpCandListComprising at least a horizontal component, a vertical component of one or two motion vectors, a reference picture index indicating which frame of picture in the reference picture queue the reference picture is, and at most one bi-predictive CU level weight.
Implementation or variation example 13 (example of constructing and updating a historical recent motion vector prediction candidate set)
In carrying out or modifying the encoding method or apparatus or the decoding method or apparatus of example 7,
the saidHmvpIbcCandListAnd/orHmvpCandListThe time at which the encoding and decoding of one frame image is started is reset to an empty set.
Implementation or variation 14 (example of constructing and updating a historical recent motion vector prediction candidate set)
In carrying out or modifying the encoding method or apparatus or the decoding method or apparatus of example 7,
the saidHmvpIbcCandListAnd/orHmvpCandListIs reset to the empty set at the moment when the codec of one slice starts.
Implementation or modification 15 (example of constructing and updating a historical recent motion vector prediction candidate set)
In carrying out or modifying the encoding method or apparatus or the decoding method or apparatus of example 7,
when a new motion vector is obtained in the encoding and decoding, the new motion vector is updated according to a first predetermined scheme HmvpIbcCandList;
When a new motion vector is obtained in the encoding and decoding, wherein the reference image is not the current image, the new motion vector is updated according to a second preset schemeHmvpCandList。
Implementation or variation example 16 (an example of constructing and updating a historical recent motion vector prediction candidate set)
In implementing or modifying the encoding method or apparatus or the decoding method or apparatus of example 15,
the first predetermined scheme includes at least 1) theHmvpIbcCandListIs a first-in-first-out buffer, i.e. FIFO buffer, 2) delete the saidHmvpIbcCandListA motion vector which is identical to the new motion vector and moves forward by one position all following the new motion vector, 3) when the new motion vector is detectedHmvpIbcCandListWhen the space in the motion vector is full, moving out the motion vector which is put in first according to the rule of first in first out, moving forward all the rest motion vectors by one position and moving into the new motion vector;
the second predetermined scheme includes at least 1) theHmvpCandListIs a first-in-first-out buffer, i.e. FIFO buffer, 2) delete the saidHmvpCandListA motion vector which is identical to the new motion vector and moves forward by one position all following the new motion vector, 3) when the new motion vector is detectedHmvpCandListWhen the space in the motion vector is full, the motion vector which is put in first is moved out according to the rule of first in first out, and the rest motion vectors are moved forward by one position and are moved into the new motion vector.
Examples or variants 17
In the encoding method or apparatus or the decoding method or apparatus, the plurality of candidate sets are mutually different proper subsets of a total candidate set whose number of elements is greater than 1.
Implementation or modification 18
In the encoding method or apparatus or the decoding method or apparatus,
in video coding and decoding, when the prediction residual of a coding block or a subblock is subjected to main transformation to obtain a main transformation coefficient, the low-frequency part of the main transformation coefficient is often subjected to optional low-frequency transformation to obtain a final transformation coefficient. In order to improve coding efficiency, the low frequency transform usually selects a most suitable secondary transform positive matrix from a plurality of predetermined secondary transform positive matrices to perform the low frequency transform, or selects not to perform the low frequency transform (in this case, the transform coefficient is equal to the primary transform coefficient). For non-low frequency coefficients, no secondary transform is performed, i.e. the transform coefficients are equal to the primary transform coefficients. Accordingly, upon decoding, the reconstructed (also reconstructed) low frequency portion of the reconstructed (also reconstructed) transform coefficients of the decoded block or sub-block is subjected to an optional inverse low frequency transform to obtain reconstructed main transform coefficients. Accordingly, the inverse low frequency transform typically selects a corresponding secondary transform inverse matrix from a plurality of predetermined secondary transform inverse matrices to perform the inverse low frequency transform, or selects not to perform the inverse low frequency transform (in this case, the reconstructed primary transform coefficient is equal to the reconstructed transform coefficient). For non-low frequency coefficients, no secondary transform is performed, i.e. the reconstructed primary transform coefficients are equal to the reconstructed transform coefficients.
When a codec block or sub-block of size and shape m×n block, where m=m×l and n=n×l are integer multiples of L (L is typically 4), is transformed (forward or inverse), the m×n transform coefficients of the codec block or sub-block are typically divided into m×n coefficient sets, each of which consists of the l×l transform coefficients of an l×l minimum block. The coefficient group consisting of the leftmost upper corner l×l transform coefficients, whose group number is set to 0, is the lowest frequency part of the transform coefficients.
The data unit is a transformation matrix (including a transformation positive matrix and a transformation inverse matrix) used in the video encoding and decoding process of performing optional low-frequency transformation and inverse low-frequency transformation on the encoding and decoding block or sub-block;
the specific coding parameters at least comprise intra-frame prediction modes used by the coding and decoding blocks or the subblocks in a prediction stage, and the values of the specific coding parameters at least comprise integers from-14 to 83;
the plurality of candidate sets is K (K is typically less than 16) candidate sets: candidate set K, K is more than or equal to 0 and less than or equal to K-1;
the predicted data units are equivalent data units, i.e. the current transformation matrix is identical to the selected transformation matrix selected from the candidate set;
the part or all of the information representing the predicted data unit of the current data unit includes a reference to a low frequency transform index LowFreqSecTransIdxParameters of (2);LowFreqSecTransIdxa value of 0 indicates no low frequency transform;LowFreqSecTransIdxlow frequency transform for non-0 representation andLowFreqSecTransIdxthe value of (2) indicates which matrix within the current candidate set the selected transformation matrix is;
when a codec block or sub-block, which is a transform block or sub-block, has a non-zero non-upper left-most coefficient set, i.e. not only the upper left-most coefficient set has non-zero transform coefficients,LowFreqSecTransIdxis not present in the compressed data stream;
when (when)LowFreqSecTransIdxWhen not present in the compressed data stream,LowFreqSecTransIdxis defaulted to a default value of 0, i.e. no low frequency conversion is performed.
Implementation or modification 19
In implementing or modifying the encoding method or apparatus or the decoding method or apparatus of example 18, when the main transform uses no DCT-2 (also called DCT-II) and other types of transforms,LowFreqSecTransIdxis not present in the compressed data stream.
Implementation or modification 20
In implementing or modifying the encoding method or apparatus or the decoding method or apparatus of example 18, when the main transform uses an implicit transform selection,LowFreqSecTransIdxis not present in the compressed data stream.
Implementation or modification 21
In implementing or modifying the encoding method or apparatus or the decoding method or apparatus of example 18,
the range of intra prediction modes is divided into K mutually disjoint sub-ranges of values: the subvalue range K is more than or equal to 0 and less than or equal to K-1;
When the value of the intra prediction mode belongs to the sub-value range k, the candidate set k is selected as the current candidate set.
Implementation or modification 22
In implementing or modifying the encoding method or apparatus or the decoding method or apparatus of example 18,
the k=4;
the range of intra prediction modes is divided into 4 mutually disjoint sub-ranges of values:
the subvalue range 0 consists of the following integers: 0,1, 81, 82, 83,
the subvalue range 1 consists of the following integers: less than 0, more than or equal to 2 and less than or equal to 12, more than or equal to 56 and less than or equal to 80,
the subvalue range 2 consists of the following integers: 13 or more and 23 or less, 45 or more and 55 or less,
the subvalue range 3 consists of the following integers: 24 or more and 44 or less;
when the value of the intra prediction mode belongs to the sub-value range k, the candidate set k is selected as the current candidate set.
Implementation or modification 23
In implementing or modifying the encoding method or apparatus or the decoding method or apparatus of example 18,
the k=3;
the range of intra prediction modes is divided into 3 mutually disjoint sub-ranges of values:
the subvalue range 0 consists of the following integers: 0,1, 81, 82, 83,
The subvalue range 1 consists of the following integers: less than 0, more than or equal to 2 and less than or equal to 18, more than or equal to 50 and less than or equal to 80,
the subvalue range 2 consists of the following integers: 19 or more and 49 or less;
when the value of the intra prediction mode belongs to the sub-value range k, the candidate set k is selected as the current candidate set.
Implementation or modification 24
In implementing or modifying the encoding method or apparatus or the decoding method or apparatus of example 18,
the k=2;
the range of intra prediction modes is divided into 2 mutually disjoint sub-ranges of values:
the subvalue range 0 consists of the following integers: an even number of-14 or more and 34 or less, an odd number of 35 or less and 83 or less,
the subvalue range 1 consists of the following integers: an odd number of-14 or more and 34 or less, an even number of 35 or more and 83 or less;
when the value of the intra prediction mode belongs to the sub-value range k, the candidate set k is selected as the current candidate set.
Implementation or modification 25
In carrying out or modifying the encoding method or apparatus or the decoding method or apparatus described in examples 19 or 20 or 21 or 22 or 23 or 24,
each candidate set k is composed of two mutually exclusive subsets, subset k 1 And subset k 2 Composition;
the specific coding parameters also include at least the size of a codec block or sub-block;
dividing the value range of the size and shape of the coding and decoding block or the subblock as the transformation block into two mutually disjoint subblock value ranges: a sub-value range 1 and a sub-value range 2;
when the size of the coding and decoding block or the sub-block belongs to the sub-value range 1, selecting the subset k 1 As the current candidate set, the selected transformation matrix is selected from the subset k 1 Otherwise, select subset k 2 As the current candidate set, the selected transformation matrix is selected from the subset k 2 。
Implementation or modification 26
In the encoding method or apparatus or the decoding method or apparatus,
the data unit is a motion vector of a coding block or a sub-block which adopts an inter prediction mode in video coding and decoding and the reference image is not a current image, and at least comprises a two-dimensional vector (mv 0, mv 1) which represents the difference between the two-dimensional coordinates of the current block or the sub-block in the image where the current block or the sub-block is located, namely the current image, and the two-dimensional coordinates of the corresponding reference block or the sub-block in the image where the corresponding reference block or the sub-block is located, namely the two-dimensional coordinates in the reference image, namely the offset;
the predicted data unit is a motion vector predictor of the current motion vector;
The part or all of the information representing the predicted data unit of the current data unit is part or all of the information representing the motion vector predicted value of the current motion vector;
the specific coding parameters at least comprise inter affine marks, merging triangular dividing marks and merging subblock dividing marks of the coding and decoding blocks or subblocks;
the plurality of candidate sets includes at least three candidate sets: a general merge candidate list, a sub-block merge candidate list, and a triangle merge candidate set;
allowing the general merge candidate list to be selected as a current candidate set if all three flags of the inter affine flag, the merge triangular partition flag, and the merge subblock partition flag are 0; otherwise, if the merge triangle division flag is 1 and both the inter affine flag and the merge sub-block division flag are 0, allowing the triangle merge candidate set to be selected as a current candidate set; otherwise, the subblock merge candidate list is allowed to be selected as the current candidate set.
Implementation or modification 27
In implementing or modifying the encoding method or apparatus or decoding method or apparatus of example 26,
the maximum value of the number of elements of the general merging candidate list in a frame of image is determined by the image parameter set or image header existing in the compressed data code stream Maximum number of merging candidate list elementsSyntax element specification;
when saidMaximum number of merging candidate list elementsWhen the value of the syntax element is 0, each slice header of the image has a maximum value of the number of elements of a general merging candidate list in a syntax element prescribing the slice in the compressed data code stream;
the maximum value of the element number of the sub-block merging candidate list in one frame image is determined by the image parameter set or the image header existing in the compressed data code streamMaximum value of number of sub-block merging candidate list elementsSyntax element specification;
when saidMaximum value of number of sub-block merging candidate list elementsWhen the value of the syntax element is 0 and at least inter affine is allowed to be used in the sequence, each slice header of the picture has one syntax element in the compressed data stream specifying the maximum value of the number of elements of the sub-block merging candidate list in the slice;
the maximum value of the element number of the triangle merging candidate set in one frame image is obtained by the image parameter set or the image head existing in the compressed data code streamMaximum value of element number of triangle merging candidate setSyntax element specification;
when saidTriangle merging candidate set element Maximum value of element numberWhen the syntax element has a value of 0 and the maximum value of the number of elements in the sequence that allows the use of trigonometric prediction and the general merge candidate list is greater than or equal to 2, each slice header of the picture has a maximum value of the number of elements in the compressed data bitstream that one syntax element specifies the trigonometric merge candidate set in that slice.
Implementation or modification 28
In implementing or modifying the encoding method or apparatus or decoding method or apparatus of example 26,
the maximum value of the number of elements of the general merge candidate list in a frame of image is specified by the following syntax elements present in the image parameter set or image header of the compressed data stream:
pps_six_minus_max_num_merge_cand_plus1
when the value of pps_six_minus_max_num_merge_cand_plus1 is 0, each slice header of the picture has the following syntax elements in the compressed data stream that specify the maximum value of the number of elements of the general merge candidate list in the slice:
six_minus_max_num_merge_cand
the maximum value of the number of elements of the sub-block merging candidate list in a frame image is specified by the following syntax elements present in the image parameter set or image header of the compressed data stream:
pps_five_minus_max_num_subblock_merge_cand_plus1
when the value of pps_five_minus_max_num_sample_merge_cand_plus 1 is 0 and inter affine is allowed to be used in the sequence, each slice header of the picture has the following syntax elements in the compressed data stream that specify the maximum of the number of elements of the sub-block merge candidate list in that slice:
five_minus_max_num_subblock_merge_cand
The maximum value of the number of elements of the triangle merging candidate set in a frame image is specified by the following syntax elements present in the image parameter set or image header of the compressed data stream:
pps_max_num_merge_cand_minus_max_num_triangle_cand_minus1
when the value of pps_max_num_merge_merge_minus_max_num_triangularly_cand_minus1 is 0 and the maximum value of the number of elements of the general merge candidate list is greater than or equal to 2 in the sequence, each slice header of the image has the following syntax elements in the compressed data stream that specify the maximum value of the number of elements of the triangle merge candidate set in the slice:
max_num_merge_cand_minus_max_num_triangle_cand。
implementation or modification 29
In implementing or modifying the encoding method or apparatus or decoding method or apparatus of example 26,
the triangle merging candidate set is marked as triangulmergecand= { triangulmergecand [ I ], I is more than or equal to 0 and less than or equal to I-1}, wherein each element triangulmergecand [ I ] at least comprises a unidirectional motion vector triangulmergeMv 0[ I ];
the merging candidate list is generally expressed as mergeCandList [ J ], wherein, J is more than or equal to 0 and less than or equal to J-1}, and each element mergeCandList [ J ] at least comprises bidirectional motion vectors mergeMv0[ J ] and/or mergeMv1[ J ];
calculating j=j (i) from i using a predetermined map J (i); a special case of the predetermined mapping is j=i; another special case of the predetermined mapping is j=i+1; the predetermined map may also be defined by a predetermined map table;
TrianglemegeMergeMv 0[ i ] is derived from mergeMv0[ J ] and/or mergeMv1[ J ], where j=J (i), according to a predetermined rule.
Implementation or modification 30
In implementing or modifying the encoding method or apparatus or the decoding method or apparatus of example 29,
the predetermined rule for deriving triamclemegelgemv 0[ i ] from mergeMv0[ j ] and/or mergeMv1[ j ] includes deciding how to derive triamclemegelgemv 0[ i ] based on at least the parity of j and whether mergeMv0[ j ] and/or mergeMv1[ j ] are present.
Implementation or modification 31
In implementing or modifying the encoding method or apparatus or the decoding method or apparatus of example 29,
deriving the predetermined rule of triamclemegelgemv 0[ i ] from mergeMv0[ j ] and/or mergeMv1[ j ] comprises at least the following operations:
TriangleMergeMv0[ i ] derives or equals mergeMv0[ j ] from mergeMv0[ j ] when mergeMv0[ j ] is present if j is even, otherwise TriangleMergeMv0[ i ] derives or equals mergeMv1[ j ] from mergeMv1[ j ]:
if j is an odd number, triangleMergeMv0[ i ] is derived from or equal to mergeMv1[ j ] when mergeMv1[ j ] is present, otherwise TriangleMergeMv0[ i ] is derived from or equal to mergeMv0[ j ].
Implementation or modification 32
In implementing or modifying the encoding method or apparatus or the decoding method or apparatus described in examples 29 or 30 or 31,
The codec block or sub-block is divided into two triangles, so that two selected unidirectional motion vectors are derived or selected from the triangulmergecand candidate set, denoted as first unidirectional motion vector triangulmergemv 0[ i ], respectively 1 ]And a second unidirectional motion vector TriangleMerrgeMv 0[ i ] 2 ];
The first unidirectional motion vector TriangleMergemv0[ i ] 1 ]From mergeMv0[ j ]]And/or mergeMv1[ j ]]Derivation, where j=j 1 (i 1 );
The second unidirectional motion vector TriangleMergemv0[ i ] 2 ]Also from mergeMv0[ j ]]And/or mergeMv1[ j ]]Derivation, where j=j 2 (i 2 )。
Implementation or modification 33
In implementing or modifying the encoding method or apparatus or decoding method or apparatus of example 32,
map J 1 And J 2 The definition is as follows:
if i 2 <i 1 J is then 1 (i 1 ) = i 1 ,J 2 (i 2 ) = i 2 The method comprises the steps of carrying out a first treatment on the surface of the Otherwise, J 1 (i 1 ) = i 1 ,J 2 (i 2 ) = i 2 + 1。
Claims (10)
1. A method or apparatus for encoding data compression, comprising at least the steps or modules for performing the following functions or operations:
1) When a current motion vector of a coding block or a sub-block is coded in video coding, selecting one of a plurality of candidate sets as a current candidate set of the current motion vector at least according to an inter-affine mark, a merging triangular partition mark and a merging sub-block partition mark of the coding block or the sub-block;
The motion vector at least comprises a two-dimensional vector (mv 0, mv 1) representing the difference, i.e. the offset, between the two-dimensional coordinates of the current block or sub-block in the image in which it is located, i.e. the current image, and the two-dimensional coordinates of the corresponding reference block or sub-block in the image in which it is located, i.e. the reference image;
the plurality of candidate sets includes at least three candidate sets: a general merge candidate list, a sub-block merge candidate list, and a triangle merge candidate set;
2) Deriving or selecting a motion vector from at least the current candidate set, at least according to a predetermined scheme, as a predictor for the current motion vector; if all three flags of the inter affine flag, the merge triangular partition flag and the merge subblock partition flag are 0, allowing the general merge candidate list to be selected as a current candidate set; otherwise, if the merge triangle division flag is 1 and both the inter affine flag and the merge sub-block division flag are 0, allowing the triangle merge candidate set to be selected as a current candidate set; otherwise, allowing the subblock merging candidate list to be selected as a current candidate set;
3) A compressed data stream is generated that contains at least some or all of the information representing or deriving the predicted value of the current motion vector.
2. A decoding method or decoding device for data compression, characterized in that it comprises at least the steps or modules that perform the following functions or operations:
1) When decoding a decoding block or sub-block in video decoding, analyzing a compressed data code stream to obtain partial or all information at least representing or deriving a predicted value of a current motion vector of the decoding block or sub-block;
2) Selecting one of a plurality of candidate sets as a current candidate set of the current motion vector at least according to an inter affine flag, a merge triangular partition flag, and a merge sub-block partition flag of the decoding block or sub-block;
the motion vector at least comprises a two-dimensional vector (mv 0, mv 1) representing the difference, i.e. the offset, between the two-dimensional coordinates of the current block or sub-block in the image in which it is located, i.e. the current image, and the two-dimensional coordinates of the corresponding reference block or sub-block in the image in which it is located, i.e. the reference image;
the plurality of candidate sets includes at least three candidate sets: a general merge candidate list, a sub-block merge candidate list, and a triangle merge candidate set;
3) Deriving or selecting a motion vector from at least the current candidate set, at least according to a predetermined scheme, as a predictor for the current motion vector; if all three flags of the inter affine flag, the merge triangular partition flag and the merge subblock partition flag are 0, allowing the general merge candidate list to be selected as a current candidate set; otherwise, if the merge triangle division flag is 1 and both the inter affine flag and the merge sub-block division flag are 0, allowing the triangle merge candidate set to be selected as a current candidate set; otherwise, the subblock merge candidate list is allowed to be selected as the current candidate set.
3. The decoding method or decoding apparatus according to claim 2, wherein:
the maximum value of the number of elements of the general merge candidate list in the current image is determined by the sequence parameter set or the image header existing in the compressed data code streamMaximum number of merging candidate list elementsSyntax element specification;
the maximum value of the number of elements of the sub-block merging candidate list in the current image is determined by the sequence parameter set or the image header existing in the compressed data code streamMaximum value of number of sub-block merging candidate list elementsSyntax element specification;
the maximum value of the element number of the triangle merging candidate set in the current image is determined by the sequence parameter set or the image head existing in the compressed data code streamMaximum value of element number of triangle merging candidate setSyntax elements specify.
4. The decoding method or decoding apparatus according to claim 2, wherein:
the maximum value of the number of elements of the general merge candidate list in a frame of image is specified by the following syntax elements present in the image parameter set or image header of the compressed data stream:
pps_six_minus_max_num_merge_cand_plus1
when the value of pps_six_minus_max_num_merge_cand_plus1 is 0, each slice header of the picture has the following syntax elements in the compressed data stream that specify the maximum value of the number of elements of the general merge candidate list in the slice:
six_minus_max_num_merge_cand
The maximum value of the number of elements of the sub-block merging candidate list in a frame image is specified by the following syntax elements present in the image parameter set or image header of the compressed data stream:
pps_five_minus_max_num_subblock_merge_cand_plus1
when the value of pps_five_minus_max_num_sample_merge_cand_plus 1 is 0 and inter affine is allowed to be used in the sequence, each slice header of the picture has the following syntax elements in the compressed data stream that specify the maximum of the number of elements of the sub-block merge candidate list in that slice:
five_minus_max_num_subblock_merge_cand
the maximum value of the number of elements of the triangle merging candidate set in a frame image is specified by the following syntax elements present in the image parameter set or image header of the compressed data stream:
pps_max_num_merge_cand_minus_max_num_triangle_cand_minus1
when the value of pps_max_num_merge_merge_minus_max_num_triangularly_cand_minus1 is 0 and the maximum value of the number of elements of the general merge candidate list is greater than or equal to 2 in the sequence, each slice header of the image has the following syntax elements in the compressed data stream that specify the maximum value of the number of elements of the triangle merge candidate set in the slice:
max_num_merge_cand_minus_max_num_triangle_cand。
5. the decoding method or decoding apparatus according to claim 2, wherein:
the triangle merging candidate set is marked as triangulmergecand= { triangulmergecand [ I ], I is more than or equal to 0 and less than or equal to I-1}, and the element triangulmergecand [ I ] at least comprises a unidirectional motion vector triangulmergeMv 0[ I ] which is derived from a general merging candidate list according to the following mapping mode;
The merging candidate list is generally expressed as mergeCandList [ J ], wherein, J is more than or equal to 0 and less than or equal to J-1}, and each element mergeCandList [ J ] at least comprises bidirectional motion vectors mergeMv0[ J ] and/or mergeMv1[ J ];
calculating j=j (i) from i using a predetermined map J (i); a special case of the predetermined mapping is j=i; another special case of the predetermined mapping is j=i+1; the predetermined map may also be defined by a predetermined map table;
TrianglemegeMergeMv 0[ i ] is derived from mergeMv0[ J ] and/or mergeMv1[ J ], where j=J (i), according to a predetermined rule.
6. The decoding method or decoding apparatus according to claim 5, wherein:
the predetermined rule for deriving triamclemegelgemv 0[ i ] from mergeMv0[ j ] and/or mergeMv1[ j ] includes deciding how to derive triamclemegelgemv 0[ i ] based on at least the parity of j and whether mergeMv0[ j ] and/or mergeMv1[ j ] are present.
7. The decoding method or decoding apparatus according to claim 5, wherein:
deriving the predetermined rule of triamclemegelgemv 0[ i ] from mergeMv0[ j ] and/or mergeMv1[ j ] comprises at least the following operations:
TriangleMergeMv0[ i ] derives or equals mergeMv0[ j ] from mergeMv0[ j ] when mergeMv0[ j ] is present if j is even, otherwise TriangleMergeMv0[ i ] derives or equals mergeMv1[ j ] from mergeMv1[ j ]:
If j is an odd number, triangleMergeMv0[ i ] is derived from or equal to mergeMv1[ j ] when mergeMv1[ j ] is present, otherwise TriangleMergeMv0[ i ] is derived from or equal to mergeMv0[ j ].
8. The decoding method or decoding apparatus according to any one of claims 5, 6, and 7, characterized in that:
the decoding block or sub-block is divided into two triangles, so that two selected unidirectional motion vectors are derived or selected from the triangulmergecand candidate set, respectively denoted as first unidirectional motion vector triangulmergemv 0[ i ] 1 ]And a second unidirectional motion vector TriangleMerrgeMv 0[ i ] 2 ];
The first unidirectional motion vector TriangleMergemv0[ i ] 1 ]From mergeMv0[ j ]]And/or mergeMv1[ j ]]Derivation, where j=j 1 (i 1 );
The second unidirectional motion vector TriangleMergemv0[ i ] 2 ]Also from mergeMv0[ j ]]And/or mergeMv1[ j ]]Derivation, where j=j 2 (i 2 )。
9. The decoding method or decoding apparatus according to claim 8, wherein:
map J 1 And J 2 The definition is as follows:
if i 2 < i 1 J is then 1 (i 1 ) = i 1 ,J 2 (i 2 ) = i 2 The method comprises the steps of carrying out a first treatment on the surface of the Otherwise, J 1 (i 1 ) = i 1 ,J 2 (i 2 ) = i 2 + 1。
10. Decoding method or decoding device according to any of claims 2 to 7, 9, characterized in that,
the decoding block is a decoding area of the image, and comprises at least one of the following: a macroblock, a largest coding unit LCU, a coding tree unit CTU, a coding unit CU, a sub-region of a CU, a sub-coding unit sub-CU, a prediction unit PU, a sub-region of a PU, a sub-prediction unit sub-PU, a prediction block, a prediction sub-block, a sub-prediction block, a transform unit TU, a sub-region of a TU, a sub-transform unit sub-TU, a transform block, a transform sub-block, a sub-transform block;
The sub-blocks include one or a combination of the following: sub-regions of a decoded block, square or rectangular or triangular or trapezoidal sub-blocks, micro-blocks, strings, pixel strings, sample strings, index strings, lines.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811110886 | 2018-09-22 | ||
CN201811110886X | 2018-09-22 | ||
CN201910901833.8A CN110944178B (en) | 2018-09-22 | 2019-09-23 | Data compression encoding method and device, and data compression decoding method and device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910901833.8A Division CN110944178B (en) | 2018-09-22 | 2019-09-23 | Data compression encoding method and device, and data compression decoding method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117061769A true CN117061769A (en) | 2023-11-14 |
Family
ID=69906114
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310131932.9A Pending CN117061769A (en) | 2018-09-22 | 2019-09-23 | Encoding method and encoding device, decoding method and decoding device for data compression |
CN202310131546.XA Pending CN116320474A (en) | 2018-09-22 | 2019-09-23 | Data compression method and device for selecting one of multiple motion vector candidate sets in coding mode |
CN202310131931.4A Pending CN116320485A (en) | 2018-09-22 | 2019-09-23 | Data compression method and apparatus for selecting one of a plurality of low frequency transform matrix candidate sets |
CN201910901833.8A Active CN110944178B (en) | 2018-09-22 | 2019-09-23 | Data compression encoding method and device, and data compression decoding method and device |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310131546.XA Pending CN116320474A (en) | 2018-09-22 | 2019-09-23 | Data compression method and device for selecting one of multiple motion vector candidate sets in coding mode |
CN202310131931.4A Pending CN116320485A (en) | 2018-09-22 | 2019-09-23 | Data compression method and apparatus for selecting one of a plurality of low frequency transform matrix candidate sets |
CN201910901833.8A Active CN110944178B (en) | 2018-09-22 | 2019-09-23 | Data compression encoding method and device, and data compression decoding method and device |
Country Status (1)
Country | Link |
---|---|
CN (4) | CN117061769A (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11405628B2 (en) * | 2020-04-06 | 2022-08-02 | Tencent America LLC | Method and apparatus for video coding |
CN112055219B (en) * | 2020-08-05 | 2021-08-31 | 浙江大华技术股份有限公司 | String matching prediction method and device and computer readable storage medium |
CN113992635B (en) * | 2021-10-20 | 2022-09-20 | 腾讯科技(深圳)有限公司 | Multimedia data processing method, device, equipment and storage medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107105282B (en) * | 2010-12-14 | 2019-11-12 | M&K控股株式会社 | Equipment for decoding moving pictures |
CN104853211A (en) * | 2014-02-16 | 2015-08-19 | 上海天荷电子信息有限公司 | Image compression method and apparatus employing various forms of reference pixel storage spaces |
CN107079161B (en) * | 2014-09-01 | 2020-11-20 | 寰发股份有限公司 | Method for intra picture block copying for screen content and video coding |
WO2017003063A1 (en) * | 2015-06-28 | 2017-01-05 | 엘지전자(주) | Method for processing image based on inter prediction mode and system therefor |
-
2019
- 2019-09-23 CN CN202310131932.9A patent/CN117061769A/en active Pending
- 2019-09-23 CN CN202310131546.XA patent/CN116320474A/en active Pending
- 2019-09-23 CN CN202310131931.4A patent/CN116320485A/en active Pending
- 2019-09-23 CN CN201910901833.8A patent/CN110944178B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN110944178B (en) | 2023-03-07 |
CN116320474A (en) | 2023-06-23 |
CN110944178A (en) | 2020-03-31 |
CN116320485A (en) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6931690B2 (en) | How to encode content and arithmetic units | |
TWI669948B (en) | Method and apparatus for encoding or decoding video data | |
CN111819853B (en) | Image block encoding device and image block encoding method | |
TWI590649B (en) | Apparatus for arithmetic decoding of video | |
TWI597975B (en) | Apparatus for video decoding | |
CN113273188B (en) | Image encoding/decoding method and apparatus, and recording medium storing bit stream | |
CN118631991A (en) | Adaptive in-loop filtering method and apparatus | |
CN110944190B (en) | Encoding method and device, decoding method and device for image compression | |
CN108235007B (en) | Data compression method and device for each mode using different precision and same coding parameter | |
TW201541941A (en) | Video decoding method | |
CN112771862A (en) | Method and apparatus for encoding/decoding image by using boundary processing and recording medium for storing bitstream | |
CN109936742B (en) | Method for encoding a video sequence, encoding device and storage medium | |
CN117061769A (en) | Encoding method and encoding device, decoding method and decoding device for data compression | |
CN107770527B (en) | Data compression method and apparatus using neighboring encoding parameters and nearest encoding parameters | |
CN114071140B (en) | Decoding method, encoding method, device, equipment and machine readable storage medium | |
CN110035288B (en) | Method for encoding a video sequence, encoding device and storage medium | |
CN112672160B (en) | Encoding and decoding method and device for fusing intra-frame block copy and string copy encoding parameters | |
CN112601086B (en) | String length parameter hybrid coding and decoding method and device |
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 |