CN113261285B - Encoding method, decoding method, encoder, decoder, and storage medium - Google Patents

Encoding method, decoding method, encoder, decoder, and storage medium Download PDF

Info

Publication number
CN113261285B
CN113261285B CN201980087954.1A CN201980087954A CN113261285B CN 113261285 B CN113261285 B CN 113261285B CN 201980087954 A CN201980087954 A CN 201980087954A CN 113261285 B CN113261285 B CN 113261285B
Authority
CN
China
Prior art keywords
motion information
value
binary
current block
equal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201980087954.1A
Other languages
Chinese (zh)
Other versions
CN113261285A (en
Inventor
霍俊彦
马彦卓
万帅
杨付正
张伟
王海鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Publication of CN113261285A publication Critical patent/CN113261285A/en
Application granted granted Critical
Publication of CN113261285B publication Critical patent/CN113261285B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Abstract

The embodiment of the application discloses an encoding method, a decoding method, an encoder, a decoder and a storage medium, which are applied to the encoder, wherein the method comprises the following steps: determining at least two partitions of a current block in an image to be coded according to a geometric partitioning mode of inter-frame prediction; constructing a motion information candidate list using motion information of neighboring blocks of the current block based on the at least two partitions; determining the motion information of the at least two partitions from the motion information candidate list, and setting a motion information index value as an index sequence number value of the determined motion information in the motion information candidate list; binarizing the motion information index value to obtain one or more binary symbols; and sequentially encoding the one or more binary symbols by using a bypass model, and writing bits obtained by encoding into a code stream, wherein the bypass model represents binary arithmetic entropy encoding by using an equal probability model.

Description

Encoding method, decoding method, encoder, decoder, and storage medium
Technical Field
The embodiment of the application relates to the technical field of video encoding and decoding, in particular to an encoding method, a decoding method, an encoder, a decoder and a storage medium.
Background
With the continuous development of video compression technology, h.266/multifunctional video coding (Versatile Video Coding, VVC) is used as the current latest video coding standard, which can meet the requirements of rapid development of video applications, especially new video applications such as ultra-high definition (ultra-high definition), virtual Reality (VR) and the like.
In h.266/VVC, a binary encoding scheme based on a context model is generally involved when encoding and decoding a TPM mode as an inter-prediction mode. The context model is updated according to the binary symbol which is encoded or parsed in the encoding or decoding process based on the binary encoding mode of the context model; in addition, the update process of the context model also needs to depend on other prediction modes other than the TPM, so that the update process of the context model of the TPM mode is complex.
Disclosure of Invention
The embodiment of the application provides an encoding method, a decoding method, an encoder, a decoder and a storage medium, which can reduce the complexity of encoding and decoding and can not lose the encoding and decoding efficiency on the premise of ensuring the encoding and decoding performance.
The technical scheme of the embodiment of the application can be realized as follows:
in a first aspect, embodiments of the present application provide an encoding method, including:
determining at least two partitions of a current block in an image to be coded according to a geometric partitioning mode of inter-frame prediction;
constructing a motion information candidate list using motion information of neighboring blocks of the current block based on at least two partitions;
determining motion information of at least two partitions from the motion information candidate list, and setting a motion information index value as an index sequence number value of the determined motion information in the motion information candidate list;
binarizing the motion information index value to obtain one or more binary symbols;
and sequentially encoding one or more binary symbols by using a bypass model, and writing bits obtained by encoding into a code stream, wherein the bypass model represents binary arithmetic entropy encoding by using an equal probability model.
In a second aspect, embodiments of the present application provide a decoding method, including:
analyzing the code stream to obtain the coding mode parameter of the current block;
when the coding mode parameter indicates that the current block adopts a geometric partitioning mode of inter-frame prediction, analyzing a code stream by using a bypass model to obtain one or more binary symbols related to motion information index values of at least two partitions of the current block, wherein the bypass model represents binary arithmetic entropy decoding by using an equal probability model;
Converting one or more binary symbols to obtain a motion information index value;
constructing a motion information candidate list by utilizing motion information of adjacent blocks adjacent to the current block based on at least two partitions, and taking the motion information in the motion information candidate list indicated by the motion information index value as the motion information of the current block;
and obtaining the predicted value of the current block according to the motion information of the current block.
In a third aspect, embodiments of the present application provide an encoder comprising a first determination unit, a first construction unit, a binarization unit, and an encoding unit, wherein,
a first determining unit configured to determine at least two partitions of a current block in an image to be encoded according to a geometric partition mode of inter prediction;
a first construction unit configured to construct a motion information candidate list using motion information of neighboring blocks of the current block based on at least two partitions;
the first determining unit is further configured to determine motion information of at least two partitions from the motion information candidate list, and set a motion information index value as an index sequence number value of the determined motion information in the motion information candidate list;
the binarization unit is configured to perform binarization processing on the motion information index value to obtain one or more binary symbols;
And the encoding unit is configured to encode one or more binary symbols in sequence by using a bypass model and write the encoded bits into the code stream, wherein the bypass model represents binary arithmetic entropy encoding by using an equal probability model.
In a fourth aspect, embodiments of the present application provide a decoder comprising a parsing unit, a converting unit, a second constructing unit, and a predicting unit, wherein,
the analysis unit is configured to analyze the code stream to obtain the coding mode parameters of the current block;
the analysis unit is further configured to analyze the code stream by using a bypass model when the coding mode parameter indicates that the current block adopts a geometric partitioning mode of inter prediction, so as to obtain one or more binary symbols related to motion information index values of at least two partitions of the current block, wherein the bypass model represents binary arithmetic entropy decoding by using an equal probability model;
the conversion unit is configured to convert one or more binary symbols to obtain a motion information index value;
a second construction unit configured to construct a motion information candidate list using motion information of neighboring blocks adjacent to a current block based on at least two partitions, the motion information in the motion information candidate list indicated by the motion information index value being used as motion information of the current block;
And the prediction unit is configured to obtain a predicted value of the current block according to the motion information of the current block.
In a fifth aspect, embodiments of the present application provide an encoder comprising a first memory and a first processor, wherein,
a first memory for storing a computer program capable of running on the first processor;
a first processor for performing the method as described in the first aspect when the computer program is run.
In a sixth aspect, embodiments of the present application provide a decoder comprising a second memory and a second processor, wherein,
a second memory for storing a computer program capable of running on the second processor;
a second processor for performing the method as described in the second aspect when the computer program is run.
In a seventh aspect, embodiments of the present application provide a computer storage medium storing a computer program which when executed by a first processor performs a method according to the first aspect or when executed by a second processor performs a method according to the second aspect.
The embodiment of the application provides an encoding method, a decoding method, an encoder, a decoder and a storage medium, wherein the method is applied to the encoder, and at least two partitions of a current block in an image to be encoded are determined according to a geometric partition mode of inter prediction; constructing a motion information candidate list using motion information of neighboring blocks of the current block based on at least two partitions; determining motion information of at least two partitions from the motion information candidate list, and setting a motion information index value as an index sequence number value of the determined motion information in the motion information candidate list; binarizing the motion information index value to obtain one or more binary symbols; sequentially encoding the one or more binary symbols by using a bypass model, writing bits obtained by encoding into a code stream, and performing binary arithmetic entropy encoding by using an equal probability model by using the bypass model representation; in this way, the bypass model is utilized to encode one or more binary symbols in turn, so that all binary symbols are binary encoded by adopting the equal probability model, and the update operation of the context model can be reduced, thereby reducing the complexity of encoding; in addition, the binary coding based on the equiprobable model is adopted to replace the binary coding based on the context model, so that the coding dependence between the inter-frame prediction and other merge modes can be eliminated, and the whole coding efficiency can be not lost on the premise of ensuring the coding and decoding performance; the method is also applied to a decoder, and the coding mode parameters of the current block are obtained by analyzing the code stream; when the coding mode parameter indicates that the current block adopts a geometric partitioning mode of inter-frame prediction, analyzing a code stream by using a bypass model to obtain one or more binary symbols related to motion information index values of at least two partitions of the current block, wherein the bypass model represents that a binary arithmetic entropy decoding is performed by using an equal probability model; converting one or more binary symbols to obtain a motion information index value; constructing a motion information candidate list by utilizing motion information of adjacent blocks adjacent to a current block based on at least two partitions, and taking the motion information in the motion information candidate list indicated by the motion information index value as the motion information of the current block; obtaining a predicted value of the current block according to the motion information of the current block; in this way, the bypass model is utilized to analyze the code stream to obtain one or more binary symbols related to the motion information index values of at least two partitions of the current block, so that all binary symbols are binary decoded by adopting an equal probability model, and the updating operation of the context model can be reduced, thereby reducing the decoding complexity; in addition, the binary decoding based on the equiprobable model is adopted to replace the binary decoding based on the context model, so that the decoding dependency between the inter-frame prediction and other merge modes can be eliminated, and the whole decoding efficiency can be not lost on the premise of ensuring the encoding and decoding performance.
Drawings
Fig. 1 is a schematic diagram of an entropy coding mode according to the related art;
fig. 2 is a schematic diagram of an architecture of an entropy decoding mode according to the related art;
fig. 3 is a schematic block diagram of a video coding system according to an embodiment of the present application;
fig. 4 is a schematic block diagram of a video decoding system according to an embodiment of the present application;
fig. 5 is a schematic flow chart of an encoding method according to an embodiment of the present application;
fig. 6A is a schematic diagram of diagonal division of a triangle division mode according to an embodiment of the present application;
fig. 6B is an opposite angle division schematic diagram of a triangle division mode according to an embodiment of the present application;
FIG. 7A is a schematic view of weighting luminance components of a diagonal pixel according to an embodiment of the present disclosure;
FIG. 7B is a schematic view of weighting chrominance components of a diagonal pixel according to an embodiment of the present application;
FIG. 8 is a detailed flowchart of an encoding method according to an embodiment of the present disclosure;
FIG. 9 is a detailed flowchart of another encoding method according to an embodiment of the present disclosure;
fig. 10 is a flow chart of a decoding method according to an embodiment of the present application;
Fig. 11 is a detailed flowchart of a decoding method according to an embodiment of the present application;
fig. 12 is a detailed flowchart of another decoding method according to an embodiment of the present disclosure;
fig. 13 is a schematic diagram of a composition structure of an encoder according to an embodiment of the present application;
fig. 14 is a schematic diagram of a specific hardware structure of an encoder according to an embodiment of the present application;
fig. 15 is a schematic diagram of a composition structure of a decoder according to an embodiment of the present application;
fig. 16 is a schematic diagram of a specific hardware structure of a decoder according to an embodiment of the present application.
Detailed Description
For a more complete understanding of the features and technical content of the embodiments of the present application, reference should be made to the following detailed description of the embodiments of the present application, taken in conjunction with the accompanying drawings, which are for purposes of illustration only and not intended to limit the embodiments of the present application.
In video images, there are typically two entropy coding modes of h.266/VVC, a binary coding mode based on a context model and a binary coding mode based on an equiprobable model, respectively. Wherein, the Context Model (Context Model) can represent the probability of occurrence of the binary symbol "0" or "1", and the Context Model needs to be updated according to the value after binary symbol encoding in the binary arithmetic encoding process; the equal probability Model can be called a Bypass Model (Bypass Model), the same probability is adopted for binary symbols '0' or '1' in the binary arithmetic coding process, and the equal probability Model does not need to be updated after binary symbol coding.
Referring to fig. 1, an architecture diagram of an entropy coding mode provided by a related art scheme is shown. As shown in fig. 1, the architecture may include a context modeling module 101, a context model-based encoder 102, and an equiprobable model-based encoder 103. The upper half of fig. 1 (including the context modeling module 101 and the context model-based encoder 102) is a context model-based binary encoding process, and the lower half of fig. 1 (including the equiprobable model-based encoder 103) is an equiprobable model-based binary encoding process.
Specifically, in the context model-based binary coding mode, the context modeling module 101 refers to assigning an appropriate probability model to each input binary value according to the syntax element or the binary bit value already coded, where the probability model is the context model; each binary value will then enter the context model sequentially and be encoded together with the probability model assigned to it based on the encoder 102 of the context model; furthermore, in the context model-based binary coding scheme, it is also necessary to update the context model according to the binary value-coded values. Since the coding of each symbol is related to the already coded result, the code word can be adaptively allocated to each symbol according to the statistical characteristics of the symbol stream, so that the coding efficiency can be improved.
In the equiprobability model-based binary coding mode, it is not necessary to assign a specific probability model to each binary value at this time, but the input binary value is directly coded by the equiprobability model-based coder 103. The overall encoding speed can be increased compared to the binary encoding mode based on the context model.
Depending on the nature of the codec, there are also two entropy decoding modes of h.266/VVC, respectively a binary decoding mode based on a context model and a binary decoding mode based on an equiprobable model. Referring to fig. 2, an architecture diagram of an entropy decoding mode provided by the related art is shown. As shown in fig. 2, the architecture may include a context modeling module 201, a context model-based decoder 202, and an equiprobable model-based decoder 203. The upper half of fig. 2 (including the context modeling module 201 and the context model-based decoder 202) is a context model-based binary decoding process, and the lower half of fig. 2 (including the equiprobable model-based decoder 203) is an equiprobable model-based binary encoding and decoding process. That is, in the binary decoding process, a binary decoding mode based on the context model having a higher decoding efficiency and a binary decoding mode based on the equiprobable model having a higher decoding speed are also included.
In the current solution, for the fusion (merge) mode of inter prediction, a plurality of binary symbols or binary codes (bins) are obtained by binarizing a fusion mode index value (merge index), wherein the first bin uses a binary coding mode based on a context model, and the other bins use a binary coding mode based on an equal probability model. Thus, for the bin using the context model, the context model needs to be updated depending on the bin already encoded or already parsed in the encoding or decoding process, so that the throughput (throughput) of the merge index in the encoding or decoding process is reduced; in addition, the update process of the context model of the merge index needs to depend on other merge indexes, which also complicates the update process of the context model.
The embodiment of the application provides an encoding method, which utilizes a bypass model to encode one or more binary symbols in sequence, so that all binary symbols are binary encoded by adopting an equal probability model, and the updating operation of a context model can be reduced, thereby reducing the encoding complexity; in addition, the binary coding based on the equiprobable model is adopted to replace the binary coding based on the context model, so that the coding dependence between the inter-frame prediction and other merge modes can be eliminated, and the whole coding efficiency can be not lost on the premise of ensuring the coding and decoding performance. In addition, the embodiment of the application also provides a decoding method, which uses a bypass model to analyze the code stream to obtain one or more binary symbols related to the motion information index values of at least two partitions of the current block, so that all binary symbols are binary decoded by adopting an equal probability model, and the updating operation of a context model can be reduced, thereby reducing the decoding complexity; in addition, the binary decoding based on the equiprobable model is adopted to replace the binary decoding based on the context model, so that the decoding dependency between the inter-frame prediction and other merge modes can be eliminated, and the whole decoding efficiency can be not lost on the premise of ensuring the encoding and decoding performance.
Embodiments of the present application will be described in detail below with reference to the accompanying drawings.
Referring to fig. 3, an example of a block diagram of a video coding system according to an embodiment of the present application is shown; as shown in fig. 3, the video coding system 30 includes a transform and quantization unit 301, an intra estimation unit 302, an intra prediction unit 303, a motion compensation unit 304, a motion estimation unit 305, an inverse transform and inverse quantization unit 306, a filter control analysis unit 307, a filtering unit 308, a coding unit 309, and a decoded image buffer unit 310, wherein the filtering unit 308 can implement deblocking filtering and sample adaptive indentation (Sample Adaptive Offset, SAO) filtering, and the coding unit 309 can implement header information coding and Context-based adaptive binary arithmetic coding (Context-based Adaptive Binary Arithmetic Coding, CABAC). For an input original video signal, a Coding Unit (CU) can be obtained by dividing a Coding Tree Unit (CTU), and residual pixel information obtained after intra-frame or inter-frame prediction is transformed by a transform and quantization Unit 301, including transforming the residual information from a pixel domain to a transform domain, and quantizing the obtained transform coefficients to further reduce a bit rate; the intra estimation unit 302 and the intra prediction unit 303 are for intra predicting the encoded block; in particular, the intra estimation unit 302 and the intra prediction unit 303 are used to determine an intra prediction mode to be used to encode the encoded block; the motion compensation unit 304 and the motion estimation unit 305 are used to perform inter-prediction encoding of the received encoded block with respect to one or more blocks in one or more reference frames to provide temporal prediction information; the motion estimation performed by the motion estimation unit 305 is a process of generating a motion vector that can estimate the motion of the encoded block, and then the motion compensation unit 304 performs motion compensation based on the motion vector determined by the motion estimation unit 305; after determining the intra prediction mode, the intra prediction unit 303 is further configured to provide the selected intra prediction data to the encoding unit 309, and the motion estimation unit 305 also sends the calculated determined motion vector data to the encoding unit 309; in addition, the inverse transform and inverse quantization unit 306 is used for reconstruction of the encoded block, reconstructing a residual block in the pixel domain, removing blocking artifacts by the filter control analysis unit 307 and the filtering unit 308, and then adding the reconstructed residual block to a predictive block in the frame of the decoded image buffer unit 310 to generate a reconstructed video block; the encoding unit 309 is configured to encode various encoding parameters and quantized transform coefficients, and in a CABAC-based encoding algorithm, context content may be based on neighboring encoding blocks, and may be used to encode information indicating the determined intra prediction mode, and output a code stream of the video signal; and the decoded picture buffer unit 310 is for storing reconstructed video blocks for prediction reference. As video image encoding proceeds, new reconstructed video blocks are generated, and the reconstructed video blocks are stored in the decoded image buffer unit 310.
Referring to fig. 4, there is shown an example of a block diagram of a video decoding system according to an embodiment of the present application; as shown in fig. 4, the video decoding system 40 includes a decoding unit 401, an inverse transform and inverse quantization unit 402, an intra prediction unit 403, a motion compensation unit 404, a filtering unit 405, a decoded image buffer unit 406, and the like, wherein the decoding unit 401 can implement header information decoding and CABAC decoding, and the filtering unit 405 can implement deblocking filtering and SAO filtering. After the input video signal is subjected to the encoding process of fig. 3, outputting a code stream of the video signal; the code stream is input into the video decoding system 40, and first passes through the decoding unit 401 to obtain decoded transform coefficients; processing by an inverse transform and inverse quantization unit 402 for the transform coefficients to generate a residual block in the pixel domain; the intra prediction unit 403 may be used to generate prediction data of a current video block to be decoded based on the determined intra prediction mode and data from a previously decoded block of the current frame or picture; the motion compensation unit 404 determines prediction information for the video block to be decoded by parsing the motion vector and other associated syntax elements and uses the prediction information to generate a predictive block of the video block being decoded; a decoded video block is formed by summing the residual block from the inverse transform and inverse quantization unit 402 with a corresponding predictive block generated by the intra prediction unit 403 or the motion compensation unit 404; the decoded video blocks are passed through a filtering unit 405 to remove blocking artifacts, which may improve video quality; the decoded video blocks are then stored in a decoded image buffer unit 406. The decoded image buffer unit 406 stores reference images for subsequent intra prediction or motion compensation, and is also used for output of the video signal, i.e. the restored original video signal.
The embodiment of the application is mainly applied to a CABAC entropy encoding part (i.e., in the encoding unit 309 shown in fig. 3) and a CABAC entropy decoding part (i.e., the decoding unit 401 shown in fig. 4); correspondingly, in the CABAC entropy encoding section, the inter prediction section in fig. 3, that is, the motion compensation unit 304 and the motion estimation unit 305 shown in fig. 3, is also affected; in the CABAC entropy decoding section, the inter prediction section in fig. 4, i.e., the motion compensation unit 404 shown in fig. 4, is also affected. That is, the embodiments of the present application may be applied to both video encoding systems and video decoding systems, and are not particularly limited.
Based on the above application scenario examples of fig. 3 or fig. 4, referring to fig. 5, a flowchart of an encoding method provided in an embodiment of the present application is shown, where the method is applied to an encoder, and the method may include:
s501: determining at least two partitions of a current block in an image to be coded according to a geometric partitioning mode of inter-frame prediction;
it should be noted that, an image to be encoded may be divided into a plurality of image blocks, and a current image block to be encoded is referred to as a current block (may be represented by a CU), and an image block adjacent to the current block is referred to as an adjacent block; i.e. in the image to be encoded, there is a neighboring relationship between the current block and the neighboring block.
It should also be noted that the geometric partition mode of inter prediction may partition the current block into at least two partitions. In H.266/VVC, the geometric partition mode may be a triangle partition mode (Triangle Partition Mode, TPM), and the TPM belongs to one of inter-frame prediction merge modes. In this manner, the current block may be partitioned into at least two partitions, such as a first partition and a second partition, using the TPM.
In some embodiments, for 501, the determining at least two partitions of the current block in the image to be encoded according to the geometric partition mode of the inter prediction may include:
if the geometric division mode is a triangle division mode, dividing the current block according to the triangle division mode to obtain at least two partitions of the current block; wherein the at least two partitions include a first partition and a second partition.
That is, when it is determined that the geometric division mode is a triangle division mode (TPM), the current block may be divided according to the TPM, resulting in at least two partitions of the current block, such as a first partition and a second partition. It should be noted that, the current block is divided into at least two partitions, and other geometric division modes may be adopted besides the triangle division mode, which is not particularly limited in the embodiment of the present application.
Further, since the triangle division mode may further include a diagonal division type and an anti-diagonal division type, the current block may be uniformly divided into two triangle partitions by the diagonal division type, or may be uniformly divided into two triangle partitions by the anti-diagonal division type.
In some embodiments, optionally, the dividing the current block according to the triangle division mode to obtain at least two partitions of the current block may include:
and diagonally dividing the current block according to a triangle division mode to obtain the first partition and the second partition.
In some embodiments, optionally, the dividing the current block according to the triangle division mode to obtain at least two partitions of the current block may include:
and performing anti-diagonal division on the current block according to a triangle division mode to obtain the first partition and the second partition.
It should be noted that, the triangle division mode may perform diagonal division on the current block, that is, the current block is uniformly divided into two triangle partitions by the diagonal division type, as shown in fig. 6A; in fig. 6A, two triangle partitions may be represented by a first Partition (Partition 1) 601 and a second Partition (Partition 2) 602, wherein the first Partition 601 is located at the upper right portion of the current block and the second Partition 602 is located at the lower left portion of the current block. In addition, the triangle division mode may perform anti-diagonal division on the current block, i.e., uniformly divide the current block into two triangle partitions by an anti-diagonal division type, as shown in fig. 6B; in fig. 6B, two triangle partitions may still be represented by a first Partition (Partition 1) 601 and a second Partition (Partition 2) 602, wherein the first Partition 601 is located at the upper left portion of the current block and the second Partition 602 is located at the lower right portion of the current block.
Thus, at least two partitions of the current block may be obtained according to the geometric partitioning mode of inter prediction, such as partitioning the current block according to the TPM.
S502: constructing a motion information candidate list using motion information of neighboring blocks of the current block based on the at least two partitions;
s503: determining the motion information of the at least two partitions from the motion information candidate list, and setting a motion information index value as an index sequence number value of the determined motion information in the motion information candidate list;
it should be noted that the motion information may include at least a motion vector and a reference image index. Since the motion information of the neighboring block is available, the motion information candidate list can be constructed for at least two partitions of the current block according to the motion information of the neighboring block, thereby obtaining the motion information candidate list.
Thus, after the motion information candidate list is obtained, the motion information of each partition can be determined from the motion information candidate list, and the motion information index value of each partition is set as the index sequence number value of the motion information in the motion information candidate list, so that the motion information index value can be subjected to binarization and binary coding processing.
S504: binarizing the motion information index value to obtain one or more binary symbols;
s505: and sequentially encoding the one or more binary symbols by using a bypass model, and writing bits obtained by encoding into a code stream, wherein the bypass model represents binary arithmetic entropy encoding by using an equal probability model.
It should be noted that, after obtaining the motion information index value, binarization processing is first required to be performed on the motion information index value, so as to obtain one or more binary symbols, where the value of the binary symbol may be 0 or 1; and then, one or more binary symbols are sequentially encoded by using a bypass model, and bits obtained by encoding are written into a code stream.
It should be noted that, the bypass model may also be referred to as bypass model or equal probability model; in this way, one or more binary symbols are sequentially encoded by using the bypass model, that is, all binary symbols in the embodiment of the present application are binary encoded by using the equiprobable model; thus, compared with the current TPM coding which needs to be updated based on a context model, the method can reduce the updating operation of the context model by replacing the context model which needs to be updated by using the equiprobable model to perform binary coding, thereby reducing the complexity of coding; in addition, since the current TPM codes also need to depend on codes of other merge modes, the codes use the same context model, so that the codes are influenced in the coding process; in the embodiment of the application, binary coding based on the equiprobable model is adopted to replace binary coding based on the context model, so that coding dependency between a TPM and other merge modes in inter-frame prediction is eliminated, on the premise of ensuring coding and decoding performance, the coding efficiency of the TPM is reduced, but the coding efficiency of the context model used by other merge modes is improved, and the overall coding efficiency is ensured not to be lost.
Illustratively, according to the triangle division mode shown in fig. 6A or 6B, after performing TPM division on the current block, two triangle partitions may be obtained; then, with the motion information of the neighboring blocks of the current block, each triangle partition may use its motion estimation and motion compensation to construct a motion information candidate list (represented by a TPM list), where the TPM list is formed by integrating the merge lists of the two triangle partitions, for example, 5 motion information are stored in the TPM list, and then, the prediction value of each triangle partition may be obtained through merge prediction. Further, after each triangle partition is predicted, a weighted average operation with adaptive weights may also be used to adjust the pixel values near the diagonal. The weights of this process are as follows, and the luminance components can be applied {7/8,6/8,5/8,4/8,3/8,2/8,1/8}, in a specific weighting manner as shown in FIG. 7A; the chrominance components may be applied {6/8,4/8,2/8}, in a particular weighting manner as shown in FIG. 7B. Here, P1 represents the predicted value of the first partition, P2 represents the predicted value of the second partition, and the weighting at the position of the first pixel 701 in the vicinity of the diagonal line is
Figure GPA0000307354910000081
For the second pixel 702 near the diagonal, the weighting at its position is +.>
Figure GPA0000307354910000082
For the third pixel 703 near the diagonal, the weighting at its position is +.>
Figure GPA0000307354910000083
The prediction value of the entire CU may be obtained by weighting as shown in fig. 7A and 7B. It is also noted that the triangle division mode is only applicable to CUs whose current block size is 8×8 or larger; and the transform and quantization process will be applied to the entire CU as in the other merge prediction modes.
The present embodiment provides an encoding method applied to an encoder. Determining at least two partitions of a current block in an image to be encoded by using a geometric partition mode according to inter prediction; constructing a motion information candidate list using motion information of neighboring blocks of the current block based on at least two partitions; determining motion information of at least two partitions from the motion information candidate list, and setting a motion information index value as an index sequence number value of the determined motion information in the motion information candidate list; binarizing the motion information index value to obtain one or more binary symbols; sequentially encoding the one or more binary symbols by using a bypass model, writing bits obtained by encoding into a code stream, and performing binary arithmetic entropy encoding by using an equal probability model by using the bypass model representation; in this way, the bypass model is utilized to encode one or more binary symbols in turn, so that all binary symbols are binary encoded by adopting the equal probability model, and the update operation of the context model can be reduced, thereby reducing the complexity of encoding; in addition, the binary coding based on the equiprobable model is adopted to replace the binary coding based on the context model, so that the coding dependency between the inter-frame prediction and other merge modes can be eliminated, and the whole coding efficiency can be not lost on the premise of ensuring the coding and decoding performance.
Further, assuming that the geometric partition mode of the inter prediction is a TPM, the current block is partitioned according to the TPM, so that a first partition and a second partition may be obtained. In H.266/VVC, the encoding process for TPM mainly comprises three parts: a first part, determining a flag bit (which can be expressed by dir) of a triangle division type; a second section for determining a motion information index value of the first partition, that is, an index number value (which may be represented by idx 0) of the motion information determined by the first partition in the motion information candidate list; a third section for determining a motion information index value of the second partition, that is, an index number value (which may be represented by idx 1) of the motion information determined by the second partition in the motion information candidate list; the encoding process for these three parts will be described in detail below.
Since the triangular partition mode includes a diagonal partition type and an opposite corner partition type, after determining that the geometric partition mode is the triangular partition mode, it is also necessary to determine which of the two partition types is adopted by the triangular partition mode, and then encode it. Thus, in some embodiments, the method may further comprise:
judging the type of the triangle division mode;
If the type of the triangle division mode is a diagonal division type, setting a flag bit as a first symbol value, and performing binary arithmetic entropy coding on the first symbol value by using an equal probability model;
and if the type of the triangle division mode is an opposite angle division type, setting a flag bit as a second symbol value, and carrying out binary arithmetic entropy coding on the second symbol value by using an equal probability model.
It should be noted that, assuming that the geometric partition mode of the current block is a triangle partition mode, before binary encoding is performed, it is first required to determine which of two partition types is adopted in the triangle partition mode, that is, determine a flag bit (which may be expressed by dir) for indicating the triangle partition type. Specifically, if the type of the triangular division pattern is a diagonal division type, dir may be set as a first symbol value, and then binary arithmetic entropy encoding processing is performed on the first symbol value using an equal probability model; if the type of the triangle division pattern is an anti-diagonal division type, dir may be set to a second symbol value, and then the second symbol value is subjected to a binary arithmetic entropy encoding process using an equal probability model. Here, the first symbol value and the second symbol value are different; wherein the first symbol value may be 0 and the second symbol value may be 1; or the first symbol value may be 1, and the second symbol value may be 0, which is not limited in the embodiment of the present application.
Illustratively, assuming that the first symbol value may be 0 and the second symbol value may be 1, so when the type of the triangular division pattern is a diagonal division type, dir at this time may be set to 0, and then binary arithmetic entropy encoding processing is performed on the binary symbol having the value of 0 using an equal probability model; when the type of the triangle division mode is an opposite angle division type, dir at this time may be set to 1, and then binary arithmetic entropy encoding processing is performed on the binary symbol having a value of 1 by using an equal probability model. In this way, according to the type of the triangle division mode, the value of dir can be determined, and then the dir is encoded by adopting a binary encoder based on an equal probability model.
Further, for the first partition, after determining a first motion information index value corresponding to the first partition, binarizing the first motion information index value to obtain one or more binary symbols, and then performing binary arithmetic entropy coding on the one or more binary symbols by using an equal probability model. Thus, in some embodiments, for 505, the encoding the one or more binary symbols sequentially using the bypass model may include:
Determining a first motion information index value corresponding to the first partition;
judging whether the first motion information index value is equal to 0;
when the first motion information index value is equal to 0, binary arithmetic entropy coding is carried out on binary symbols with the value of 0 by using an equal probability model;
when the first motion information index value is not equal to 0, performing binary arithmetic entropy coding processing on a binary symbol with a value of 1 by using an equal probability model, and continuously judging whether the first motion information index value is equal to i, wherein i=1, 2,3, & gt, N-1, N is a positive integer greater than or equal to 2;
and when the first motion information index value is equal to N-1, performing binary arithmetic entropy coding processing on the binary symbol with the value of 0 by using an equal probability model.
Further, the determining whether the first motion information index value is equal to i may include:
when the first motion information index value is equal to i, binary arithmetic entropy coding processing is carried out on binary symbols with the value of 0 by using an equal probability model;
and when the first motion information index value is not equal to i, performing binary arithmetic entropy coding processing on the binary symbol with the value of 1 by using an equal probability model, and judging whether the first motion information index value is equal to i+1.
In this embodiment of the present application, all binary symbols for the first partition are binary coded using an equal probability model. Wherein N represents the total number of motion information included in the motion information candidate list, and N is a positive integer greater than or equal to 2.
Illustratively, as shown in fig. 8, a detailed flow chart of an encoding method provided in an embodiment of the present application is shown. Assuming that the first motion information index value is denoted by idx0, n=5, the detailed procedure may include:
s801: judging idx0= 0;
s802: when idx0=0, performing binary arithmetic entropy coding on the binary symbol with the value of 0 by using an equal probability model;
s803: when idx0 is not equal to 0, performing binary arithmetic entropy coding on the binary symbol with the value of 1 by using the equal probability model, and continuing to execute step 804;
it should be noted that, first, it is determined whether idx0 is the index number value 0 of the motion information candidate list; if idx0 is the index sequence number value 0 of the motion information candidate list, performing binary arithmetic entropy coding on the binary symbol with the value 0 by using an equal probability model, and ending the flow shown in fig. 8; if idx0 is not the index sequence number value 0 of the motion information candidate list, binary arithmetic entropy coding processing is carried out on binary symbols with the value of 1 by using an equal probability model, and subsequent judgment is continued.
S804: judging idx0= 1;
s805: when idx0=1, performing binary arithmetic entropy coding on the binary symbol with the value of 0 by using an equal probability model;
s806: when idx0 is not equal to 1, binary arithmetic entropy coding is performed on the binary symbol with the value of 1 by using the equal probability model, and the step 807 is continuously performed;
it should be noted that, when idx0 is not the index number 0 of the motion information candidate list, it is further necessary to continuously determine whether idx0 is the index number 1 of the motion information candidate list; if idx0 is the index sequence number value 1 of the motion information candidate list, performing binary arithmetic entropy coding on the binary symbol with the value 0 by using an equal probability model, and ending the flow shown in fig. 8; if idx0 is not the index sequence number value 1 of the motion information candidate list, binary arithmetic entropy coding processing is carried out on the binary symbol with the value 1 by utilizing an equal probability model, and subsequent judgment is continued.
S807: judging idx0= 2;
s808: when idx0=2, performing binary arithmetic entropy coding on the binary symbol with the value of 0 by using an equal probability model;
s809: when idx0 is not equal to 2, binary arithmetic entropy coding is performed on the binary symbol with the value of 1 by using the equal probability model, and step 810 is continuously performed;
It should be noted that, when idx0 is not the index number 1 of the motion information candidate list, it is further necessary to continuously determine whether idx0 is the index number 2 of the motion information candidate list; if idx0 is the index sequence number value 2 of the motion information candidate list, performing binary arithmetic entropy coding on the binary symbol with the value 0 by using an equal probability model, and ending the flow shown in fig. 8; if idx0 is not the index sequence number value 2 of the motion information candidate list, binary arithmetic entropy coding processing is carried out on the binary symbol with the value of 1 by using an equal probability model, and subsequent judgment is continued.
S810: judging idx0= 3;
s811: when idx0=3, performing binary arithmetic entropy coding on the binary symbol with the value of 0 by using an equal probability model;
s812: when idx0 is not equal to 3, performing binary arithmetic entropy coding on the binary symbol with the value of 1 by using the equal probability model, and continuously executing step 813;
it should be noted that, when idx0 is not the index number 2 of the motion information candidate list, it is further necessary to continuously determine whether idx0 is the index number 3 of the motion information candidate list; if idx0 is the index sequence number value 3 of the motion information candidate list, performing binary arithmetic entropy coding on the binary symbol with the value 0 by using an equal probability model, and ending the flow shown in fig. 8; if idx0 is not the index sequence number value 3 of the motion information candidate list, binary arithmetic entropy coding processing is carried out on the binary symbol with the value of 1 by using an equal probability model, and subsequent judgment is continued.
S813: when idx0=4, performing binary arithmetic entropy coding on the binary symbol with the value of 0 by using an equal probability model;
it should be noted that, since the motion information candidate list includes only 5 pieces of motion information, the index number value of the motion information candidate list may be 0,1,2,3,4; when idx0 is not the index number 3 of the motion information candidate list, idx0 is necessarily the index number 4 of the motion information candidate list, and the binary arithmetic entropy coding process is performed on the binary symbol with value 0 by using the equal probability model, so that the flow shown in fig. 8 is ended.
Based on the flow shown in fig. 8, the obtained encoding result of idx0 is shown in table 1. In Table 1, "column" indicates that idx0 has a value of 0,1,2,3,4; the "row" indicates binIdx, i.e., the index number of one or more binary symbols (bins) obtained by binarizing idx 0.
TABLE 1
Figure GPA0000307354910000101
Further, for the second partition, after determining a second motion information index value corresponding to the second partition, it is first required to determine whether the second motion information index value is greater than the first motion information index value, and then binarize the second motion information index value to obtain one or more binary symbols, and perform binary arithmetic entropy encoding on the one or more binary symbols by using an equal probability model. Thus, in some embodiments, for 505, the encoding the one or more binary symbols sequentially using the bypass model may include:
Determining a first motion information index value corresponding to the first partition and a second motion information index value corresponding to the second partition;
judging whether the second motion information index value is larger than the first motion information index value;
if the second motion information index value is larger than the first motion information index value, updating the second motion information index value by using a value obtained by subtracting 1 from the second motion information index value, and judging whether the second motion information index value is equal to j or not;
when the second motion information index value is equal to j, binary arithmetic entropy coding is carried out on binary symbols with the value of 0 by using an equal probability model;
when the second motion information index value is not equal to j, performing binary arithmetic entropy coding on a binary symbol with a value of 1 by using an equal probability model, and judging whether the first motion information index value is equal to j+1, wherein j=0, 1,2,3, & gt, N-2, N is a positive integer greater than or equal to 2;
and when the second motion information index value is equal to N-2, performing binary arithmetic entropy coding on the binary symbol with the value of 0 by using an equal probability model.
In this embodiment of the present application, all binary symbols for the second partition are binary coded using an equal probability model. Wherein N represents the total number of motion information included in the motion information candidate list, and N is a positive integer greater than or equal to 2.
Illustratively, as shown in fig. 9, a detailed flow chart of another encoding method provided in an embodiment of the present application is shown. Assuming that the first motion information index value is denoted by idx1, n=5, the detailed procedure may include:
s901: judging that idx1 is more than idx0;
s902: when idx1 is greater than idx0, idx1=idx1-1;
s903: when idx1 is not greater than idx0, idx1= 0 is judged;
s904: when idx1=0, performing binary arithmetic entropy coding on the binary symbol with the value of 0 by using an equal probability model;
s905: when idx1 is not equal to 0, performing binary arithmetic entropy coding on the binary symbol with the value of 1 by using the equal probability model, and continuing to execute step 906;
it should be noted that, first, it is determined whether idx1 is greater than idx0; if idx1 is greater than idx0, idx1=idx1-1, and then performing judgment as to whether idx1 is the index sequence number value 0 of the motion information candidate list; if idx1 is not greater than idx0, idx1 remains unchanged, and then a determination is performed as to whether idx1 is the index sequence number value 0 of the motion information candidate list. Here, it should be noted that the judgment condition of step S901 may also be to judge that idx1 > =idx0, that is, judge whether idx1 is greater than or equal to idx0; when idx1 is greater than or equal to idx0, idx1=idx1-1; when idx1 is smaller than idx0, idx1 remains unchanged. That is, for the case where idx1 is equal to idx0, it may be that step S902 is performed, i.e., idx1=idx1-1; step S903 may also be performed, i.e., idx1 remains unchanged, and the embodiment of the present application is not specifically limited.
It should be noted that, judging whether idx1 is index number 0 of motion information candidate list; if idx1 is the index sequence number value 0 of the motion information candidate list, performing binary arithmetic entropy coding on the binary symbol with the value 0 by using an equal probability model, and ending the flow shown in fig. 9; if idx1 is not the index sequence number value 0 of the motion information candidate list, binary arithmetic entropy coding processing is carried out on binary symbols with the value 1 by using an equal probability model, and subsequent judgment is continued.
S906: judging idx1= 1;
s907: when idx1=1, performing binary arithmetic entropy coding on the binary symbol with the value of 0 by using an equal probability model;
s908: when idx1 is not equal to 1, performing binary arithmetic entropy coding on the binary symbol with the value of 1 by using the equal probability model, and continuing to execute step 909;
it should be noted that, when idx1 is not the index number 0 of the motion information candidate list, it is further necessary to continuously determine whether idx1 is the index number 1 of the motion information candidate list; if idx1 is the index sequence number value 1 of the motion information candidate list, performing binary arithmetic entropy coding on the binary symbol with the value 0 by using an equal probability model, and ending the flow shown in fig. 9; if idx1 is not the index sequence number value 1 of the motion information candidate list, binary arithmetic entropy coding processing is carried out on binary symbols with the value 1 by using an equal probability model, and subsequent judgment is continued.
S909: judging idx1= 2;
s910: when idx1=2, performing binary arithmetic entropy coding on the binary symbol with the value of 0 by using an equal probability model;
s911: when idx1 is not equal to 2, performing binary arithmetic entropy coding on the binary symbol with the value of 1 by using the equal probability model, and continuing to execute step 912;
it should be noted that, when idx1 is not the index number 1 of the motion information candidate list, it is further necessary to continuously determine whether idx1 is the index number 2 of the motion information candidate list; if idx1 is the index sequence number value 2 of the motion information candidate list, performing binary arithmetic entropy coding on the binary symbol with the value of 0 by using an equal probability model, and ending the flow shown in fig. 9; if idx1 is not the index sequence number value 2 of the motion information candidate list, binary arithmetic entropy coding processing is carried out on the binary symbol with the value of 1 by using an equal probability model, and subsequent judgment is continued.
S912: when idx1=3, performing binary arithmetic entropy coding on the binary symbol with the value of 0 by using an equal probability model;
it should be noted that, since the motion information candidate list only includes 5 pieces of motion information, and idx0 has determined the index sequence number value corresponding to the motion information candidate list, the index sequence number value remaining in the motion information candidate list may be 0,1,2, and 3; when idx1 is not the index number 2 of the motion information candidate list, idx1 is necessarily the index number 3 of the motion information candidate list, and the binary arithmetic entropy coding process is performed on the binary symbol with value 0 by using the equal probability model, so that the flow shown in fig. 9 is ended.
The obtained encoding result of idx1 is shown in table 2 or table 3 based on the flow chart shown in fig. 9. Wherein, table 2 shows the encoding result of idx1 when idx1 < idx0, and "column" indicates the value of idx1, and the values are 0,1,2, and 3; the "row" indicates binIdx, that is, index numbers of one or more binary symbols (bins) obtained by binarizing idx 1; table 3 shows the encoding results for idx1 when idx1 > idx0, with the "column" still indicating the idx1 value, which is 1,2,3,4; the "row" still represents binIdx, i.e., the index number of one or more binary symbols (bins) obtained by binarizing idx 1.
TABLE 2
Figure GPA0000307354910000111
TABLE 3 Table 3
Figure GPA0000307354910000112
The present embodiment provides an encoding method applied to an encoder. By describing the specific implementation of the foregoing embodiment in detail, it can be seen that, by using the bypass model to encode one or more binary symbols in turn, so that all binary symbols are binary encoded by using the equiprobable model, which can reduce the update operation of the context model, thereby reducing the complexity of encoding; in addition, the binary coding based on the equiprobable model is adopted to replace the binary coding based on the context model, so that the coding dependency between the inter-frame prediction and other merge modes can be eliminated, and the whole coding efficiency can be not lost on the premise of ensuring the coding and decoding performance.
Based on the above application scenario examples of fig. 3 or fig. 4, referring to fig. 10, a flowchart of a decoding method provided in an embodiment of the present application is shown, where the method is applied to a decoder, and the method may include:
s1001: analyzing the code stream to obtain the coding mode parameter of the current block;
s1002: when the coding mode parameter indicates that the current block adopts a geometric partitioning mode of inter prediction, analyzing a code stream by using a bypass model to obtain one or more binary symbols related to motion information index values of at least two partitions of the current block, wherein the bypass model represents binary arithmetic entropy decoding by using an equal probability model;
it should be noted that, the image to be decoded may be divided into a plurality of image blocks, and the image block to be decoded currently may also be referred to as a current block (may be represented by a CU), and the image blocks adjacent to the current block may also be referred to as adjacent blocks; i.e. in the image to be decoded, there is a neighboring relationship between the current block and the neighboring block.
It should also be noted that the geometric partition mode of inter prediction may partition the current block into at least two partitions. Wherein the geometric partitioning patterns on the decoder side and on the encoder side are identical. In particular, the current block may be divided into at least two partitions, such as a first partition and a second partition, using a triangle division mode. Here, the triangle division pattern may include a diagonal division type and an opposite angle division type, and thus, on the decoder side, it is also necessary to determine the type of the triangle division pattern by parsing the code stream.
In some embodiments, when the coding mode parameter indicates that the current block adopts a geometric partition mode of inter prediction, the method may further include:
if the geometric division mode is a triangular division mode, analyzing a code stream by using a bypass model to obtain a symbol value related to the type of the triangular division mode;
if the symbol value is a first symbol value, determining that the type of the triangle division mode is a diagonal division type;
and if the symbol value is a second symbol value, determining that the type of the triangular dividing mode is an opposite angle dividing type.
It should be noted that, the current block may be divided into at least two partitions, and other geometric division modes may be adopted besides the triangle division mode, which is not limited in the embodiment of the present application. If the geometric partition mode is determined to be a Triangle Partition Mode (TPM), the triangle partition mode can comprise a diagonal partition type and an opposite diagonal partition type, and the judgment on the decoder side is needed at this time.
Specifically, if the geometric division mode of the current block is a triangle division mode, at this time, the merge_triangle_split_dir may be parsed first, and the code stream is parsed by using a binary decoder based on an equal probability model to obtain a symbol value related to the type of the triangle division mode, and then the type of the triangle division mode is determined according to the symbol value; for example, if the symbol value is the first symbol value, it may be determined that the type of the triangular partition mode is a diagonal partition type; if the symbol value is the second symbol value, it may be determined that the type of the triangular partition mode is an anti-diagonal partition type.
Here, the first symbol value and the second symbol value are different, wherein the first symbol value may be 0 and the second symbol value may be 1; or the first symbol value may be 1, and the second symbol value may be 0, which is not limited in the embodiment of the present application. In addition, the symbol value at the decoder side has an association with the setting of the flag bit (dir) at the encoder side. Specifically, if on the encoder side, when the type of the triangular division pattern is a diagonal division type, dir at this time is set to 0; on the decoder side, when the parsed sign value is 0, the type of the triangle division mode is described as a diagonal division type; if on the encoder side, when the type of the triangle division pattern is an anti-diagonal division type, dir at this time is set to 1; on the decoder side, when the parsed sign value is 1, the type of the triangle division mode is described as an opposite angle division type; alternatively, if on the encoder side, when the type of the triangle division pattern is an anti-diagonal division type, dir at this time is set to 0; on the decoder side, when the resolved sign value is 0, the type of the triangle division mode is an opposite angle division type; if on the encoder side, when the type of the triangular division pattern is a diagonal division type, dir at this time is set to 1; on the decoder side, when the parsed sign value is 1, it is explained that the type of the triangle division mode is a diagonal division type.
In this way, when the coding mode parameter indicates that the current block adopts the geometric partitioning mode of inter prediction, in the decoding process, firstly, the merge_triangle_split_dir can be resolved, and the code stream is resolved by utilizing a binary decoder based on an equal probability model so as to judge the type of the triangular partitioning mode; the parsing of the merge_trie_idx0 and merge_trie_idx1 may then continue, still using a binary decoder based on an equal probability model, to parse the code stream to obtain one or more binary symbols related to the motion information index values of at least two partitions (e.g., a first partition and a second partition) of the current block.
S1003: converting the one or more binary symbols to obtain the motion information index value;
s1004: constructing a motion information candidate list by utilizing motion information of adjacent blocks adjacent to the current block based on the at least two partitions, and taking the motion information in the motion information candidate list indicated by the motion information index value as the motion information of the current block;
it should be noted that the motion information may include at least a motion vector and a reference image index. Since the motion information of the neighboring block is available, the motion information candidate list can be constructed for at least two partitions of the current block according to the motion information of the neighboring block, thereby obtaining the motion information candidate list.
Thus, after the motion information index value and the motion information candidate list are obtained, the motion information of the current block can be determined; specifically, the motion information in the motion information candidate list indicated by the motion information index value may be then taken as the motion information of the current block according to the motion information candidate list.
S1005: and obtaining the predicted value of the current block according to the motion information of the current block.
It should be noted that, after the motion information of the current block is obtained by parsing the code stream, the predicted value of the current block may be obtained according to the motion information of the current block.
In the embodiment of the present application, assuming that the geometric partition mode of inter prediction is a TPM, the current block is partitioned according to the TPM, so that a first partition and a second partition may be obtained. On the encoder side, the encoding process mainly includes three parts: a first part, determining a flag bit (which can be expressed by dir) of a triangle division type; a second section for determining a motion information index value of the first partition, that is, an index number value (which may be represented by idx 0) of the motion information determined by the first partition in the motion information candidate list; and a third section for determining a motion information index value of the second partition, that is, an index number value (which may be represented by idx 1) of the motion information determined by the second partition in the motion information candidate list. Corresponding to the three-part encoding process, there are three important relevant syntax elements on the decoder side, as shown in table 4, which are merge_triple_split_dir, merge_triple_idx0 and merge_triple_idx1, respectively.
TABLE 4 Table 4
Figure GPA0000307354910000131
Based on the code stream organization structure shown in table 4, corresponding to the encoding process, in the decoding process, firstly, the merge_triangle_split_dir needs to be analyzed, and a binary decoder based on an equal probability model is utilized to analyze one bit of the code stream, so as to judge the type of the triangular partition mode (such as a diagonal partition type or an anti-diagonal partition type); then analyzing Merge_triange_idx0, still utilizing a binary decoder based on an equal probability model to analyze one bit of the code stream, and judging whether the motion information of the first partition is positioned at the first bit in a motion information candidate list according to whether binary symbols obtained by analysis are 0 or not; if the judgment result is negative, continuing to analyze the residual bit in the code stream by using the binary decoder based on the equal probability model until the position of the first binary symbol is analyzed to be 0, namely obtaining the index sequence number value of the motion information of the first partition in the motion information candidate list, and obtaining the motion information of the first partition; then, in the same manner as applied to the second partition, the merge_trie_idx1 is parsed to obtain motion information of the second partition, which indicates that the decoding process is finished.
When the code stream is transmitted from the encoder side to the decoder side, the decoder side may parse the code stream. Due to the bypass model, it may also be called bypass model or equiprobable model; in this way, the bypass model is utilized to analyze the code stream, that is, all binary symbols in the embodiment of the application are subjected to binary decoding by adopting the equal probability model, and compared with the current decoding of the TPM which needs to be subjected to context model-based updating, the binary decoding of the context model which needs to be updated by replacing the binary decoding of the context model which needs to be updated by adopting the second equal probability model, so that the updating operation of the context model can be reduced, and the decoding complexity is reduced; in addition, since decoding of the TPM at present also needs to depend on decoding of other merge modes, the decoding of the TPM and the decoding of the TPM use the same context model, so that the decoding process is influenced; in the embodiment of the application, binary decoding based on the equiprobable model is adopted to replace binary decoding based on the context model, so that decoding dependency between a TPM and other merge modes in inter-frame prediction can be eliminated, and on the premise of ensuring encoding and decoding performance, decoding efficiency of the TPM is reduced, but decoding efficiency of the context model used by other merge modes is improved, and accordingly overall decoding efficiency can be ensured not to be lost.
The present embodiment provides a decoding method applied to a decoder. Obtaining the coding mode parameter of the current block by analyzing the code stream; when the coding mode parameter indicates that the current block adopts a geometric partitioning mode of inter-frame prediction, analyzing a code stream by using a bypass model to obtain one or more binary symbols related to motion information index values of at least two partitions of the current block, wherein the bypass model represents binary arithmetic entropy decoding by using an equal probability model; converting one or more binary symbols to obtain a motion information index value; constructing a motion information candidate list by utilizing motion information of adjacent blocks adjacent to a current block based on at least two partitions, and taking the motion information in the motion information candidate list indicated by the motion information index value as the motion information of the current block; obtaining a predicted value of the current block according to the motion information of the current block; in this way, the bypass model is utilized to analyze the code stream to obtain one or more binary symbols related to the motion information index values of at least two partitions of the current block, so that all binary symbols are binary decoded by adopting an equal probability model, and the updating operation of the context model can be reduced, thereby reducing the decoding complexity; in addition, the binary decoding based on the equiprobable model is adopted to replace the binary decoding based on the context model, so that the decoding dependency between the inter-frame prediction and other merge modes can be eliminated, and the whole decoding efficiency can be not lost on the premise of ensuring the encoding and decoding performance.
Further, assuming that the geometric partition mode of the inter prediction is a TPM, the current block is partitioned according to the TPM, so that a first partition and a second partition may be obtained. That is, in the decoding process of VVC inter prediction, when the TPM is adopted, the two partitions may be decoded successively, and the first bit of each partition is replaced by the original binary decoding based on the context model, which is replaced by the binary decoding based on the equiprobable model, and the remaining bits still remain the original binary decoding based on the equiprobable model. The decoding process for each partition will be described in detail below.
In some embodiments, for S1002, the parsing the code stream using the bypass model to obtain one or more binary symbols related to motion information index values of at least two partitions of the current block may include:
aiming at one partition in the at least two partitions, analyzing a code stream by utilizing an equal probability model to obtain a kth binary symbol related to a motion information index value of the one partition;
judging whether the k-th binary symbol is equal to 0;
when the k-th binary symbol is equal to 0, determining that the index sequence number value of the motion information of the partition in the motion information candidate list is k;
When the k-th binary symbol is not equal to 0, continuing to analyze the code stream by utilizing an equal probability model to obtain a k+1th binary symbol, and judging whether the k+1th binary symbol is equal to 0; wherein k=0, 1,2,3,..n-2, N is a positive integer greater than or equal to 2;
when the N-2 bit binary symbol is equal to 0, determining that the index sequence number value of the motion information of the partition in the motion information candidate list is N-2;
and when the N-2 bit binary symbol is not equal to 0, continuing to analyze the code stream by utilizing an equal probability model to obtain the N-1 bit binary symbol, and determining that the index sequence number value of the motion information of the partition in the motion information candidate list is N-1.
Further, in some embodiments, the at least two partitions include a first partition and a second partition, and the method may further include:
judging whether the second index sequence number value is larger than the first index sequence number value; the first index sequence number is the index sequence number of the determined motion information of the first partition in the motion information candidate list, and the second index value is the index sequence number of the determined motion information of the second partition in the motion information candidate list;
And if the second index sequence number value is larger than the first index sequence number value, updating the second index sequence number value by using the value obtained by adding 1 to the second index sequence number value.
It should be noted that in the embodiment of the present application, all binary symbols in at least two partitions are binary decoded by using an equal probability model. In addition, N represents the total number of motion information included in the motion information candidate list, and N is a positive integer greater than or equal to 2.
It should be further noted that, if the at least two partitions include a first partition and a second partition, the first index sequence number value corresponding to the first partition may be directly obtained according to the index sequence number value of the motion information of the first partition in the motion information candidate list; and the second index sequence number value corresponding to the second partition also needs to judge whether the second index sequence number value is larger than the first index sequence number value, if the second index sequence number value is not larger than the first index sequence number value, the index sequence number value in the motion information candidate list can be directly obtained according to the motion information of the second partition; if the second index number value is greater than the first index number value, after the second index number value is obtained according to the index number value of the motion information of the second partition in the motion information candidate list, a value obtained by adding 1 to the second index number value is also needed to be used as the finally obtained second index number value.
For the first partition, as shown in fig. 11, a detailed flowchart of a decoding method provided in an embodiment of the present application is shown. Assuming that the index number value of the motion information of the first partition in the motion information candidate list is denoted by idx0, n=5, the detailed procedure may include:
s1101: analyzing the code stream by using the equal probability model to obtain the value bin [0] of the first binary symbol;
it should be noted that, this step is to read a bit from a code stream (bitstream) for a first partition, and then parse the bit into bins; that is, the value bin [0] of the first bin in the syntax element is obtained by parsing the code stream.
S1102: judging bin [0] = 0;
s1103: when bin [0] =0, idx0=0 is determined;
s1104: when the bin [0] notequal to 0, continuing to analyze the code stream by utilizing the equal probability model to obtain the value bin [1] of the second binary symbol;
it should be noted that, by determining whether bin [0] is equal to 0, if bin [0] is equal to 0, it may be determined that idx0=0, that is, the index number value of the motion information of the first partition in the motion information candidate list is 0, and the flow shown in fig. 11 is ended; if the bin [0] is not equal to 0, continuing to analyze the code stream by using the equal probability model to obtain the value bin [1] of the second binary symbol, and carrying out subsequent judgment.
S1105: judging bin [1] = 0;
s1106: when bin [1] =0, idx0=1 is determined;
s1107: when the bin [1] is not equal to 0, continuing to analyze the code stream by using the equal probability model to obtain the value bin [2] of the third binary symbol;
it should be noted that, by determining whether bin [1] is equal to 0, if bin [1] is equal to 0, it may be determined that idx0=1, that is, the index number value of the motion information of the first partition in the motion information candidate list is 1, and the flow shown in fig. 11 is ended; if the bin [1] is not equal to 0, continuing to analyze the code stream by using the equal probability model to obtain the value bin [2] of the third binary symbol, and carrying out subsequent judgment.
S1108: judging bin [2] = 0;
s1109: when bin [2] =0, idx0=2 is determined;
s1110: when the bin [2] is not equal to 0, continuing to analyze the code stream by using the equal probability model to obtain the value bin [3] of the fourth binary symbol;
it should be noted that, by determining whether bin [2] is equal to 0, if bin [2] is equal to 0, it may be determined that idx0=2, that is, the index number value of the motion information of the first partition in the motion information candidate list is 2, and the flow shown in fig. 11 is ended; if the bin [2] is not equal to 0, continuing to analyze the code stream by using the equal probability model to obtain the value bin [3] of the fourth binary symbol, and carrying out subsequent judgment.
S1111: judging bin [3] = 0;
s1112: when bin [3] =0, idx0=3 is determined;
s1113: when bin [3] notequal to 0, continuing to analyze the code stream by using the equiprobable model to obtain a value bin [4] of the fourth binary symbol, and executing step S1114;
s1114: idx0=4 is determined.
It should be noted that, by determining whether bin [3] is equal to 0, if bin [3] is equal to 0, it may be determined that idx0=3, that is, the index number value of the motion information of the first partition in the motion information candidate list is 3, and the flow shown in fig. 11 is ended; if the bin [3] is not equal to 0, continuing to analyze the code stream by using the equal probability model to obtain the value bin [4] of the fourth binary symbol; since the motion information candidate list includes only 5 pieces of motion information, the index number value of the motion information candidate list may be 0,1,2,3,4; at this time, when the index number value of the motion information of the first partition in the motion information candidate list is also not 3, then the index number value of the motion information of the first partition in the motion information candidate list must be 4, that is, idx0=4, and the flow shown in fig. 11 is ended.
For the second partition, as shown in fig. 12, a detailed flow chart of another decoding method provided in an embodiment of the present application is shown. Assuming that the index number value of the motion information of the second partition in the motion information candidate list is denoted by idx1, n=5, the detailed procedure may include:
S1201: analyzing the code stream by using the equal probability model to obtain the value bin [0] of the first binary symbol;
it should be noted that, this step is to read a bit from a code stream (bitstream) for the second partition, and then parse the bit into bins; that is, the value bin [0] of the first bin in the syntax element is obtained by parsing the code stream.
S1202: judging bin [0] = 0;
s1203: when bin [0] =0, idx1=0 is determined;
s1204: when the bin [0] notequal to 0, continuing to analyze the code stream by utilizing the equal probability model to obtain the value bin [1] of the second binary symbol;
it should be noted that, by determining whether bin [0] is equal to 0, if bin [0] is equal to 0, it may be determined that idx1=0, that is, the index number value of the motion information of the second partition in the motion information candidate list is 0, and then S1211 is performed; if the bin [0] is not equal to 0, continuing to analyze the code stream by using the equal probability model to obtain the value bin [1] of the second binary symbol, and carrying out subsequent judgment.
S1205: judging bin [1] = 0;
s1206: when bin [1] =0, idx1=1 is determined;
s1207: when the bin [1] is not equal to 0, continuing to analyze the code stream by using the equal probability model to obtain the value bin [2] of the third binary symbol;
It should be noted that, by determining whether bin [1] is equal to 0, if bin [1] is equal to 0, it may be determined that idx1=1, that is, the index number value of the motion information of the second partition in the motion information candidate list is 1, and then S1211 is performed; if the bin [1] is not equal to 0, continuing to analyze the code stream by using the equal probability model to obtain the value bin [2] of the third binary symbol, and carrying out subsequent judgment.
S1208: judging bin [2] = 0;
s1209: when bin [2] =0, idx1=2 is determined;
s1210: when bin [2] notequal to 0, continuing to analyze the code stream by using the equiprobable model to obtain a value bin [3] of the fourth binary symbol, and executing step S1211;
s1211: determining idx1=3;
it should be noted that, by determining whether bin [2] is equal to 0, if bin [2] is equal to 0, it may be determined that idx1=2, that is, the index number value of the motion information of the second partition in the motion information candidate list is 2, and then S1211 is performed; if the bin [2] is not equal to 0, continuing to analyze the code stream by using the equal probability model to obtain the value bin [3] of the fourth binary symbol; since the motion information candidate list only includes 5 pieces of motion information, and idx0 has determined its corresponding index sequence number value, the index sequence number value remaining in the motion information candidate list may be 0,1,2,3; at this time, when the index number value of the motion information of the second partition in the motion information candidate list is also not 2, then the index number value of the motion information of the second partition in the motion information candidate list must be 3, i.e., idx1=3, and then the step S1212 is continued.
S1212: judging that idx1 is more than idx0;
s1213: when idx1 is greater than idx0, idx1=idx1+1;
s1214: when idx1 is not greater than idx0, idx1 remains unchanged.
It should be noted that, the determination condition in step S1212 may also be to determine that idx1 > =idx0, i.e. determine whether idx1 is greater than or equal to idx0; when idx1 is greater than or equal to idx0, idx1=idx1+1; when idx1 is smaller than idx0, idx1 remains unchanged. That is, for the case where idx1 is equal to idx0, it may be that step S1213, i.e., idx1=idx1+1 is performed; step S1214 may also be performed, i.e., idx1 remains unchanged, and embodiments of the present application are not specifically limited.
Thus, after idx1 and idx0 are obtained, it is also necessary to determine whether idx1 is greater than idx0; if idx1 is greater than idx0, updating idx1 by idx1=idx1+1, i.e. the updated idx1 is the index sequence number value of the motion information of the second partition in the motion information candidate list; if idx1 is not greater than idx0, then idx1 remains unchanged, i.e., idx1 is the index sequence number value of the motion information of the second partition in the motion information candidate list.
In the current solution, there is a dependency between the current TPM encoding and decoding process and other merge mode encoding and decoding processes, so when the TPM encodes and decodes the first bit of each partition, the context model when the other merge mode encodes and decodes the first bit is multiplexed, and on the premise of high complexity (maintenance of the model refresh operation), the encoding and decoding efficiency cannot be improved. In the embodiment of the application, binary encoding and decoding based on a context model in the TPM encoding and decoding process are removed, binary encoding and decoding based on an equal probability model is adopted, and on the premise that the performance is kept unchanged, the dependence of TPM joining and encoding and decoding of other merge modes is removed, so that the bit encoding and decoding efficiency of using the context model by the other merge modes is improved, and finally the purpose of not losing the overall encoding and decoding efficiency can be achieved while the complexity is reduced. Specifically, in the embodiment of the present application, for the analysis of the index sequence number value of the motion information in the motion information candidate list, the binary coding based on the context model is no longer used for the first bit, but the binary coding based on the equiprobable model is used, so that on the premise of not affecting the performance, the complexity can be reduced, and the coding and decoding efficiency can be not lost.
The present embodiment provides a decoding method applied to a decoder. By describing the specific implementation of the foregoing embodiment in detail, it can be seen that, by using the bypass model to parse the code stream to obtain one or more binary symbols related to the motion information index values of at least two partitions of the current block, all binary symbols are binary decoded by using the equiprobable model, and updating operation of the context model can be reduced, thereby reducing decoding complexity; in addition, the binary decoding based on the equiprobable model is adopted to replace the binary decoding based on the context model, so that the decoding dependency between the inter-frame prediction and other merge modes can be eliminated, and the whole decoding efficiency can be not lost on the premise of ensuring the encoding and decoding performance.
Based on the same inventive concepts as the previous embodiments, referring to fig. 13, a schematic diagram of the composition structure of an encoder 130 according to an embodiment of the present application is shown. The encoder 130 may include: a first determination unit 1301, a first construction unit 1302, a binarization unit 1303 and an encoding unit 1304, wherein,
the first determining unit 1301 is configured to determine at least two partitions of a current block in an image to be encoded according to a geometric partition mode of inter prediction;
The first constructing unit 1302 is configured to construct a motion information candidate list using motion information of neighboring blocks of the current block based on the at least two partitions;
the first determining unit 1301 is further configured to determine, from the motion information candidate list, motion information of the at least two partitions, and set a motion information index value to an index sequence number value of the determined motion information in the motion information candidate list;
the binarization unit 1303 is configured to perform binarization processing on the motion information index value to obtain one or more binary symbols;
the encoding unit 1304 is configured to encode the one or more binary symbols sequentially using a bypass model, and write the encoded bits into a code stream, where the bypass model characterizes binary arithmetic entropy encoding using an equal probability model.
In the above scheme, the motion information includes at least a motion vector and a reference image index.
In the above-mentioned aspect, referring to fig. 13, the encoder 130 may further include a dividing unit 1305 configured to divide the current block according to a triangle division mode if the geometric division mode is the triangle division mode, to obtain at least two partitions of the current block; wherein the at least two partitions include a first partition and a second partition.
In the above aspect, the dividing unit 1305 is specifically configured to diagonally divide the current block according to a triangle division mode, so as to obtain the first partition and the second partition.
In the foregoing aspect, the dividing unit 1305 is specifically configured to perform anti-diagonal division on the current block according to a triangle division mode, so as to obtain the first partition and the second partition.
In the above-described scheme, referring to fig. 13, the encoder 130 may further include a first judging unit 1306 configured to judge the type of the triangle division mode;
the encoding unit 1304 is further configured to set a flag bit as a first symbol value if the type of the triangle division mode is a diagonal division type, and perform binary arithmetic entropy encoding on the first symbol value by using an equal probability model; and if the type of the triangle division mode is an opposite angle division type, setting a zone bit as a second symbol value, and carrying out binary arithmetic entropy coding on the second symbol value by using an equal probability model.
In the above aspect, the first determining unit 1301 is further configured to determine a first motion information index value corresponding to the first partition;
The first determining unit 1306 is further configured to determine whether the first motion information index value is equal to 0;
the encoding unit 1304 is configured to perform binary arithmetic entropy encoding processing on a binary symbol with a value of 0 by using an equal probability model when the first motion information index value is equal to 0; when the first motion information index value is not equal to 0, binary arithmetic entropy coding processing is carried out on binary symbols with the value of 1 by using an equal probability model;
the first determining unit 1306 is further configured to continue determining whether the first motion information index value is equal to i, where i=1, 2,3,..n-1, N is a positive integer greater than or equal to 2;
the encoding unit 1304 is further configured to perform binary arithmetic entropy encoding on the binary symbol with the value of 0 by using an equal probability model when the first motion information index value is equal to N-1.
In the above aspect, the encoding unit 1304 is further configured to perform binary arithmetic entropy encoding processing on a binary symbol with a value of 0 by using an equal probability model when the first motion information index value is equal to i; and when the first motion information index value is not equal to i, performing binary arithmetic entropy coding processing on the binary symbol with the value of 1 by using an equal probability model, and judging whether the first motion information index value is equal to i+1.
In the above-described scheme, referring to fig. 13, the encoder 130 may further include a first updating unit 1307, in which,
the first determining unit 1301 is further configured to determine a first motion information index value corresponding to the first partition and a second motion information index value corresponding to the second partition;
the first determining unit 1306 is further configured to determine whether the second motion information index value is greater than the first motion information index value;
the first updating unit 1307 is configured to update the second motion information index value with a value obtained by subtracting 1 from the second motion information index value if the second motion information index value is greater than the first motion information index value;
the first determining unit 1306 is further configured to determine whether the second motion information index value is equal to j, where j=0, 1,2,3,..n-2, N is a positive integer greater than or equal to 2;
the encoding unit 1304 is further configured to perform binary arithmetic entropy encoding on the binary symbol with the value of 0 by using an equal probability model when the second motion information index value is equal to N-2.
In the above aspect, the encoding unit 1304 is further configured to perform binary arithmetic entropy encoding processing on a binary symbol with a value of 0 by using an equal probability model when the second motion information index value is equal to j; and when the second motion information index value is not equal to j, performing binary arithmetic entropy coding on the binary symbol with the value of 1 by using an equal probability model, and judging whether the first motion information index value is equal to j+1.
It will be appreciated that in this embodiment, the "unit" may be a part of a circuit, a part of a processor, a part of a program or software, etc., and may of course be a module, or may be non-modular. Furthermore, the components in the present embodiment may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional modules.
The integrated units, if implemented in the form of software functional modules, may be stored in a computer-readable storage medium, if not sold or used as separate products, and based on such understanding, the technical solution of the present embodiment may be embodied essentially or partly in the form of a software product, which is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) or processor to perform all or part of the steps of the method described in the present embodiment. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
Accordingly, the present embodiment provides a computer storage medium storing an encoding program that when executed by a first processor implements the encoding method of any one of the foregoing embodiments.
Based on the above-described composition of the encoder 130 and the computer storage medium, referring to fig. 14, which shows a specific hardware structure of the encoder 130 provided in the embodiment of the present application, the method may include: a first communication interface 1401, a first memory 1402 and a first processor 1403; the various components are coupled together by a first bus system 1404. It is appreciated that the first bus system 1404 is used to enable connection communications between these components. The first bus system 1404 includes a power bus, a control bus, and a status signal bus in addition to the data bus. But for clarity of illustration, the various buses are labeled as first bus system 1404 in fig. 14. Wherein, the liquid crystal display device comprises a liquid crystal display device,
a first communication interface 1401, configured to receive and transmit signals during information transceiving with other external network elements;
a first memory 1402 for storing a computer program capable of running on the first processor 1403;
a first processor 1403 for, when running the computer program, performing:
Determining at least two partitions of a current block in an image to be coded according to a geometric partitioning mode of inter-frame prediction;
constructing a motion information candidate list using motion information of neighboring blocks of the current block based on the at least two partitions;
determining the motion information of the at least two partitions from the motion information candidate list, and setting a motion information index value as an index sequence number value of the determined motion information in the motion information candidate list;
binarizing the motion information index value to obtain one or more binary symbols;
and sequentially encoding the one or more binary symbols by using a bypass model, and writing bits obtained by encoding into a code stream, wherein the bypass model represents binary arithmetic entropy encoding by using an equal probability model.
It is to be appreciated that the first memory 1402 in embodiments of the present application may be either volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. The nonvolatile Memory may be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically Erasable EPROM (EEPROM), or a flash Memory. The volatile memory may be random access memory (Random Access Memory, RAM) which acts as an external cache. By way of example, and not limitation, many forms of RAM are available, such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double Data Rate SDRAM (Double Data Rate SDRAM), enhanced SDRAM (ESDRAM), synchronous DRAM (SLDRAM), and Direct RAM (DRRAM). The first memory 1402 of the systems and methods described herein is intended to comprise, without being limited to, these and any other suitable types of memory.
While the first processor 1403 may be an integrated circuit chip with signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuits of hardware or instructions in software form in the first processor 1403. The first processor 1403 described above may be a general purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), an off-the-shelf programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components. The disclosed methods, steps, and logic blocks in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of a method disclosed in connection with the embodiments of the present application may be embodied directly in hardware, in a decoded processor, or in a combination of hardware and software modules in a decoded processor. The software modules may be located in a random access memory, flash memory, read only memory, programmable read only memory, or electrically erasable programmable memory, registers, etc. as well known in the art. Which is located in a first memory 1402 and a first processor 1403 reads information in the first memory 1402 and in combination with its hardware performs the steps of the above method.
It is to be understood that the embodiments described herein may be implemented in hardware, software, firmware, middleware, microcode, or a combination thereof. For a hardware implementation, the processing units may be implemented within one or more application specific integrated circuits (Application Specific Integrated Circuits, ASIC), digital signal processors (Digital Signal Processing, DSP), digital signal processing devices (DSP devices, DSPD), programmable logic devices (Programmable Logic Device, PLD), field programmable gate arrays (Field-Programmable Gate Array, FPGA), general purpose processors, controllers, microcontrollers, microprocessors, other electronic units configured to perform the functions described herein, or a combination thereof. For a software implementation, the techniques described herein may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. The software codes may be stored in a memory and executed by a processor. The memory may be implemented within the processor or external to the processor.
Optionally, as another embodiment, the first processor 1403 is further configured to perform the encoding method of any of the previous embodiments when the computer program is run.
The present embodiment provides an encoder that may include a first determination unit, a first construction unit, a binarization unit, and an encoding unit. The first determining unit is configured to determine at least two partitions of a current block in an image to be encoded according to a geometric partitioning mode of inter prediction; the first construction unit is configured to construct a motion information candidate list using motion information of neighboring blocks of the current block based on at least two partitions; the first determining unit is further configured to determine motion information of at least two partitions from the motion information candidate list, and set a motion information index value to an index sequence number value of the determined motion information in the motion information candidate list; the binarization unit is configured to perform binarization processing on the motion information index value to obtain one or more binary symbols; the coding unit is configured to sequentially code one or more binary symbols by using a bypass model, and write bits obtained by coding into a code stream, wherein the bypass model represents binary arithmetic entropy coding by using an equal probability model; in this way, the bypass model is utilized to encode one or more binary symbols in turn, so that all binary symbols are binary encoded by adopting the equal probability model, and the update operation of the context model can be reduced, thereby reducing the complexity of encoding; in addition, the binary coding based on the equiprobable model is adopted to replace the binary coding based on the context model, so that the coding dependency between the inter-frame prediction and other merge modes can be eliminated, and the whole coding efficiency can be not lost on the premise of ensuring the coding and decoding performance.
Based on the same inventive concepts as the previous embodiments, referring to fig. 15, a schematic diagram of the composition structure of a decoder 150 according to an embodiment of the present application is shown. The decoder 150 comprises a parsing unit 1501, a conversion unit 1502, a second construction unit 1503 and a prediction unit 1504, wherein,
the parsing unit 1501 is configured to parse the code stream to obtain coding mode parameters of the current block;
the parsing unit 1501 is further configured to parse a code stream by using a bypass model when the coding mode parameter indicates that the current block adopts a geometric partitioning mode of inter prediction, to obtain one or more binary symbols related to motion information index values of at least two partitions of the current block, where the bypass model characterizes binary arithmetic entropy decoding by using an equal probability model;
the conversion unit 1502 is configured to convert the one or more binary symbols to obtain the motion information index value;
the second constructing unit 1503 is configured to construct a motion information candidate list using motion information of neighboring blocks adjacent to the current block based on the at least two partitions, and take the motion information in the motion information candidate list indicated by the motion information index value as the motion information of the current block;
The prediction unit 1504 is configured to obtain a predicted value of the current block according to the motion information of the current block.
In the above scheme, the motion information includes at least a motion vector and a reference image index.
In the above-described scheme, referring to fig. 15, the decoder 150 may further include a second determining unit 1505, wherein,
the parsing unit 1501 is further configured to parse a code stream by using a bypass model if the geometric partitioning mode is a triangular partitioning mode, so as to obtain a symbol value related to a type of the triangular partitioning mode;
the second determining unit 1505 is configured to determine that the type of the triangle division mode is a diagonal division type if the symbol value is a first symbol value; and if the symbol value is a second symbol value, determining that the type of the triangular dividing mode is an opposite angle dividing type.
In the above-described scheme, referring to fig. 15, the decoder 150 may further include a second judging unit 1506, wherein,
the parsing unit 1501 is configured to parse the code stream by using an equal probability model for one partition of the at least two partitions, to obtain a kth binary symbol related to a motion information index value of the one partition;
The second judging unit 1506 is configured to judge whether the kth binary symbol is equal to 0;
the second determining unit 1505 is further configured to determine that the index sequence number value of the motion information of the one partition in the motion information candidate list is k when the kth bit binary symbol is equal to 0;
the parsing unit 1501 is further configured to, when the kth binary symbol is not equal to 0, continue parsing the code stream by using the equiprobable model to obtain the kth+1th binary symbol;
the second judging unit 1506 is further configured to judge whether the k+1st binary symbol is equal to 0; wherein k=0, 1,2,3,..n-2, N is a positive integer greater than or equal to 2;
the second determining unit 1505 is further configured to determine that the index sequence number value of the motion information of the one partition in the motion information candidate list is N-2 when the N-2 th bit binary symbol is equal to 0; and when the N-2 bit binary symbol is not equal to 0, continuing to analyze the code stream by utilizing the equal probability model to obtain the N-1 bit binary symbol, and determining that the index sequence number value of the motion information of the partition in the motion information candidate list is N-1.
In the above-described scheme, referring to fig. 15, the decoder 150 may further include a second updating unit 1507, in which,
The second judging unit 1506 is further configured to judge whether the second index sequence number value is greater than the first index sequence number value; the first index sequence number is the index sequence number of the determined motion information of the first partition in the motion information candidate list, and the second index value is the index sequence number of the determined motion information of the second partition in the motion information candidate list;
the second updating unit 1507 is configured to update the second index sequence number value by using a value obtained by adding 1 to the second index sequence number value if the second index sequence number value is greater than the first index sequence number value.
It will be appreciated that in this embodiment, the "unit" may be a part of a circuit, a part of a processor, a part of a program or software, etc., and may of course be a module, or may be non-modular. Furthermore, the components in the present embodiment may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional modules.
The integrated units may be stored in a computer readable storage medium if implemented in the form of software functional modules, and not sold or used as stand-alone products. Based on such understanding, the present embodiment provides a computer storage medium storing a in-box detection program that when executed by a second processor implements the method of any of the preceding embodiments.
Based on the above composition of the decoder 150 and the computer storage medium, referring to fig. 16, a specific hardware structure of the decoder 150 provided in an embodiment of the present application may include: a second communication interface 1601, a second memory 1602, and a second processor 1603; the various components are coupled together by a second bus system 1604. It is appreciated that the second bus system 1604 is used to enable connected communications between these components. The second bus system 1604 includes a power bus, a control bus, and a status signal bus in addition to the data bus. But for clarity of illustration, the various buses are labeled as a second bus system 1604 in fig. 16. Wherein, the liquid crystal display device comprises a liquid crystal display device,
a second communication interface 1601, configured to receive and transmit signals during a process of receiving and transmitting information with the charging box;
A second memory 1602 for storing a computer program capable of running on the second processor 1603;
a second processor 1603 for, when running the computer program, performing:
analyzing the code stream to obtain the coding mode parameter of the current block;
when the coding mode parameter indicates that the current block adopts a geometric partitioning mode of inter prediction, analyzing a code stream by using a bypass model to obtain one or more binary symbols related to motion information index values of at least two partitions of the current block, wherein the bypass model represents binary arithmetic entropy decoding by using an equal probability model;
converting the one or more binary symbols to obtain the motion information index value;
constructing a motion information candidate list by utilizing motion information of adjacent blocks adjacent to the current block based on the at least two partitions, and taking the motion information in the motion information candidate list indicated by the motion information index value as the motion information of the current block;
and obtaining the predicted value of the current block according to the motion information of the current block.
Optionally, as another embodiment, the second processor 1603 is further configured to perform the method of any of the preceding embodiments when running the computer program.
It is appreciated that the second memory 1602 is similar to the hardware functionality of the first memory 1402 and the second processor 1603 is similar to the hardware functionality of the first processor 1403; and will not be described in detail herein.
The present embodiment provides a decoder that may include a parsing unit, a converting unit, a second constructing unit, and a predicting unit. The analysis unit is configured to analyze the code stream to obtain the coding mode parameter of the current block; the analysis unit is further configured to analyze the code stream by using a bypass model to obtain one or more binary symbols related to motion information index values of at least two partitions of the current block when the coding mode parameter indicates that the current block adopts a geometric partitioning mode of inter prediction, and the bypass model characterizes binary arithmetic entropy decoding by using an equal probability model; the conversion unit is configured to convert one or more binary symbols to obtain a motion information index value; the second construction unit is configured to construct a motion information candidate list by using motion information of adjacent blocks adjacent to the current block based on at least two partitions, and the motion information in the motion information candidate list indicated by the motion information index value is used as the motion information of the current block; the prediction unit is configured to obtain a predicted value of the current block according to the motion information of the current block; in this way, the bypass model is utilized to analyze the code stream to obtain one or more binary symbols related to the motion information index values of at least two partitions of the current block, so that all binary symbols are binary decoded by adopting an equal probability model, and the updating operation of the context model can be reduced, thereby reducing the decoding complexity; in addition, the binary decoding based on the equiprobable model is adopted to replace the binary decoding based on the context model, so that the decoding dependency between the inter-frame prediction and other merge modes can be eliminated, and the whole decoding efficiency can be not lost on the premise of ensuring the encoding and decoding performance.
It should be noted that, in this application, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The foregoing embodiment numbers of the present application are merely for describing, and do not represent advantages or disadvantages of the embodiments.
The methods disclosed in the several method embodiments provided in the present application may be arbitrarily combined without collision to obtain a new method embodiment.
The features disclosed in the several product embodiments provided in the present application may be combined arbitrarily without conflict to obtain new product embodiments.
The features disclosed in the several method or apparatus embodiments provided in the present application may be arbitrarily combined without conflict to obtain new method embodiments or apparatus embodiments.
The foregoing is merely specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily think about changes or substitutions within the technical scope of the present application, and the changes and substitutions are intended to be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
Industrial applicability
In the embodiment of the application, the method is applied to an encoder, and at least two partitions of a current block in an image to be encoded are determined according to a geometric partition mode of inter prediction; constructing a motion information candidate list using motion information of neighboring blocks of the current block based on at least two partitions; determining motion information of at least two partitions from the motion information candidate list, and setting a motion information index value as an index sequence number value of the determined motion information in the motion information candidate list; binarizing the motion information index value to obtain one or more binary symbols; sequentially encoding the one or more binary symbols by using a bypass model, writing bits obtained by encoding into a code stream, and performing binary arithmetic entropy encoding by using an equal probability model by using the bypass model representation; in this way, the bypass model is utilized to encode one or more binary symbols in turn, so that all binary symbols are binary encoded by adopting the equal probability model, and the update operation of the context model can be reduced, thereby reducing the complexity of encoding; in addition, the binary coding based on the equiprobable model is adopted to replace the binary coding based on the context model, so that the coding dependence between the inter-frame prediction and other merge modes can be eliminated, and the whole coding efficiency can be not lost on the premise of ensuring the coding and decoding performance; the method is also applied to a decoder, and the coding mode parameters of the current block are obtained by analyzing the code stream; when the coding mode parameter indicates that the current block adopts a geometric partitioning mode of inter-frame prediction, analyzing a code stream by using a bypass model to obtain one or more binary symbols related to motion information index values of at least two partitions of the current block, wherein the bypass model represents that a binary arithmetic entropy decoding is performed by using an equal probability model; converting one or more binary symbols to obtain a motion information index value; constructing a motion information candidate list by utilizing motion information of adjacent blocks adjacent to a current block based on at least two partitions, and taking the motion information in the motion information candidate list indicated by the motion information index value as the motion information of the current block; obtaining a predicted value of the current block according to the motion information of the current block; in this way, the bypass model is utilized to analyze the code stream to obtain one or more binary symbols related to the motion information index values of at least two partitions of the current block, so that all binary symbols are binary decoded by adopting an equal probability model, and the updating operation of the context model can be reduced, thereby reducing the decoding complexity; in addition, the binary decoding based on the equiprobable model is adopted to replace the binary decoding based on the context model, so that the decoding dependency between the inter-frame prediction and other merge modes can be eliminated, and the whole decoding efficiency can be not lost on the premise of ensuring the encoding and decoding performance.

