CN110662028B - Encoding method and device for compressing sequence of images, and decoding method and device - Google Patents
Encoding method and device for compressing sequence of images, and decoding method and device Download PDFInfo
- Publication number
- CN110662028B CN110662028B CN201910582260.7A CN201910582260A CN110662028B CN 110662028 B CN110662028 B CN 110662028B CN 201910582260 A CN201910582260 A CN 201910582260A CN 110662028 B CN110662028 B CN 110662028B
- Authority
- CN
- China
- Prior art keywords
- coding
- value
- range
- sub
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- 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/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/186—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 a colour or a chrominance component
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The invention provides an encoding method and device, a decoding method and device for compressing an image sequence, wherein a plurality of (possibly mutually intersected) sub-ranges are defined in a value range of a data set, meanwhile, a definition domain of the data set is divided into a plurality of sub-definition domains, and for elements in one sub-definition domain, the value of corresponding data is limited in one sub-range, so that the effects of reducing the actual value range and improving the encoding efficiency are achieved.
Description
Technical Field
The present invention relates to an encoding and decoding (also called decoding) system for compressing data, and more particularly, to a method and apparatus for encoding and decoding a data set with a limited value range.
Background
With the introduction of human society into 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 raw data, including big data, image data, video data, audio data, voice data, and neural network data, with ultra high compression ratio and extremely high quality.
A large class of data compression problems can be summarized as for a data set Y = { Y = f (x): x ∈ X }, where ∈ denotes "belongs to"; the set X is a domain of Y or f, and is composed of all X, wherein X is called an element of X; the set Y consists of all Y = f (x), called an element of Y, usually a value (one-dimensional, i.e. a value with one component, or multi-dimensional, i.e. a value with multiple components) or equivalent to a value or represented as a value; f is a correspondence, also called rule of correspondence or functional relation or simply function, defined on X, for each X in X there is a unique y = f (X) corresponding to X. Different x may correspond to the same y = f (x),i.e. x 1 ∈X,x 2 ∈X,x 1 And x 2 Is a different element of X, but f (X) 1 ) And f (x) 2 ) With equal numerical values. Another equivalent representation of the data set Y is that for each X e X there is Y = f (X) e Y corresponding to X.
The compression problem for the data set Y is actually to represent all the elements f (x) of Y with as few bits as possible. The number of bits consumed by each f (x) is denoted as B (x), and the total number of bits B required to be consumed by all elements f (x) of Y is denoted total Equal to the sum of all B (x), i.e. B total = ∑ x∈X b (x), where Σ denotes the summation operation and the subscript of Σ x∈X Which means that the summation of b (X) is performed for all X in X.
The value of the element (i.e., data) Y of the data set Y is referred to as the value taken by the element Y, and is referred to as the value or value of Y for short. The range of values of the total composition Y in which different values are allowed to be obtained by Y is denoted as R = { R [ k ]: k = 0-K-1 }, wherein r [ i ] ≠ r [ j ] when i ≠ j. Obviously, K is the size of the range R, i.e. the number of elements of R.
B (x) and B total Are directly related to the size K of the range R of values of Y. For example, when K =2 b And the elements of R are all represented by fixed-length binary codes of length b (i.e. binary codes with a number of bits equal to b), all b (x) being equal to b = log 2 (K) Thus, B total = N×b = N×log 2 (K) Where N is the number of elements in X. Obviously, when K increases, B total Will also increase. Therefore, the effect of data compression is directly related to the size of the value range of the data.
In the prior art, when data compression is performed on a data set Y, the value range R is fixed, so the size K of the value range is also fixed. When K is large, a large number of bits is used and consumed per one data y is encoded or decoded, so that improvement of encoding efficiency becomes difficult.
In the first example of a data set and its domain and range, in the compression of image and video data, a frame of image is usually divided into coding blocks, each of which is represented by a block number, and the coding blocks are encoded (and correspondingly decoded) one by one. If an encoded block is an intra-coded block, the intra-prediction mode is used to specify which intra-prediction is to be performed for the intra-coded block. Each intra prediction mode of intra coding is represented by an intra prediction mode number. In this case, data set Y = { Y = f (x): x ∈ X } is the set of all intra-coded blocks or their block numbers in an image or image sequence, i.e. video, and the range R is the set of all intra-prediction modes or their numbers. Obviously, in this example, the size K of the range R represents a total of K predetermined intra prediction modes. In the HEVC international video coding standard, K =35. In the next generation international video coding standard currently in production, K may increase to 65.
A second example of a data set and its domain and range of values is that in the compression of image and video data, for an encoded block, it is usually necessary to perform a color transformation (also called color conversion or color transform) to remove the correlation between the components of the pixel. To adapt to the situation that different areas in images and videos often have unique color characteristics and unique color correlations, there are also many color transformations, which are represented by color transformation patterns, respectively. When encoding and decoding a coding block, a color transform mode is used to specify which color transform the coding block is to be subjected to. Each color conversion mode is represented by a color conversion mode number. In this case, the data set Y = { Y = f (x): x belongs to X) is the set of all coding blocks or the block numbers thereof in the image or the video, and the value range R is the set of all color transformation modes or the numbers thereof. It is clear that in this example the size K of the range R represents a total of K predefined color transformation patterns. In the prior art, the color conversion types used in practice are often more than 100, i.e. K >100.
In a third example of a data set and its domain and range, a technique called string matching or string prediction is often used in compression of image and video data to divide a coding block into a plurality of pixel strings, and matching or prediction is performed in units of strings. Each string is characterized by string encoding parameters including string length, offset (i.e., the position offset between the current string and the reference string). Within a coding block, each string has a string number. In this case, the data set Y = { Y = f (x): x ∈ X } is the combination of all string matching coding blocks in an image or video or their block numbers and the string or their string sequence number in the coding block, i.e. the set of all two-dimensional combinations (coding block or its block number, string in a block or its string sequence number), and the range R is the set of possible values allowed to be taken by the string coding parameters. Example 1: assuming that the number of pixels of a coding block is N (usually N is 64, 256, 1024, 4096, 16384), the string length, which is a string coding parameter, allows to take a possible value of 1,2, \ 8230 \ 8230; \ 1, N, for a total of N values, so that the size K of the range R of values of Y is equal to N. Example 2: assuming that the reference string is confined to a predetermined area of the picture, the possible values allowed to be taken by this string coding parameter are the values of the offsets that make the reference string fall within said predetermined area.
A fourth example of a data set and its domain and range of values is that in the compression of image and video data, a block matching or block prediction technique is often used, and for a current coding block, a reference block between or within frames is used to match (also called predict) the current coding block. Each current coding block represents the position of a reference block by the frame number (reference frame number for short) and the motion vector of the frame in which the reference block is located (reference frame for short). In this case, data set Y = { Y = f (x): x ∈ X } is the set of all blocks in the image or video that match the coding block or its block number, and the span R is the set of possible values allowed by the reference frame or its number and the motion vector. Such as: assuming that the reference block is confined to a number of predetermined areas of several frames, the possible values allowed to be taken by the reference frame or its number and motion vectors are the values of the reference frame or its number and motion vectors that make the reference block fall within said predetermined areas.
Disclosure of Invention
In order to solve the problem that when the value range of a data set is large, the number of bits used for data encoding and decoding is large, and encoding efficiency is low, the invention provides a data compression method and a data compression device adopting a sub-range and a sub-definition domain.
The invention is characterized in that I sub-ranges R are specified in the value range R of a data set Y 1 R,R 2 R,R 3 R,……,R I R; partitioning a domain X of a dataset into M sub-domains X 1 X,X 2 X,X 3 X,……,X M X; for X m All elements x in (i.e. x)x ∈X m ) The value of the data f (x) corresponding to x is limited to a sub-range R i And (4) the following steps. Due to R i Since the bit number is smaller than R, the number of bits required to represent f (x) is reduced when data compression is performed, thereby improving the coding efficiency. Of course, for each X m It may need to consume some bits to indicate to which sub-range R the value of the data f (x) corresponding to x is limited i And (4) the following steps. However, despite this negative effect, each X is selected and defined appropriately m And each R i The present invention, as a whole, undoubtedly has the effect of improving the coding efficiency.
In the present invention, preferably, at each R i Further define J therein i Next layer (layer 2) subrange R i1 ,R i2 ,……,R iJi (ii) a Each X is m Is also further divided into N m Next level (level 2) sub-domain X m1 ,X m2 ,……,X mNm ;x ∈X mn The value of the data f (x) corresponding to x is limited to a sub-range R ij And (4) the following steps.
In the present invention, preferably, several layer 3 sub-ranges are further specified in each layer 2 sub-range; dividing each layer 2 sub-domain into a plurality of layer 3 sub-domains; for all elements x in a layer 3 sub-definition domain, the value of the data f (x) corresponding to x is limited to a layer 3 sub-range.
In the present invention, preferably, by analogy, a plurality of L + 1-th layer sub-ranges are further defined in each L-th layer sub-range; dividing each L-th layer sub-definition domain into a plurality of L + 1-th layer sub-definition domains; for all the elements x in the L + 1-th layer sub-definition domain, the values of the data f (x) corresponding to x are limited within a L + 1-th layer sub-range.
A data set Y may have multiple domains of definition. The most trivial domain of definition is the data set Y itself, where Y = x. Another domain of definition is a number or sequence number or index or coordinate or address or control signal, etc. that the elements of the data set Y naturally have or are assigned to.
The most basic characteristic technical feature of the encoding method or apparatus of the present invention is that, for a value range (also referred to as a value range or an output value set or a candidate list or a candidate parameter set or a candidate pattern set) of a data set defined in a suitable definition domain (also referred to as an input set or an input variable set or an input argument set or an argument set or control signal set), the definition domain is divided into a plurality of sub-definition domains, a plurality of sub-ranges allowed to intersect with each other are defined in the value range, and a related encoding function and operation are completed under a constraint condition that values of data corresponding to all elements belonging to the same sub-definition domain are limited within the same sub-range without exception, thereby generating a compressed data code stream containing at least information in which sub-range the values of the data corresponding to the elements belonging to each sub-definition domain are respectively limited. Fig. 1 is a schematic diagram of an encoding method or apparatus of the present invention.
The most basic characteristic technical feature of the decoding method or apparatus of the present invention is that, for a value range (also referred to as a value range or an output value set or a candidate list or a candidate parameter set or a candidate pattern set) of a data set defined on a suitable definition domain (also referred to as an input set or an input variable set or an input argument set or an argument set or control signal set), the definition domain is divided into a plurality of sub-definition domains, a plurality of sub-ranges that are allowed to intersect with each other are defined in the value range, and related decoding functions and operations are completed under a constraint condition that values of data corresponding to all elements belonging to the same sub-definition domain are limited within the same sub-range without exception, and information required in a decoding process, in which sub-range the values of data corresponding to elements of each sub-definition domain are respectively limited, which information can be used for directly or indirectly or directly and indirectly mixedly representing or deriving the values of the elements of each sub-definition domain, is obtained by parsing a compressed data stream. 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 or a decoding method or apparatus for compressing a data set, comprising at least the steps or modules of:
determining a suitable domain for said data set;
dividing the domain into a plurality of sub-domains;
defining a plurality of sub-ranges which are allowed to have intersection with each other in the value range of the data set;
the values of the data corresponding to all the elements belonging to the same sub-definition domain are limited in the same sub-range;
the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly mixedly representing or deriving data corresponding to elements of each sub-definition domain, and within which sub-range the values of the data are respectively limited.
From a first aspect, the invention provides a coding method for compressing a data set and its data, characterized in that it comprises at least the following steps:
1) For the data set, defining a definition domain and establishing a corresponding relation between the definition domain and elements thereof and the data set and elements thereof;
2) Dividing the domain into a plurality of sub-domains;
3) Defining a plurality of sub-ranges which are allowed to have intersection with each other in the value range of the data set;
4) Establishing a corresponding relation between the sub-definition domain and the sub-range, namely, specifying that the values of data corresponding to all elements belonging to the same sub-definition domain are limited in the same sub-range;
5) And generating a compressed data code stream at least containing information in which the values of the data corresponding to the elements for directly or indirectly or directly and indirectly representing or exporting the sub-definition domains are respectively limited in which sub-range.
From a second aspect, the present invention provides a decoding method for compressing a data set and data thereof, characterized by at least the following steps:
1) Analyzing the compressed data code stream to obtain information which can be used for directly or indirectly or directly and indirectly representing or exporting data corresponding to elements of each sub-definition domain in a mixed manner, wherein the values of the data are respectively limited in which sub-range;
2) Determining a sub-range within which the values of the data corresponding to all the elements belonging to the same sub-definition domain are limited, namely a value sub-range of the data corresponding to the elements of one sub-definition domain, according to the information;
3) And decoding the data corresponding to the elements of the sub-definition domain in the value sub-range.
From a third perspective, the present invention provides an encoding apparatus for compressing a data set and data thereof, characterized by comprising at least the following modules:
1) The data set definition domain building module is used for defining a definition domain for the data set and building a corresponding relation between the definition domain and elements thereof and the data set and elements thereof;
2) The domain dividing module is used for dividing the domain into a plurality of sub-domains;
3) The data set value range selection module selects and specifies a plurality of sub-ranges which are allowed to mutually have intersection in the value range of the data set;
4) The relation construction module of the sub-definition domain and the sub-range constructs the corresponding relation between the sub-definition domain and the sub-range, and limits the values of the data corresponding to all the elements belonging to the same sub-definition domain in the same sub-range;
5) And the compressed data code stream generating module is used for generating a compressed data code stream at least containing information in which sub-ranges the values of the data corresponding to the elements for directly or indirectly or directly and indirectly representing or deriving each sub-definition domain are respectively limited.
From a fourth perspective, the present invention provides a decoding apparatus for compressing a data set and data thereof, characterized by comprising at least the following modules:
1) The compressed data code stream analyzing module is used for analyzing the compressed data code stream to obtain information which can be used for directly or indirectly or directly and indirectly mixedly representing or exporting data corresponding to elements of each sub-definition domain and in which sub-range the value of the data is respectively limited;
2) A value sub-range determining module, configured to determine, according to the information obtained by the compressed data code stream parsing module, a sub-range in which values of data corresponding to all elements belonging to the same sub-definition domain are limited, that is, a value sub-range of data corresponding to elements of one sub-definition domain;
3) And the data decoding module is used for decoding the data corresponding to the elements of the sub-definition domain in the value sub-range.
"Domain" may also have other forms or names, such as: a set of inputs, a set of input variables, a set of input arguments, a set of control signals.
Preferably, the sub-domain is a layer 1 sub-domain, allowing further division into a plurality of layer 2 sub-domains; the sub-range is a layer 1 sub-range, allowing a number of layer 2 sub-ranges to be further specified therein; the values of the data corresponding to all the elements belonging to the same layer 2 sub-definition domain are limited in the same layer 2 sub-range; the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly representing or exporting data corresponding to elements of each layer 2 sub-definition domain in a mixed mode, and the values of the data are limited in which layer 2 sub-range.
Preferably, the layer 2 sub-domain is allowed to be further divided into a plurality of layer 3 sub-domains; allowing a number of layer 3 sub-ranges to be further specified in the layer 2 sub-range; the values of the data corresponding to all the elements belonging to the same 3 rd layer sub-definition domain are limited in the same 3 rd layer sub-range; the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly representing or deriving data corresponding to elements of each layer 3 sub-definition domain in a mixed mode, and the value of the data is limited in which layer 3 sub-range.
Preferably, and so on and extending to the case of L >2, the L-th layer sub-definition domain allows further division into a plurality of L + 1-th layer sub-definition domains; allowing a number of layer L +1 sub-ranges to be further specified in the layer L sub-range; the values of the data corresponding to all the elements belonging to the same L +1 layer sub-definition domain are limited in the same L +1 layer sub-range; the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly mixedly representing or deriving data corresponding to elements of each L + 1-th layer sub-definition domain, and the value of the data is limited in which L + 1-th layer sub-range.
When compressing image and video data where the original data is image or video data, a frame of image is usually divided into coding _ regions or compression _ regions having a predetermined constant size (e.g., 64 × 64 pixels or 128 × 128 pixels) or having one or several rectangular region sizes (e.g., K × L + M × N pixels, where K, L, M, N are positive integers), each coding block usually has a unique coding block number, and each coding block is further divided into coding blocks (from a decoding perspective, also called decoding blocks, often collectively called coding blocks or overall compression units) according to a quarterworks or trisections or bifurcations or no bifurcations structure of one or more recursions, each coding block usually has a unique coding block number, which allows the coding block and the coding block to be composed of two parts relative to each other.
In the present invention, where the original data is image or video data, the elements of the data set include one of the following codec parameters appearing in the image or video codec or a combination, composite or fusion of various forms or relationships thereof, including parallel, cross, include, dependent, merge, partial merge, cross merge, union, intersection, difference, complement:
1) A code tree bifurcation pattern whose value range includes a part or all of the following set 1 and/or set 2, which are expressed by enumeration:
the set 1= { various bifurcation structures bifurcating one or more first and bifurcating one or more second or trifurcating one time }, any of which can obviously be expressed by the number of times that a coding tree unit recursively bifurcates as a bifurcation starting point and then recursively bifurcating or trifurcating, or equivalently by the size of the split after recursive bifurcating, partSize and then recursively bifurcating or trifurcating, wherein, since the size of the split is always an index of 2, the partSize can be equivalently expressed by the logarithm of the partSize at base 2, partSizeInBit = log, and 2 (partSize) to indicate that,
set 2= { no bifurcation, four bifurcations, horizontal trifurcations, vertical trifurcations, horizontal bifurcations, vertical bifurcations };
2) A coding tree luminance component bifurcation pattern whose value range includes a part or all of the following set 1 and/or set 2, which are expressed by enumeration:
the set 1= { various bifurcated structures which are bifurcated one or more times first and then bifurcated or trifurcated one or more times },
set 2= { no bifurcation, four bifurcations, horizontal trifurcations, vertical trifurcations, horizontal bifurcations, vertical bifurcations };
3) A coding tree chroma component bifurcation mode whose value range includes a part or all of the following set 1 and/or set 2, which are expressed by enumeration:
the set 1= { various bifurcated structures which are bifurcated one or more times first and then bifurcated or trifurcated one or more times },
set 2= { no bifurcation, four bifurcations, horizontal trifurcations, vertical trifurcations, horizontal bifurcations, vertical bifurcations };
4) And encoding a tree luminance and chrominance fused bifurcation mode, wherein the value range of the tree luminance and chrominance fused bifurcation mode comprises part or all of the set 1 and/or the set 2 which are expressed by enumeration as follows:
the set 1= { luminance and chrominance have various branching structures of a coding tree which are common, i.e., a single coding tree, luminance and chrominance have various branching structures of respective coding trees, i.e., the luminance coding tree and the chrominance coding tree are at least partially different, luminance and chrominance have various branching structures of a coding tree which are common, i.e., a single trunk portion, but have respective branch portions, luminance and chrominance have various branching structures of a coding tree which are common, i.e., a single one-time or multi-time four-branch trunk portion, but have respective one-time or multi-time two-branch or three-branch portions },
set 2= { neither luminance nor chrominance is branched, luminance is four-branched but chrominance is not branched, luminance is horizontally three-branched but chrominance is not branched, luminance is vertically two-branched but chrominance is not branched, luminance is not branched but chrominance is four-branched, luminance is four-branched but chrominance is four-branched, luminance is horizontally three-branched but chrominance is four-branched, luminance is vertically two-branched but chrominance is four-branched, and so on, luminance and chrominance are all four-branched, luminance is four-branched but chrominance is three-branched, luminance is four-branched but chrominance is vertically two-branched, and so on };
5) Coding modes of the coding and decoding blocks, wherein the value range of the coding modes comprises a part or all of the following sets represented by enumeration: { IPCM, intra prediction, inter prediction, string prediction, palette, block prediction, microblock prediction, strip prediction };
4) And 5), namely a luminance and chrominance bifurcation mode of the coding tree and a coding mode of the coding and decoding block, and the value range of the luminance and chrominance bifurcation mode of the coding tree and the coding mode of the coding and decoding block comprises a part or the whole of the following set expressed by enumeration: { intraframe coding mode with common, i.e., single, bifurcation structures for luma and chroma, respectively, with respective bifurcation structures for luma and chroma, intraframe coding mode with common, i.e., single, trunk, respectively, with respective bifurcation structures for coding trees for branch portions, intraframe coding mode with common, i.e., single, one or more, four-pronged trunk portions for luma and chroma, respectively, with respective one or more, two-pronged or three-pronged branch portions for coding trees, interframe coding mode with common, i.e., single, bifurcation structures for luma and chroma, respectively, with respective coding trees, interframe coding mode with common, i.e., single, trunk, and various bifurcation structures for luma and chroma, respectively, with respective bifurcation structures for coding trees for branch portions, interframe coding mode with common, i.e., single, four-pronged or more, respectively, with respective one or three-pronged branch portions for luma and chroma, respectively };
6) Coding mode dependent coding parameters of the coded block;
7) The intra luminance prediction mode of the coding and decoding block comprises a part or a whole of one of the following 7 sets respectively expressed by enumeration:
(1) { DC, planar, direction 1, direction 2, and so on, direction 65};
(2) { DC, planar, biliner, direction 1, direction 2, and so on, direction M }, where M is typically a constant between 30 and 130;
(3) { DC, planar, direction 1, direction 2, and so on, direction M, extension 1, extension 2, and so on, extension N }, where M and N are each typically constants between 30 and 130;
(4) A plurality of elements dynamically selected from a mode set (such as { DC, planar, direction 1, direction 2, and so on, direction 65 }) according to a predetermined rule (such as the value of the intra-frame brightness prediction mode of a plurality of adjacent coding and decoding blocks of the current coding and decoding block or the value of the intra-frame brightness prediction mode of a plurality of coding and decoding blocks closest to the coding and decoding sequence);
(5) A mode set (such as { DC, planar, direction 1, direction 2, and so on, direction 65 }) minus a difference set obtained by dynamically selecting a plurality of elements according to a predetermined rule (such as the value of the intra-frame brightness prediction modes of a plurality of adjacent coding and decoding blocks of the current coding and decoding block or the value of the intra-frame brightness prediction modes of a plurality of coding and decoding blocks closest to the coding and decoding sequence);
(6) Taking the value ranges (such as { element 0, element 4, element 8, and the like } of all elements with the sequence numbers being multiples of a predetermined constant (such as: 4) from the difference set (5) as an ordered set { element 0, element 1, element 2, element 3, element 4, element 5, element 6, element 7, element 8, and the like });
(7) Taking out the value ranges (such as { element 1, element 2, element 3, element 5, element 6, element 7, element 8, and the like } of all elements with serial numbers which are not multiples of a predetermined constant (such as: 4) from the difference set (5) as an ordered set { element 0, element 1, element 2, element 3, element 4, element 5, element 6, element 7, and the like });
8) The prediction mode associated coding parameters of the coding and decoding block comprise motion vectors of inter-frame prediction and/or intra-frame block prediction, motion vector differences, offset of the motion vector differences, motion vector candidate set indexes, predicted values, interpolation of the predicted values and interpolation weights of the predicted values;
9) The inter-frame prediction and/or intra-frame prediction modes of the coding and decoding block comprise a part or a whole of one of the following 3 sets respectively expressed by enumeration:
(1) { Skip, merge candidate 1, merge candidate 2, and so on, merge candidate I, the conventional mode directly indicated by motion vectors and/or motion vector differences and/or offsets of motion vector differences }, where I is typically a constant between 2 and 10;
(2) { Skip, merge candidate 1, merge candidate 2, and so on, merge candidate I, affine1, affine2, and so on, affineJ, conventional mode directly represented by motion vectors and/or motion vector differences and/or offsets of motion vector differences }, where I is typically a constant between 2 and 10, and J is typically a constant between 1 and 5;
(3) { Skip, merge candidate 1, merge candidate 2, and so on, merge candidate I, affine1, affine2, and so on, affiniJ, extension 1, extension 2, and so on, extension K, conventional mode that directly represents the amount of motion or amount of motion with motion vectors and/or motion vector differences and/or offsets of motion vector differences }, where I is typically a constant between 0 and 10 (I being 0 means no Merge candidate element), J is typically a constant between 0 and 5 (J being 0 means no Affine element), K is typically a constant between 0 and 8 (K being 0 means no extension element), extension includes one or a combination of the following: the recent history sub-mode is that the related coding parameters of the recent one or a plurality of coding and decoding blocks appearing in the coding and decoding process are used as the related coding parameters of the current coding and decoding block, a line sub-mode, a half-line sub-mode and a micro-block sub-mode;
8) The inter prediction mode in motion vector and 9), i.e., the multi-source motion vector predictor (including the case where the prediction difference is zero, i.e., the motion vector predictor is equal to the motion vector itself), whose value range includes a part of or the union of all of the following sets or subsets thereof:
set 1= motion vectors and/or motion vector differences and/or offset candidate sets of motion vector differences for skip sub-modes,
set 2= motion vectors and/or motion vector differences and/or offset candidate sets of motion vector differences for the merge sub-mode,
set 3= motion vectors and/or motion vector differences and/or offset candidate sets of motion vector differences for the most recent history sub-mode,
set 4= predetermined default motion vectors and/or motion vector differences and/or offset candidate sets of motion vector differences,
set 5= set of conventional motion vectors directly represented by (horizontal component, vertical component);
10 Inter-component prediction mode of the coded block;
11 Inter-component prediction mode-dependent coding parameters of a coded block;
12 Inter-component prediction coefficients of the coded block;
13 Inter-component prediction coefficient associated coding parameters of the coded block;
14 Residual inter-component prediction mode for a coded block;
15 Residual inter-component prediction coefficients of the coded block;
16 Inter-component color transform patterns of a codec block whose range of values includes a portion or all of the following set, as enumerated: { RGB-YCoCg transform, GBR-YCoCg transform, BRG-YCoCg transform, RGB-YCoCg transform variant 1, GBR-YCoCg transform variant 1, BRG-YCoCg transform variant 1, RGB-YCoCg transform variant 2, GBR-YCoCg transform variant 2, BRG-YCoCg transform variant 2, RGB-YCoCg transform variant 3, GBR-YCoCg transform variant 3, BRG-YCoCg transform variant 3, and so on, examples of variants comprising fine tuning of the transform coefficients;
17 Inter-component color transform mode dependent coding parameters of a coded block;
18 Inter-component color transform coefficients of the codec block;
19 Inter-component color transform coefficient associated coding parameters of the coded block;
20 Residual inter-component color transform mode for a coded block, whose span includes a part or all of the following set, enumerated: { RGB-YCoCg transform, GBR-YCoCg transform, BRG-YCoCg transform, RGB-YCoCg transform variant 1, GBR-YCoCg transform variant 1, BRG-YCoCg transform variant 1, RGB-YCoCg transform variant 2, GBR-YCoCg transform variant 2, BRG-YCoCg transform variant 2, RGB-YCoCg transform variant 3, GBR-YCoCg transform variant 3, BRG-YCoCg transform variant 3, and so on, cb-Cr permutation after chroma residual inverse transform, examples of variants including fine tuning of transform coefficients;
21 Inter-residual component color transform coefficients of a coded block or their associated coding parameters, such as: chroma residual component transform coefficients;
22 Coding the residual of block prediction (including intra prediction and inter prediction) of the decoded block;
23 Coding transform coefficients of a residual of a block prediction of the decoded block;
24 Encoding parameters for string prediction of a coded block;
25 String length of string prediction (also called string matching or string replication) of a coded block;
26 String displacement of string prediction of coded blocks;
27 String displacement horizontal component of string prediction of the coded block;
28 String-shift vertical component of string prediction of coded blocks;
29 String type flag of string prediction of codec block;
30 Secondary Reference Buffer (SRB) address (referred to as string SRB address) of a string of string predictions of a codec block;
31 String SRB color repetition number of string prediction of the coded block;
32 Encoding parameters of the image coordinate string;
33 Number of consecutive image coordinate strings;
34 Length of image coordinate string;
35 A number of repetitions of a pixel at the image coordinates in the image coordinate string;
36 Address of an image coordinate string in an image coordinate array (PCA);
37 Encoding parameters of the offset string;
38 A number of consecutive offset strings;
39 Length of offset string.
In the present invention, in the case where original data is image or video data and a frame of image is divided into coding blocks, which are an area of the image, the following cases are included: the image coding method comprises the following steps of sub-images of an image, a stripe slice, a stripe group consisting of a plurality of stripes, a tile, a tile group consisting of a plurality of tiles, a brick crack, a brick group consisting of a plurality of bricks, a maximum coding unit LCU, a maximum coding unit group consisting of a plurality of maximum coding units, a coding tree unit CTU and a coding tree unit group consisting of a plurality of coding tree units.
In the present invention, in the case where original data is image or video data, and a frame of image is further divided into coding and decoding blocks, which are one coding area or one decoding area of the image, the following cases are included: 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 sub-coding unit SubCU, a prediction unit PU, a sub-region of a PU, a sub-prediction unit SubPU, a transform unit TU, a sub-region of a TU, a sub-transform unit SubTU.
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 of the present specification. 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
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 original data is image or video data, each frame of the image or video is divided into encoding blocks, each encoding block is further divided into encoding and decoding blocks, and the element of the definition field is one of the following cases: the coding block or the number thereof meets a predetermined condition or has a predetermined characteristic or the coding block or the number thereof or the coding and decoding block or the number thereof meets the predetermined condition or has a predetermined characteristic or the number thereof;
dividing the domain into a plurality of sub-domains or layer 1 sub-domains according to one of the following modes:
the boundary division of each coding block (i.e. one sub-domain corresponds to one coding block) is performed, and the elements of each sub-domain or layer 1 sub-domain are one of the following cases:
the coding block is divided into coding and decoding blocks or numbers thereof
Or each coding and decoding block which is divided into the coding blocks and meets the preset condition or has the preset characteristic or the serial number thereof;
or divided according to the boundaries of a group of 2 × 1 coded blocks (i.e. one sub-domain corresponds to 2 × 1 coded blocks), the elements of each sub-domain or layer 1 sub-domain being one of the following:
two coding blocks or their numbers constituting the sub-domain or layer 1 sub-domain
Or all the coding blocks or their numbers which satisfy a predetermined condition or have a predetermined characteristic constituting the sub-domain or the layer 1 sub-domain
Or each coding and decoding block or its number divided by the 2 x1 coding blocks
Or each coding and decoding block which meets the predetermined condition or has the predetermined characteristic or the number thereof and is divided by the 2 multiplied by 1 coding block respectively;
or divided according to the boundaries of a group of 1 × 2 coded blocks (i.e., one sub-domain corresponds to 1 × 2 coded blocks), the elements of each sub-domain or layer 1 sub-domain are one of the following cases:
two coding blocks or their numbers constituting the sub-domain or layer 1 sub-domain
Or all the coding blocks or their numbers which satisfy a predetermined condition or have a predetermined characteristic constituting the sub-domain or the layer 1 sub-domain
Or each coding and decoding block or its number divided by the 1 x 2 coding blocks
Or each coding and decoding block which meets the predetermined condition or has the predetermined characteristic or the number thereof and is divided by the 1 multiplied by 2 coding blocks respectively;
or by the boundary of a group of 2 × 2 coded blocks (i.e. one sub-domain corresponds to 2 × 2 coded blocks), the elements of each sub-domain or layer 1 sub-domain are one of the following cases:
four coding blocks or their numbers constituting the sub-domain or layer 1 sub-domain
Or all the coding blocks or their numbers composing the sub-domain or the layer 1 sub-domain satisfying a predetermined condition or having a predetermined characteristic
Or each coding and decoding block or its number divided by the 2 x 2 coding blocks
Or each coding and decoding block or the number thereof which meets the preset condition or has the preset characteristic and is divided by the 2 multiplied by 2 coding blocks respectively;
or so forth, divided by the boundaries of the coding block groups consisting of sxt (S and T are typically predetermined constants between 1 and 10, respectively) coding blocks (i.e. one subdomain corresponds to sxt coding blocks), the elements of each subdomain or layer 1 subdomain are one of the following:
the S x T code blocks or their numbers forming the sub-domain or layer 1 sub-domain
Or all the coding blocks or their numbers composing the sub-domain or the layer 1 sub-domain satisfying a predetermined condition or having a predetermined characteristic
Or all the coding and decoding blocks or the serial numbers thereof into which the S × T coding blocks are respectively divided
Or all encoding and decoding blocks which satisfy the predetermined condition or have the predetermined characteristic or the number thereof and are respectively divided by the S multiplied by T encoding blocks.
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or variation 2, the original data is image or video data, each frame of image of the image or video is divided into encoding blocks, each encoding block is further divided into encoding blocks, the encoding blocks are further divided into V primitives with relative sequence numbers V (1 ≦ V ≦ V) (the types of primitives include string, line, bar, microblock, sub-region of CU, sub-coding unit SubCU, sub-region of PU, sub-prediction unit SubPU, sub-region of TU, sub-transformation unit SubTU; V is constant or variable, V =1 represents that there is only one primitive that is equivalent to an encoding block; the encoding block number and the relative sequence number of the primitive together constitute the sequence number of the primitive), and the element of the defined field is one of the following cases:
primitives or sequence numbers thereof, or primitives or sequence numbers thereof that satisfy a predetermined condition or have a predetermined characteristic (e.g., predetermined one or more kinds of primitives);
dividing the domain into a plurality of sub-domains or layer 1 sub-domains according to one of the following modes:
according to the boundary division of each coding block (i.e. one sub-domain corresponds to one coding block), the elements of each sub-domain or layer 1 sub-domain are one of the following cases:
each element or sequence number thereof in the coding region block, or each element or sequence number thereof in the coding region block, which satisfies a predetermined condition or has a predetermined characteristic (e.g., predetermined one or more kinds of elements);
or by the boundary of a group of 2 × 1 coded blocks (i.e. one sub-domain corresponds to 2 × 1 coded blocks), the elements of each sub-domain or layer 1 sub-domain are one of the following cases:
each element or its sequence number in the 2 × 1 coding region block, or each element or its sequence number in the 2 × 1 coding region block which satisfies a predetermined condition or has a predetermined characteristic (e.g., predetermined one or more kinds of elements);
or divided according to the boundaries of a group of 1 × 2 coded blocks (i.e., one sub-domain corresponds to 1 × 2 coded blocks), the elements of each sub-domain or layer 1 sub-domain are one of the following cases:
each element or its sequence number in the 1 × 2 coding blocks, or each element or its sequence number in the 1 × 2 coding blocks which satisfies a predetermined condition or has a predetermined characteristic (e.g., predetermined one or more kinds of elements);
or divided according to the boundaries of a group of 2 × 2 coded blocks (i.e. one sub-domain corresponds to 2 × 2 coded blocks), the elements of each sub-domain or layer 1 sub-domain being one of the following:
each element or sequence number thereof in the 2 x 2 coding blocks, or each element or sequence number thereof in the 2 x 2 coding blocks which meets a predetermined condition or has a predetermined characteristic (e.g., predetermined one or more kinds of elements);
or so on, by dividing the boundary of the coding block group consisting of sxt (S and T are typically predetermined constants between 1 and 10, respectively) coding blocks (i.e. one sub-domain corresponds to sxt coding blocks), the elements of each sub-domain or layer 1 sub-domain are one of the following cases:
each element or sequence number of the S x T code blocks, or each element or sequence number of the S x T code blocks which satisfies a predetermined condition or has a predetermined characteristic (e.g., predetermined one or more kinds of elements).
Examples of embodiment or modification 3
In the encoding method or apparatus or the decoding method or apparatus, original data is image or video data, each frame of the image or video is divided into encoding blocks, each encoding block is further divided into encoding blocks, the range of values of the data set is a set R = { DC, planar, direction 1, direction 2, \8230;, direction M, extension 1, extension 2, \8230;, extension N }, where M and N are constants between 30 and 130,
the elements of the definition domain are coding and decoding blocks adopting an intra-frame coding mode or numbers thereof;
dividing the domain into a plurality of sub-domains or layer 1 sub-domains (i.e. one sub-domain corresponds to S × T coding blocks) according to the boundary of a coding block group consisting of S × T coding blocks (S and T are usually a predetermined constant between 1 and 10, respectively), obviously, the elements of each sub-domain or layer 1 sub-domain are coding blocks or numbers thereof adopting an intra-frame coding mode within the corresponding S × T coding blocks;
at least the following two subranges R are specified in the value range R 1 And R 2 :
R 1 = a subrange including at least a part of { direction 1, direction 2, \8230;, direction M },
R 2 = a subrange that includes at least a portion of { extension 1, extension 2, \8230;, extension N };
the compressed data code stream contains at least elements (i.e. each pair) that can be used to represent or derive each sub-definition field directly or indirectly or directly and indirectly mixedlyThe coding/decoding block adopting the intra-coding mode or the number thereof in the corresponding S × T coding blocks) is limited to which sub-range R the value of the data is limited to k The information in (c).
Examples or modifications 4
In the encoding method or apparatus or the decoding method or apparatus,
the original data is divided into original data blocks (e.g., coded blocks of image or video data), each of which typically has a unique original data block number, and each of which is further divided into original data blocks (e.g., coded blocks of image or video data), each of which typically has a unique original data block number, which typically consists of two parts, the original data block number and the original data block relative number;
the element of the definition field X is one of the following cases:
original data blocks or numbers thereof, or original data blocks or numbers thereof which satisfy predetermined conditions or have predetermined characteristics;
dividing the domain into M mutually disjoint sub-domains or layer 1 sub-domains (i.e. one sub-domain corresponds to C original data blocks) according to the boundary of an original data block group consisting of C original data blocks (C is typically a predetermined constant between 1 and 50): x 1 ,X 2 ,X 3 ,……,X M It is clear that the elements of each sub-domain or layer 1 sub-domain are one of the following cases:
each original data block or the number thereof in the corresponding C original data blocks, or each original data block or the number thereof in the corresponding C original data blocks, which meets the predetermined condition or has the predetermined characteristic;
the element of the data set Y is a coding parameter corresponding to the original data block or the number thereof (example 1: coding mode related coding parameter of coding block, example 2: prediction mode related coding parameter of coding block, example 3: inter-component prediction mode related coding parameter of coding block, example 4: inter-component color transform mode related coding parameter of coding block, example 5: inter-component prediction coefficient related coding parameter of coding block, example 6: inter-component color transform coefficient related coding parameter of coding block);
X m The values of the data y = f (X) corresponding to all the elements X in the group are limited to be the same as those of the data X m The corresponding subscript (i.e., sub-range index) is the sub-range R of i (m) i(m) In, i.e.x ∈X m ,y = f(x) ∈R i(m) ;
If y is AND
And X m Original data blocks or their numbers in corresponding C original data blocks
A corresponding one of the coding parameters, then
{ y has the value range R i(m) Using a compound of formula (I) with R i(m) The code word set with the adaptive size is used for coding and decoding y; }
The compressed data stream contains at least information that can be used to directly or indirectly or directly and indirectly mixedly represent or derive the values of the M sub-range indices i (M), said information directly representing or deriving the values of the sub-range indices i (M) consisting of one or more bit strings (bit strings) in the compressed data stream, for example, an identification code or syntax element called ctu _ subbank _ indexThe form of the element appears; said information indirectly representing or deriving the value of the sub-range index i (m) is information derived from other coding parameters and/or codec variables and/or other syntax elements of the compressed data stream, e.g. from said X m Information derived from values of sub-range indices of one or several sub-fields adjacent in spatial position or closest in codec order and/or other coding parameters and/or other codec variables; the information directly and indirectly representing or deriving the value of the sub-range index i (m) mixedly is information partially directly (i.e. consisting of one or more bit strings in the compressed data stream) and partially indirectly (i.e. derived from other coding parameters and/or codec variables and/or other syntax elements of the compressed data stream) representing or deriving the value of the sub-range index i (m) mixedly.
Examples or modifications 5
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or variation 4, the original data is image or video data, the original data blocks are encoded blocks, and the original data blocks are encoded/decoded blocks; c is sxt (S and T are typically predetermined constants between 1 and 10, respectively).
Examples of embodiment or modification 6
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or variation 4,
c is equal to N 1 ×C 1 (e.g., N) 1 = C,C 1 = 1), define layer 1 subdomain X m Is further divided into N 1 A layer 2 subdomain, each layer 2 subdomain X mn Wherein N is more than or equal to 1 and less than or equal to N 1 Corresponds to C 1 An original data block;
in each R i Further define J therein i Next layer (layer 2) sub-range R i1 ,R i2 ,……,R ij ,……,R iJi ;
X mn The values of the data y = f (X) corresponding to all the elements X in the group are limited to be the same as those of the data X mn The corresponding 2-dimensional subscript (i.e., sub-range index) is a sub-range of (i (m), j (m, n))Enclose R i(m)j(m,n) In, i.e.x ∈X mn ,y = f(x) ∈R i(m)j(m,n) ;
If y is AND
And X mn Corresponding to C 1 Original data blocks or their numbering in an original data block
A corresponding one of the coding parameters, then
{ y has the value range R i(m)j(m,n) Use of a compound of formula I with R i(m)j(m,n) The code word set with the adaptive size encodes and decodes y; }
The compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly representing or deriving the values of the M sub-range index first components i (M) and the values of the M multiplied by N sub-range index second components j (M, N), wherein the information directly representing or deriving the values of the sub-range index first components and the sub-range index second components consists of one or more bit strings (bit strings) in the compressed data code stream; said information indirectly representing or deriving values of the sub-range indices first and second components is information derived from other coding parameters and/or codec variables and/or other syntax elements of the compressed data stream, e.g. from said X mn Information derived from values of sub-range indices of one or several sub-fields adjacent in spatial position or closest in codec order and/or other coding parameters and/or other codec variables; the information directly and indirectly mixedly representing or deriving the values of the sub-range indices first component and second component is information partially directly (i.e. consisting of one or more bit strings in the compressed data stream) and partially indirectly (i.e. derived from other coding parameters and/or codec variables and/or other syntax elements of the compressed data stream) mixedly representing or deriving the values of the sub-range indices first component and second component;
and so on, performing operations of 3 rd, 4 th, 82308230, hierarchical division of sub-definition domains, specifying sub-ranges and encoding and decoding operations of encoding parameters within a sub-range limited in a value range.
Examples or modifications 7
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or variation 6, the original data is image or video data, the original data block is a coded block, and the original data block is a coded block; c is S × T (S and T are typically predetermined constants between 1 and 10, respectively); s is equal to U 1 ×S 1 (e.g., U) 1 = S,S 1 = 1), said T equals V 1 ×T 1 (e.g., V) 1 = T,T 1 = 1), said N 1 Is equal to U 1 ×V 1 Said C is 1 Is equal to S 1 ×T 1 。
Examples of embodiment or modification 8
In the encoding method or apparatus or the decoding method or apparatus, the original data is image or video data, each frame of the image or video is divided into coding tree units CTUs, each coding tree unit CTU is further divided into coding blocks according to a quartering or bifurcating or non-bifurcating structure of one or more recursions, and the elements of the definition domain are one of the following cases: the number of the coding and decoding block or the number thereof, or the coding and decoding block number composed of the coding tree unit number and the coding and decoding block relative number, or the coding and decoding block or the number thereof meeting the predetermined condition or having the predetermined characteristic, or the coding and decoding block number composed of the coding tree unit number and the coding and decoding block relative number meeting the predetermined condition or having the predetermined characteristic;
one sub-domain is composed of coding and decoding blocks or numbers thereof which belong to the same coding tree unit;
the data to be coded and decoded is in an inter-coded frame (also called an inter-coded picture, i.e. a frame or picture allowing coding and decoding of a coded block in both an inter-coding mode and an intra-coding mode)Coding of coded blocks Mode(s)And the value range includes a part or all of the following set represented by enumeration:
{ Intra-frame coding mode, inter-frame coding mode, string prediction coding mode, palette coding mode, intra-frame Block matching coding mode }
A particular subrange a of the value ranges is one of:
the specific sub-range A is { intra-coding mode }
Or the specific sub-range A is { intra coding mode, string prediction coding mode }
Or the specific sub-range A is { intra coding mode, palette coding mode }
Or the specific sub-range a is { intra coding mode, intra block matching coding mode }
Or the specific sub-range A is { intra coding mode, string prediction coding mode, palette coding mode }
Or the specific sub-range A is { intra coding mode, string prediction coding mode, intra block matching coding mode }
Or the specific sub-range A is { intra coding mode, palette coding mode, intra block matching coding mode }
Or the specific sub-range a is { intra coding mode, string prediction coding mode, palette coding mode, intra block matching coding mode };
the compressed data code stream at least contains information that can be used for directly or indirectly or directly and indirectly representing or deriving whether the value of the coding mode of the coding and decoding block of a coding tree unit is limited within the specific sub-range A.
Examples of embodiment or variations 9
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or variation 8, the compressed data code stream at least includes a coding mode flag bit of a coding tree unit, where the flag bit restricts a value of a coding mode of a coding/decoding block of the coding tree unit in the following manner:
if the flag bit is equal to a predetermined value (e.g., 1), the value of the coding mode of the coding/decoding block of the coding tree unit is limited to the specific sub-range a.
Examples of embodiment or modification 10
In the encoding method or apparatus or the decoding method or apparatus of embodiment or variation 8, the specific sub-range a is an { intra-frame coding mode }, and the compressed data stream at least includes a coding mode flag bit of a coding tree unit, where the flag bit limits a value of a coding mode of the coding tree unit in the following manner:
if the flag bit is equal to a predetermined value (e.g., 1), all the coding blocks in the coding tree unit adopt the intra-coding mode.
Examples or modifications 11
In the encoding method or apparatus or the decoding method or apparatus, the original data is image or video data, each frame of the image or video is divided into coding tree units CTUs, each coding tree unit CTU is further divided into coding blocks according to a quartering or bifurcating or non-bifurcating structure of one or more recursions, and the elements of the definition domain are one of the following cases: the number of the coding and decoding block or the number thereof, or the coding and decoding block number composed of the coding tree unit number and the coding and decoding block relative number, or the coding and decoding block or the number thereof meeting the predetermined condition or having the predetermined characteristic, or the coding and decoding block number composed of the coding tree unit number and the coding and decoding block relative number meeting the predetermined condition or having the predetermined characteristic;
one sub-domain is composed of coding and decoding blocks or numbers thereof belonging to the same coding tree unit;
the data to be coded and decoded is in an inter-coded frame (also called an inter-coded picture, i.e. a frame or picture allowing coding and decoding of a coded block in both an inter-coding mode and an intra-coding mode)Coding tree luminance and chrominance Brightness chroma coding tree structure with bifurcation mode fused with coding mode of coding and decoding block and coding modeAnd the value range includes a part or all of the following set represented by enumeration:
{ intra-coding mode and luma and chroma have various bifurcated structures that are common or a single coding tree,
intra coding mode and luma and chroma have respective coding tree branching structures,
intra coding mode and luminance and chrominance have various branching structures of a coding tree that are common i.e. a single trunk portion but have respective branch portions,
intra-coding modes and luminance and chrominance have various branching structures of a coding tree which are common, i.e. a single one or more quarter-branch trunk portions, but have respective one or more bifurcations or three-branch portions,
inter coding modes and luma and chroma have various branching structures that are common or a single coding tree,
inter coding modes and luminance and chrominance have various branching structures of respective coding trees,
inter-coding mode and luminance and chrominance have various branching structures of a coding tree that have in common a single trunk portion but separate branch portions,
inter-coding mode and various branching structures of coding trees having common, i.e. single, one or more, four-branched trunk portions for luminance and chrominance, but respective, one or more, two-branched or three-branched branch portions
}
A particular subrange a of the value ranges is one of:
the specific sub-range A is { the various branching structures of the intra-coding modes with luma and chroma having a common, i.e., single, coding tree }
Or the specific sub-range A is { the intra-coding mode with various branching structures of luma and chroma having respective coding trees }
Or a specific sub-range A is { the various branching structures of a coding tree for intra coding modes with luma and chroma having a common, i.e., single, trunk portion, but separate branch portions }
Or the specific sub-range a is { intra coding mode and luminance and chrominance have various bifurcation structures of a coding tree having a common, i.e., single, one or more, four-pronged trunk portion, but having respective one or more, two-pronged or three-pronged branch portions };
the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly representing or deriving the brightness and chroma coding tree structure of the coding and decoding block of a coding tree unit in a mixed mode and whether the value of the coding mode is limited in the specific sub-range A or not.
Examples of implementation or modification 12
In the encoding method or apparatus or the decoding method or apparatus of embodiment or variation example 11, a compressed data code stream at least includes a luma and chroma coding tree structure and a coding mode flag bit of a coding tree unit, where the flag bit limits values of the luma and chroma coding tree structure and the coding mode of the coding tree unit in the following manner:
if the flag bit is equal to a predetermined value (e.g., 1), the values of the coding mode and the luma _ coding tree structure of the coding tree unit are limited to the specific sub-range a.
Examples or modifications 13
In the encoding method or apparatus or the decoding method or apparatus of embodiment or variation 11, the specific sub-range a is { intra coding mode, and luminance and chrominance respectively have various branch structures of respective coding trees, that is, at least a part of the luminance coding tree and the chrominance coding tree are different }, the compressed data stream at least includes a luminance-chrominance coding tree structure and a coding mode flag bit of a coding tree unit, and the flag bit restricts values of the luminance-chrominance coding tree structure and the coding mode of the coding tree unit in the following manner:
if the flag is equal to a predetermined value (e.g., 1), all of the coding blocks in the coding tree unit adopt the intra-coding mode and at least a portion of the luma coding tree and the chroma coding tree of the coding tree unit are different.
Examples of embodiment or modification 14
In the encoding method or apparatus or the decoding method or apparatus, the original data is image or video data, each frame of the image or video is divided into coding tree units CTUs, each coding tree unit CTU is further divided into coding blocks according to a quartering or bifurcating or non-bifurcating structure of one or more recursions, and the elements of the definition domain are one of the following cases: the number of the coding and decoding block or the number thereof, or the number of the coding and decoding block consisting of two parts of the coding tree unit number and the coding and decoding block relative number, or the number of the coding and decoding block or the number thereof meeting the predetermined condition or having the predetermined characteristic, or the number of the coding and decoding block consisting of two parts of the coding tree unit number and the coding and decoding block relative number meeting the predetermined condition or having the predetermined characteristic;
one sub-domain is composed of coding and decoding blocks or numbers thereof belonging to the same coding tree unit;
the data to be coded and decoded is a multi-source motion vector predicted value of a coding and decoding block adopting an inter-frame prediction mode in an inter-frame coding image, and the value range of the multi-source motion vector predicted value comprises the following sets or a part of or the union of all the sets:
set 1= motion vector candidate set for skip sub-mode, set 2= motion vector candidate set for merge sub-mode, set 3= motion vector candidate set for recent history sub-mode, set 4= predetermined default motion vector candidate set, set 5= conventional set of motion vectors directly expressed in terms of (horizontal component, vertical component);
the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly indicating or deriving whether the value of the multi-source motion vector predicted value of a coding tree unit is limited within a specific sub-range.
Examples of embodiment or modification 15
In the encoding method or apparatus or the decoding method or apparatus, the original data is image or video data, each frame of the image or video is divided into coding tree units CTUs, each coding tree unit CTU is further divided into coding and decoding blocks according to a quartering or trisections or dichotomy or non-bifurcation structure of one or more recursions, and the elements of the definition domain are one of the following cases:
the number of the coding and decoding block or the number thereof, or the coding and decoding block number composed of the coding tree unit number and the coding and decoding block relative number, or the coding and decoding block or the number thereof meeting the predetermined condition or having the predetermined characteristic, or the coding and decoding block number composed of the coding tree unit number and the coding and decoding block relative number meeting the predetermined condition or having the predetermined characteristic;
a sub-domain is composed of coding and decoding blocks belonging to the same C coding tree units or numbers thereof, wherein C is a predetermined constant between 1 and 50;
the data to be coded and decoded is an index (also commonly referred to as an address, an index, or the like) MergeIndex, which is an integer ranging from 0 to MaxMergeIndex-1, that is, mergeIndex, that is, 0. Ltoreq. MergeIndex < MaxMergeIndex, where MaxMergeIndex is a predetermined constant, of a merge candidate list MergeCandidateList of motion vector predictors of coded and decoded blocks in an inter-coded picture using an inter prediction mode;
the value sub-range corresponding to one sub-definition domain is an integer from 0 to ctuMaxMergeIndex-1, namely MergeIndex meets the condition that MergeIndex is not less than 0 and not more than MergeIndex < ctuMaxMexMergeIndex, wherein ctuMaxMergeIndex is an integer less than or equal to MaxMergeIndex, and different sub-definition domains are allowed to have different ctuMaxMergeIndex;
the compressed data code stream contains at least one or a combination of the following information:
1) Information usable to directly or indirectly or directly and indirectly mixedly represent or derive a value of C,
2) Information that can be used to represent or derive the value of maxmergesendex directly or indirectly or a mixture of directly and indirectly,
3) Information that can be used to directly or indirectly or directly indirectly mixedly represent or derive the value of the corresponding ctumaxmergesendex for each C coding tree element.
Examples of embodiment or modification 16
In the encoding method or apparatus or the decoding method or apparatus, the original data is image or video data, each frame of the image or video is divided into strips or strip groups or tiles or tile groups or bricks or tile groups or coding tree units or coding tree unit groups or maximum coding units or maximum coding unit groups which are collectively referred to as coding blocks, each coding block is composed of one or several coding tree units, each coding tree unit is further divided into coding blocks according to a quartering or non-branching structure of one or more recursions first and a quartering or bifurcating or non-branching structure of one or more recursions first, and the elements of the definition domain are one of the following cases:
the number of the coding and decoding block or the number thereof, or the number of the coding and decoding block consisting of two parts of the coding tree unit number and the coding and decoding block relative number, or the number of the coding and decoding block or the number thereof meeting the predetermined condition or having the predetermined characteristic, or the number of the coding and decoding block consisting of two parts of the coding tree unit number and the coding and decoding block relative number meeting the predetermined condition or having the predetermined characteristic;
one sub-domain is composed of coding and decoding blocks or numbers thereof which belong to the same coding block;
the data to be coded and decoded is the division size generated by dividing the coding tree unit according to the four-fork structure of one or more recursions or the equivalent logarithm base 2 of the coding tree unit, and the range of the value of the PartSizeInBit is from
Base 2 logarithm MinCuSizeInBit of minimum size of codec block
To is that
Base 2 logarithm of the size of a coding tree unit CtuSizeInBit
Or a subset or fraction thereof,
that is, part SizeInBit is satisfied
MinCuSizeInBit ≤ partSizeInBit ≤ CtuSizeInBit
Or a subset or fraction thereof, wherein MinCuSizeInBit and CtuSizeInBit are two predetermined constants in one image or video being encoded or decoded;
the sub-range of values corresponding to a sub-domain is selected from the coding block corresponding to the sub-domain
The coding tree unit is divided into the minimum size of the generated coding and decoding block or the equivalent base 2 logarithm of the coding and decoding block according to a four-fork structure of one or more recursions
To is that
Base 2 logarithm of the size of a coding tree unit CtuSizeInBit
The integer between, i.e., partSizeInBit satisfies
crMinQtSizeInBit ≤ partSizeInBit ≤CtuSizeInBit,
Where crMinQtSizeInBit is an integer equal to or greater than MinCuSizeInBit, different sub-domains allow for different crminqtsizinbits.
Examples or modifications 17
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or modification 16, the compressed data code stream at least contains information that can be used to directly or indirectly or directly and indirectly mixedly represent or derive a value of crMinQtSizeInBit;
the directly represented or derived information consists of one or more bit strings (bit strings) in a compressed data code stream; said indirectly represented or derived information is information derived from other coding parameters and/or codec variables and/or other syntax elements of the compressed data stream; the information directly and indirectly mixedly represented or derived is information that is partially directly (i.e. consisting of one or more bit strings in the compressed data stream) and partially indirectly (i.e. derived from other coding parameters and/or codec variables and/or other syntax elements of the compressed data stream) mixedly represented or derived.
Examples or modifications 18
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or modification 17, the information directly indicating or deriving the value of crMinQtSizeInBit is the following information present in the coding block header informationCoarse italicSyntax elements of the representation:
minimum quad split size minus coding interval minimum codec Block size cr _ MinQtSizeInBit _
minus_MinCuSizeInBit
Fromcr_MinQtSizeInBit_minus_MinCuSizeInBitThe value cr _ MinQtSizeInBit _ minus _ MinCuSizeInBit calculates the value crMinQtSizeInBit and the minimum size crMinQtSize of the codec block generated by the coding tree unit being divided in a quarterworking structure of one or more recursions as follows:
crMinQtSizeInBit = MinCuSizeInBit + cr_MinQtSizeInBit_minus_MinCuSizeInBit
crMinQtSize = (1 < < crMinQtSizeInBit), where < < is a 2-bit left shift operation.
Examples or modifications 19
In the encoding method or apparatus or the decoding method or apparatus according to embodiment or variation 16, at least under the condition that the partSizeInBit is greater than the crMinQtSizeInBit, the compressed data code stream at least contains information that can be used for directly or indirectly or directly and indirectly indicating or deriving whether to perform the next quartering structure division;
the directly represented or derived information consists of one or more bit strings (bit strings) in the compressed data code stream; the indirectly represented or derived information is information derived from other coding parameters and/or codec variables and/or other syntax elements of the compressed data codestream; the information directly and indirectly mixedly represented or derived is information that is partially directly (i.e. consisting of one or more bit strings in the compressed data stream) and partially indirectly (i.e. derived from other coding parameters and/or codec variables and/or other syntax elements of the compressed data stream) mixedly represented or derived.
Examples or modifications 20
The encoding method or apparatus or the decoding method or apparatus as in embodiment or variation 19, wherein the information directly indicating or deriving whether to perform the next quartering structure division is as followsCoarse italicSyntax elements of the representation:
quad split flag qt _ split _ flag
qt_split_flagThe value qt _ split _ flag of (1) represents that the next quartering structure division is performed;qt_ split_flaga value qt _ split _ flag of '0' indicates that the quad structure division is terminated.
EXAMPLES OR VARIATIONS 21 (combination of EXAMPLES or VARIATIONS 16 to 20)
In the encoding method or apparatus or the decoding method or apparatus, the original data is image or video data, each frame of the image or video is divided into strips or strip groups or tiles or tile groups or bricks or tile groups or coding tree units or coding tree unit groups or maximum coding units or maximum coding unit groups which are collectively referred to as coding blocks, each coding block is composed of one or several coding tree units, each coding tree unit is further divided into coding blocks according to a quartering or non-branching structure of one or more recursions first and a quartering or bifurcating or non-branching structure of one or more recursions first, and the elements of the definition domain are one of the following cases:
the number of the coding and decoding block or the number thereof, or the number of the coding and decoding block consisting of two parts of the coding tree unit number and the coding and decoding block relative number, or the number of the coding and decoding block or the number thereof meeting the predetermined condition or having the predetermined characteristic, or the number of the coding and decoding block consisting of two parts of the coding tree unit number and the coding and decoding block relative number meeting the predetermined condition or having the predetermined characteristic;
one sub-domain is composed of coding and decoding blocks belonging to the same coding block or the serial numbers thereof;
the data to be coded and decoded is the division size generated by dividing the coding tree unit according to the four-fork structure of one or more recursions or the equivalent logarithm base 2 of the coding tree unit, and the range of the value of the PartSizeInBit is from
Base 2 logarithm MinCuSizeInBit of minimum size of codec block
To
Base 2 logarithm of the size of a coding tree unit CtuSizeInBit
Or a subset or fraction thereof,
i.e. that part SizeInBit is satisfied
MinCuSizeInBit ≤ partSizeInBit ≤ CtuSizeInBit
Or a subset or portion thereof, where MinCuSizeInBit and ctussizeinbit are two predetermined constants in one image or video being encoded or decoded;
the sub-range of values corresponding to a sub-domain is selected from the coding block corresponding to the sub-domain
The coding tree unit is divided into the minimum size of the generated coding and decoding block or the equivalent base 2 logarithm of the coding and decoding block according to a four-fork structure of one or more recursions
To
Base 2 logarithm of the size of a coding tree unit CtuSizeInBit
The integer between, i.e. partSizeInBit satisfies
crMinQtSizeInBit ≤ partSizeInBit ≤ CtuSizeInBit,
Wherein crMinQtSizeInBit is an integer equal to or greater than MinCuSizeInBit, and different sub-domains allow for different crMinQtSizeInBits;
the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly mixedly representing or deriving the value of the crMinQtSizeInBit;
the directly represented or derived information consists of one or more bit strings (bit strings) in a compressed data code stream; said indirectly represented or derived information is information derived from other coding parameters and/or codec variables and/or other syntax elements of the compressed data stream; the information directly and indirectly mixedly represented or derived is information partially directly (i.e. consisting of one or more bit strings in the compressed data code stream) and partially indirectly (i.e. derived from other coding parameters and/or codec variables and/or other syntax elements of the compressed data code stream) mixedly represented or derived;
the information directly representing or deriving the value of crMinQtSizeInBit is the following information present in the coding block header informationCoarse italicSyntax elements of the representation:
minimum quad split partition size minus coding interval minimum size cr _ MinQtSizeInBit _ofcoding and decoding block
minus_MinCuSizeInBit
Fromcr_MinQtSizeInBit_minus_MinCuSizeInBitThe value cr _ MinQtSizeInBit _ minus _ MinCuSizeInBit is calculated as follows, and the minimum size crMinQtSize of the codec block generated by the coding tree unit being divided in a quarterworking structure of one or more recursions is:
crMinQtSizeInBit = MinCuSizeInBit + cr_MinQtSizeInBit_minus_MinCuSizeInBit
crMinQtSize = (1 < < crMinQtSizeInBit), where < < is a 2-bit left shift operation.
At least under the condition that the partSizeInBit is larger than the crMinQtSizeInBit, the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly indicating or deriving whether to divide the next four-forked structure;
the directly represented or derived information consists of one or more bit strings (bit strings) in a compressed data code stream; said indirectly represented or derived information is information derived from other coding parameters and/or codec variables and/or other syntax elements of the compressed data stream; the information directly and indirectly mixedly represented or derived is information that is partially directly (i.e., composed of one or more bit strings in the compressed data code stream) and partially indirectly (i.e., derived from other encoding parameters and/or codec variables and/or other syntax elements of the compressed data code stream) mixedly represented or derived;
said information directly indicating or deriving whether to proceed with the next quartering structure division is as followsCoarse italicSyntax elements of the representation:
quad split flag qt _ split _ flag
qt_split_flagThe value qt _ split _ flag of (1) represents that the next quartering structure division is performed;qt_ split_flaga value qt _ split _ flag of '0' indicates that the quad structure division is terminated.
Examples of embodiment or modification 22
In the encoding method or apparatus or the decoding method or apparatus, the original data is image or video data, each frame of the image or video is divided into strips or strip groups or slice blocks or slice groups or brick blocks or brick block groups or coding tree units or coding tree unit groups or maximum coding units or maximum coding unit groups which are collectively called coding blocks, each coding block is composed of one or several coding tree units, each coding tree unit is further divided into coding and decoding blocks, and the element of the definition domain is one of the following cases:
the number of the coding and decoding block or the number thereof, or the number of the coding and decoding block consisting of two parts of the coding tree unit number and the coding and decoding block relative number, or the number of the coding and decoding block or the number thereof meeting the predetermined condition or having the predetermined characteristic, or the number of the coding and decoding block consisting of two parts of the coding tree unit number and the coding and decoding block relative number meeting the predetermined condition or having the predetermined characteristic;
one sub-domain is composed of coding and decoding blocks belonging to the same coding block or the serial numbers thereof;
data to be coded/decoded is an offset set _ mvd _ offset in units of a quarter pixel, a half pixel, or a whole pixel of a motion vector difference mvd in the set mode of a coded/decoded block having a motion vector mv, and the range of the offset set _ mvd _ offset is R = { 2= i : i=0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
The sub-range of values corresponding to a sub-domain is R 0 ={2 i I =0, 1,2, 3, 4, 5, 6, 7} or R 1 ={2 i I =2, 3, 4, 5, 6, 7, 8, 9}, different sub-definition domains are allowed to have different value sub-ranges;
the following uses exist in the coding block header information of the compressed data code streamCoarse italicThe syntax elements of the representation represent or within which sub-range the values of the data corresponding to the elements of the coding block are restricted:
coded block merge motion vector difference offset flag cr _ merge _ mvd _ offset _ flag
cr_merge_mvd_offset_flagThe value cr _ merge _ mvd _ offset _ flag of "1" indicates that the sub-range of values of the data corresponding to the elements of the coding block is R 1 (ii) a A cr _ merge _ mvd _ offset _ flag value of '0' indicates that a sub-range of values of data corresponding to elements of the coding block is R 0 。
Examples of embodiment or variations 23
In the encoding method or apparatus or the decoding method or apparatus, the original data is image or video data, each frame of the image or video is divided into strips or strip groups or slice blocks or slice groups or brick blocks or brick block groups or coding tree units or coding tree unit groups or maximum coding units or maximum coding unit groups which are collectively called coding blocks, each coding block is composed of one or several coding tree units, each coding tree unit is further divided into coding and decoding blocks, and the element of the definition domain is one of the following cases:
the number of the coding and decoding block or the number thereof, or the coding and decoding block number composed of the coding tree unit number and the coding and decoding block relative number, or the coding and decoding block or the number thereof meeting the predetermined condition or having the predetermined characteristic, or the coding and decoding block number composed of the coding tree unit number and the coding and decoding block relative number meeting the predetermined condition or having the predetermined characteristic;
one sub-domain is composed of coding and decoding blocks belonging to the same coding block or the serial numbers thereof;
the data to be coded and decoded is interpolation weight when a predicted value of intra prediction is calculated, and the value range is R = { k is 0 ≦ k ≦ 31};
the sub-range of values corresponding to a sub-domain is R 0 K =0 or R 1 = R, different sub-domains are allowed to have different value sub-ranges;
the following uses exist in the coding block header information of the compressed data code streamCoarse italicThe syntax elements of the representation represent or within which sub-range the values of the data corresponding to the elements of the coding block are restricted:
intra prediction interpolation flag cr _ intra _ pred _ interpolation _ flag for coded block
cr_intra_pred_interpolation_flagThe value cr _ intra _ pred _ interpolation _ flag of "1" indicates that the sub-range of values of the data corresponding to the elements of the coded block is R 1 Namely, actually carrying out interpolation operation; a cr _ intra _ pred _ interpolation _ flag value of '0' indicates that a value sub-range of data corresponding to elements of the coding block is R 0 I.e. no interpolation is actually performed.
Examples of implementation or modification 24
In the encoding method or apparatus or the decoding method or apparatus, the original data is image or video data, each frame of the image or video is divided into strips or strip groups or slice blocks or slice groups or brick blocks or brick block groups or coding tree units or coding tree unit groups or maximum coding units or maximum coding unit groups which are collectively called coding blocks, each coding block is composed of one or several coding tree units, each coding tree unit is further divided into coding and decoding blocks, and the element of the definition domain is one of the following cases:
the number of the coding and decoding block or the number thereof, or the coding and decoding block number composed of the coding tree unit number and the coding and decoding block relative number, or the coding and decoding block or the number thereof meeting the predetermined condition or having the predetermined characteristic, or the coding and decoding block number composed of the coding tree unit number and the coding and decoding block relative number meeting the predetermined condition or having the predetermined characteristic;
one sub-domain is composed of coding and decoding blocks belonging to the same coding block or the serial numbers thereof;
data to be coded and decoded is a chroma residual component transformation coefficient, i.e., a coefficient used when one component of a chroma residual is transformed into another component, and the value range thereof is R = {1, -1};
the sub-range of values corresponding to a sub-domain is R 0 =1 or R 1 =1, different sub-domains are allowed to have different value sub-ranges;
the following uses exist in the coding block header information of the compressed data code streamCoarse italicThe syntax elements of the representation represent or within which sub-range the values of the data corresponding to the elements of the coding block are restricted:
coded block chroma residual component transform coefficient flag cr _ chroma _ resi _ comp _ trans _ coeff _ flag
cr_chroma_resi_comp_trans_coeff_flagThe value cr _ chroma _ resi _ comp _ trans _ coeff _ flag of "0" indicates that the sub-range of values of the data corresponding to the elements of the coded block is R 0 I.e. the transform coefficients of the chrominance residual component are1; cr _ chroma _ resi _ comp _ trans _ coeff _ flag being '1' indicates that the sub-range of values of the data corresponding to the elements of the coding block is R 1 I.e., the chrominance residual component transform coefficient is-1.
Embodiment or variant example 25
In the encoding method or apparatus or the decoding method or apparatus, the original data is image or video data, each frame of the image or video is divided into strips or strip groups or slice blocks or slice groups or brick blocks or brick block groups or coding tree units or coding tree unit groups or maximum coding units or maximum coding unit groups which are collectively called coding blocks, each coding block is composed of one or several coding tree units, each coding tree unit is further divided into coding and decoding blocks, and the element of the definition domain is one of the following cases:
the number of the coding and decoding block or the number thereof, or the coding and decoding block number composed of the coding tree unit number and the coding and decoding block relative number, or the coding and decoding block or the number thereof meeting the predetermined condition or having the predetermined characteristic, or the coding and decoding block number composed of the coding tree unit number and the coding and decoding block relative number meeting the predetermined condition or having the predetermined characteristic;
one sub-domain is composed of coding and decoding blocks belonging to the same coding block or the serial numbers thereof;
the data to be coded and decoded is a component conversion mode after a predetermined chroma residual inverse component conversion is carried out, and the value range of the data is R = { the Cb-Cr is not converted after the chroma residual inverse component conversion, and the Cb-Cr is converted after the chroma residual inverse component conversion };
the sub-range of values corresponding to a sub-domain is R 0 = { Cb-Cr is not converted after chroma residual inverse component conversion } or R 1 = { Cb-Cr conversion after inverse component transformation of chroma residual }, different sub-domains are allowed to have different value sub-ranges;
the following uses exist in the coding block header information of the compressed data code streamCoarse italicThe syntax elements represented represent or lead to which sub-range the values of the data corresponding to the elements of the coding block are restricted:
inverse transform flag cr _ chroma _ resi _ post-inv-comp after chroma residual of coded block is transformed
tran_exchange_flag
cr_chroma_resi_post-inv-comp-tran_exchange_flagThe value cr _ chroma _ resi _ post-inv-comp-tran _ exchange _ flag of '0' indicates that the sub-range of values of the data corresponding to the elements of the coded block is R 0 Namely, cb-Cr is not exchanged after the chroma residual inverse component is transformed; a value of cr _ chroma _ resi _ post-inv-comp-tran _ exchange _ flag of '1' indicates that a sub-range of values of data corresponding to elements of the coded block is R 1 Namely Cb-Cr conversion after the chroma residual reverse component conversion.
Claims (44)
1. An encoding method for compressing a sequence of images, characterized in that it comprises at least the following steps:
1) Each coding tree unit in the image sequence is divided into coding blocks according to a quartering or non-bifurcation structure with one or more recursions first and a trisections or dichotomy or non-bifurcation structure with one or more recursions first, the size of division generated by dividing the coding tree unit according to the quartering structure with one or more recursions, namely the width or the height is a power of 2 and is expressed by logarithm part SizeInBit taking 2 as a base, and the value range R of the part SizeInBit is specified for the image sequence in the current coding
Base 2 logarithm of minimum size of a coding block, minCuSizeInBit
To
Base 2 logarithm of the size of a coding tree unit CtuSizeInBit
Or a subset or fraction thereof,
i.e. that part SizeInBit is satisfied
MinCuSizeInBit ≤ partSizeInBit ≤ CtuSizeInBit
Or a subset or a fraction thereof, wherein MinCuSizeInBit and ctussizeinbit are two predetermined constants in the image sequence;
2) When a frame image or a slice or a tile in the image sequence is coded, the range of values of the partSizeInBit in the image or the slice or the tile is a value range of the value range R specified as follows: from
The coding tree unit is divided into the least-sized base-2 logarithm of the resulting partitions, crMinQtSizeInBit, according to a quarterworking structure of one or more recursions
To
Base 2 logarithm of the size of a coding tree unit CtuSizeInBit
The integer between, i.e. partSizeInBit satisfies
crMinQtSizeInBit ≤ partSizeInBit ≤ CtuSizeInBit,
Wherein crMinQtSizeInBit is an integer equal to or greater than MinCuSizeInBit, allowing each of said images or said strips or said tiles to have a respective crminqtsizinbit;
3) Generating a compressed data code stream at least containing information usable for directly or indirectly or directly and indirectly mixedly representing or deriving respective value subranges of each of the images or the stripes or the tiles.
2. The encoding method according to claim 1, wherein:
the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly mixedly representing or deriving the value of the crMinQtSizeInBit;
the information directly representing or deriving the value of crMinQtSizeInBit consists of one or more bit strings, i.e. bit strings, in the compressed data stream; said information indirectly representing or deriving a value of crMinQtSizeInBit is information derived from other coding parameters and/or coding variables and/or other syntax elements of the compressed data stream; the information directly and indirectly mixedly representing or deriving the value of crMinQtSizeInBit is information that is partly directly, i.e. composed of one or more bit strings in the compressed data stream, and partly indirectly, i.e. mixedly representing or deriving from other coding parameters and/or coding variables and/or other syntax elements of the compressed data stream.
3. The encoding method according to claim 2, wherein:
the information directly representing or deriving the value of crMinQtSizeInBit is the following syntax elements present in the header information of each of the pictures or the slices or the tiles, collectively referred to as a coding block:
minimum four-pronged partition size of coding block minus minimum size of coding/decoding block cr _ MinQtSizeInBit _ minus _ MinCuSizeInBit
The way to calculate the value of crMinQtSizeInBit from the value of cr _ minqtsizinbit _ minus _ MinCuSizeInBit cr _ minqtsizinbit minus _ MinCuSizeInBit and the minimum size of the partition crMinQtSize resulting from the coding tree unit being partitioned in a quarterworking structure for one or more recursions is as follows:
crMinQtSizeInBit = MinCuSizeInBit + cr_MinQtSizeInBit_minus_MinCuSizeInBit
crMinQtSize = (1 < < crMinQtSizeInBit), where < < is a 2-bit left shift operation.
4. The encoding method according to claim 1, wherein:
at least when the partSizeInBit is larger than the crMinQtSizeInBit, the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly indicating or deriving whether to carry out next four-fork structure division;
the information directly representing or deriving whether to perform next four-fork structure division consists of one or more bit strings in a compressed data code stream; the information indirectly representing or deriving whether to perform next quartering structure division is information derived from other coding parameters and/or coding variables and/or other syntax elements of the compressed data code stream; the information directly and indirectly indicating or deriving whether to perform next quartering structure division is information which is partly directly, i.e. composed of one or more bit strings in the compressed data code stream, and partly indirectly, i.e. derived from other coding parameters and/or coding variables and/or other syntax elements of the compressed data code stream, and mixedly indicates or derives.
5. The encoding method according to claim 4, wherein:
the information directly representing or deriving whether to proceed with the next quarterwave structure partitioning is the following syntax element:
quad split flag qt _ split _ flag
The value qt _ split _ flag of qt _ split _ flag is '1' to indicate that the next quartering structure division is performed; a value qt _ split _ flag of '0' represents that the four-pronged structure division is terminated.
6. A coding method for compressing a sequence of images, characterized in that it comprises at least the following steps:
1) Each coding tree unit in the image sequence is divided into coding blocks according to a quartering or non-bifurcation structure with one or more recursions firstly and a trisectional or dichotomous or non-bifurcation structure with one or more recursions secondly, the size of division generated by dividing the coding tree unit according to the quartering structure with one or more recursions, namely the width or the height is a power of 2 and is expressed by a logarithm part SizeInBit with a base 2, and the value range R of the part SizeInBit is specified from the following value range R of the image sequence in the current coding
Base 2 logarithm of minimum size of coding block, minCuSizeInBit
To
Base 2 logarithm of the size of a coding tree unit CtuSizeInBit
Or a subset or fraction thereof,
i.e. that part SizeInBit is satisfied
MinCuSizeInBit ≤ partSizeInBit ≤ CtuSizeInBit
Or a subset or a fraction thereof, wherein MinCuSizeInBit and ctussizeinbit are two predetermined constants in the image sequence;
2) When a frame of image or a slice or a tile in the image sequence is encoded, the range of values of the partSizeInBit in the image or the slice or the tile is a value sub-range specified as follows of the value range R: from
The coding tree unit is divided into the least-sized base-2 logarithm of the resulting partitions, crMinQtSizeInBit, according to a quarterworking structure of one or more recursions
To is that
Base 2 logarithm of the size of a coding tree unit CtuSizeInBit
The integer between, i.e., partSizeInBit satisfies
crMinQtSizeInBit ≤ partSizeInBit ≤ CtuSizeInBit,
Wherein crMinQtSizeInBit is an integer equal to or greater than MinCuSizeInBit, allowing each of said images or said strips or said tiles to have a respective crminqtsizinbit;
3) Generating a compressed data code stream at least containing information which can be used for directly or indirectly or directly and indirectly mixedly representing or deriving the respective value sub-ranges of the images or the strips or the tiles;
the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly mixedly representing or deriving the value of the crMinQtSizeInBit;
the information directly representing or deriving the value of crMinQtSizeInBit consists of one or more bit strings, i.e. bit strings, in the compressed data stream; said information indirectly representing or deriving a value of crMinQtSizeInBit is information derived from other coding parameters and/or coding variables and/or other syntax elements of the compressed data stream; the information directly and indirectly mixedly representing or deriving the value of the crMinQtSizeInBit is information that is partly directly, i.e., composed of one or more bit strings in the compressed data code stream, and partly indirectly, i.e., mixedly representing or deriving from other coding parameters and/or coding variables and/or other syntax elements of the compressed data code stream;
the information directly representing or deriving the value of crMinQtSizeInBit is the following syntax elements present in the header information of each of the pictures or the slices or the chunks, collectively referred to as coding blocks:
minimum four-branch partition size of coding block minus minimum size cr _ MinQtSizeInBit _ minus _ MinCuSizeInBit of coding and decoding block
The way to calculate the value of crMinQtSizeInBit from the value of cr _ minqtsizinbit _ minus _ MinCuSizeInBit cr _ minqtsizinbit minus _ MinCuSizeInBit and the minimum size of the partition crMinQtSize resulting from the coding tree unit being partitioned in a quarterworking structure for one or more recursions is as follows:
crMinQtSizeInBit = MinCuSizeInBit + cr_MinQtSizeInBit_minus_MinCuSizeInBit
crMinQtSize = (1 < < crMinQtSizeInBit), where < < is a 2-bit left shift operation;
at least when the partSizeInBit is larger than the crMinQtSizeInBit, the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly mixed representing or deriving whether to carry out next four-fork structure division;
the information directly representing or deriving whether to perform next four-fork structure division consists of one or more bit strings in a compressed data code stream; the information indirectly representing or deriving whether to perform next quartering structure division is information derived from other coding parameters and/or coding variables and/or other syntax elements of the compressed data code stream; the information directly and indirectly indicating or deriving whether to perform next four-fork structure division is information which is partially directly, namely, is composed of one or more bit strings in the compressed data code stream, and is partially indirectly, namely, derived from other coding parameters and/or coding variables and/or other syntax elements of the compressed data code stream, and is mixedly indicated or derived;
the information directly representing or deriving whether to proceed with the next quarterwave structure partitioning is the following syntax element:
quad split flag qt _ split _ flag
The value qt _ split _ flag of qt _ split _ flag is '1' to indicate that the next quartering structure division is performed; a value qt _ split _ flag of '0' represents that the four-pronged structure division is terminated.
7. The encoding method according to any one of claims 1 to 6, wherein said encoded block is a coded region of a picture, including the following cases: macroblock, largest coding unit LCU, coding tree unit CTU, coding unit CU, sub-region of CU, sub-coding unit SubCU, prediction unit PU, sub-region of PU, sub-prediction unit SubPU, transform unit TU, sub-region of TU, sub-transform unit SubTU.
8. A coding method for compressing a sequence of images, characterized in that it comprises at least the following steps:
1) The coding object is an offset unit, namely, a quarter pixel, a half pixel or a whole pixel of a motion vector difference mvd of a coding block with a motion vector mv in a merge mode when an image sequence is coded, and the value range of the offset unit is R = { 2= i : i=0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
2) When encoding a frame of picture or a slice or a tile of the sequence of pictures, specifying that the range of values of the merge _ mvd _ offset in the picture or the slice or the tile is a sub-range R of the range of values R 0 ={2 i I =0, 1,2, 3, 4, 5, 6, 7} or another value subrange R 1 ={2 i I =2, 3, 4, 5, 6, 7, 8, 9}, allowing each of said images or said strips or said tiles to have a respective sub-range of values;
3) The following syntax elements are present in the header information of each of the pictures or the slices or the tiles, collectively referred to as a coding block, of the compressed data stream to indicate or derive within which sub-range of values the merge _ mvd _ offset within the coding block is restricted:
coded block merge motion vector difference offset flag cr _ merge _ mvd _ offset _ flag
A value cr _ merge _ mvd _ offset _ flag of '1' indicates that the sub-range of values of merge _ mvd _ offset of the coding block is R 1 (ii) a A cr _ merge _ mvd _ offset _ flag of '0' indicates that the sub-range of values of merge _ mvd _ offset of the coding block is R 0 。
9. A coding method for compressing a sequence of images, characterized in that it comprises at least the following steps:
1) The encoding object is an interpolation weight when a predicted value of intra prediction is calculated when an image sequence is encoded, and the value range of the interpolation weight is R = { k is 0 ≦ k ≦ 31};
2) When a frame of image or a slice or a tile in the image sequence is encoded, it is specified that a value range of the interpolation weight in the image or the slice or the tile is a value sub-range R of the value range R 0 K =0 or another value subrange R 1 = R, allowing each of said images or said strips or said tiles to have a respective sub-range of values;
3) The following syntax elements are present in the header information of each of the pictures or the slices or the tiles, collectively referred to as a coding block, of the compressed data stream to indicate or derive within which sub-range of values the values of the interpolation weights within the coding block are restricted:
intra prediction interpolation flag cr _ intra _ pred _ interpolation _ flag for coded block
A value cr _ intra _ pred _ interpolation _ flag of '1' indicates that a sub-range of values of the interpolation weights within the encoding block is R 1 Namely, actually carrying out interpolation operation; a cr _ intra _ pred _ interpolation _ flag value of '0' indicates that a sub-range of values of the interpolation weights in the coding block is R 0 I.e. no interpolation is actually performed.
10. An encoding method for compressing a sequence of images, characterized in that it comprises at least the following steps:
1) The encoding target is a chroma residual component transformation coefficient used when one component of a chroma residual is transformed into another component during the encoding of an image sequence, and the value range of the chroma residual component transformation coefficient is R = {1, -1};
2) When encoding a frame of a picture or a slice of a slice or a tile of said sequence of pictures, specifying said picture or said slice or said tile within said sliceThe value range of the chroma residual component transformation coefficient is a value sub-range R of the value range R 0 =1 or another value subrange R 1 -1, allowing each of said images or said slices or said tiles to have a respective sub-range of values;
3) The following syntax elements are present in header information of each of the pictures or the slices or the tiles of the compressed data code stream, collectively referred to as a coding block, to indicate or derive within which sub-range the values of the chroma residual component transform coefficients of the coding block are restricted:
coded block chroma residual component transform coefficient flag cr _ chroma _ resi _ comp _ trans _ coeff _ flag
A value cr _ chroma _ resi _ comp _ trans _ coeff _ flag of '0' indicates that the sub-range of values of the chroma residual component transform coefficients within the coded block is R 0 Namely the chroma residual component transformation coefficient is 1; cr _ chroma _ resi _ comp _ trans _ coeff _ flag being '1' means that the sub-range of the transform coefficients of the chroma residual component in the encoded block is R 1 I.e., the chrominance residual component transform coefficient is-1.
11. A coding method for compressing a sequence of images, characterized in that it comprises at least the following steps:
1) The encoding object is a component conversion mode in chrominance residual component conversion during image sequence encoding, and the value range of the encoding object is R = { component Cb is not converted with component Cr, and component Cb is converted with component Cr };
2) When a frame of image or a slice or a tile or a coding tree unit or a coding unit in the image sequence is coded, it is specified that a value range of the component conversion mode in the image or the slice or the tile or the coding tree unit or the coding unit is a value sub-range R of the value range R 0 = { component Cb is not swapped with component Cr } or another value subrange R 1 = { component Cb is mapped to component Cr }, allowing each of said pictures or said slices or said tiles or said coding tree unitsThe coding units have respective value sub-ranges;
3) At least information which can be used for directly or indirectly or directly and indirectly mixedly representing or deriving each image or the stripe or the slice or the coding tree unit or the coding unit, and in which sub-range the value of the component conversion mode in each image or the stripe or the slice or the coding tree unit or the coding unit is limited exists in header information of each image or the stripe or the slice or the coding tree unit or the coding unit of a compressed data code stream;
the information directly representing or deriving in which sub-range the value of each of the pictures or the slices or the tiles or the coding tree units or the component swapping patterns within the coding units is restricted consists of one or more bit strings, i.e. bit strings, in a compressed data code stream; said information indirectly representing or deriving in which sub-range the value of each said picture or said slice or said tile or said coding tree unit or said component transposition mode within said coding unit is restricted is information derived from other coding parameters and/or coding variables and/or other syntax elements of the compressed data stream; the information indicating or deriving in a mixed manner directly or indirectly in which sub-range the value of each picture or slice or coding tree unit or component transposition mode within the coding unit is restricted is partly directly, i.e. consisting of one or more bit strings in the compressed data stream, partly indirectly, i.e. derived from other coding parameters and/or coding variables and/or other syntax elements of the compressed data stream, information indicating or deriving in a mixed manner.
12. An encoding device for compressing a sequence of images, characterized in that it comprises at least the following modules:
1) Each coding tree unit in the image sequence is divided into coding blocks according to a quartering or non-bifurcation structure with one or more recursions firstly and a trisectional or dichotomous or non-bifurcation structure with one or more recursions secondly, the size of division generated by dividing the coding tree unit according to the quartering structure with one or more recursions, namely the width or the height is a power of 2 and is expressed by a logarithm part SizeInBit with a base 2, and the value range R of the part SizeInBit is specified from the following value range R of the image sequence in the current coding
Base 2 logarithm of minimum size of a coding block, minCuSizeInBit
To is that
Base 2 logarithm of the size of a coding tree unit CtuSizeInBit
Or a subset or fraction thereof,
that is, part SizeInBit is satisfied
MinCuSizeInBit ≤ partSizeInBit ≤ CtuSizeInBit
Or a subset or a fraction thereof, wherein MinCuSizeInBit and ctussizeinbit are two predetermined constants in the image sequence;
2) When a frame of image or a slice or a tile in the image sequence is encoded, the range of values of the partSizeInBit in the image or the slice or the tile is a value sub-range specified as follows of the value range R: from
The coding tree unit is divided into the least-sized base-2 logarithm of the resulting partitions, crMinQtSizeInBit, according to a quarterworking structure of one or more recursions
To
Base 2 logarithm of the size of a coding tree unit CtuSizeInBit
The integer between, i.e. partSizeInBit satisfies
crMinQtSizeInBit ≤ partSizeInBit ≤ CtuSizeInBit,
Wherein crMinQtSizeInBit is an integer equal to or greater than MinCuSizeInBit, allowing each of said images or said strips or said tiles to have a respective crMinQtSizeInBit;
3) Generating a compressed data code stream at least containing information usable for directly or indirectly or directly and indirectly mixedly representing or deriving respective value subranges of each of the images or the stripes or the tiles.
13. The encoding device according to claim 12, wherein:
the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly mixedly representing or deriving the value of the crMinQtSizeInBit;
the information directly representing or deriving the value of crMinQtSizeInBit consists of one or more bit strings, i.e., bit strings, in the compressed data codestream; said information indirectly representing or deriving a value of crMinQtSizeInBit is information derived from other coding parameters and/or coding variables and/or other syntax elements of the compressed data stream; the information directly and indirectly mixedly representing or deriving the value of crMinQtSizeInBit is information that is partly directly, i.e. composed of one or more bit strings in the compressed data stream, and partly indirectly, i.e. mixedly representing or deriving from other coding parameters and/or coding variables and/or other syntax elements of the compressed data stream.
14. The encoding apparatus according to claim 13, wherein:
the information directly representing or deriving the value of crMinQtSizeInBit is the following syntax elements present in the header information of each of the pictures or the slices or the chunks, collectively referred to as coding blocks:
minimum four-branch partition size of coding block minus minimum size cr _ MinQtSizeInBit _ minus _ MinCuSizeInBit of coding and decoding block
The way to calculate the value of crMinQtSizeInBit from the value of cr _ minqtsizinbit _ minus _ MinCuSizeInBit cr _ minqtsizinbit minus _ MinCuSizeInBit and the minimum size of the partition crMinQtSize resulting from the coding tree unit being partitioned in a quarterworking structure for one or more recursions is as follows:
crMinQtSizeInBit = MinCuSizeInBit + cr_MinQtSizeInBit_minus_MinCuSizeInBit
crMinQtSize = (1 < < crMinQtSizeInBit), where < < is a 2-bit left shift operation.
15. The encoding apparatus according to claim 12, wherein:
at least when the partSizeInBit is larger than the crMinQtSizeInBit, the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly indicating or deriving whether to carry out next four-fork structure division;
the information directly representing or deriving whether to carry out next four-fork structure division consists of one or more bit strings in a compressed data code stream, namely bit strings; the information indirectly representing or deriving whether to perform next quartering structure division is information derived from other coding parameters and/or coding variables and/or other syntax elements of the compressed data code stream; the information directly and indirectly indicating or deriving whether to perform next quartering structure division is information which is partly directly, i.e. composed of one or more bit strings in the compressed data code stream, and partly indirectly, i.e. derived from other coding parameters and/or coding variables and/or other syntax elements of the compressed data code stream, and mixedly indicates or derives.
16. The encoding device according to claim 15, wherein:
the information directly representing or deriving whether to do the next quartering structure partitioning is the following syntax elements:
quad split flag qt _ split _ flag
The value qt _ split _ flag of qt _ split _ flag is '1' to indicate that the next quartering structure division is performed; a value qt _ split _ flag of '0' represents that the four-pronged structure division is terminated.
17. An encoding device for compressing a sequence of images, characterized in that it comprises at least the following modules:
1) Each coding tree unit in the image sequence is divided into coding blocks according to a quartering or non-bifurcation structure with one or more recursions first and a trisections or dichotomy or non-bifurcation structure with one or more recursions first, the size of division generated by dividing the coding tree unit according to the quartering structure with one or more recursions, namely the width or the height is a power of 2 and is expressed by logarithm part SizeInBit taking 2 as a base, and the value range R of the part SizeInBit is specified for the image sequence in the current coding
Base 2 logarithm of minimum size of a coding block, minCuSizeInBit
To
Base 2 logarithm of the size of a coding tree unit CtuSizeInBit
Or a subset or fraction thereof,
that is, part SizeInBit is satisfied
MinCuSizeInBit ≤ partSizeInBit ≤ CtuSizeInBit
Or a subset or a fraction thereof, wherein MinCuSizeInBit and ctussizeinbit are two predetermined constants in the image sequence;
2) When a frame of image or a slice or a tile in the image sequence is encoded, the range of values of the partSizeInBit in the image or the slice or the tile is a value sub-range specified as follows of the value range R: from
The coding tree unit is divided into the least-sized base-2 logarithm of the resulting partitions, crMinQtSizeInBit, according to a quarterworking structure of one or more recursions
To
Base 2 logarithm of the size of a coding tree unit CtuSizeInBit
The integer between, i.e. partSizeInBit satisfies
crMinQtSizeInBit ≤ partSizeInBit ≤ CtuSizeInBit,
Wherein crMinQtSizeInBit is an integer equal to or greater than MinCuSizeInBit, allowing each of said images or said strips or said tiles to have a respective crminqtsizinbit;
3) Generating a compressed data code stream at least containing information which can be used for directly or indirectly or directly and indirectly mixedly representing or deriving the respective value sub-ranges of the images or the strips or the tiles;
the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly mixedly representing or deriving the value of the crMinQtSizeInBit;
the information directly representing or deriving the value of crMinQtSizeInBit consists of one or more bit strings, i.e., bit strings, in the compressed data codestream; said information indirectly representing or deriving a value of crMinQtSizeInBit is information derived from other coding parameters and/or coding variables and/or other syntax elements of the compressed data stream; the information directly and indirectly representing or deriving the value of crMinQtSizeInBit is information partially directly, i.e., composed of one or more bit strings in the compressed data code stream, and partially indirectly, i.e., derived from other coding parameters and/or coding variables and/or other syntax elements of the compressed data code stream, and mixedly representing or deriving;
the information directly representing or deriving the value of crMinQtSizeInBit is the following syntax elements present in the header information of each of the pictures or the slices or the tiles, collectively referred to as a coding block:
minimum four-branch partition size of coding block minus minimum size cr _ MinQtSizeInBit _ minus _ MinCuSizeInBit of coding and decoding block
The values of crMinQtSizeInBit and the partitioned minimum size crMinQtSize that the coding tree unit is partitioned in one or more recursive quartering structures are calculated from the values of cr _ minqtzeinbit _ minus _ MinCuSizeInBit cr _ minqsizeinbit min _ minus _ MinCuSizeInBit as follows:
crMinQtSizeInBit = MinCuSizeInBit + cr_MinQtSizeInBit_minus_MinCuSizeInBit
crMinQtSize = (1 < < crMinQtSizeInBit), where < < is a 2-bit left shift operation;
at least when the partSizeInBit is larger than the crMinQtSizeInBit, the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly mixed representing or deriving whether to carry out next four-fork structure division;
the information directly representing or deriving whether to carry out next four-fork structure division consists of one or more bit strings in a compressed data code stream, namely bit strings; the information indirectly representing or deriving whether to perform the next quartering structure division is information derived from other coding parameters and/or coding variables and/or other syntax elements of the compressed data code stream; the information directly and indirectly mixedly representing or deriving whether to carry out next quartering structure division is information which is partly directly, namely composed of one or more bit strings in the compressed data code stream, and partly indirectly, namely derived from other coding parameters and/or coding variables and/or other syntax elements of the compressed data code stream, mixedly represented or derived;
the information directly representing or deriving whether to proceed with the next quarterwave structure partitioning is the following syntax element:
quad split flag qt _ split _ flag
The value qt _ split _ flag of qt _ split _ flag is '1' to indicate that the next quartering structure division is performed; a value qt _ split _ flag of '0' indicates that the four-pronged structure division is terminated.
18. The encoding apparatus according to any one of claims 12 to 17, wherein said encoded block is a coded region of a picture, including the following cases: macroblock, largest coding unit LCU, coding tree unit CTU, coding unit CU, sub-region of CU, sub-coding unit SubCU, prediction unit PU, sub-region of PU, sub-prediction unit SubPU, transform unit TU, sub-region of TU, sub-transform unit SubTU.
19. An encoding device for compressing a sequence of images, characterized in that it comprises at least the following modules:
1) The coding object is an offset unit, namely, a quarter pixel, a half pixel or a whole pixel of a motion vector difference mvd of a coding block with a motion vector mv in a merge mode when an image sequence is coded, and the value range of the offset unit is R = { 2= i : i=0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
2) When encoding a frame of picture or a slice or a tile of the sequence of pictures, specifying that the range of values of the merge _ mvd _ offset in the picture or the slice or the tile is a sub-range of values R of the range of values R 0 ={2 i I =0, 1,2, 3, 4, 5, 6, 7} or another value sub-rangeEnclose R 1 ={2 i I =2, 3, 4, 5, 6, 7, 8, 9}, allowing each of said images or said strips or said tiles to have a respective sub-range of values;
3) The following syntax elements are present in the header information of each of the pictures or the slices or the tiles, collectively referred to as a coding block, of the compressed data stream to indicate or derive within which sub-range of values the merge _ mvd _ offset within the coding block is limited:
coded block merge motion vector difference offset flag cr _ merge _ mvd _ offset _ flag
A value cr _ merge _ mvd _ offset _ flag of '1' indicates that the sub-range of values of merge _ mvd _ offset of the coding block is R 1 (ii) a A cr _ merge _ mvd _ offset _ flag of '0' indicates that the sub-range of values of merge _ mvd _ offset of the coding block is R 0 。
20. An encoding device for compressing a sequence of images, characterized in that it comprises at least the following modules:
1) The encoding object is an interpolation weight when a predicted value of intra prediction is calculated when an image sequence is encoded, and the value range of the interpolation weight is R = { k is 0 ≦ k ≦ 31};
2) When a frame of image or a slice or a tile in the image sequence is encoded, the value range of the interpolation weight in the image or the slice or the tile is a value sub-range R of the value range R 0 K =0 or another value subrange R 1 = R, allowing each of said images or said strips or said tiles to have a respective sub-range of values;
3) The following syntax elements are present in the header information of each of the pictures or the slices or the tiles, collectively referred to as a coding block, of the compressed data stream to indicate or derive within which sub-range of values the values of the interpolation weights within the coding block are restricted:
intra prediction interpolation flag cr _ intra _ pred _ interpolation _ flag for coded block
Of cr _ intra _ pred _ interpolation _ flagA value cr _ intra _ pred _ interpolation _ flag of '1' indicates that the sub-range of values of the interpolation weights within the coding block is R 1 Namely actually carrying out interpolation operation; a cr _ intra _ pred _ interpolation _ flag value of '0' indicates that a sub-range of values of the interpolation weights in the coding block is R 0 I.e. no interpolation is actually performed.
21. An encoding device for compressing a sequence of images, characterized in that it comprises at least the following modules:
1) The encoding target is a chroma residual component transformation coefficient used when one component of a chroma residual is transformed into another component during the encoding of an image sequence, and the value range of the chroma residual component transformation coefficient is R = {1, -1};
2) When a frame of image or a slice or a tile in the image sequence is coded, the value range of the chroma residual component transformation coefficient in the image or the slice or the tile is a value sub-range R of the value range R 0 =1 or another value subrange R 1 -1, allowing each of said images or said slices or said tiles to have a respective sub-range of values;
3) The following syntax elements are present in header information of each of the pictures or the slices or the chunks of the compressed data stream, which are collectively referred to as a coding block, to indicate or derive a sub-range within which a value of the chroma residual component transform coefficient of the coding block is limited:
coded block chroma residual component transform coefficient flag cr _ chroma _ resi _ comp _ trans _ coeff _ flag
A value cr _ chroma _ resi _ comp _ trans _ coeff _ flag of '0' indicates that a sub-range of values of the chroma residual component transform coefficients within the encoded block is R 0 Namely the chroma residual component transformation coefficient is 1; cr _ chroma _ resi _ comp _ trans _ coeff _ flag being '1' indicates that the sub-range of values of the chroma residual component transform coefficients within the coded block is R 1 I.e., the chrominance residual component transform coefficient is-1.
22. An encoding device for compressing a sequence of images, characterized in that it comprises at least the following modules:
1) The encoding object is a component conversion mode in chrominance residual component conversion during image sequence encoding, and the value range of the encoding object is R = { component Cb is not converted with component Cr, and component Cb is converted with component Cr };
2) When a frame of image or a slice or a tile or a coding tree unit or a coding unit in the image sequence is coded, it is specified that a value range of the component conversion mode in the image or the slice or the tile or the coding tree unit or the coding unit is a value sub-range R of the value range R 0 = { component Cb is not transposed to component Cr } or another value subrange R 1 = { component Cb is mapped to component Cr }, allowing each of said pictures or said slices or said tiles or said coding tree units or said coding units to have a respective sub-range of values;
3) At least information which can be used for directly or indirectly or directly and indirectly mixedly representing or deriving each image or the stripe or the slice or the coding tree unit or the coding unit, and in which sub-range the value of the component conversion mode in each image or the stripe or the slice or the coding tree unit or the coding unit is limited exists in header information of each image or the stripe or the slice or the coding tree unit or the coding unit of a compressed data code stream;
the information directly representing or deriving in which sub-range the value of each of the pictures or the slices or the tiles or the coding tree units or the component swapping patterns within the coding units is restricted consists of one or more bit strings, i.e. bit strings, in a compressed data code stream; said information indirectly representing or deriving in which sub-range the value of each said picture or said slice or said tile or said coding tree unit or said component transposition mode within said coding unit is restricted is information derived from other coding parameters and/or coding variables and/or other syntax elements of the compressed data stream; the information indicating or deriving in a mixed manner directly or indirectly in which sub-range the value of each picture or slice or coding tree unit or component transposition mode within the coding unit is restricted is partly directly, i.e. consisting of one or more bit strings in the compressed data stream, partly indirectly, i.e. derived from other coding parameters and/or coding variables and/or other syntax elements of the compressed data stream, information indicating or deriving in a mixed manner.
23. A decoding method for compressing a sequence of images, characterized in that it comprises at least the following steps:
1) Each coding tree unit in the image sequence is divided into decoding blocks according to a quartering or non-bifurcation structure of one or more recursions first and a trisbifurcation or bifurcated or non-bifurcation structure of one or more recursions second, the size of the division generated by dividing the coding tree unit according to the quartering or non-bifurcation structure of one or more recursions, namely the width or the height is a power of 2 and is expressed by a logarithm part SizeInBit taking 2 as a base, and the value range R of the part SizeInBit is specified from the image sequence in the current decoding
Base 2 logarithm of minimum size of decoding block, mincusizeiinbit
To is that
Base 2 logarithm of the size of a coding tree unit CtuSizeInBit
Or a subset or fraction thereof,
that is, part SizeInBit is satisfied
MinCuSizeInBit ≤ partSizeInBit ≤ CtuSizeInBit
Or a subset or a fraction thereof, wherein MinCuSizeInBit and ctussizeinbit are two predetermined constants in the image sequence;
2) When a frame image or a slice or a tile in the image sequence is decoded, the range of values of the partSizeInBit in the image or the slice or the tile is a value range of the value range R specified as follows: from
The coding tree unit is divided into the least-sized base-2 logarithm of the resulting partitions, crMinQtSizeInBit, according to a quarterworking structure of one or more recursions
To
Base 2 logarithm of the size of a coding tree unit CtuSizeInBit
The integer between, i.e. partSizeInBit satisfies
crMinQtSizeInBit ≤ partSizeInBit ≤ CtuSizeInBit,
Wherein crMinQtSizeInBit is an integer equal to or greater than MinCuSizeInBit, allowing each of said images or said strips or said tiles to have a respective crMinQtSizeInBit;
3) Analyzing the compressed data code stream, and at least obtaining information which can be used for directly or indirectly or directly and indirectly mixedly representing or deriving the value sub-range of each image or each strip or each block;
4) And decoding the data corresponding to the value sub-range in the value sub-range.
24. The decoding method according to claim 23, wherein:
the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly mixedly representing or deriving the value of the crMinQtSizeInBit;
the information directly representing or deriving the value of crMinQtSizeInBit consists of one or more bit strings, i.e. bit strings, in the compressed data stream; said information indirectly representing or deriving a value of crMinQtSizeInBit is information derived from other encoding parameters and/or decoding variables and/or other syntax elements of the compressed data stream; the information directly and indirectly mixedly representing or deriving the value of crMinQtSizeInBit is information that is partly directly, i.e. composed of one or more bit strings in the compressed data stream, and partly indirectly, i.e. mixedly representing or deriving from other encoding parameters and/or decoding variables and/or other syntax elements of the compressed data stream.
25. The decoding method according to claim 24, wherein:
the information directly representing or deriving the value of crMinQtSizeInBit is the following syntax elements present in the header information of each of the pictures or the slices or the tiles, collectively referred to as a coding block:
minimum four-branch partition size of coding block minus minimum size cr _ MinQtSizeInBit _ minus _ MinCuSizeInBit of coding and decoding block
The values of crMinQtSizeInBit and the partitioned minimum size crMinQtSize that the coding tree unit is partitioned in one or more recursive quartering structures are calculated from the values of cr _ minqtzeinbit _ minus _ MinCuSizeInBit cr _ minqsizeinbit min _ minus _ MinCuSizeInBit as follows:
crMinQtSizeInBit = MinCuSizeInBit + cr_MinQtSizeInBit_minus_MinCuSizeInBit
crMinQtSize = (1 < < crMinQtSizeInBit), where < < is a 2-bit left shift operation.
26. The decoding method according to claim 23, characterized in that:
at least when the partSizeInBit is larger than the crMinQtSizeInBit, the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly indicating or deriving whether to carry out next four-fork structure division;
the information directly representing or deriving whether to carry out next four-fork structure division consists of one or more bit strings in a compressed data code stream, namely bit strings; said information indirectly representing or deriving whether to proceed with next quartering structure partitioning is information derived from other coding parameters and/or decoding variables and/or other syntax elements of the compressed data code stream; the information directly and indirectly indicating or deriving whether to perform next quartering structure division is information which is partly directly, i.e. composed of one or more bit strings in the compressed data code stream, and partly indirectly, i.e. derived from other encoding parameters and/or decoding variables and/or other syntax elements of the compressed data code stream, and mixedly indicates or derives.
27. The decoding method according to claim 26, wherein:
the information directly representing or deriving whether to do the next quartering structure partitioning is the following syntax elements:
quad split flag qt _ split _ flag
The value qt _ split _ flag of qt _ split _ flag is '1' to indicate that the next quartering structure division is performed; a value qt _ split _ flag of '0' represents that the four-pronged structure division is terminated.
28. A decoding method for compressing a sequence of images, characterized in that it comprises at least the following steps:
1) Each coding tree unit in the image sequence is divided into decoding blocks according to a quartering or non-bifurcation structure of one or more recursions first and a trisbifurcation or bifurcated or non-bifurcation structure of one or more recursions second, the size of the division generated by dividing the coding tree unit according to the quartering or non-bifurcation structure of one or more recursions, namely the width or the height is a power of 2 and is expressed by a logarithm part SizeInBit taking 2 as a base, and the value range R of the part SizeInBit is specified from the image sequence in the current decoding
Base 2 logarithm of minimum size of decoding block MinCuSizeInBit
To is that
Base 2 logarithm of the size of a coding tree unit CtuSizeInBit
Or a subset or fraction thereof,
that is, part SizeInBit is satisfied
MinCuSizeInBit ≤ partSizeInBit ≤ CtuSizeInBit
Or a subset or a fraction thereof, wherein MinCuSizeInBit and ctussizeinbit are two predetermined constants in the image sequence;
2) When a frame of image or a slice or a tile in the image sequence is decoded, the range of the partSizeInBit in the image or the slice or the tile is a value sub-range specified as follows of the value range R: from
The coding tree unit is divided into the least-sized base-2 logarithm of the resulting partitions, crMinQtSizeInBit, according to a quarterworking structure of one or more recursions
To is that
Base 2 logarithm of the size of a coding tree unit CtuSizeInBit
The integer between, i.e. partSizeInBit satisfies
crMinQtSizeInBit ≤ partSizeInBit ≤ CtuSizeInBit,
Wherein crMinQtSizeInBit is an integer equal to or greater than MinCuSizeInBit, allowing each of said images or said strips or said tiles to have a respective crminqtsizinbit;
3) Analyzing the compressed data code stream, and at least obtaining information which can be used for directly or indirectly or directly and indirectly mixedly representing or deriving the value sub-range of each image or each strip or each block;
4) Decoding the data corresponding to the value sub-range in the value sub-range;
the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly mixedly representing or deriving the value of the crMinQtSizeInBit;
the information directly representing or deriving the value of crMinQtSizeInBit consists of one or more bit strings, i.e., bit strings, in the compressed data codestream; said information indirectly representing or deriving a value of crMinQtSizeInBit is information derived from other encoding parameters and/or decoding variables and/or other syntax elements of the compressed data codestream; the information directly and indirectly mixedly representing or deriving the value of crMinQtSizeInBit is information that is partly directly, i.e. composed of one or more bit strings in the compressed data stream, and partly indirectly, i.e. mixedly representing or deriving from other encoding parameters and/or decoding variables and/or other syntax elements of the compressed data stream;
the information directly representing or deriving the value of crMinQtSizeInBit is the following syntax elements present in the header information of each of the pictures or the slices or the chunks, collectively referred to as coding blocks:
minimum four-branch partition size of coding block minus minimum size cr _ MinQtSizeInBit _ minus _ MinCuSizeInBit of coding and decoding block
The way to calculate the value of crMinQtSizeInBit from the value of cr _ minqtsizinbit _ minus _ MinCuSizeInBit cr _ minqtsizinbit minus _ MinCuSizeInBit and the minimum size of the partition crMinQtSize resulting from the coding tree unit being partitioned in a quarterworking structure for one or more recursions is as follows:
crMinQtSizeInBit = MinCuSizeInBit + cr_MinQtSizeInBit_minus_MinCuSizeInBit
crMinQtSize = (1 < < crMinQtSizeInBit), where < < is a 2-bit left shift operation;
at least when the partSizeInBit is larger than the crMinQtSizeInBit, the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly mixed representing or deriving whether to carry out next four-fork structure division;
the information directly representing or deriving whether to perform next four-fork structure division consists of one or more bit strings in a compressed data code stream; said information indirectly representing or deriving whether to proceed with the next quartering structure partitioning is information derived from other coding parameters and/or decoding variables and/or other syntax elements of the compressed data code stream; the information directly and indirectly indicating or deriving whether to perform next four-fork structure division is information which is partially and directly, namely, is composed of one or more bit strings in the compressed data code stream, and is partially and indirectly, namely, derived from other coding parameters and/or decoding variables and/or other syntax elements of the compressed data code stream, and is mixedly indicated or derived;
the information directly representing or deriving whether to proceed with the next quarterwave structure partitioning is the following syntax element:
quad split flag qt _ split _ flag
The value qt _ split _ flag of qt _ split _ flag is '1' to indicate that the next quartering structure division is performed; a value qt _ split _ flag of '0' represents that the four-pronged structure division is terminated.
29. The decoding method according to any one of claims 23 to 28, wherein said decoded block is a decoded region of a picture, comprising the following cases: macroblock, largest coding unit LCU, coding tree unit CTU, coding unit CU, sub-region of CU, sub-coding unit SubCU, prediction unit PU, sub-region of PU, sub-prediction unit SubPU, transform unit TU, sub-region of TU, sub-transform unit SubTU.
30. A decoding method for compressing a sequence of images, characterized in that it comprises at least the following steps:
1) The decoding target is an offset range of a motion vector difference mvd in the merge mode of a decoded block having a motion vector mv in decoding of an image sequence, the offset range being R = {2 } and the offset range being set _ mvd _ offset in units of a quarter pixel, a half pixel, or a whole pixel i : i=0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
2) When a frame of picture or a slice or a tile in the picture sequence is decoded, it is specified that a value range of the merge _ mvd _ offset in the picture or the slice or the tile is a value sub-range R of the value range R 0 ={2 i I =0, 1,2, 3, 4, 5, 6, 7} or another value subrange R 1 ={2 i I =2, 3, 4, 5, 6, 7, 8, 9}, allowing each of said images or said strips or said tiles to have a respective sub-range of values;
3) The following syntax elements are present in the header information of each of the pictures or slices or chunks of the compressed data stream, collectively referred to as a coding block, to indicate or derive within which sub-range the value of the merge _ mvd _ offset within the coding block is restricted:
coded block merge motion vector difference offset flag cr _ merge _ mvd _ offset _ flag
A value cr _ merge _ mvd _ offset _ flag of '1' indicates that the sub-range of values of merge _ mvd _ offset of the coding block is R 1 (ii) a A cr _ merge _ mvd _ offset _ flag of '0' indicates that the sub-range of values of merge _ mvd _ offset of the coding block is R 0 ;
4) And decoding the data corresponding to the value sub-range in the value sub-range.
31. A decoding method for compressing a sequence of images, characterized in that it comprises at least the following steps:
1) The decoding object is an interpolation weight when a predicted value of intra prediction is calculated when the image sequence is decoded, and the value range is R = { k is 0 ≦ k ≦ 31};
2) When decoding a frame of image or a slice or a tile in the image sequence, specifying that a value range of the interpolation weight in the image or the slice or the tile is a value sub-range R of the value range R 0 K =0 or another value subrange R 1 = R, allowing each of said images or said strips or said tiles to have a respective sub-range of values;
3) The following syntax elements are present in the header information of each of the pictures or the slices or the tiles, collectively referred to as a coding block, of the compressed data stream to indicate or derive within which sub-range of values the values of the interpolation weights within the coding block are restricted:
intra prediction interpolation flag cr _ intra _ pred _ interpolation _ flag for coded block
A value cr _ intra _ pred _ interpolation _ flag of '1' indicates that a sub-range of values of the interpolation weights within the encoding block is R 1 Namely actually carrying out interpolation operation; cr _ intra _ pred _ interpolation _ flag being '0' indicates that the sub-range of values of the interpolation weights within the coding block is R 0 That is, interpolation operation is not actually carried out;
4) And decoding the data corresponding to the value sub-range in the value sub-range.
32. A decoding method for compressing a sequence of images, characterized in that it comprises at least the following steps:
1) The decoding object is a chroma residual component transformation coefficient when an image sequence is decoded, namely a coefficient used when one component of a chroma residual is transformed into the other component, and the value range of the coefficient is R = {1, -1};
2) When decoding a frame of image or a slice or a tile in the image sequence, specifying that a value range of the chroma residual component transform coefficient in the image or the slice or the tile is a value sub-range R of the value range R 0 =1 or another value subrange R 1 -1, allowing each of said images or said slices or said tiles to have a respective sub-range of values;
3) The following syntax elements are present in header information of each of the pictures or the slices or the tiles of the compressed data code stream, collectively referred to as a coding block, to indicate or derive within which sub-range the values of the chroma residual component transform coefficients of the coding block are restricted:
coded block chroma residual component transform coefficient flag cr _ chroma _ resi _ comp _ trans _ coeff _ flag
A value cr _ chroma _ resi _ comp _ trans _ coeff _ flag of '0' indicates that a sub-range of values of the chroma residual component transform coefficients within the encoded block is R 0 Namely the chroma residual component transformation coefficient is 1; cr _ chroma _ resi _ comp _ trans _ coeff _ flag being '1' indicates that the sub-range of values of the chroma residual component transform coefficients within the coded block is R 1 Namely, the chroma residual error component transformation coefficient is-1;
4) And decoding the data corresponding to the value sub-range in the value sub-range.
33. A decoding method for compressing a sequence of images, characterized in that it comprises at least the following steps:
1) The decoding object is a component conversion mode in chroma residual component conversion during image sequence decoding, and the value range of the decoding object is R = { component Cb and component Cr are not converted, and component Cb and component Cr are converted };
2) When decoding a frame of picture or a slice or a tile or a coding tree unit or a coding unit in said sequence of pictures, the specification isThe value range of the component swapping pattern in the image or the slice or the block or the coding tree unit or the coding unit is a value sub-range R of the value range R 0 = { component Cb is not swapped with component Cr } or another value subrange R 1 = { component Cb is mapped to component Cr }, allowing each of said pictures or said slices or said tiles or said coding tree units or said coding units to have a respective sub-range of values;
3) At least information which can be used for directly or indirectly or directly and indirectly mixedly representing or deriving each image or the stripe or the slice or the coding tree unit or the coding unit, and in which sub-range the value of the component conversion mode in each image or the stripe or the slice or the coding tree unit or the coding unit is limited exists in header information of each image or the stripe or the slice or the coding tree unit or the coding unit of a compressed data code stream;
the information directly representing or deriving in which sub-range the value of each of the pictures or the slices or the tiles or the coding tree units or the component swapping patterns within the coding units is restricted consists of one or more bit strings, i.e. bit strings, in a compressed data code stream; said information indirectly representing or deriving in which sub-range the values of the component transposition modes within each said picture or said slice or said tile or said coding tree unit or said coding unit are restricted is information derived from other coding parameters and/or decoding variables and/or other syntax elements of a compressed data stream; the information indicating or deriving, directly and indirectly, which sub-range the value of the component transposition pattern in each of the pictures or the slices or the chunks or the coding tree units or the coding units is restricted to is partly information indicating or deriving, directly, that is, partly information indicating or deriving, indirectly, that is, information indicating or deriving, mixedly, other coding parameters and/or decoding variables and/or other syntax elements of the compressed data stream, that is, information indicating or deriving, directly, that is, one or more bit strings in the compressed data stream constitute the sub-range;
4) And decoding the data corresponding to the value sub-range in the value sub-range.
34. A decoding device for compressing a sequence of images, characterized in that it comprises at least the following modules:
1) Each coding tree unit in the image sequence is divided into decoding blocks according to a four-branch or no-branch structure of one or more recursions and a three-branch or two-branch or no-branch structure of one or more recursions, the size of a partition generated by dividing the coding tree unit according to the four-branch structure of one or more recursions, namely the width or the height of the partition is a power of 2 and is expressed by a logarithm part SizeInBit taking 2 as a base, and the value range R of the part SizeInBit is specified from the part SizeInBit to the image sequence in the current decoding
Base 2 logarithm of minimum size of decoding block MinCuSizeInBit
To
Base 2 logarithm of the size of a coding tree unit CtuSizeInBit
Or a subset or fraction thereof,
that is, part SizeInBit is satisfied
MinCuSizeInBit ≤ partSizeInBit ≤ CtuSizeInBit
Or a subset or a fraction thereof, wherein MinCuSizeInBit and ctussizeinbit are two predetermined constants in the image sequence;
2) When a frame of image or a slice or a tile in the image sequence is decoded, the range of the partSizeInBit in the image or the slice or the tile is a value sub-range specified as follows of the value range R: from
The coding tree unit is divided into the smallest size base-2 logarithm of the resulting partitions in one or more recursive quarterwave structures, crMinQtSizeInBit
To
Base 2 logarithm of the size of a coding tree unit CtuSizeInBit
The integer between, i.e. partSizeInBit satisfies
crMinQtSizeInBit ≤ partSizeInBit ≤ CtuSizeInBit,
Wherein crMinQtSizeInBit is an integer equal to or greater than MinCuSizeInBit, allowing each of said images or said strips or said tiles to have a respective crMinQtSizeInBit;
3) Analyzing the compressed data code stream, and at least obtaining information which can be used for directly or indirectly or directly and indirectly mixedly representing or deriving the value sub-range of each image or each strip or each block;
4) And decoding the data corresponding to the value sub-range in the value sub-range.
35. The decoding apparatus according to claim 34, wherein:
the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly mixedly representing or deriving the value of the crMinQtSizeInBit;
the information directly representing or deriving the value of crMinQtSizeInBit consists of one or more bit strings, i.e. bit strings, in the compressed data stream; said information indirectly representing or deriving a value of crMinQtSizeInBit is information derived from other encoding parameters and/or decoding variables and/or other syntax elements of the compressed data stream; the information directly and indirectly representing or deriving the value of crMinQtSizeInBit is information that is partially directly, i.e. composed of one or more bit strings in the compressed data stream, and partially indirectly, i.e. derived from other coding parameters and/or decoding variables and/or other syntax elements of the compressed data stream, and mixedly represents or derives.
36. The decoding device according to claim 35, wherein:
the information directly representing or deriving the value of crMinQtSizeInBit is the following syntax elements present in the header information of each of the pictures or the slices or the chunks, collectively referred to as coding blocks:
minimum four-branch partition size of coding block minus minimum size cr _ MinQtSizeInBit _ minus _ MinCuSizeInBit of coding and decoding block
The way to calculate the value of crMinQtSizeInBit from the value of cr _ minqtsizinbit _ minus _ MinCuSizeInBit cr _ minqtsizinbit minus _ MinCuSizeInBit and the minimum size of the partition crMinQtSize resulting from the coding tree unit being partitioned in a quarterworking structure for one or more recursions is as follows:
crMinQtSizeInBit = MinCuSizeInBit + cr_MinQtSizeInBit_minus_MinCuSizeInBit
crMinQtSize = (1 < < crMinQtSizeInBit), where < < is a 2-bit left shift operation.
37. The decoding device according to claim 34, wherein:
at least when the partSizeInBit is larger than the crMinQtSizeInBit, the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly indicating or deriving whether to carry out next four-fork structure division;
the information directly representing or deriving whether to carry out next four-fork structure division consists of one or more bit strings in a compressed data code stream, namely bit strings; said information indirectly representing or deriving whether to proceed with next quartering structure partitioning is information derived from other coding parameters and/or decoding variables and/or other syntax elements of the compressed data code stream; the information directly and indirectly indicating or deriving whether to perform next quartering structure division is information which is partly directly, i.e. composed of one or more bit strings in the compressed data code stream, and partly indirectly, i.e. derived from other encoding parameters and/or decoding variables and/or other syntax elements of the compressed data code stream, and mixedly indicates or derives.
38. The decoding apparatus according to claim 37, wherein:
the information directly representing or deriving whether to proceed with the next quarterwave structure partitioning is the following syntax element:
quad split flag qt _ split _ flag
The value qt _ split _ flag of qt _ split _ flag is '1' to indicate that the next quartering structure division is performed; a value qt _ split _ flag of '0' represents that the four-pronged structure division is terminated.
39. A decoding device for compressing a sequence of images, characterized in that it comprises at least the following modules:
1) Each coding tree unit in the image sequence is divided into decoding blocks according to a four-branch or no-branch structure of one or more recursions and a three-branch or two-branch or no-branch structure of one or more recursions, the size of a partition generated by dividing the coding tree unit according to the four-branch structure of one or more recursions, namely the width or the height of the partition is a power of 2 and is expressed by a logarithm part SizeInBit taking 2 as a base, and the value range R of the part SizeInBit is specified from the part SizeInBit to the image sequence in the current decoding
Base 2 logarithm of minimum size of decoding block, mincusizeiinbit
To
Base 2 logarithm of the size of a coding tree unit CtuSizeInBit
Or a subset or fraction thereof,
that is, part SizeInBit is satisfied
MinCuSizeInBit ≤ partSizeInBit ≤ CtuSizeInBit
Or a subset or a fraction thereof, wherein MinCuSizeInBit and ctussizeinbit are two predetermined constants in the image sequence;
2) When a frame of image or a slice or a tile in the image sequence is decoded, the range of the partSizeInBit in the image or the slice or the tile is a value sub-range specified as follows of the value range R: from
The coding tree unit is divided into the least-sized base-2 logarithm of the resulting partitions, crMinQtSizeInBit, according to a quarterworking structure of one or more recursions
To
Base 2 logarithm of the size of a coding tree unit CtuSizeInBit
The integer between, i.e. partSizeInBit satisfies
crMinQtSizeInBit ≤ partSizeInBit ≤ CtuSizeInBit,
Wherein crMinQtSizeInBit is an integer equal to or greater than MinCuSizeInBit, allowing each of said images or said strips or said tiles to have a respective crMinQtSizeInBit;
3) Analyzing the compressed data code stream, and at least obtaining information which can be used for directly or indirectly or directly and indirectly mixedly representing or deriving the value sub-range of each image or each strip or each block;
4) Decoding the data corresponding to the value sub-range in the value sub-range;
the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly mixedly representing or deriving the value of the crMinQtSizeInBit;
the information directly representing or deriving the value of crMinQtSizeInBit consists of one or more bit strings, i.e., bit strings, in the compressed data codestream; said information indirectly representing or deriving a value of crMinQtSizeInBit is information derived from other encoding parameters and/or decoding variables and/or other syntax elements of the compressed data stream; the information directly and indirectly representing or deriving the value of crMinQtSizeInBit is information partially directly, i.e., consisting of one or more bit strings in the compressed data code stream, and partially indirectly, i.e., derived from other coding parameters and/or decoding variables and/or other syntax elements of the compressed data code stream, and mixedly representing or deriving;
the information directly representing or deriving the value of crMinQtSizeInBit is the following syntax elements present in the header information of each of the pictures or the slices or the tiles, collectively referred to as a coding block:
minimum four-pronged partition size of coding block minus minimum size of coding/decoding block cr _ MinQtSizeInBit _ minus _ MinCuSizeInBit
The way to calculate the value of crMinQtSizeInBit from the value of cr _ minqtsizinbit _ minus _ MinCuSizeInBit cr _ minqtsizinbit minus _ MinCuSizeInBit and the minimum size of the partition crMinQtSize resulting from the coding tree unit being partitioned in a quarterworking structure for one or more recursions is as follows:
crMinQtSizeInBit = MinCuSizeInBit + cr_MinQtSizeInBit_minus_MinCuSizeInBit
crMinQtSize = (1 < < crMinQtSizeInBit), where < < is a 2-bit left shift operation;
at least when the partSizeInBit is larger than the crMinQtSizeInBit, the compressed data code stream at least contains information which can be used for directly or indirectly or directly and indirectly mixed representing or deriving whether to carry out next four-fork structure division;
the information directly representing or deriving whether to carry out next four-fork structure division consists of one or more bit strings in a compressed data code stream, namely bit strings; said information indirectly representing or deriving whether to proceed with the next quartering structure partitioning is information derived from other coding parameters and/or decoding variables and/or other syntax elements of the compressed data code stream; the information directly and indirectly indicating or deriving whether to perform next four-fork structure division is information which is partially and directly, namely, is composed of one or more bit strings in the compressed data code stream, and is partially and indirectly, namely, derived from other coding parameters and/or decoding variables and/or other syntax elements of the compressed data code stream, and is mixedly indicated or derived;
the information directly representing or deriving whether to do the next quartering structure partitioning is the following syntax elements:
quad split flag qt _ split _ flag
The value qt _ split _ flag of qt _ split _ flag is '1' to indicate that the next quartering structure division is performed; a value qt _ split _ flag of '0' represents that the four-pronged structure division is terminated.
40. The decoding apparatus according to any of the claims 34 to 39, wherein said decoded block is a decoded region of a picture, comprising the following cases: macroblock, largest coding unit LCU, coding tree unit CTU, coding unit CU, sub-region of CU, sub-coding unit SubCU, prediction unit PU, sub-region of PU, sub-prediction unit SubPU, transform unit TU, sub-region of TU, sub-transform unit SubTU.
41. A decoding device for compressing a sequence of images, characterized in that it comprises at least the following modules:
1) The decoding target is an offset merge _ mvd _ offset in units of a quarter pixel, a half pixel, or a whole pixel of a motion vector difference mvd of a decoded block having a motion vector mv in merge mode at the time of decoding of an image sequence, and the range of values thereof is R = { 2= i : i=0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
2) When decoding a frame of picture or a slice or a tile of the sequence of pictures, specifying that the range of values of the merge _ mvd _ offset in the picture or the slice or the tile is a sub-range R of the range of values R 0 ={2 i I =0, 1,2, 3, 4, 5, 6, 7} or another value subrange R 1 ={2 i I =2, 3, 4, 5, 6, 7, 8, 9}, allowing each of said images or said strips or said tiles to have a respective sub-range of values;
3) The following syntax elements are present in the header information of each of the pictures or slices, collectively referred to as a coding block, of the compressed data stream to indicate or derive within which sub-range the value of the merge _ mvd _ offset within the coding block is restricted:
coding block merge motion vector difference offset flag cr _ merge _ mvd _ offset _ flag
A value cr _ merge _ mvd _ offset _ flag of '1' indicates that the sub-range of values of merge _ mvd _ offset of the coding block is R 1 (ii) a A cr _ merge _ mvd _ offset _ flag of '0' indicates that the sub-range of values of merge _ mvd _ offset of the coding block is R 0 ;
4) And decoding the data corresponding to the value sub-range in the value sub-range.
42. A decoding device for compressing a sequence of images, characterized in that it comprises at least the following modules:
1) The decoding object is an interpolation weight when a predicted value of intra prediction is calculated when the image sequence is decoded, and the value range is R = { k is 0 ≦ k ≦ 31};
2) When decoding a frame of image or a slice or a tile in the image sequence, specifying that a value range of the interpolation weight in the image or the slice or the tile is a value sub-range R of the value range R 0 K =0 or another value subrange R 1 = R, each said image or said slice or said tile is allowed to have a respective sub-range of values;
3) The following syntax elements are present in the header information of each of the pictures or the slices or the tiles, collectively referred to as a coding block, of the compressed data stream to indicate or derive within which sub-range of values the values of the interpolation weights within the coding block are restricted:
intra prediction interpolation flag cr _ intra _ pred _ interpolation _ flag for coded block
A value cr _ intra _ pred _ interpolation _ flag of '1' indicates that a sub-range of values of the interpolation weights within the encoding block is R 1 Namely, actually carrying out interpolation operation; cr _ intra _ pred _ interpolation _ flag being '0' indicates that the sub-range of values of the interpolation weights within the coding block is R 0 That is, interpolation operation is not actually carried out;
4) And decoding the data corresponding to the value sub-range in the value sub-range.
43. A decoding device for compressing a sequence of images, characterized in that it comprises at least the following modules:
1) The decoding target is a chroma residual component transformation coefficient when decoding an image sequence, namely a coefficient used when one component of a chroma residual is transformed into the other component, and the value range of the chroma residual component transformation coefficient is R = {1, -1};
2) When decoding a frame of image or a slice or a tile in the image sequence, specifying that a value range of the chroma residual component transform coefficient in the image or the slice or the tile is a value sub-range R of the value range R 0 = {1} or another value subrange R 1 -1, allowing each of said pictures or said slices or said tiles to have a respective sub-range of values;
3) The following syntax elements are present in header information of each of the pictures or the slices or the chunks of the compressed data stream, which are collectively referred to as a coding block, to indicate or derive a sub-range within which a value of the chroma residual component transform coefficient of the coding block is limited:
coded block chroma residual component transform coefficient flag cr _ chroma _ resi _ comp _ trans _ coeff _ flag
A value cr _ chroma _ resi _ comp _ trans _ coeff _ flag of '0' indicates that the sub-range of values of the chroma residual component transform coefficients within the coded block is R 0 Namely the chroma residual component transformation coefficient is 1; cr _ chroma _ resi _ comp _ trans _ coeff _ flag being '1' indicates that the sub-range of values of the chroma residual component transform coefficients within the coded block is R 1 Namely the chroma residual component transformation coefficient is-1;
4) And decoding the data corresponding to the value sub-range in the value sub-range.
44. A decoding device for compressing a sequence of images, characterized in that it comprises at least the following modules:
1) The decoding object is a component conversion mode in chroma residual component conversion during image sequence decoding, and the value range of the decoding object is R = { component Cb and component Cr are not converted, and component Cb and component Cr are converted };
2) When a frame of image or a slice or a tile or a coding tree unit or a coding unit in the image sequence is decoded, it is specified that a value range of the component conversion mode in the image or the slice or the tile or the coding tree unit or the coding unit is a value sub-range R of the value range R 0 = { component Cb is not transposed to component Cr } or another value subrange R 1 = { component Cb to component Cr swap }, each of the pictures or the slices is allowedEach block or the coding tree unit or the coding unit has a value sub-range;
3) At least information which can be used for directly or indirectly or directly and indirectly mixedly representing or deriving each image or the stripe or the slice or the coding tree unit or the coding unit, and in which sub-range the value of the component conversion mode in each image or the stripe or the slice or the coding tree unit or the coding unit is limited exists in header information of each image or the stripe or the slice or the coding tree unit or the coding unit of a compressed data code stream;
the information directly representing or deriving in which sub-range the value of the component swapping pattern in each of the pictures or the slices or the chunks or the coding tree units or the coding units is restricted consists of one or more bit strings, i.e. bit strings, in a compressed data stream; said information indirectly representing or deriving in which sub-range the values of the component transposition modes within each said picture or said slice or said tile or said coding tree unit or said coding unit are restricted is information derived from other coding parameters and/or decoding variables and/or other syntax elements of a compressed data stream; the information indicating or deriving in a mixed manner directly or indirectly in which sub-range the value of each said picture or said slice or said tile or said coding tree unit or said component transposition mode within said coding unit is restricted is partly directly, i.e. consisting of one or more bit strings in the compressed data stream, partly indirectly, i.e. derived from other coding parameters and/or decoding variables and/or other syntax elements of the compressed data stream, information indicating or deriving in a mixed manner;
4) And decoding the data corresponding to the value sub-range in the value sub-range.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310098693.1A CN116208764A (en) | 2018-06-30 | 2019-06-30 | Data compression method and device for limiting value range of chroma component transformation coefficient symbol |
CN202310083781.4A CN116233415A (en) | 2018-06-30 | 2019-06-30 | Data compression method and device for limiting value range of division size of bifurcation tree |
CN202310092536.XA CN116320396A (en) | 2018-06-30 | 2019-06-30 | Data compression method and device for limiting offset value range of motion vector difference |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2018107046748 | 2018-06-30 | ||
CN201810704674 | 2018-06-30 |
Related Child Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310083781.4A Division CN116233415A (en) | 2018-06-30 | 2019-06-30 | Data compression method and device for limiting value range of division size of bifurcation tree |
CN202310098693.1A Division CN116208764A (en) | 2018-06-30 | 2019-06-30 | Data compression method and device for limiting value range of chroma component transformation coefficient symbol |
CN202310092536.XA Division CN116320396A (en) | 2018-06-30 | 2019-06-30 | Data compression method and device for limiting offset value range of motion vector difference |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110662028A CN110662028A (en) | 2020-01-07 |
CN110662028B true CN110662028B (en) | 2023-03-03 |
Family
ID=69028924
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310098693.1A Pending CN116208764A (en) | 2018-06-30 | 2019-06-30 | Data compression method and device for limiting value range of chroma component transformation coefficient symbol |
CN202310092536.XA Pending CN116320396A (en) | 2018-06-30 | 2019-06-30 | Data compression method and device for limiting offset value range of motion vector difference |
CN201910582260.7A Active CN110662028B (en) | 2018-06-30 | 2019-06-30 | Encoding method and device for compressing sequence of images, and decoding method and device |
CN202310083781.4A Pending CN116233415A (en) | 2018-06-30 | 2019-06-30 | Data compression method and device for limiting value range of division size of bifurcation tree |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310098693.1A Pending CN116208764A (en) | 2018-06-30 | 2019-06-30 | Data compression method and device for limiting value range of chroma component transformation coefficient symbol |
CN202310092536.XA Pending CN116320396A (en) | 2018-06-30 | 2019-06-30 | Data compression method and device for limiting offset value range of motion vector difference |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310083781.4A Pending CN116233415A (en) | 2018-06-30 | 2019-06-30 | Data compression method and device for limiting value range of division size of bifurcation tree |
Country Status (1)
Country | Link |
---|---|
CN (4) | CN116208764A (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111757114B (en) * | 2020-06-03 | 2023-04-11 | 同济大学 | Data coding and decoding method for multi-layer two-to-four division of designated component conversion mode |
CN112055219B (en) * | 2020-08-05 | 2021-08-31 | 浙江大华技术股份有限公司 | String matching prediction method and device and computer readable storage medium |
CN112218092B (en) * | 2020-10-17 | 2022-09-06 | 浙江大华技术股份有限公司 | Encoding method, apparatus and storage medium for string encoding technique |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4729021A (en) * | 1985-11-05 | 1988-03-01 | Sony Corporation | High efficiency technique for coding a digital video signal |
CN1383685A (en) * | 2000-04-19 | 2002-12-04 | 皇家菲利浦电子有限公司 | Efficient video data access using fixed radio compression |
CN105847842A (en) * | 2015-01-29 | 2016-08-10 | 同济大学 | Image encoding method and apparatus and image decoding method and apparatus |
CN107483931A (en) * | 2017-08-01 | 2017-12-15 | 南京邮电大学 | A kind of HEVC intraframe codings depth division high-speed decision method based on significance |
CN107483941A (en) * | 2016-06-08 | 2017-12-15 | 上海天荷电子信息有限公司 | Divide span and carry out data compression method and device that displacement moves vector coding |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100723861B1 (en) * | 2005-11-04 | 2007-05-31 | 한국전자통신연구원 | Method and Apparatus for fast mode searching for fast motion prediction |
JP4462359B2 (en) * | 2008-02-27 | 2010-05-12 | コニカミノルタビジネステクノロジーズ株式会社 | Image compression device |
KR20130085088A (en) * | 2012-01-19 | 2013-07-29 | 한국전자통신연구원 | Method for fast mode decision in scalable video coding and apparatus thereof |
-
2019
- 2019-06-30 CN CN202310098693.1A patent/CN116208764A/en active Pending
- 2019-06-30 CN CN202310092536.XA patent/CN116320396A/en active Pending
- 2019-06-30 CN CN201910582260.7A patent/CN110662028B/en active Active
- 2019-06-30 CN CN202310083781.4A patent/CN116233415A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4729021A (en) * | 1985-11-05 | 1988-03-01 | Sony Corporation | High efficiency technique for coding a digital video signal |
CN1383685A (en) * | 2000-04-19 | 2002-12-04 | 皇家菲利浦电子有限公司 | Efficient video data access using fixed radio compression |
CN105847842A (en) * | 2015-01-29 | 2016-08-10 | 同济大学 | Image encoding method and apparatus and image decoding method and apparatus |
CN107483941A (en) * | 2016-06-08 | 2017-12-15 | 上海天荷电子信息有限公司 | Divide span and carry out data compression method and device that displacement moves vector coding |
CN107483931A (en) * | 2017-08-01 | 2017-12-15 | 南京邮电大学 | A kind of HEVC intraframe codings depth division high-speed decision method based on significance |
Also Published As
Publication number | Publication date |
---|---|
CN116320396A (en) | 2023-06-23 |
CN116208764A (en) | 2023-06-02 |
CN116233415A (en) | 2023-06-06 |
CN110662028A (en) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7434486B2 (en) | Image decoding method, image encoding method, and computer-readable recording medium | |
US11297311B2 (en) | Method and device for processing video signal | |
CN109417633B (en) | Method and apparatus for encoding/decoding video signal | |
US9357220B2 (en) | Encoding / decoding method and apparatus using a tree structure | |
US7286710B2 (en) | Coding of a syntax element contained in a pre-coded video signal | |
CN105284112B (en) | Method and apparatus for determining a value of a quantization parameter | |
CN116866563A (en) | Image encoding/decoding method, storage medium, and image data transmission method | |
CN108702501A (en) | The method and device that the compartmentalization luma prediction modes of colorimetric prediction for Video coding are inherited | |
US20130058410A1 (en) | Encoding device, decoding device, and data structure | |
CN110662028B (en) | Encoding method and device for compressing sequence of images, and decoding method and device | |
CN113784124B (en) | Block matching encoding and decoding method for fine division using multi-shape sub-blocks | |
KR20190081383A (en) | Video coding method and apparatus using sub-block level intra prediction | |
KR20230147149A (en) | Intra prediction methods, encoders, decoders and storage media | |
CN110662029A (en) | Data compression method and device for dynamically and adaptively limiting value range | |
CN113709476A (en) | Encoding method, decoding method, device and machine readable storage medium | |
KR20110118527A (en) | Method for partitioning marcroblock and block | |
US12143566B2 (en) | Method and device for processing video signal | |
KR20130070618A (en) | Coding method and apparatus by using tree structure | |
KR20170100214A (en) | Methdo and apparatus for processing a video signal | |
JP5469931B2 (en) | Video decoding method, video encoding method | |
KR20210000691A (en) | Video encoding and decoding method, apparatus using same | |
CN116418991A (en) | Processing method and device, video decoding method, video encoding 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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |