CN114501020A - Image compression method and apparatus using nearest motion vector and neighboring motion vector - Google Patents

Image compression method and apparatus using nearest motion vector and neighboring motion vector Download PDF

Info

Publication number
CN114501020A
CN114501020A CN202111381577.8A CN202111381577A CN114501020A CN 114501020 A CN114501020 A CN 114501020A CN 202111381577 A CN202111381577 A CN 202111381577A CN 114501020 A CN114501020 A CN 114501020A
Authority
CN
China
Prior art keywords
motion vector
decoding
mode
current
encoding
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
Application number
CN202111381577.8A
Other languages
Chinese (zh)
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.)
Shanghai Tianhe Electronic Information Co ltd
Original Assignee
Shanghai Tianhe Electronic Information Co ltd
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 Shanghai Tianhe Electronic Information Co ltd filed Critical Shanghai Tianhe Electronic Information Co ltd
Publication of CN114501020A publication Critical patent/CN114501020A/en
Pending legal-status Critical Current

Links

Images

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/17Methods 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/176Methods 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
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The present invention provides an image compression method and apparatus for encoding and decoding a current motion vector using at least one or more motion vectors that are spatially adjacent (including but not limited to adjacent) (referred to as neighboring motion vectors or neighboring motion vectors) and/or one or more motion vectors that are temporally closest in encoding and decoding order (referred to as nearest motion vectors) according to a predetermined rule. The method and the device fully utilize the correlation between the adjacent motion vector and/or the nearest motion vector and the current motion vector, select the optimal mode according to the preset rule, achieve the purpose of coding and decoding the current motion vector by the bit number with the least overall consumption, fundamentally reduce the image compression, particularly the bit number required by the matching mode, and greatly improve the coding efficiency.

Description