Claims (20)

1. An encoding method applied to an encoder, the method comprising:
determining at least two partitions of a current block in an image to be coded according to a geometric partitioning mode of inter-frame prediction;
constructing a motion information candidate list using motion information of neighboring blocks of the current block based on the at least two partitions;
determining the motion information of the at least two partitions from the motion information candidate list, and setting a motion information index value as an index sequence number value of the determined motion information in the motion information candidate list;
binarizing the motion information index value to obtain one or more binary symbols;
and sequentially encoding the one or more binary symbols by using a bypass model, and writing bits obtained by encoding into a code stream, wherein the bypass model represents binary arithmetic entropy encoding by using an equal probability model.
2. The method of claim 1, wherein the motion information includes at least a motion vector and a reference picture index.
3. The method of claim 1, wherein the determining at least two partitions of the current block in the image to be encoded according to the inter-prediction geometric partition mode comprises:
If the geometric division mode is a triangle division mode, dividing the current block according to the triangle division mode to obtain at least two partitions of the current block; wherein the at least two partitions include a first partition and a second partition.
4. The method of claim 3, wherein the dividing the current block according to the triangle division mode results in at least two partitions of the current block, comprising:
and diagonally dividing the current block according to a triangle division mode to obtain the first partition and the second partition.
5. The method of claim 3, wherein the dividing the current block according to the triangle division mode results in at least two partitions of the current block, comprising:
and performing anti-diagonal division on the current block according to a triangle division mode to obtain the first partition and the second partition.
6. The method of any one of claims 3 to 5, wherein the method further comprises:
judging the type of the triangle division mode;
if the type of the triangle division mode is a diagonal division type, setting a flag bit as a first symbol value, and performing binary arithmetic entropy coding on the first symbol value by using an equal probability model;
And if the type of the triangle division mode is an opposite angle division type, setting a flag bit as a second symbol value, and carrying out binary arithmetic entropy coding on the second symbol value by using an equal probability model.
7. A method according to claim 3, wherein said encoding said one or more binary symbols in turn using a bypass model comprises:
determining a first motion information index value corresponding to the first partition;
judging whether the first motion information index value is equal to 0;
when the first motion information index value is equal to 0, binary arithmetic entropy coding is carried out on binary symbols with the value of 0 by using an equal probability model;
when the first motion information index value is not equal to 0, performing binary arithmetic entropy coding processing on a binary symbol with a value of 1 by using an equal probability model, and continuously judging whether the first motion information index value is equal to i, wherein i=1, 2,3, & gt, N-1, N is a positive integer greater than or equal to 2;
and when the first motion information index value is equal to N-1, performing binary arithmetic entropy coding processing on the binary symbol with the value of 0 by using an equal probability model.
8. The method of claim 7, wherein the determining whether the first motion information index value is equal to i comprises:
When the first motion information index value is equal to i, binary arithmetic entropy coding processing is carried out on binary symbols with the value of 0 by using an equal probability model;
and when the first motion information index value is not equal to i, performing binary arithmetic entropy coding processing on the binary symbol with the value of 1 by using an equal probability model, and judging whether the first motion information index value is equal to i+1.
9. A method according to claim 3, wherein said encoding said one or more binary symbols in turn using a bypass model comprises:
determining a first motion information index value corresponding to the first partition and a second motion information index value corresponding to the second partition;
judging whether the second motion information index value is larger than the first motion information index value;
if the second motion information index value is larger than the first motion information index value, updating the second motion information index value by using a value obtained by subtracting 1 from the second motion information index value, and judging whether the second motion information index value is equal to j or not; wherein j=0, 1,2,3,..n-2, N is a positive integer greater than or equal to 2;
and when the second motion information index value is equal to N-2, performing binary arithmetic entropy coding on the binary symbol with the value of 0 by using an equal probability model.
10. The method of claim 9, wherein the determining whether the second motion information index value is equal to j comprises:
when the second motion information index value is equal to j, binary arithmetic entropy coding is carried out on binary symbols with the value of 0 by using an equal probability model;
and when the second motion information index value is not equal to j, performing binary arithmetic entropy coding on the binary symbol with the value of 1 by using an equal probability model, and judging whether the first motion information index value is equal to j+1.
11. A decoding method applied to a decoder, the method comprising:
analyzing the code stream to obtain the coding mode parameter of the current block;
when the coding mode parameter indicates that the current block adopts a geometric partitioning mode of inter prediction, analyzing a code stream by using a bypass model to obtain one or more binary symbols related to motion information index values of at least two partitions of the current block, wherein the bypass model represents binary arithmetic entropy decoding by using an equal probability model;
converting the one or more binary symbols to obtain the motion information index value;
constructing a motion information candidate list by utilizing motion information of adjacent blocks adjacent to the current block based on the at least two partitions, and taking the motion information in the motion information candidate list indicated by the motion information index value as the motion information of the current block;
And obtaining the predicted value of the current block according to the motion information of the current block.
12. The method of claim 11, wherein the motion information includes at least a motion vector and a reference picture index.
13. The method of claim 11, wherein when the coding mode parameter indicates that the current block adopts a geometric partitioning mode of inter prediction, the method further comprises:
if the geometric division mode is a triangular division mode, analyzing a code stream by using a bypass model to obtain a symbol value related to the type of the triangular division mode;
if the symbol value is a first symbol value, determining that the type of the triangle division mode is a diagonal division type;
and if the symbol value is a second symbol value, determining that the type of the triangular dividing mode is an opposite angle dividing type.
14. The method of claim 11, wherein said parsing the code stream using the bypass model to obtain one or more binary symbols related to motion information index values of at least two partitions of the current block, comprises:
aiming at one partition in the at least two partitions, analyzing a code stream by utilizing an equal probability model to obtain a kth binary symbol related to a motion information index value of the one partition;
Judging whether the k-th binary symbol is equal to 0;
when the k-th binary symbol is equal to 0, determining that the index sequence number value of the motion information of the partition in the motion information candidate list is k;
when the k-th binary symbol is not equal to 0, continuing to analyze the code stream by utilizing an equal probability model to obtain a k+1th binary symbol, and judging whether the k+1th binary symbol is equal to 0; wherein k=0, 1,2,3,..n-2, N is a positive integer greater than or equal to 2;
when the N-2 bit binary symbol is equal to 0, determining that the index sequence number value of the motion information of the partition in the motion information candidate list is N-2;
and when the N-2 bit binary symbol is not equal to 0, continuing to analyze the code stream by utilizing an equal probability model to obtain the N-1 bit binary symbol, and determining that the index sequence number value of the motion information of the partition in the motion information candidate list is N-1.
15. The method of claim 14, wherein the at least two partitions comprise a first partition and a second partition, the method further comprising:
judging whether the second index sequence number value is larger than the first index sequence number value; the first index sequence number is the index sequence number of the determined motion information of the first partition in the motion information candidate list, and the second index value is the index sequence number of the determined motion information of the second partition in the motion information candidate list;
And if the second index sequence number value is larger than the first index sequence number value, updating the second index sequence number value by using the value obtained by adding 1 to the second index sequence number value.
16. An encoder comprising a first determination unit, a first construction unit, a binarization unit and an encoding unit, wherein,
the first determining unit is configured to determine at least two partitions of a current block in an image to be encoded according to a geometric partition mode of inter prediction;
the first construction unit is configured to construct a motion information candidate list by using motion information of adjacent blocks of the current block based on the at least two partitions;
the first determining unit is further configured to determine motion information of the at least two partitions from the motion information candidate list, and set a motion information index value as an index sequence number value of the determined motion information in the motion information candidate list;
the binarization unit is configured to perform binarization processing on the motion information index value to obtain one or more binary symbols;
the coding unit is configured to sequentially code the one or more binary symbols by using a bypass model, and write bits obtained by coding into a code stream, wherein the bypass model represents binary arithmetic entropy coding by using an equal probability model.
17. A decoder includes a parsing unit, a converting unit, a second constructing unit, and a predicting unit, wherein,
the analysis unit is configured to analyze the code stream to obtain the coding mode parameters of the current block;
the parsing unit is further configured to parse a code stream by using a bypass model when the coding mode parameter indicates that the current block adopts a geometric partitioning mode of inter prediction, so as to obtain one or more binary symbols related to motion information index values of at least two partitions of the current block, wherein the bypass model represents binary arithmetic entropy decoding by using an equal probability model;
the conversion unit is configured to convert the one or more binary symbols to obtain the motion information index value;
the second construction unit is configured to construct a motion information candidate list by using motion information of adjacent blocks adjacent to the current block based on the at least two partitions, and takes the motion information in the motion information candidate list indicated by the motion information index value as the motion information of the current block;
and the prediction unit is configured to obtain a predicted value of the current block according to the motion information of the current block.
18. An encoder comprising a first memory and a first processor, wherein,
the first memory is used for storing a computer program capable of running on the first processor;
the first processor being adapted to perform the method of any of claims 1 to 10 when the computer program is run.
19. A decoder comprising a second memory and a second processor, wherein,
the second memory is used for storing a computer program capable of running on the second processor;
the second processor being adapted to perform the method of any of claims 11 to 15 when the computer program is run.
20. A computer storage medium storing a computer program which when executed by a first processor performs the method of any one of claims 1 to 10 or when executed by a second processor performs the method of any one of claims 11 to 15.
CN201980087954.1A 2019-09-24 2019-09-24 Encoding method, decoding method, encoder, decoder, and storage medium Active CN113261285B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/107600 WO2021056214A1 (en) 2019-09-24 2019-09-24 Encoding method, decoding method, encoder, decoder and storage medium

Publications (2)

Publication Number Publication Date
CN113261285A CN113261285A (en) 2021-08-13
CN113261285B true CN113261285B (en) 2023-06-02

Family

ID=75166244

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980087954.1A Active CN113261285B (en) 2019-09-24 2019-09-24 Encoding method, decoding method, encoder, decoder, and storage medium

Country Status (2)

Country Link
CN (1) CN113261285B (en)
WO (1) WO2021056214A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114513210B (en) * 2022-04-20 2022-08-02 苏州浪潮智能科技有限公司 State selection method, system, storage medium and device for finite state entropy coding

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106797476A (en) * 2014-10-07 2017-05-31 高通股份有限公司 Frame in BC and interframe are unified
CN107046642A (en) * 2011-11-07 2017-08-15 华为技术有限公司 Video Decoder and video encoder with enhancing CABAC decodings
CN108293128A (en) * 2015-11-20 2018-07-17 联发科技股份有限公司 The method and device of global motion compensation in video coding and decoding system
CN109922336A (en) * 2017-12-12 2019-06-21 华为技术有限公司 The inter-frame prediction method and device of video data
CN109963155A (en) * 2017-12-23 2019-07-02 华为技术有限公司 Prediction technique, device and the codec of the motion information of image block

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3410719A1 (en) * 2017-05-30 2018-12-05 Thomson Licensing Method and device for picture encoding and decoding
US10827173B2 (en) * 2017-11-13 2020-11-03 Electronics And Telecommunications Research Institute Method and apparatus for quantization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107046642A (en) * 2011-11-07 2017-08-15 华为技术有限公司 Video Decoder and video encoder with enhancing CABAC decodings
CN106797476A (en) * 2014-10-07 2017-05-31 高通股份有限公司 Frame in BC and interframe are unified
CN108293128A (en) * 2015-11-20 2018-07-17 联发科技股份有限公司 The method and device of global motion compensation in video coding and decoding system
CN109922336A (en) * 2017-12-12 2019-06-21 华为技术有限公司 The inter-frame prediction method and device of video data
CN109963155A (en) * 2017-12-23 2019-07-02 华为技术有限公司 Prediction technique, device and the codec of the motion information of image block

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHEN,Fangdong 等.Non-CE4: On the Context of Triangle Merge Index.Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 15th Meeting: Gothenburg, SE, 3–12 July 2019.2019,全文. *