Image compression method and apparatus using nearest motion vector and neighboring motion vector
The present application is a divisional application of the following original applications:
application date of the original application: 2017-08-21
Application No. of the original application: 2017107158861
The invention of the original application is named: a data compression method and apparatus using neighboring encoding parameters and nearest encoding parameters.
Technical Field
The present invention relates to an encoding and decoding system for lossy or lossless compression of data, and more particularly to a method and apparatus for encoding and decoding image and video data.
Background
With the human society entering 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, and virtual reality, it becomes an indispensable technology to compress various data, including big data, image data, and video data, with ultra high compression ratio and extremely high quality.
A dataset is a finite set of data (e.g., a sequence of one-dimensional data queue, a two-dimensional data file, a frame of image, a video sequence, a transform domain, a transform block, a plurality of transform blocks, a three-dimensional scene, a continuously changing three-dimensional scene) arranged in a spatial (one-dimensional, two-dimensional, or multi-dimensional) shape made up of samples of data (e.g., bytes, bits, pixels, pixel components, spatial sampling points, transform domain coefficients). When encoding (and corresponding decoding) a data set, in particular a two-dimensional or more data set, by data compression, the data set is usually divided into a number of subsets of predetermined shape, called coding blocks (i.e. decoding blocks from the decoding point of view, collectively called coding blocks), which are encoded or decoded in units of coding blocks, in a predetermined temporal order. 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 encoding block or current decoding block is collectively referred to as the current encoding and decoding block or simply the current block. The sample being encoded or decoded is referred to as the current encoded sample or the current decoded sample, simply as the current sample.
For a codec block with a certain shape (not necessarily limited to a square or a rectangle, but may be any other reasonable shape), it is necessary to divide it into finer primitives (basic units) in many cases, and one primitive is encoded or decoded one primitive after another in a predetermined time sequence. The same type of encoding or decoding operation is typically performed for 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, and finally a compressed data stream containing the encoding parameters is generated. Decoding a primitive is parsing the compressed data stream to obtain one or more encoding parameters, and recovering reconstructed data samples from the one or more encoding parameters.
Examples of primitives include codec blocks (the entire block being one primitive), sub-blocks, micro-blocks, strings, pixel strings, sample strings, index strings, lines.
One notable feature of many common datasets is the presence of many matching (i.e., similar or even identical) patterns. For example, there are typically many matching pixel patterns in images and video sequences. Therefore, in the existing data compression technology, a matching (also called prediction or compensation) manner, i.e. a manner of matching (also called "compensation value" or "reference sample", e.g. "reference pixel") with a "prediction value" (also called "compensation value" or "reference sample") to match (also called prediction, representation, compensation, approximation, etc.) a sample (simply called "current sample") in current encoding or decoding is generally adopted to achieve the effect of lossless or lossy compression of data. In brief, the basic operation of the matching approach is to copy the reference sample, i.e. the sample at the reference position, to the position of the current sample. Therefore, the matching method or the prediction method is also called a copy method. In the matching mode, reconstructed (also called reconstructed or restored) samples that have undergone at least part of the encoding operation and at least part of the decoding operation constitute a reference set (also called reference set space or reference buffer). The reconstructed samples and their positions in the reference set correspond one-to-one to the original samples and their positions in the original data set.
When encoding and decoding a current block, the matching mode divides the current block into a plurality of matching (also called predicting) primitives, and one matching primitive has one or more matching (coding) parameters (also called matching relation or copying parameter or copying relation or reference relation) to represent the characteristics of the matching (coding) primitives. One of the most important parameters of the matching parameters is a displacement vector (also referred to as motion vector, position offset, relative position, relative address, relative coordinate, relative index, etc.). The displacement vector represents the relative displacement between the sample of the current primitive and its reference sample, corresponding to the one-dimensional offset after the data samples are arranged into one-dimensional data. It is clear that the reference position of the reference sample is derived from the displacement vector. The displacement vector of the current primitive is called the current displacement vector. Other examples of matching parameters: match type, match length, unmatchable (predicted) samples, etc.
Examples of matching primitives include codec blocks, sub-blocks, micro-blocks, strings, pixel strings, sample strings, index strings, lines.
Examples of matching methods (sometimes referred to as matching types or matching patterns) include: block matching, sub-block matching, micro-block matching, string matching, pixel string matching, sample string matching, index string matching, line matching.
The primitives in a matching scheme may be divided into primitives of several seed types (sometimes called sub-patterns) according to some characteristic. As in the string matching approach, the primitives may be divided into the following sub-types of primitives (i.e., strings) depending on the nature of their reference pixels:
a Primary Reference Buffer string (PRB string for short),
a Secondary Reference Buffer string (SRB string for short),
the series of offsets is such that,
the coordinate series is then set to be,
unmatched pixels (also called unpredictable pixels),
unmatched pixel strings (also known as unpredictable pixel strings);
it is also possible to divide the primitives (i.e., strings) into the following sub-types, depending on the nature of the string length:
a general string (i.e. a string of arbitrary length),
a length limited string (i.e. a string whose length can only take a number of predetermined values, e.g. a length equal to the number of pixels of the codec block or equal to half the number of pixels of the codec block).
In data compression, particularly in the matching method, especially when the matching primitive is fine, there are problems that the number of encoding parameters is large, and the number of bits consumed to encode the primitive is large, which affects the encoding efficiency.
Disclosure of Invention
In order to solve the problem in data compression, particularly in a matching manner, the present invention provides a data compression method and apparatus for codec of an encoding parameter (referred to as a current parameter) of a current primitive using at least an encoding parameter (referred to as a neighboring parameter, sometimes referred to as a neighboring parameter in a neighboring case) of one or more primitives that are spatially neighboring (including neighboring) and/or an encoding parameter (referred to as a nearest parameter) of one or more primitives that are nearest in codec time order according to a predetermined rule. The method and the device fully utilize the correlation between the adjacent parameters and/or the latest parameters and the current parameters, select the optimal mode according to the preset rule, achieve the purpose of encoding and decoding the current parameters by using the bit number with the least overall consumption, fundamentally reduce the data compression, particularly the bit number required by the matching mode, and greatly improve the encoding efficiency.
The invention is characterized in that one of a plurality of coding and decoding modes including a proximity mode and a nearest mode is selected to code and decode the coding parameters according to a preset rule.
The most basic characteristic technical feature of the encoding method or device of the invention is that one of a plurality of encoding modes including a proximity mode and a nearest mode is selected to encode the encoding parameter according to a preset rule, such as the number of consumed bits, and a compressed data code stream at least containing information representing the encoding and decoding mode (namely, whether the proximity mode or the nearest mode or other modes) of the current encoding parameter is generated. Fig. 1 is a schematic diagram of an encoding method or apparatus of the present invention.
The most basic specific technical feature of the decoding method or device of the present invention is to analyze the compressed data code stream, obtain information at least indicating the encoding and decoding mode (i.e. whether the adjacent mode or the nearest mode or other modes) of the current encoding parameter, and decode the current encoding parameter by using the corresponding adjacent mode or the nearest mode or other modes. Fig. 2 is a schematic diagram of a decoding method or apparatus of the present invention.
According to an aspect of the present invention, there is provided an encoding method or apparatus for data compression, comprising at least the following steps or modules for performing the following functions and operations:
when a current coding parameter of a current element in a coding block is coded, one of a plurality of coding modes including a neighboring mode and/or a nearest mode is selected according to a preset rule to carry out coding parameter coding operation on the current coding parameter, and a compressed data code stream at least containing information representing a coding and decoding mode of the current coding parameter is generated.
From a first aspect, the present invention provides an encoding method for data compression, characterized by comprising at least the following steps:
1) when encoding a current encoding parameter of a current element in an encoding block, selecting one of a plurality of encoding modes including a neighboring mode and/or a nearest mode according to a predetermined rule to perform encoding parameter encoding operation on the current encoding parameter;
2) and generating a compressed data code stream at least containing information representing the coding and decoding modes of the current coding parameters.
From a second aspect, the present invention provides an encoding apparatus for data compression, characterized by comprising at least the following modules:
1) the encoding mode selection module is used for selecting one of a plurality of encoding modes comprising a neighboring mode and/or a nearest mode to carry out encoding parameter encoding operation on a current encoding parameter according to a predetermined rule when the current encoding parameter of a current element in an encoding block is encoded;
2) and the compressed data code stream generating module is used for generating a compressed data code stream at least containing information representing the coding and decoding modes of the current coding parameters.
According to another aspect of the present invention, there is provided a decoding method or apparatus for data compression, comprising at least the following steps or modules for performing the following functions and operations:
when decoding a current coding parameter of a current element in a decoding block, analyzing a compressed data code stream, acquiring information at least representing a coding and decoding mode of the current coding parameter, and selecting one of a plurality of decoding modes including an adjacent mode and/or a nearest mode to perform coding parameter decoding operation on the current coding parameter.
From a third perspective, the present invention provides a decoding method for data compression, characterized by at least comprising the following steps:
1) when decoding a current coding parameter of a current element in a decoding block, analyzing a compressed data code stream to obtain information at least representing a coding and decoding mode of the current coding parameter;
2) and selecting one of a plurality of decoding modes comprising a neighboring mode and/or a nearest mode to perform the encoding parameter decoding operation on the current encoding parameter.
From a fourth perspective, the present invention provides a decoding apparatus for data compression, characterized by at least comprising the following modules:
1) the compressed data code stream analyzing module is used for analyzing the compressed data code stream when decoding a current coding parameter of a current element in a decoding block and acquiring information at least representing the coding and decoding modes of the current coding parameter;
2) and the decoding module selects one of a plurality of decoding modes comprising a neighboring mode and/or a nearest mode to perform the encoding parameter decoding operation on the current encoding parameter.
The invention is applicable to coding and decoding of lossy data compression, as well as to coding and decoding of lossless data compression. The invention is applicable to encoding and decoding of image data, as well as any one-, two-or multi-dimensional data.
In the present invention, the data involved in 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 changing three-dimensional scenes;
9) a virtual reality scene;
10) sequence of scenes of continuously changing virtual reality
11) An image in the form of pixels;
12) transform domain data of the image;
13) a set of bytes in two or more dimensions;
14) a set of bits in two or more dimensions;
15) a set of pixels;
16) a set of pixel components.
In the present invention, in the case where the data is a picture, a sequence of pictures, a video, or the like, the encoded block or the decoded block is a coded region or a decoded region of the picture, including at least one of: a full picture, a sub-picture of a picture, a macroblock, a largest coding unit LCU, a coding tree unit CTU, a coding unit CU, a sub-region of a CU, a prediction unit PU, a transform unit TU.
In the present invention, the primitive includes one or a combination of the following cases: codec block, sub-block, micro-block, string, pixel string, sample string, index string, line.
The technical features of the present invention are explained above by specific embodiments. Other advantages and effects of the present invention will be readily apparent to those skilled in the art from the disclosure herein. The invention is capable of other and different embodiments and of being practiced or of being carried out in various ways, and its several details are capable of modification in various respects, all without departing from the spirit and scope of the present invention.
Drawings
Fig. 1 is a schematic diagram of an encoding method or apparatus of the present invention.
Fig. 2 is a schematic diagram of a decoding method or apparatus of the present invention.
Detailed Description
In order that the technical means for carrying out the invention will be readily understood, the invention will be further described with reference to the following specific embodiments.
An encoding method for data compression, characterized by comprising at least the following steps:
1) when encoding a current encoding parameter of a current element in an encoding block, selecting one of a plurality of encoding modes including a neighboring mode and/or a nearest mode according to a predetermined rule to perform encoding parameter encoding operation on the current encoding parameter;
2) and generating a compressed data code stream at least containing information representing the coding and decoding modes of the current coding parameters.
An encoding apparatus for data compression, comprising at least the following modules:
1) the encoding mode selection module is used for selecting one of a plurality of encoding modes comprising a neighboring mode and/or a nearest mode to carry out encoding parameter encoding operation on a current encoding parameter according to a predetermined rule when the current encoding parameter of a current element in an encoding block is encoded;
2) and the compressed data code stream generating module is used for generating a compressed data code stream at least containing information representing the coding and decoding modes of the current coding parameters.
A decoding method for data compression, characterized by comprising at least the steps of:
1) when decoding a current coding parameter of a current element in a decoding block, analyzing a compressed data code stream to obtain information at least representing a coding and decoding mode of the current coding parameter;
2) and selecting one of a plurality of decoding modes comprising a neighboring mode and/or a nearest mode to perform the encoding parameter decoding operation on the current encoding parameter.
A decoding apparatus for data compression, comprising at least the following modules:
1) the compressed data code stream analyzing module is used for analyzing the compressed data code stream when decoding a current coding parameter of a current element in a decoding block and acquiring information at least representing the coding and decoding modes of the current coding parameter;
2) and the decoding module selects one of a plurality of decoding modes comprising a neighboring mode and/or a nearest mode to perform the encoding parameter decoding operation on the current encoding parameter.
The following are further implementation details or variations of the present invention.
Examples or modifications 1
In the encoding method or apparatus or the decoding method or apparatus, the encoding operation or the decoding operation (collectively referred to as a codec operation) includes one or a combination of the following operations:
obtaining a coding parameter predicted value from the coding parameters of one or a plurality of coded and decoded primitives through a preset operation, and predicting the current coding parameter by using the coding parameter predicted value;
or
Selecting one of the coding parameters from the coding parameters of one or a plurality of coded and decoded primitives according to a preset rule as a coding parameter predicted value, and predicting the current coding parameter by using the coding parameter predicted value;
or
Determining a group of candidate encoding parameters according to a predetermined rule from encoding parameters of one or a plurality of coded and decoded primitives, using an index to designate one of the candidate encoding parameters as an encoding parameter prediction value, and using the encoding parameter prediction value to predict a current encoding parameter;
or
Determining a group of candidate encoding parameters according to a predetermined rule from encoding parameters of one or a plurality of coded and decoded primitives, using an index to designate one of the candidate encoding parameters as an encoding parameter prediction value, and copying the encoding parameter prediction value as a current encoding parameter.
Examples of embodiment or modification 2
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or variation 1,
the one or several coded primitives are spatially adjacent coded primitives of the current primitive;
and/or
The one or a plurality of coded and decoded primitives are one or a plurality of coded and decoded primitives which are closest to the coding and decoding time sequence of the current primitive.
Examples of embodiment or modification 3
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or variation 1, the prediction error of the current coding parameter is predicted to be zero by using the coding parameters of the coded and decoded primitives.
Examples of embodiment or modification 4
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or variation 1, the prediction error of the current coding parameter predicted by using the coding parameters of the coded primitives is not zero, and the coding operation includes coding and decoding the prediction error of the coding parameters.
Examples of embodiment or modification 5
In the encoding method or apparatus or the decoding method or apparatus, the information indicating the encoding/decoding mode of the current encoding parameter is an encoding parameter encoding/decoding mode flag bit or an identification code.
Examples of embodiment or modification 6
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or variation 5, a probability model is used to perform entropy encoding and decoding on syntax elements of the flag bits or the identification codes of the encoding parameter encoding and decoding modes.
Examples of embodiment or modification 7
In the encoding method or device or the decoding method or device, the information indicating the encoding and decoding mode of the current encoding parameter is an encoding parameter encoding and decoding mode identification code which is directly or indirectly or directly and indirectly mixed;
if the coding parameter coding and decoding mode identification code takes a preset value
{
Coding and decoding coding parameters by adopting adjacent mode
}
Otherwise, if the coding parameter coding and decoding mode identification code takes another preset value, then
{
Encoding and decoding of encoding parameters in a recent manner
}
Otherwise, if the coding parameter coding and decoding mode identification code takes other preset values, then
{
Coding and decoding coding parameters by other modes
}
The direct encoding parameter coding and decoding mode identification code consists of one or more bit strings (bit strings) in a compressed data code stream. The indirect coding parameter coding and decoding mode identification code is a coding parameter coding and decoding mode identification code derived from other coding parameters and/or coding and decoding variables and/or other syntactic elements of the compressed data code stream or a preset identification code default value. The directly and indirectly mixed encoding parameter coding and decoding mode identification code is a partially direct (i.e. composed of one or more bit strings in the compressed data code stream) and partially indirect (i.e. derived from other encoding parameters and/or coding and decoding variables and/or other syntax elements of the compressed data code stream) mixed encoding parameter coding and decoding mode identification code.
Examples of embodiment or modification 8
In the encoding method or apparatus or the decoding method or apparatus, the information indicating the encoding and decoding manner of the current encoding parameter in the encoding and decoding block exists in the compressed data code stream in one of the following forms or a combination thereof:
each information set representing the encoding and decoding mode of the current encoding parameter is present in the compressed data code stream: … … …, information of codec of coded parameter 1, information of codec of coded parameter 2, information of codec of coded parameter 3, … …, information of codec of coded parameter N, … … …;
or
Information of each coding and decoding mode representing the current coding parameter is dispersedly present in the compressed data code stream: … … …, information of codec of coding parameter 1, … …, information of codec of coding parameter 2, … …, information of codec of coding parameter 3, … …, information of codec of coding parameter M, … … ….
Examples of embodiment or variations 9
In the encoding method or apparatus or the decoding method or apparatus, the data is image data or video data;
the primitives are matching (also known as prediction or compensation or replication) primitives, including one or a combination of the following types: matching block, matching sub-block, matching micro-block, matching string, matching pixel string, matching sample value string, matching index string, matching strip and matching line; the encoding parameter is a displacement vector;
the proximity is a way of using one or more primitives that are spatially adjacent;
the most recent mode is a mode of using one or more effective primitives which are most recent in the coding and decoding time sequence;
other modes besides the proximity mode and the nearest mode include a direct mode and a conversion mode.
Examples of embodiment or modification 10
In the encoding method or apparatus or the decoding method or apparatus of embodiment or variation 9, the one or more spatially adjacent primitives of the current primitive may include one or a combination of the following primitives:
upper leftmost element, upper left element, upper middle element, upper right element, upper rightmost element,
Top left cell, middle left cell, bottom left cell.
Examples of embodiment or modification 11
In the encoding method or apparatus or the decoding method or apparatus of embodiment or variation 9, the one or more spatially adjacent primitives of the current primitive may include one or a combination of the following primitives:
left, middle position primitive A
Middle and upper position element B
Element C at the rightmost and upper position
Element D of upper left position
Primitive F for the left lower position
Primitive G in the upper right position
Left, the bottom most primitive H.
Examples of embodiment or variations 12
In the encoding method or apparatus or the decoding method or apparatus, a neighboring primitive and/or neighboring coding parameters are selected and designated as a neighbor-refined primitive and/or neighbor-refined coding parameters, and at least the neighbor-refined primitive and/or neighbor-refined coding parameters are used to perform a coding parameter encoding operation or a decoding operation (collectively, a codec operation) on the current coding parameters:
rule 1
A predetermined maximum candidate neighbor primitive group consisting of some or all of the 7 neighbor primitives A, B, C, D, F, G, H, e.g., { A, B, D } or { A, B, C, D, F, G } or { A, B, C, D, F, G, H },
the available candidate neighbor tuple of the current primitive, called simply the current candidate neighbor primitive group for short, is composed of the M primitives "available" in the largest candidate neighbor primitive group,
if M is equal to 0, there is no available neighbor primitive, the current coding parameters (i.e., the coding parameters of the current primitive) cannot be coded using the neighbor mode,
otherwise, if M is equal to 1, then this unique available primitive is chosen as the culled neighbor primitive,
otherwise, using an index to designate one element in the current candidate adjacent element group as the selected adjacent element;
or
Rule 2
A predetermined ordered set of maximum candidate neighbor primitives consisting of some or all of the 7 neighbor primitives A, B, C, D, F, G, H in a predetermined order, such as { A, B, D } or { A, D, B } or { B, A, D } or { D, B, A, C, G, F } or { A, C, G, F, D, B },
in the ordered set of largest candidate neighbor primitives, the first "available" neighbor primitive U and its neighbor coding parameter offsetU are found in a predetermined order, the first available neighbor primitive V and its neighbor coding parameter offsetV are found in the reverse order of the predetermined order,
if no available neighboring coding parameters are found, i.e. there are no available neighboring coding parameters, the current coding parameters, i.e. the coding parameters of the current primitive, cannot be coded using a neighboring approach,
otherwise, if the available neighboring coding parameter offsetU is identical to the available neighboring coding parameter offsetV, this unique available neighboring coding parameter is used as the refined neighboring coding parameter,
otherwise, using a neighboring coding parameter flag neighboring _ offset _ flag to specify the neighboring coding parameter offset u or the neighboring coding parameter offset v as the refined neighboring coding parameter;
or
Rule 3
A predetermined ordered set of maximum candidate neighbor primitives consisting of some or all of the 7 neighbor primitives A, B, C, D, F, G, H in a predetermined order, such as { A, B, D } or { A, D, B } or { B, A, D } or { D, B, A, C, G, F } or { A, C, G, F, D, B },
finding the first "available" neighbor primitive U and its neighbor coding parameter offset U in a predetermined order, finding the first available neighbor primitive V and its neighbor coding parameter offset V in the reverse order of the predetermined order in the ordered set of maximum candidate neighbors,
if no available neighboring coding parameters are found, i.e. not present, the current coding parameters, i.e. the coding parameters of the current primitive, are not coded in a neighboring way,
otherwise, regardless of whether the available neighboring coding parameter offset u is equal to the available neighboring coding parameter offset v, one neighboring coding parameter flag neighboring _ offset _ flag is always used to specify the neighboring coding parameter offset u or the neighboring coding parameter offset v as the refined neighboring coding parameter;
or
Rule 4
A predetermined ordered set of maximum candidate neighbor primitives consisting of some or all of the 7 neighbor primitives A, B, C, D, F, G, H in a predetermined order, such as { A, B, D } or { A, D, B } or { B, A, D } or { D, B, A, C, G, F } or { A, C, G, F, D, B },
finding a first "available" neighbor primitive U in a predetermined order, finding a first available neighbor primitive V in an inverse order of the predetermined order, in the ordered set of maximum candidate neighbor primitives,
if no available neighbor primitives are found, i.e., there are no available neighbors, the current coding parameters (i.e., the coding parameters of the current primitive) are not coded using a neighbor mode,
otherwise, if the available neighbor primitive U coincides with the available neighbor primitive V, this unique available neighbor primitive is selected as the culled neighbor primitive,
otherwise, using a neighbor primitive flag neighboring _ bu _ flag to specify the available neighbor primitive U or the available neighbor primitive V as the culled neighbor primitive;
or
Rule 5
A predetermined ordered set of maximum candidate neighbor primitives consisting of some or all of the 7 neighbor primitives A, B, C, D, F, G, H in a predetermined order, such as { A, B, D } or { A, D, B } or { B, A, D } or { D, B, A, C, G, F } or { A, C, G, F, D, B },
finding a first "available" neighbor primitive U in a predetermined order, finding a first available neighbor primitive V in an inverse order of the predetermined order, in the ordered set of maximum candidate neighbor primitives,
if no available neighbor primitives are found, i.e., there are no available neighbors, the current coding parameters (i.e., the coding parameters of the current primitive) are not coded using a neighbor mode,
otherwise, regardless of whether the available neighbor primitive U coincides with the available neighbor primitive V, an available neighbor primitive U or the available neighbor primitive V is designated as a culled neighbor primitive using a neighbor primitive flag neighboring _ bu _ flag;
or
Rule 6
A predetermined maximum candidate neighbor primitive group consisting of some or all of the 9 neighbor primitives A, B, C, D, E, F, G, H, I, e.g., { A, B, D, H }, or { A, B, C, D, E, F, G } or { A, B, C, D, F, G, H },
the available candidate neighbor tuple of the current primitive, referred to as the current candidate neighbor primitive for short, is composed of the M primitives "available" in the largest candidate neighbor primitive,
if M is equal to 0, there is no available neighbor primitive, the current coding parameters (i.e., the coding parameters of the current primitive) are not coded using the neighbor mode,
otherwise, a neighbor cell index neighboring _ bu _ index is used to designate one cell in the current candidate neighbor tuple as the neighbor cell of choice.
Examples of embodiment or modification 13
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or variation 9, one or more primitives with the nearest coding/decoding time precedence order of the current primitive with the valid primitive time sequence number n include one or a combination of the following K (usually K ≦ 20) primitives:
valid primitive R with valid primitive time sequence number n-11
Valid primitive R with valid primitive time sequence number n-22
Valid primitive R with valid primitive time sequence number n-33
… … … …
Valid primitive R with valid primitive time sequence number n-K + 1K-1
Valid primitive R with valid primitive time sequence number n-KK
The time sequence numbers of the effective primitives are only assigned to the time sequence numbers of the effective primitives according to the coding and decoding time sequence of the effective primitives.
Examples of embodiment or modification 14
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or modification 13, the definition of the valid primitive is
Primitives that have been coded and decoded and have displacement vectors;
or
Primitives that have been coded and decoded and have displacement vectors of a predetermined type;
or
Primitives which have been coded and decoded and have displacement vectors whose values fall within a predetermined value range;
or
Primitives which have been coded and decoded and have displacement vectors whose values fall outside a predetermined value range;
or
Primitives that have been coded and decoded and have displacement vectors and do not use a neighbor mode;
or alternatively
Primitives that have been coded and decoded and have displacement vectors whose values are not equal to the values of the displacement vectors of the nearest K valid primitives;
or alternatively
Primitives that have been coded and have displacement vectors and do not use a neighbor mode and whose values of the displacement vectors are not equal to the values of the displacement vectors of the nearest K valid primitives;
or
A combination of two or more of the above.
Examples of embodiment or modification 15
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or variation 13, one exponent _ offset _ index is used to specify that the displacement vector of the active primitive using the time-series number n-1-primary _ offset _ index of the active primitive is used to perform the encoding and decoding operation on the displacement vector of the current primitive.
Examples of embodiment or modification 16
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or variation 12, the current encoding parameter (e.g., displacement vector) is selected to be encoded or decoded in a neighboring manner or a nearest manner or in other manners according to rule 2 with the following parameters or syntax elements indicated in italics:
using the neighboring or most recent coding parameter flag bit use _ neighboring _ or _ recent _ cp _ flag
If the value of using the neighbor or most recent encoding parameter flag indicates that the neighbor or most recent mode is used, then
{
If there are two unequal available neighboring encoding parameters cpU and cpV, then
{
Neighboring coding parameter flag bit neighboring _ cp _ flag
Using at least the neighboring coding parameter (one of cpU and cpV) represented by the neighboring coding parameter flag as the selected neighboring coding parameter
}
Otherwise, if no available neighboring coding parameters are found (i.e., not present), then
{
The most recent coding parameter index, receiver _ cp _ index
Encoding and decoding operation of current encoding parameter by using latest encoding parameter represented by latest encoding parameter index
}
Otherwise
{
Using unique available neighbor encoding parameters cpU (equivalent to cpV) as the refined neighbor encoding parameters
}
}
Otherwise
{
Coding and decoding operation for current coding parameter by other modes
}。
Examples or modifications 17
In the encoding method or apparatus or the decoding method or apparatus, the encoding parameter is a displacement vector, and the current displacement vector is selected or indicated to be encoded or decoded by using a neighboring mode or a nearest mode or other modes according to the following modes and parameters or syntax elements represented in italics:
using the neighboring Displacement vector flag bit use _ neighboring _ offset _ flag
If the value of the flag bit using the neighbor displacement vector indicates that the neighbor mode is used, then
{
Neighboring displacement vector flag neighboring _ offset _ flag
Using the neighboring displacement vector (one of offsetU and offsetV) represented by the neighboring displacement vector flag bit as the current displacement vector
}
Otherwise
{
Parameters or syntax elements relating to recent approaches and/or other approaches
Encoding and decoding current displacement vector by using recent mode and/or other modes
}。
Examples of embodiment or modification 18
In the encoding method or apparatus or the decoding method or apparatus as described in embodiment or modification 12, the current encoding parameter (e.g., a displacement vector) is coded or decoded using rule 4 in a neighboring mode or a nearest mode or other modes selected by using a parameter or a syntax element represented in italics and in the following modes:
using proximity or proximityEncoding parametersFlag bit use _ neighbor _ or _ receiver _ cp _ flag
If the value of using the neighbor or most recent encoding parameter flag indicates that the neighbor or most recent mode is used, then
{
If there are two non-identical available adjacent primitives U and V, then
{
Neighbor primitive flag bit neighbor _ bu _ flag
Using the neighbor cell flag bit representation (one of U and V) as the neighbor cell of choice
}
Otherwise, if no available neighbor primitives (both U and V are not present) are found (i.e., not present), then
{
The most recent coding parameter index, receiver _ cp _ index
Encoding and decoding operation of current encoding parameter by using latest encoding parameter represented by latest encoding parameter index
}
Otherwise
{
Using the unique available neighbor U (coincident with V) as the culled neighbor
}
}
Otherwise
{
Coding and decoding operation for current coding parameter by other modes
}。
Examples or modifications 19
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or variation 12, the current encoding parameter (e.g., displacement vector) is selected to be encoded or decoded in a neighboring manner or a nearest manner or in other manners according to rule 5 with the following parameters or syntax elements indicated in italics:
using the neighboring coding parameter flag bit use _ neighboring _ cp _ flag
If the use of values of the neighbor encoding parameter flags indicates that the neighbor mode is used, then
{
Neighbor primitive flag bit neighbor _ bu _ flag
Using the neighbor cell flag bit representation (one of U and V) as the neighbor cell of choice
}
Otherwise
{
Parameters or syntax elements relating to recent approaches and/or other approaches
Encoding and decoding operation for current encoding parameter by using recent mode and/or other mode
}。
Examples of embodiment or variations 20
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or variation 12, using rule 5, the encoding parameter is a displacement vector, and the current displacement vector is coded and decoded by selecting a neighboring mode or a nearest mode or other modes according to the following parameters or syntax elements indicated in italics:
using the neighboring Displacement vector flag bit use _ neighboring _ offset _ flag
If the value of the flag bit using the neighbor displacement vector indicates that the neighbor mode is used, then
{
Neighbor primitive flag bit neighbor _ bu _ flag
Using the displacement vector of the adjacent primitive (one of U and V) represented by the adjacent primitive flag bit as the current displacement vector
}
Otherwise
{
Parameters or syntax elements relating to recent approaches and/or other approaches
Encoding and decoding current displacement vector by using recent mode and/or other modes
}。
Examples of embodiment or modification 21
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or variation 12, the definition of the "available" primitive is
Coded and decoded primitives with displacement vectors as one of their matching parameters
Or
Primitives which are coded and decoded and adopt one or more preset matching modes (such as a block matching mode and a string matching mode);
or
Primitives that have been coded and decoded and that employ a predetermined seed pattern or seed patterns (sometimes also called subtypes) in a predetermined matching pattern or matching patterns;
or
Primitives which have been coded and decoded and have displacement vectors whose values fall within a predetermined value range;
or
Primitives which have been coded and decoded and have displacement vectors whose values fall outside a predetermined value range;
or
Primitives of displacement vectors that have been coded and decoded and have predetermined characteristics;
or
Primitives that have been coded and decoded and have displacement vectors of a predetermined type;
or
A combination of two or more of the above.
Examples of embodiment or modification 22
In the encoding method or apparatus or the decoding method or apparatus as described in embodiments 12 to 21, the definition of the "available" primitive is
A coded length-limited string;
or
A string which is coded and decoded and can only take a plurality of preset values in length;
or
A string that has been coded and has a length equal to the number of pixels of the coded block or equal to half the number of pixels of the coded block;
or
A combination of two or more of the above.
Examples of embodiment or variations 23
In the encoding method or apparatus or the decoding method or apparatus, the information indicating the encoding/decoding mode of the current encoding parameter is two direct or indirect encoding parameter encoding/decoding mode flags;
if the first coding parameter coding/decoding mode flag takes a predetermined value
{
Coding and decoding coding parameters by adopting adjacent mode
}
Otherwise
{
If the second coding parameter coding/decoding mode flag takes a predetermined value
{
Encoding and decoding of encoding parameters in a recent manner
}
Otherwise
{
Coding and decoding coding parameters by other modes
}
}
The direct coding parameter coding and decoding mode mark is a bit in a compressed data code stream. The indirect coding parameter coding and decoding mode flag is a coding parameter coding and decoding mode flag derived from other coding parameters and/or coding and decoding variables and/or other syntax elements of the compressed data code stream or a preset flag default value.
Examples of implementation or modification 24
In the encoding method or apparatus or the decoding method or apparatus, the encoding parameter is a displacement vector, and the current displacement vector is selected or indicated to be encoded or decoded by using a neighboring mode or a nearest mode or other modes according to the following modes and parameters or syntax elements represented in italics:
using the neighboring Displacement vector flag bit use _ neighboring _ offset _ flag
If the value of the flag bit using the neighbor displacement vector indicates that the neighbor mode is used, then
{
Parameter or syntax elements relating to neighboring displacement vectors
Obtaining a current displacement vector from neighboring displacement vectors
}
Otherwise
{
Using the most recent Displacement vector flag bit use _ receiver _ offset _ flag
If the value of the flag bit using the most recent displacement vector indicates that the most recent mode is used, then
{
Parameter or syntax elements relating to the most recent displacement vector
Obtaining a current displacement vector from a most recent displacement vector
}
Otherwise
{
Parameter or syntax elements relating to other modes
Encoding and decoding operation for current displacement vector by other modes
}
}。
Embodiment or variant example 25
In the encoding method or apparatus or the decoding method or apparatus, the plurality of encoding/decoding modes include a mode of directly (i.e. without involving other relevant encoding parameters of other primitives) encoding/decoding the current encoding parameter itself.
Example of embodiment or variation 26
In the encoding method or device or the decoding method or device, the information indicating the encoding and decoding mode of the current encoding parameter is an encoding parameter encoding and decoding mode identification code which is directly or indirectly or directly and indirectly mixed;
when the encoding parameter encoding and decoding mode identification code is equal to a first preset value
{
Coding and decoding current coding parameter by adopting adjacent mode
}
When the encoding parameter encoding and decoding mode identification code is equal to a second preset value
{
Encoding and decoding current encoding parameter by adopting recent mode
}
When the coding parameter coding and decoding mode identification code is equal to a third preset value
{
Coding and decoding current coding parameter by other modes
}
The direct encoding parameter coding and decoding mode identification code consists of one or more bit strings (bit strings) in a compressed data code stream. The indirect encoding parameter coding and decoding mode identification code is an encoding parameter coding and decoding mode identification code derived from other encoding parameters and/or coding and decoding variables and/or other syntax elements of the compressed data code stream or a preset identification code default value. The directly and indirectly mixed encoding parameter coding and decoding mode identification code is a partially direct (i.e. composed of one or more bit strings in the compressed data code stream) and partially indirect (i.e. derived from other encoding parameters and/or coding and decoding variables and/or other syntax elements of the compressed data code stream) mixed encoding parameter coding and decoding mode identification code.
Embodiment or variant 27
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or variation 12, the current encoding parameter (e.g., displacement vector) is selected to be encoded or decoded in a neighboring manner or a nearest manner or in other manners according to the following manner and italicized parameters or syntax elements by using rule 6:
using the neighboring coding parameter flag bit use _ neighboring _ cp _ flag
If the use of values of the neighbor encoding parameter flags indicates that the neighbor mode is used, then
{
Adjacent primitive index neighboring _ bu _ index
Using the one of the current candidate neighbor tuple specified by the neighbor index as the neighbor primitive of choice
}
Otherwise
{
Parameters or syntax elements relating to recent approaches and/or other approaches
Encoding and decoding operation for current encoding parameter by using recent mode and/or other mode
}。
Examples of embodiment or variations 28
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or variation 12, using rule 6, the encoding parameter is a displacement vector, and the current displacement vector is coded and decoded by selecting a neighboring mode or a nearest mode or other modes according to the following parameters or syntax elements indicated in italics:
using the neighboring Displacement vector flag bit use _ neighboring _ offset _ flag
If the value of the flag bit using the neighbor displacement vector indicates that the neighbor mode is used, then
{
Adjacent primitive index neighboring _ bu _ index
Using the displacement vector of one element in the current candidate adjacent element group specified by the adjacent element index as the current displacement vector
}
Otherwise
{
Parameters or syntax elements relating to recent approaches and/or other approaches
Encoding and decoding current displacement vector by using recent mode and/or other modes
}。
Examples or modifications 29
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or variation 12, using rule 6, the encoding parameter is a displacement vector, and the current displacement vector is coded and decoded by selecting a neighboring mode or a nearest mode or other modes according to the following parameters or syntax elements indicated in italics:
using the neighboring Displacement vector flag bit use _ neighboring _ offset _ flag
If the value of the flag bit using the neighbor displacement vector indicates that the neighbor mode is used, then
{
Adjacent primitive index neighboring _ bu _ index
Using the displacement vector of one element in the current candidate adjacent element group specified by the adjacent element index as the current displacement vector
}
Otherwise
{
Using the most recent Displacement vector flag bit use _ receiver _ offset _ flag
If the value of the flag bit using the most recent displacement vector indicates that the most recent mode is used, then
{
Recent displacement vector index _ offset _ index
Using one of the candidate nearest displacement vector groups specified by the nearest displacement vector index as the current displacement vector
}
Otherwise
{
Parameter or syntax elements relating to other modes
Encoding and decoding operation for current displacement vector by other modes
}
}。
Examples of embodiment or variations 30
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or variation 12, using rule 6, the encoding parameter is a displacement vector, and the current displacement vector is coded and decoded by selecting a neighboring mode or a nearest mode or other modes according to the following parameters or syntax elements indicated in italics:
using the most recent Displacement vector flag bit use _ receiver _ offset _ flag
If the value of the flag bit using the most recent displacement vector indicates that the most recent mode is used, then
{
Recent displacement vector index _ offset _ index
Using the one of the set of candidate nearest displacement vectors specified by the nearest displacement vector index as the current displacement vector
}
Otherwise
{
Using the neighboring Displacement vector flag bit use _ neighboring _ offset _ flag
If the value of the flag bit using the neighbor displacement vector indicates that the neighbor mode is used, then
{
Adjacent primitive index neighboring _ bu _ index
Using the displacement vector of the one of the current candidate neighbor primitive groups specified by the neighbor primitive index as the current displacement vector
}
Otherwise
{
Parameter or syntax elements relating to other modes
Encoding and decoding operation for current displacement vector by other modes
}
}。
Examples or modifications 31
In the encoding method or device or the decoding method or device, the information indicating the encoding and decoding mode of the current encoding parameter is an encoding parameter encoding and decoding mode identification code which is directly or indirectly or directly and indirectly mixed;
when the encoding parameter encoding and decoding mode identification code is equal to a first preset value
{
Adjacent primitive index neighboring _ bu _ index
Performing encoding and decoding operation on the current encoding parameter by using the encoding parameter of the adjacent element in the current candidate adjacent element group specified by the adjacent element index
}
When the encoding parameter encoding and decoding mode identification code is equal to a second preset value
{
The most recent coding parameter index, receiver _ cp _ index
Encoding and decoding the current encoding parameter by using the encoding parameter in the candidate latest encoding parameter set specified by the latest encoding parameter index
}
When the coding parameter coding and decoding mode identification code is equal to a third preset value
{
Parameter or syntax elements relating to other modes
Coding and decoding operation for current coding parameter by other modes
}
The direct encoding parameter coding and decoding mode identification code consists of one or more bit strings (bit strings) in a compressed data code stream. The indirect encoding parameter coding and decoding mode identification code is an encoding parameter coding and decoding mode identification code derived from other encoding parameters and/or coding and decoding variables and/or other syntax elements of the compressed data code stream or a preset identification code default value. The directly and indirectly mixed encoding parameter coding and decoding mode identification code is a partially direct (i.e. composed of one or more bit strings in the compressed data code stream) and partially indirect (i.e. derived from other encoding parameters and/or coding and decoding variables and/or other syntax elements of the compressed data code stream) mixed encoding parameter coding and decoding mode identification code.
Examples of implementation or modification 32
In the encoding method or device or the decoding method or device, the encoding parameter is a displacement vector, and the information representing the encoding and decoding mode of the current encoding parameter is a direct or indirect or direct and indirect mixed displacement vector encoding and decoding mode identification code;
when the displacement vector coding and decoding mode identification code is equal to a first preset value
{
Adjacent primitive index neighboring _ bu _ index
Using the displacement vector of the one of the current candidate neighbor primitive groups specified by the neighbor primitive index as the current displacement vector
}
When the displacement vector coding and decoding mode identification code is equal to a second preset value
{
Recent displacement vector index _ offset _ index
Using the one of the set of candidate nearest displacement vectors specified by the nearest displacement vector index as the current displacement vector
}
When the displacement vector coding and decoding mode identification code is equal to a third preset value
{
Parameter or syntax elements relating to other modes
Encoding and decoding operation for current displacement vector by other modes
}
The direct displacement vector coding and decoding mode identification code consists of one or more bit strings (bit strings) in a compressed data code stream. The indirect displacement vector coding and decoding mode identification code is a displacement vector coding and decoding mode identification code derived from other coding parameters and/or coding and decoding variables and/or other syntax elements of a compressed data code stream or a preset identification code default value. The directly and indirectly mixed displacement vector coding and decoding mode identification code is a partially direct (namely, composed of one or more bit strings in a compressed data code stream) and partially indirect (namely, derived from other coding parameters and/or coding and decoding variables and/or other syntax elements of the compressed data code stream) mixed displacement vector coding and decoding mode identification code.
Examples or modifications 33
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or modification 26 or 31 or 32,
one of the three predetermined values of the first predetermined value, the second predetermined value, and the third predetermined value is a 1-bit binary symbol string (e.g., first instance: '0'; second instance: '1'), and the other two predetermined values are two 2-bit binary symbol strings (e.g., first instance: '10' and '11'; second instance: '01' and '00').
The first example is as follows:
the first, second and third predetermined values are the following binary symbol strings:
0,10,11;
the second example is as follows:
the first, second and third predetermined values are the following binary symbol strings:
1,01,00;
the third example:
the first predetermined value, the third predetermined value, and the second predetermined value are the following binary symbol strings:
0,10,11;
the fourth example:
the first predetermined value, the third predetermined value, and the second predetermined value are the following binary symbol strings:
1,01,00;
fifth example:
the second, first and third predetermined values are the following binary symbol strings:
0,10,11;
the sixth example:
the second, first and third predetermined values are the following binary symbol strings:
1,01,00;
seventh example:
the second predetermined value, the third predetermined value, the first predetermined value being the following binary symbol strings:
0,10,11;
eighth example:
the second predetermined value, the third predetermined value, the first predetermined value being the following binary symbol strings:
1,01,00;
ninth example:
the third predetermined value, the first predetermined value, and the second predetermined value are respectively the following binary symbol strings:
0,10,11;
tenth example:
the third predetermined value, the first predetermined value, and the second predetermined value are respectively the following binary symbol strings:
1,01,00;
eleventh example:
the third predetermined value, the second predetermined value, and the first predetermined value are respectively the following binary symbol strings:
0,10,11;
twelfth example:
the third predetermined value, the second predetermined value, the first predetermined value being respectively the following binary symbol strings:
1,01,00。
examples or modifications 34
In the encoding method or apparatus or the decoding method or apparatus, the encoding parameter is a displacement vector, and the other modes at least include a direct mode of directly encoding and decoding a horizontal component and a vertical component of the displacement vector.
Examples of embodiment or variations 35
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or variation 34, the direct manner at least includes encoding and decoding the following parameters:
whether the horizontal component is a zero flag bit;
and/or
The horizontal component sign bit;
and/or
The absolute value of the horizontal component;
and/or
The absolute value of the horizontal component is reduced by one;
and/or
Whether the vertical component is a zero flag bit;
and/or
The vertical component sign bit;
and/or
The absolute value of the vertical component;
and/or
The absolute value of the vertical component is reduced by one;
and/or
Whether the adjustment value of the horizontal component is a zero flag bit;
and/or
A sign bit of the adjustment value of the horizontal component;
and/or
An absolute value of an adjustment value of the horizontal component;
and/or
The absolute value of the adjustment value of the horizontal component is reduced by one;
and/or
Whether the adjustment value of the vertical component is a zero flag bit;
and/or
A sign bit of an adjustment value of the vertical component;
and/or
An absolute value of an adjustment value of the vertical component;
and/or
The absolute value of the adjustment value for the vertical component is reduced by one.