Also Published As

Publication number Publication date
CN113261285A (en) 2021-08-13
WO2021056214A1 (en) 2021-04-01

Similar Documents

Publication Publication Date Title
RU2720648C1 (en) Method and device for encoding or decoding an image with prediction of motion information between levels in accordance with a motion information compression circuit
TWI753356B (en) Method and apparatuses for coding transform blocks
JP7223045B2 (en) Multi-component image or video coding concept
JP5134001B2 (en) Scalable video coding with lower layer filtering
CN101998121B (en) Encoder, decoder, video frame coding method and bit stream decoding method
WO2020253831A1 (en) Method and device for coding and decoding, and storage medium
CN111133759B (en) Method and apparatus for encoding or decoding video data
GB2519616A (en) Method and apparatus for displacement vector component prediction in video coding and decoding
JP7439841B2 (en) In-loop filtering method and in-loop filtering device
KR101375667B1 (en) Method and apparatus for Video encoding and decoding
KR20190117352A (en) Apparatus and method for video encoding or decoding
CN113261285B (en) Encoding method, decoding method, encoder, decoder, and storage medium
CN113784128B (en) Image prediction method, encoder, decoder, and storage medium
CN116235496A (en) Encoding method, decoding method, encoder, decoder, and encoding system
CN116848844A (en) Encoding and decoding method, encoding and decoding device, encoding and decoding system, and computer-readable storage medium
KR101979379B1 (en) Method and apparatus for encoding image, and method and apparatus for decoding image
US20230403392A1 (en) Intra prediction method and decoder
CN117413515A (en) Encoding/decoding method, encoder, decoder, and computer storage medium
CN116998149A (en) Encoding and decoding method for coefficient, encoder, decoder and computer storage medium
CN116803078A (en) Encoding/decoding method, code stream, encoder, decoder, and storage medium
KR20100138735A (en) Video encoding and decoding apparatus and method using context information-based adaptive post filter

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