Claims (10)

1. An encoding method for image compression, characterized by comprising at least the following steps:
1) when a current motion vector in a coding block is coded, selecting one of a plurality of coding modes comprising a nearest mode or selecting one of a plurality of coding modes comprising the nearest mode and a neighboring mode according to a preset rule to carry out motion vector coding operation on the current motion vector; the neighboring mode is a mode of encoding the current motion vector by using at least one or more motion vectors, called neighboring motion vectors or neighboring motion vectors, which are adjacent or neighboring to the current motion vector in spatial position; the recent mode is a mode of encoding the current motion vector by using at least one or more motion vectors which are closest to the current motion vector in encoding time sequence, namely, the recent motion vector, wherein the representation form of the encoding time sequence comprises an effective motion vector time sequence number, the effective motion vector time sequence number of the current motion vector is recorded as J0, the effective motion vector time sequence number of the one or more recent motion vectors is recorded as J0-J, wherein J is a positive integer less than a predetermined positive integer J not more than 20;
2) and generating a compressed data code stream at least containing information representing the coding mode of the current motion vector.
2. An encoding apparatus for image compression, comprising at least the following modules:
1) the encoding mode selection module selects one of a plurality of encoding modes comprising a nearest mode or selects one of a plurality of encoding modes comprising the nearest mode and a neighboring mode to carry out motion vector encoding operation on a current motion vector according to a predetermined rule when encoding the current motion vector in one encoding block; the neighboring mode is a mode of encoding the current motion vector by using at least one or more motion vectors, called neighboring motion vectors or neighboring motion vectors, which are adjacent or neighboring to the current motion vector in spatial position; the recent mode is a mode of encoding the current motion vector by using at least one or more motion vectors which are closest to the current motion vector in encoding time sequence, namely, the recent motion vector, wherein the representation form of the encoding time sequence comprises an effective motion vector time sequence number, the effective motion vector time sequence number of the current motion vector is recorded as J0, the effective motion vector time sequence number of the one or more recent motion vectors is recorded as J0-J, wherein J is a positive integer less than a predetermined positive integer J not more than 20;
2) and the compressed data code stream generating module is used for generating a compressed data code stream at least containing information representing the coding mode of the current motion vector.
3. A method for decoding image compression, comprising at least the steps of:
1) when a current motion vector in a decoding block is decoded, analyzing a compressed data code stream to acquire information at least representing a decoding mode of the current motion vector;
2) selecting one of a plurality of decoding modes comprising a closest mode or selecting one of a plurality of decoding modes comprising a closest mode and a neighboring mode to perform motion vector decoding operation on the current motion vector; the adjacent mode is a mode of decoding the current motion vector by using at least one or more motion vectors which are adjacent or adjacent to the current motion vector in spatial position, and the motion vectors are called adjacent motion vectors or adjacent motion vectors; the latest mode is a mode for decoding the current motion vector by using at least one or more motion vectors which are closest to the current motion vector in decoding time sequence, namely the latest motion vector, wherein the representation form of the decoding time sequence comprises an effective motion vector time sequence number, the effective motion vector time sequence number of the current motion vector is recorded as J0, the effective motion vector time sequence number of the one or more latest motion vectors is recorded as J0-J, and J is a positive integer less than a predetermined positive integer J which is not more than 20.
4. The decoding method according to claim 3, wherein said decoded block is a decoded region of a picture and/or a sequence of pictures and/or video, comprising at least one or a combination of the following: macroblock, largest coding unit LCU, coding tree unit CTU, coding unit CU, sub-region of CU, prediction unit PU, transform unit TU.
5. The decoding method according to claim 3 or 4, characterized in that said decoding operation comprises the following operations:
determining a set of candidate motion vectors from one or several decoded motion vectors according to a predetermined rule, using an index to specify one of said candidate motion vectors as a motion vector predictor, using said motion vector predictor as a predictor of a current motion vector;
and/or
Determining a set of candidate motion vectors from one or several decoded motion vectors according to a predetermined rule, using an index to designate one of said candidate motion vectors as a motion vector predictor, copying said motion vector predictor as a current motion vector;
the set of candidate motion vectors at least comprises
One or more decoded motion vectors spatially adjacent or neighboring the current motion vector;
and/or
One or more decoded motion vectors that are closest in decoding temporal order to the current motion vector.
6. The decoding method according to claim 3 or 4, characterized by comprising one or any combination of the following features,
the method is characterized in that:
the information representing the decoding mode of the current motion vector comprises a motion vector decoding mode identification code which is directly or indirectly or directly and indirectly mixed;
if the motion vector decoding method identification code takes a predetermined value, then,
decoding the motion vector in a proximity mode;
if the motion vector decoding mode identification code takes another predetermined value
Decoding the motion vector by adopting a recent mode;
if the motion vector decoding mode identification code takes other preset values
Decoding the motion vector in other ways;
the direct motion vector decoding mode identification code consists of one or more bit strings or bit strings in a compressed data code stream, the indirect motion vector decoding mode identification code is a motion vector decoding mode identification code derived from other coding parameters and/or decoding variables and/or other syntactic elements of the compressed data code stream or a preset identification code default value, and the direct and indirect mixed motion vector decoding mode identification code is a partial direct and indirect mixed motion vector decoding mode identification code;
and (2) feature:
the effecting includes:
has already decoded;
or
Decoded and of a predetermined type;
or
Decoded and whose value falls within a predetermined range of values;
or alternatively
Decoded and whose value falls outside a predetermined range of values;
or
Decoded and not using the neighbor mode;
or alternatively
Decoded and whose motion vector value is not equal to the value of the K valid motion vectors nearest to it;
or
Decoded and not using the neighbor mode and whose motion vector value is not equal to the value of the K valid motion vectors nearest to it;
or
Combinations of two or more of the above;
and (3) feature:
one or more motion vectors closest in the decoding temporal order of the current motion vector with an effective motion vector temporal order n include one or a combination of the following K motion vectors:
significant motion vector R with a time sequence number n-11
Valid motion vector R with valid motion vector time sequence number n-22
Significant motion vector R with a significant motion vector time order n-33
… … … …
Significant motion vector R with a significant motion vector time order of n-K + 1K-1
Valid motion vector R with valid motion vector time sequence number n-KK
The time sequence numbers of the effective motion vectors are only assigned to the time sequence numbers of the effective motion vectors according to the decoding time sequence of the effective motion vectors;
and (4) feature:
on the basis of the feature 3, the following features are also provided:
using an exponent recentMvIdx greater than or equal to 0 to specify that the current motion vector is to be decoded using an active motion vector with an active motion vector time index of n-1-recentMvIdx;
and (5) feature:
the neighboring or nearest way or other way is selected to perform a decoding operation on the current motion vector in the following way along with parameters and/or syntax elements:
there is a set of parameters and/or syntax elements,
if the value of the parameter and/or syntax element indicates that the neighbor mode is used, performing operation 1;
operation 1:
there are indices and sets of candidate motion vectors that are related to the neighboring mode,
using the one neighboring or neighboring motion vector of the set of candidate motion vectors specified by the index as a current motion vector or a predictor of a current motion vector;
if the value of the parameter and/or syntax element indicates that the most recent approach is used, performing operation 2;
operation 2:
there is a set of indices and candidate motion vectors associated with the most recent approach,
using the one of the nearest motion vectors of the set of candidate motion vectors specified by the index as the current motion vector or a predictor of the current motion vector;
if the value of the parameter and/or syntax element indicates that other approaches are used, then perform operation 3;
operation 3:
there are parameters or syntax elements related to other ways,
other ways are used to perform the decoding operation on the current motion vector.
7. A decoding apparatus for image compression, comprising at least the following modules:
1) the compressed data code stream analyzing module is used for analyzing a compressed data code stream when decoding a current motion vector in a decoding block and acquiring information at least representing the decoding mode of the current motion vector;
2) the decoding module selects one of a plurality of decoding modes comprising a nearest mode or selects one of a plurality of decoding modes comprising a nearest mode and a neighboring mode to perform motion vector decoding operation on the current motion vector; the adjacent mode is a mode of decoding the current motion vector by using at least one or more motion vectors which are adjacent or adjacent to the current motion vector in spatial position, and the motion vectors are called adjacent motion vectors or adjacent motion vectors; the closest mode is a mode of decoding the current motion vector by using at least one or more motion vectors which are closest to the current motion vector in decoding time sequence, called the closest motion vector, wherein the representation form of the decoding time sequence comprises a valid motion vector time sequence number, the valid motion vector time sequence number of the current motion vector is recorded as J0, the valid motion vector time sequence number of the one or more closest motion vectors is recorded as J0-J, and J is a positive integer less than a predetermined positive integer J not more than 20.
8. The decoding apparatus according to claim 7, wherein said decoded block is a decoded region of a picture and/or a sequence of pictures and/or video, comprising at least one or a combination of the following: macroblock, largest coding unit LCU, coding tree unit CTU, coding unit CU, sub-region of CU, prediction unit PU, transform unit TU.
9. The decoding apparatus according to claim 7 or 8, wherein the decoding operation comprises the operations of:
determining a set of candidate motion vectors from one or several decoded motion vectors according to a predetermined rule, using an index to specify one of said candidate motion vectors as a motion vector predictor, using said motion vector predictor as a predictor of a current motion vector;
and/or
Determining a set of candidate motion vectors from one or several decoded motion vectors according to a predetermined rule, using an index to designate one of said candidate motion vectors as a motion vector predictor, copying said motion vector predictor as a current motion vector;
the set of candidate motion vectors at least comprises
One or more decoded motion vectors spatially adjacent or neighboring the current motion vector;
and/or
One or more decoded motion vectors that are closest in decoding temporal order to the current motion vector.
10. The decoding device according to claim 7 or 8, characterized by comprising one or any combination of the following features,
the method is characterized in that:
the information representing the decoding mode of the current motion vector comprises a motion vector decoding mode identification code which is directly or indirectly or directly and indirectly mixed;
if the motion vector decoding method identification code takes a predetermined value, then,
decoding the motion vector in a proximity mode;
if the motion vector decoding mode identification code takes another predetermined value
Decoding the motion vector by adopting a recent mode;
if the motion vector decoding mode identification code takes other preset values
Decoding the motion vector in other ways;
the direct motion vector decoding mode identification code consists of one or more bit strings or bit strings in a compressed data code stream, the indirect motion vector decoding mode identification code is a motion vector decoding mode identification code derived from other coding parameters and/or decoding variables and/or other syntactic elements of the compressed data code stream or a preset identification code default value, and the direct and indirect mixed motion vector decoding mode identification code is a partial direct and indirect mixed motion vector decoding mode identification code;
and (2) feature:
the effecting includes:
has already decoded;
or
Decoded and of a predetermined type;
or
Decoded and whose value falls within a predetermined range of values;
or
Decoded and whose value falls outside a predetermined range of values;
or
Decoded and not using the neighbor mode;
or
Decoded and whose motion vector value is not equal to the value of the K valid motion vectors nearest to it;
or
Decoded and not using the neighbor mode and whose motion vector value is not equal to the value of the K valid motion vectors nearest to it;
or
Combinations of two or more of the above;
and (3) feature:
one or more motion vectors closest in the decoding temporal order of the current motion vector with an effective motion vector temporal order n include one or a combination of the following K motion vectors:
significant motion vector R with a time sequence number n-11
Valid motion vector R with valid motion vector time sequence number n-22
Valid motion vector R with valid motion vector time sequence number n-33
… … … …
Valid motion vector R with valid motion vector time sequence number n-K + 1K-1
Valid motion vector R with valid motion vector time sequence number n-KK
The time sequence numbers of the effective motion vectors are only assigned to the time sequence numbers of the effective motion vectors according to the decoding time sequence of the effective motion vectors;
and (4) feature:
on the basis of the feature 3, the following features are also provided:
using an exponent recentMvIdx greater than or equal to 0 to specify that the current motion vector is to be decoded using a valid motion vector having a valid motion vector time index n-1-recentMvIdx;
and (5) feature:
the neighboring or nearest way or other way is selected to perform a decoding operation on the current motion vector in the following way along with parameters and/or syntax elements:
there is a set of parameters and/or syntax elements,
performing operation 1 if the values of the parameters and/or syntax elements indicate that a neighbor mode is used;
operation 1:
there are indices and sets of candidate motion vectors related to the neighboring mode,
using the one neighboring or neighboring motion vector of the set of candidate motion vectors specified by the index as a current motion vector or a predictor of a current motion vector;
if the value of the parameter and/or syntax element indicates that the most recent approach is used, performing operation 2;
operation 2:
there is a set of indices and candidate motion vectors associated with the most recent approach,
using the one of the nearest motion vectors of the set of candidate motion vectors specified by the index as a current motion vector or a predictor of a current motion vector;
if the value of the parameter and/or syntax element indicates that other approaches are used, then perform operation 3;
operation 3:
there are parameters or syntax elements related to other ways,
other ways are used to perform the decoding operation on the current motion vector.
CN202111381577.8A 2016-08-21 2017-08-21 Image compression method and apparatus using nearest motion vector and neighboring motion vector Pending CN114501020A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201610691508X 2016-08-21
CN201610691508 2016-08-21
CN201710148645 2017-03-11
CN201710715886.1A CN107770527B (en) 2016-08-21 2017-08-21 Data compression method and apparatus using neighboring encoding parameters and nearest encoding parameters

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201710715886.1A Division CN107770527B (en) 2016-08-21 2017-08-21 Data compression method and apparatus using neighboring encoding parameters and nearest encoding parameters

Publications (1)

Publication Number Publication Date
CN114501020A true CN114501020A (en) 2022-05-13

Family

ID=61264992

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202111381577.8A Pending CN114501020A (en) 2016-08-21 2017-08-21 Image compression method and apparatus using nearest motion vector and neighboring motion vector
CN201710715886.1A Active CN107770527B (en) 2016-08-21 2017-08-21 Data compression method and apparatus using neighboring encoding parameters and nearest encoding parameters

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710715886.1A Active CN107770527B (en) 2016-08-21 2017-08-21 Data compression method and apparatus using neighboring encoding parameters and nearest encoding parameters

Country Status (1)

Country Link
CN (2) CN114501020A (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110287149A (en) * 2019-05-10 2019-09-27 同济大学 A kind of matching coding method using Hash Search
CN112055219B (en) * 2020-08-05 2021-08-31 浙江大华技术股份有限公司 String matching prediction method and device and computer readable storage medium
CN114615498A (en) * 2020-12-05 2022-06-10 腾讯科技(深圳)有限公司 Video decoding method, video encoding method, related device and storage medium

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4525878B2 (en) * 2000-10-02 2010-08-18 日本電気株式会社 Video coding method
US6907071B2 (en) * 2001-05-24 2005-06-14 Telefonaktiebolaget Lm Ericsson (Publ) Selective prediction for intra-coding video data block
JP4196726B2 (en) * 2003-05-14 2008-12-17 ソニー株式会社 Image processing apparatus, image processing method, recording medium, and program
KR100612849B1 (en) * 2003-07-18 2006-08-14 삼성전자주식회사 Apparatus and method for encoding and decoding image
US7620108B2 (en) * 2005-09-16 2009-11-17 Sony Corporation Integrated spatial-temporal prediction
CN101283600B (en) * 2005-10-05 2012-10-03 松下电器产业株式会社 Reference image selection method and device
KR20090095317A (en) * 2008-03-05 2009-09-09 삼성전자주식회사 Method and apparatus for encoding and decoding image
US9357228B2 (en) * 2010-05-27 2016-05-31 The Hong Kong University Of Science And Technology Motion estimation of images
CN102227132B (en) * 2011-05-25 2017-04-12 深圳市云宙多媒体技术有限公司 Motion vector prediction coding and decoding method, apparatus thereof and coding and decoding system
KR20130079261A (en) * 2011-12-30 2013-07-10 (주)휴맥스 3d image encoding method and apparatus, and decoding method and apparatus
CN104853211A (en) * 2014-02-16 2015-08-19 上海天荷电子信息有限公司 Image compression method and apparatus employing various forms of reference pixel storage spaces

Also Published As

Publication number Publication date
CN107770527A (en) 2018-03-06
CN107770527B (en) 2021-12-14

Similar Documents

Publication Publication Date Title
US11178421B2 (en) Method and apparatus for encoding/decoding images using adaptive motion vector resolution
CN108235007B (en) Data compression method and device for each mode using different precision and same coding parameter
CN107071450B (en) Coding and decoding method and device for data compression
CN105120263B (en) Low-complexity intra prediction for Video coding
WO2020253829A1 (en) Coding/decoding method and device, and storage medium
TW201830972A (en) Low-complexity sign prediction for video coding
US11638030B2 (en) Method and apparatus for encoding/decoding images using adaptive motion vector resolution
TW201545543A (en) Palette-based video coding
CN110944190B (en) Encoding method and device, decoding method and device for image compression
KR20160117424A (en) Image encoding and decoding method and device
CN109936742B (en) Method for encoding a video sequence, encoding device and storage medium
CN109716767A (en) It is encoded using the forecast image of the residual coding based on transformation
CN107770527B (en) Data compression method and apparatus using neighboring encoding parameters and nearest encoding parameters
CN107770540B (en) Data compression method and device for fusing multiple primitives with different reference relations
CN110944178B (en) Data compression encoding method and device, and data compression decoding method and device
CN107770553B (en) Data compression method and device adopting multiple types of matching parameters and parameter storage addresses
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
CN107770543B (en) Data compression method and device for sequentially increasing cutoff values in multiple types of matching parameters
CN111131826A (en) Data compression method and device for fixed-length code unit containing multiple coding parameter variable-length codes
CN113453005B (en) Decoding method, encoding method, device and equipment
Tao et al. Improvement of re-sample template matching for lossless screen content video
CN112532990A (en) String length parameter coding and decoding methods and devices
CN113395515A (en) Coding and decoding method and device for point prediction of component down-sampling format data
JP2017028372A (en) Coding scheme conversion device, method and program

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