CN112073729A - Model updating method and device, electronic equipment and computer readable storage medium - Google Patents
Model updating method and device, electronic equipment and computer readable storage medium Download PDFInfo
- Publication number
- CN112073729A CN112073729A CN202010152701.2A CN202010152701A CN112073729A CN 112073729 A CN112073729 A CN 112073729A CN 202010152701 A CN202010152701 A CN 202010152701A CN 112073729 A CN112073729 A CN 112073729A
- Authority
- CN
- China
- Prior art keywords
- probability
- model
- binary symbol
- binary
- updating
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 119
- 230000015654 memory Effects 0.000 claims description 72
- 230000002123 temporal effect Effects 0.000 claims description 20
- 238000006073 displacement reaction Methods 0.000 description 23
- 230000002457 bidirectional effect Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000013139 quantization Methods 0.000 description 8
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 235000019800 disodium phosphate Nutrition 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Feedback Control In General (AREA)
Abstract
The embodiment of the application provides a model updating method and device, electronic equipment and a computer readable storage medium, and relates to the technical field of computers. The method comprises the following steps: acquiring first parameters respectively corresponding to all binary symbol models corresponding to a current frame to be decoded, wherein the first parameters corresponding to the binary symbol models comprise: and then updating the corresponding binary symbol models based on the first parameters respectively corresponding to the binary symbol models. The embodiment of the application can save the storage space occupied by the parameters for updating the model.
Description
Technical Field
The present application relates to the field of computer technologies, and in particular, to a model updating method, apparatus, electronic device, and computer-readable storage medium.
Background
In the existing Video Coding, for example, the second generation digital Audio/Video Coding Standard (AVS 2, avd Standard 2), h.264/AVC (High Efficiency Video Coding, HEVC), and High Efficiency Video Coding (HEVC), a Context-based adaptive binary arithmetic Coding (CABAC) method is used to entropy code a binary symbol string after binarization of a syntax element, so as to further improve the compression ratio.
Since the probability distribution of each binary symbol in the binary string is dynamically distributed according to different encoding parameters and the content of the input video source, a binary symbol model needs to be stored and maintained. For next generation Video Coding (VVC), a coded image may be divided into one or more frames, each frame includes 702 binary symbol models, before any frame is coded or decoded, the predefined 702 binary symbol models need to be loaded into a memory, then the probability of a current binary symbol is estimated through information in the binary symbol models, information in the binary symbol models is updated according to the current binary symbol information, and the update speed of the binary symbol models is controlled through a probability update speed parameter (e.g., a right displacement number), where the binary symbol models corresponding to the binary symbols may be referred to as binary symbol models.
However, the storage of the probability update rate parameter in the binary symbol model requires a large storage space, and each frame image includes a plurality of binary symbol models, which may result in a large storage space being additionally occupied, for example, each binary symbol model uses 8 bits to store the probability update rate parameter, such as a right shift number, and each frame image includes 702 binary symbol models, and each frame image requires an additional storage space of 8 × 702 bits, which results in a large storage space being occupied.
Disclosure of Invention
The application provides a model updating method, a model updating device, electronic equipment and a computer readable storage medium, which are used for solving the problem that the storage space occupied by parameters for updating a model is large.
In a first aspect, a model updating method is provided, and the method includes:
acquiring first parameters respectively corresponding to all binary symbol models corresponding to a current frame to be coded, wherein the first parameters corresponding to the binary symbol models comprise: information relating to a difference between the at least one probability update rate parameter and the base probability update rate parameter;
and updating the corresponding binary symbolic models based on the first parameters respectively corresponding to the binary symbolic models.
In one possible implementation manner, the first parameter corresponding to the binary symbolic model further includes: probability updating times of related information;
the related information of the probability updating times comprises the probability updating times of the binary symbol model and a threshold value of the probability updating times.
Another possible implementation manner, the manner of obtaining the threshold of the probability update times includes:
determining coding information of a current frame to be decoded;
and acquiring a threshold value of the probability updating times based on the coding information of the current frame to be decoded.
Another possible implementation manner, the obtaining first parameters respectively corresponding to each binary symbol model corresponding to the current frame to be encoded includes:
and acquiring first parameters respectively corresponding to all binary symbol models corresponding to the pre-defined current frame to be coded.
Another possible implementation manner is to obtain first parameters respectively corresponding to each binary symbol model corresponding to a current frame to be encoded, and then further include:
and storing the first parameters respectively corresponding to the binary symbolic models.
Another possible implementation manner is that the storing the first parameters respectively corresponding to each binary symbolic model includes:
when each binary symbol model is initialized, first parameters respectively corresponding to each binary symbol model corresponding to a current frame to be coded are stored in respective occupied storage space.
Another possible implementation manner is that the storing the first parameters respectively corresponding to each binary symbolic model includes:
when each binary symbolic model is initialized, the first parameters respectively corresponding to each binary symbolic model are stored in the memory corresponding to the binary symbolic model.
Another possible implementation manner is that the storing the first parameters respectively corresponding to each binary symbolic model includes:
and if at least one piece of relevant information corresponding to each binary symbol model is the same, storing the same at least one piece of relevant information as a frame level parameter to a frame level layer, wherein the at least one piece of relevant information is relevant information of a difference value between at least one probability updating speed parameter and a basic probability updating speed parameter and relevant information of probability updating times.
Another possible implementation manner is that, based on the first parameter corresponding to each binary symbolic model, updating the corresponding binary symbolic model, including:
acquiring a basic probability updating speed parameter;
determining second parameters respectively corresponding to the binary symbol models based on the first parameters respectively corresponding to the binary symbol models and the obtained basic probability updating speed parameter, wherein the second parameters corresponding to the binary symbol models comprise: at least one probabilistic update speed parameter;
and updating the corresponding binary symbol models based on the second parameters respectively corresponding to the binary symbol models.
Another possible implementation manner is that obtaining the basic probability update speed parameter includes:
determining coding information of a current frame to be coded;
and acquiring a basic probability updating speed parameter based on the coding information of the current frame to be coded.
In another possible implementation manner, the coding information of the current frame to be coded includes at least one of the following:
a frame type; quantizing the parameters; image resolution; a temporal layer identifier; picture Order Count (POC); code configuration; group of pictures (GOP) structure.
In another possible implementation manner, the method further includes: and writing the basic probability updating speed parameter into the code stream.
Another possible implementation manner is that the obtaining of the first parameter respectively corresponding to each binary symbol model corresponding to the current frame to be encoded includes at least one of the following:
acquiring first parameters of each binary symbol model corresponding to a frame to be coded at present from first parameters respectively corresponding to each binary symbol model predefined by an encoder;
and acquiring respective predefined first parameters from each predefined binary symbol model corresponding to the current frame to be coded.
In another possible implementation manner, the method further includes:
any relevant information corresponding to each binary symbolic model respectively comprises at least one of the following relations:
any relevant information corresponding to each binary symbol model is different;
any relevant information corresponding to the at least two binary symbol models is the same;
the basic probability model parameters corresponding to each frame to be coded respectively comprise at least one of the following relations:
the basic probability model parameters respectively corresponding to the frames to be coded are different;
and the basic probability model parameters corresponding to at least two frames to be coded are the same.
In another possible implementation manner, the storage space occupied by the related information of the difference between any probability update speed parameter and the basic probability update speed parameter corresponding to any binary symbol model is 2 bits, 3 bits, or 1 bit.
Another possible implementation manner, where the information related to at least the difference between the probability update speed parameter and the basic probability update speed parameter includes: the absolute value of the difference between the at least one probability update rate parameter and the base probability update rate parameter.
Another possible implementation manner is to store the first parameters respectively corresponding to the binary symbolic models, where the first parameters include at least one of the following:
storing the first parameters respectively corresponding to the binary symbolic models into the memories corresponding to the binary symbolic models;
and storing the first parameters respectively corresponding to the binary symbolic models into the memories respectively occupied by the models.
In another possible implementation manner, the second parameter corresponding to any binary symbolic model includes two probability update speed parameters: a first probability update rate parameter for updating a first probability of the binary symbolic model and a second probability update rate parameter for updating a second probability of the binary symbolic model; the threshold for the number of probability updates in the first parameter of any binary symbolic model comprises: the probability updating time threshold is not less than the first probability updating time threshold;
wherein updating the corresponding binary symbolic models based on the second parameters respectively corresponding to the binary symbolic models comprises:
updating at least one of a first probability of the corresponding binary symbol model and a second probability of the binary symbol model based on the second parameter corresponding to each binary symbol model and the threshold value of the probability updating times corresponding to each binary symbol model;
and updating the binary symbol models corresponding to the binary symbol models respectively based on the updated first probability and/or the updated second probability corresponding to the binary symbol models respectively.
Another possible implementation manner, updating at least one of the first probability of the corresponding binary symbol model and the second probability of the binary symbol model based on the second parameter corresponding to any binary symbol model and the threshold of the corresponding probability updating times includes:
determining whether to update the first probability of any binary symbol model and/or the second probability of any binary symbol model based on the magnitude relation between the probability updating times corresponding to any binary symbol model and a second probability updating time threshold value;
updating at least one of a first probability of the corresponding bigram model and a second probability of the bigram model based on the determination and a second parameter corresponding to the any bigram model.
In a second aspect, there is provided an example model updating apparatus, including:
a first obtaining module, configured to obtain first parameters corresponding to each binary symbol model corresponding to a current frame to be encoded, where the first parameters corresponding to the binary symbol models include: information relating to a difference between the at least one probability update rate parameter and the base probability update rate parameter;
and the first updating module is used for updating the corresponding binary symbol models based on the first parameters respectively corresponding to the binary symbol models.
In one possible implementation manner, the first parameter corresponding to the binary symbolic model further includes: probability updating times of related information;
the related information of the probability updating times comprises: a number of probability updates and a threshold for the number of probability updates.
In another possible implementation manner, when the first obtaining module obtains the threshold of the probability update times, the first obtaining module is specifically configured to:
determining coding information of a current frame to be decoded;
and acquiring a threshold value of the probability updating times based on the coding information of the current frame to be decoded.
In another possible implementation manner, when obtaining the first parameter corresponding to each binary symbol model corresponding to the current frame to be encoded, the first obtaining module is specifically configured to:
and acquiring first parameters respectively corresponding to all binary symbol models corresponding to the pre-defined current frame to be coded.
In another possible implementation manner, the apparatus further includes: a first storage module, wherein,
and the first storage module is used for storing the first parameters respectively corresponding to the binary symbol models.
In another possible implementation manner, the first storage module is specifically configured to store, when initializing each binary symbolic model, first parameters respectively corresponding to each binary symbolic model corresponding to a current frame to be encoded into a storage space occupied by each binary symbolic model.
In another possible implementation manner, the first storage module is specifically configured to, when at least one piece of related information corresponding to each binary symbol model is the same, store the same at least one piece of related information as a frame level parameter to a frame level layer, where the at least one piece of related information is related information of a difference between at least one probability update rate parameter and a basic probability update rate parameter, and related information of the number of probability updates.
When the first storage module stores the first parameters corresponding to the binary symbol models respectively, the first storage module is specifically configured to:
when each binary symbolic model is initialized, the first parameters respectively corresponding to each binary symbolic model are stored in the memory corresponding to the binary symbolic model.
In another possible implementation manner, the first updating module includes: a first obtaining unit, a first determining unit, and a first updating unit, wherein,
the first acquisition unit is used for acquiring a basic probability updating speed parameter;
a first determining unit, configured to determine, based on first parameters corresponding to each binary symbolic model and the obtained basic probability update speed parameter, second parameters corresponding to each binary symbolic model, where the second parameters corresponding to any binary symbolic model include: at least one probabilistic update speed parameter;
and the first updating unit is used for updating the corresponding binary symbol models based on the second parameters respectively corresponding to the binary symbol models.
In another possible implementation manner, the first obtaining unit is specifically configured to determine coding information of a current frame to be coded, and obtain the basic probability update speed parameter based on the coding information of the current frame to be coded.
In another possible implementation manner, the coding information of the current frame to be coded includes at least one of the following:
a frame type; quantizing the parameters; image resolution; a temporal layer identifier; picture order count POC; code configuration; group of pictures, GOP, structure.
In another possible implementation manner, the apparatus further includes: a write module for writing, to the memory, wherein,
and the writing module is used for writing the basic probability updating speed parameter into the code stream.
In another possible implementation manner, the first obtaining module is specifically configured to obtain, from first parameters respectively corresponding to each binary symbol model predefined by an encoder, first parameters respectively corresponding to each binary symbol model corresponding to a frame to be encoded currently, and/or obtain, from each predefined binary symbol model corresponding to a frame to be encoded currently, first parameters respectively defined previously.
In another possible implementation manner, the apparatus further includes:
any relevant information corresponding to each binary symbolic model respectively comprises at least one of the following relations:
any relevant information corresponding to each binary symbol model is different;
any relevant information corresponding to the at least two binary symbol models is the same;
the basic probability model parameters corresponding to each frame to be coded respectively comprise at least one of the following relations:
the basic probability model parameters respectively corresponding to the frames to be coded are different;
and the basic probability model parameters corresponding to at least two frames to be coded are the same.
In another possible implementation manner, the storage space occupied by the related information of the difference between any probability update speed parameter and the basic probability update speed parameter corresponding to any binary symbol model is 2 bits, 3 bits, or 1 bit.
Another possible implementation manner, where the information related to at least the difference between the probability update speed parameter and the basic probability update speed parameter includes: the absolute value of the difference between the at least one probability update rate parameter and the base probability update rate parameter.
In another possible implementation manner, the second parameter corresponding to any binary symbolic model includes two probability update speed parameters: a first probability update rate parameter for updating a first probability of the binary symbolic model and a second probability update rate parameter for updating a second probability of the binary symbolic model; the threshold for the number of probability updates in the first parameter of any binary symbolic model comprises: the probability updating time threshold is not less than the first probability updating time threshold;
the first updating unit is specifically configured to, when updating the corresponding binary symbol models based on the second parameters respectively corresponding to the binary symbol models:
updating at least one of a first probability of the corresponding binary symbol model and a second probability of the binary symbol model based on the second parameter corresponding to each binary symbol model and the threshold value of the probability updating times corresponding to each binary symbol model;
and updating the binary symbol models corresponding to the binary symbol models respectively based on the updated first probability and/or the updated second probability corresponding to the binary symbol models respectively.
In another possible implementation manner, when updating at least one of the first probability of the corresponding binary symbol model and the second probability of the binary symbol model based on the second parameter corresponding to any binary symbol model and the threshold of the corresponding probability update time, the first updating unit is specifically configured to:
determining whether to update the first probability of any binary symbol model and/or the second probability of any binary symbol model based on the magnitude relation between the probability updating times corresponding to any binary symbol model and a second probability updating time threshold value;
updating at least one of a first probability of the corresponding bigram model and a second probability of the bigram model based on the determination and a second parameter corresponding to the any bigram model.
In a third aspect, an electronic device is provided, which includes:
one or more processors;
a memory;
one or more computer programs, wherein the one or more computer programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs configured to: and executing the operation corresponding to the model updating method shown in the first aspect.
In a fourth aspect, there is provided a computer readable storage medium storing at least one instruction, at least one program, a set of codes, or a set of instructions, which is loaded and executed by a processor to implement the model updating method as shown in the first aspect.
In a fifth aspect, a model updating method is provided, including:
acquiring first parameters respectively corresponding to all binary symbol models corresponding to a current frame to be decoded, wherein the first parameters corresponding to the binary symbol models comprise: information relating to a difference between the at least one probability update rate parameter and the base probability update rate parameter;
and updating the corresponding binary symbolic models based on the first parameters respectively corresponding to the binary symbolic models.
In one possible implementation manner, the first parameter corresponding to the binary symbolic model further includes: probability updating times of related information;
the related information of the probability updating times comprises: a number of probability updates and a threshold for the number of probability updates.
Another possible implementation manner, the manner of obtaining the threshold of the probability update times includes:
determining coding information of a current frame to be decoded;
and acquiring a threshold value of the probability updating times based on the coding information of the current frame to be decoded.
A possible implementation manner is to obtain first parameters respectively corresponding to each binary symbol model corresponding to a current frame to be decoded, and then further includes:
and storing the first parameters respectively corresponding to the binary symbolic models.
Another possible implementation manner is that the storing the first parameters respectively corresponding to each binary symbolic model includes:
when each binary symbol model is initialized, first parameters respectively corresponding to each binary symbol model corresponding to a frame to be decoded at present are stored in respective occupied storage space.
Another possible implementation manner is that the storing the first parameters respectively corresponding to each binary symbolic model includes:
and if at least one piece of relevant information corresponding to each binary symbol model is the same, storing the same at least one piece of relevant information as a frame level parameter to a frame level layer, wherein the at least one piece of relevant information is relevant information of a difference value between at least one probability updating speed parameter and a basic probability updating speed parameter and relevant information of probability updating times.
Another possible implementation manner is that, based on the first parameter corresponding to each binary symbolic model, updating the corresponding binary symbolic model, including:
acquiring a basic probability updating speed parameter;
determining second parameters respectively corresponding to the binary symbolic models based on first parameters respectively corresponding to the binary symbolic models stored in a memory and the acquired basic probability updating speed parameter, wherein the second parameters corresponding to the binary symbolic models comprise: at least one probabilistic update speed parameter;
and updating the corresponding binary symbol models based on the second parameters respectively corresponding to the binary symbol models.
Another possible implementation manner is to obtain a basic probability update speed parameter, which includes at least one of:
acquiring a basic probability updating speed parameter from the code stream;
and acquiring a basic probability updating speed parameter based on the coding information of the current frame to be decoded.
In another possible implementation, the coding information of the current frame to be decoded includes at least one of the following:
a frame type; quantizing the parameters; image resolution; a temporal layer identifier; picture order count POC; code configuration; group of pictures, GOP, structure.
Another possible implementation manner is that the obtaining of the first parameter respectively corresponding to each binary symbol model corresponding to the current frame to be decoded includes at least one of the following:
acquiring first parameters of each binary symbol model corresponding to a frame to be decoded at present from first parameters respectively corresponding to each binary symbol model predefined by a decoder;
and respectively obtaining the first parameters which are respectively defined in advance from each predefined binary symbol model corresponding to the current frame to be decoded.
In another possible implementation manner, the method further includes:
any relevant information corresponding to each binary symbolic model respectively comprises at least one of the following relations:
any relevant information corresponding to each binary symbol model is different;
any relevant information corresponding to the at least two binary symbol models is the same;
wherein, the basic probability model parameters respectively corresponding to each frame to be decoded comprise at least one of the following relations:
the basic probability model parameters corresponding to each frame to be decoded are different;
and the basic probability model parameters corresponding to at least two frames to be decoded are the same.
In another possible implementation manner, the storage space occupied by the related information of the difference between any probability update speed parameter and the basic probability update speed parameter corresponding to any binary symbol model is 2 bits, 3 bits, or 1 bit.
Another possible implementation manner, where the information related to at least the difference between the probability update speed parameter and the basic probability update speed parameter includes: the absolute value of the difference between the at least one probability update rate parameter and the base probability update rate parameter.
In a sixth aspect, there is provided a model updating apparatus comprising:
a second obtaining module, configured to obtain first parameters corresponding to each binary symbol model corresponding to a current frame to be decoded, where the first parameters corresponding to the binary symbol models include: information relating to a difference between the at least one probability update rate parameter and the base probability update rate parameter;
and the second updating module is used for updating the binary symbol models respectively corresponding to the first parameters respectively corresponding to the binary symbol models.
In one possible implementation manner, the first parameter corresponding to the binary symbolic model further includes: probability updating times of related information;
the related information of the probability updating times comprises: a number of probability updates and a threshold for the number of probability updates.
In another possible implementation manner, when the second obtaining module obtains the threshold of the probability update times, the second obtaining module is specifically configured to:
determining coding information of a current frame to be decoded;
and acquiring a threshold value of the probability updating times based on the coding information of the current frame to be decoded.
In another possible implementation manner, the apparatus further includes: a second storage module, wherein,
and the second storage module is used for storing the first parameters respectively corresponding to the binary symbol models.
In another possible implementation manner, the second storage module is specifically configured to store, when initializing each binary symbol model, first parameters respectively corresponding to each binary symbol model corresponding to a frame to be decoded currently into respective occupied storage spaces.
In another possible implementation manner, the second storage module is specifically configured to, when at least one piece of related information corresponding to each binary symbol model is the same, store the same at least one piece of related information as a frame-level parameter to a frame-level layer, where the at least one piece of related information is related information of a difference between at least one probability update rate parameter and a basic probability update rate parameter.
In another possible implementation manner, the second updating module includes: a second obtaining unit, a second determining unit, and a second updating unit, wherein,
the second acquisition unit is used for acquiring a basic probability updating speed parameter;
a second determining unit, configured to determine, based on the first parameter corresponding to each binary symbolic model stored in the memory and the obtained basic probability update speed parameter, a second parameter corresponding to each binary symbolic model, where the second parameter corresponding to the binary symbolic model includes: at least one probabilistic update speed parameter;
and the second updating unit is used for updating the corresponding binary symbol models based on the second parameters respectively corresponding to the binary symbol models.
In another possible implementation manner, the second obtaining unit is specifically configured to obtain a basic probability update speed parameter from the code stream, and/or obtain the basic probability update speed parameter based on the coding information of the current frame to be decoded.
In another possible implementation, the coding information of the current frame to be decoded includes at least one of the following:
a frame type; quantizing the parameters; image resolution; a temporal layer identifier; picture order count POC; code configuration; group of pictures, GOP, structure.
In another possible implementation manner, the second obtaining module is specifically configured to obtain, from first parameters respectively corresponding to each binary symbol model predefined by the decoder, first parameters respectively corresponding to each binary symbol model corresponding to the current frame to be decoded, and/or obtain, from each predefined binary symbol model corresponding to the current frame to be decoded, first parameters respectively defined in advance.
In another possible implementation manner, the apparatus further includes:
any relevant information corresponding to each binary symbolic model respectively comprises at least one of the following relations:
any relevant information corresponding to each binary symbol model is different;
any relevant information corresponding to the at least two binary symbol models is the same;
wherein, the basic probability model parameters respectively corresponding to each frame to be decoded comprise at least one of the following relations:
the basic probability model parameters corresponding to each frame to be decoded are different;
and the basic probability model parameters corresponding to at least two frames to be decoded are the same.
In another possible implementation manner, the storage space occupied by the related information of the difference between any probability update speed parameter and the basic probability update speed parameter corresponding to any binary symbol model is 2 bits, or 1 bit, or 3 bits.
Another possible implementation manner, where the information related to at least the difference between the probability update speed parameter and the basic probability update speed parameter includes: the absolute value of the difference between the at least one probability update rate parameter and the base probability update rate parameter.
In a seventh aspect, an electronic device is provided, which includes:
one or more processors;
a memory;
one or more computer programs, wherein the one or more computer programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs configured to: and executing the operation corresponding to the model updating method shown in the fifth aspect.
In an eighth aspect, there is provided a computer-readable storage medium, wherein the storage medium stores at least one instruction, at least one program, code set, or instruction set, which is loaded and executed by a processor to implement the model updating method according to the fifth aspect.
The beneficial effect that technical scheme that this application provided brought is:
the application provides a model updating method, a device, an electronic device and a computer readable storage medium, compared with the prior art that probability updating speed parameters corresponding to binary characters are stored in a memory when a model is updated, the method obtains the related information of the difference value between at least one probability updating speed parameter and a basic probability updating speed parameter corresponding to each binary symbol model corresponding to a current frame to be coded, and updates each binary symbol model through the obtained related information corresponding to each binary symbol model, namely, in the process of initializing the model, only the related information of the difference value between at least one probability updating speed parameter and a basic probability updating speed parameter corresponding to each binary symbol model corresponding to the current frame to be coded is needed to be stored, but not the related information of the difference value between at least one probability updating speed parameter and a basic probability updating speed parameter corresponding to each binary symbol model is directly stored, and the storage space occupied by the related information of the difference value between the probability updating speed parameter and the basic probability updating speed parameter is smaller than the storage space occupied by directly storing the probability updating speed parameter, so that the storage space occupied by the parameter for updating the model can be reduced.
The application provides another model updating method, device, electronic equipment and computer readable storage medium, compared with the prior art that the probability updating speed parameter corresponding to the binary character is stored in the memory when the model is updated, the application obtains the related information of the difference value between at least one probability updating speed parameter and the basic probability updating speed parameter corresponding to each binary symbol model corresponding to the current frame to be decoded, and updates each binary symbol model through the obtained related information corresponding to each binary symbol model, namely, in the process of initializing the model, only the related information of the difference value between at least one probability updating speed parameter and the basic probability updating speed parameter corresponding to each binary symbol model corresponding to the current frame to be decoded is needed to be stored, but not the related information of the difference value between at least one probability updating speed parameter and the basic probability updating speed parameter corresponding to each binary symbol model is directly stored, and the storage space occupied by the related information of the difference value between the probability updating speed parameter and the basic probability updating speed parameter is smaller than the storage space occupied by directly storing the probability updating speed parameter, so that the storage space occupied by the parameter for updating the model can be reduced.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings used in the description of the embodiments of the present application will be briefly described below.
Fig. 1 is a schematic flowchart of a model updating method according to an embodiment of the present application;
fig. 2 is a schematic flowchart of another model updating method according to an embodiment of the present application;
fig. 3 is a schematic structural diagram of a model updating apparatus according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of another model updating apparatus according to an embodiment of the present application;
fig. 5 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
Reference will now be made in detail to embodiments of the present application, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar elements or elements having the same or similar function throughout. The embodiments described below with reference to the drawings are exemplary only for the purpose of explaining the present application and are not to be construed as limiting the present invention.
As used herein, the singular forms "a", "an", "the" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. It will be understood that when an element is referred to as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element or intervening elements may also be present. Further, "connected" or "coupled" as used herein may include wirelessly connected or wirelessly coupled. As used herein, the term "and/or" includes all or any element and all combinations of one or more of the associated listed items.
To make the objects, technical solutions and advantages of the present application more clear, embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
In existing video coding, such as AVS2, h.264/AVC, and HEVC, a Context-based adaptive binary arithmetic coding (CABAC) method is used to entropy encode a binary symbol string after binarization of a syntax element, so as to further improve the compression rate. CABAC compresses again from a probabilistic perspective, including binarization, building binary symbolic models, arithmetic coding, and updating information of the binary symbolic models. Compared with the entropy coding method in the existing video coding (H.264/AVC), the CABAC module can improve the compression rate by 9-14% compared with the Context adaptive variable length coding (Context adaptive variable length coding), so that the CABAC module is an important module for realizing high compression rate in video coding.
The basic idea of CABAC is to use an interval progressive method to find a codeword, and use the codeword to represent a number in the (0,1) interval to represent the whole input character stream, instead of making a codeword for each character in the input character stream, thereby greatly saving codewords written in the code stream and improving the compression ratio. Starting from an initial interval (0,1) determined by the first binary symbol, the current interval is recursively divided after the occurrence of each new binary symbol, the division being based on the probability of each binary symbol. And when the last binary symbol is processed, obtaining a final interval, and selecting one number in the final interval as output. Further, the decoder obtains each binary symbol using the inverse process in the same way as the encoder.
Because the probability distribution of each binary symbol in the binary symbol string dynamically changes according to different encoding parameters and the content of the input video source, a binary symbol model needs to be stored and maintained, and the information in the model includes: current minimum possible character (LPS) probability information or current maximum possible character (MPS) probability information, a lower limit of a current interval, a size of the current interval, and a current maximum possible character (MPS). For VVC, an encoded image may be divided into one or more frames, each frame containing 702 binary symbol patterns. Before encoding a current frame, first, predefined 702 binary symbol models are loaded into a memory, where each predefined binary symbol model includes: an initial value of the probability of LPS and an initial value of MPS. When the interval is progressive, the probability of the current binary symbol is estimated through the information in the binary symbol model, and then the information in the binary symbol model is updated according to the information of the current binary symbol (including the probability information of the current binary symbol, MPS and the like).
In CABAC method using single model in AVS3 first stage standard, binaryThe symbolic model contains probability update time related information cycle and probability information of the most likely character (MPS), and the like. Wherein MPS probability information (LG _ P)MPS) Probability of being MPS (P)MPS) Converted to a value in the log domain, and calculated by LG _ PMPS=1024x(-log2(PMPS)). bin is the binary symbol of the ith occurrence, and bin may be either MPS or LPS. The updating process of the probability updating frequency related information cycle is that when bin is MPS, if the cycle is equal to 0, the cycle is set as 1, and if the cycle is not equal to 0, the cycle is not changed; when bin is LPS, if cycle is less than or equal to 2, then cycle is added with 1, otherwise cycle is equal to 3.
The probability update speed parameter cwr is derived according to the size of cycle: if the cycle is less than or equal to 1, cwr is 3; cwr is 4 if cycle is 2; otherwise, i.e., cycle is 3, cwr is 5.
Updating probability information in the binary symbol model according to probability information of the previous i-1 binary symbol after the ith binary symbol appears:
LG _ P if binary symbol bin is MPSi=LG_Pi-1–Pi-1>>cwr–Pi-1>>(cwr+2);
If the binary symbol bin is LPS, Pi=Pi-1+LG_s,LG_s=log2(2cwr/2cwr-1)x1024.
In Joint Video Experts group (jfet) VVC, a multi-model CABAC method is used, and its idea is: two binary symbol models are stored for the same binary symbol at the same time, and the probability updating speeds in the two binary symbol models are different. Firstly, updating the probability in a binary symbol model by using an exponential smoothing method, wherein the updating speed of the probability is controlled by gamma, and as shown in the following formula (1), the lower the value of the probability is, the slower the updating speed of the model is, the smaller the interference of random noise is, and the more accurate the estimated probability is; on the contrary, the larger the value of the model is, the faster the model updating speed is, and the larger the interference of random noise is.
Pi=γbi+(1-γ)Pi-1 (1)
The probability P is represented by an integer P, the maximum value of which is Y ═ 2k-1, where k bits are used to represent integer P, then equation (1) can be written as equation (2), N is the right shift number in equation (2), corresponding to the probability update speed, γ 1/2NWherein, gamma is a parameter used for calculating updated P, N is a parameter used for calculating updated P, the larger N and the smaller gamma value are, the slower the model updating speed is, the smaller the interference of random noise is, and the more accurate the estimated probability is; conversely, the smaller N and the larger gamma value are, the faster the model updating speed is, and the larger the interference of random noise is. The probabilities in the binary symbol model are thus updated after the current ith binary symbol occurrence according to the previous i-1 binary symbol:
Pi=Pi-1+((2k-Pi-1)>>N) (2)
wherein, P in the formula (2)i-1Is the probability value after the previous (i-1) binary symbol appears, the probability value P after the ith occurrenceiEqual to the equal-sign right equation of equation (2).>>In order to shift the operator right in bits,>>n denotes a right shift by N bits.
The multi-model CABAC method uses two probabilities P0 and P1 simultaneously, where P0 uses a small right shift number a-4, P1 uses a large right shift number b-7 to control the speed of updating the two probabilities respectively, and the probability after the current ith binary symbol occurs is equal to the average value of P0 and P1, as shown in the following formula:
P0i=(Y>>a)+P0i-1–(P0i-1>>a)
P1i=(Y>>b)+P1i-1–(P0i-1>>b)
Pi=(P0i+P1i+1)>>1
the benefits of this are: assume that the best probability of LPS is 0.1 and the initial probability is set to 0.5. The convergence of the large right shift number to the optimal probability needs hundreds of updates, so the concept of using the small right shift number update probability is introduced, namely the LPS probability can be quickly converged to the vicinity of the optimal probability by utilizing the characteristic of quick update of the small right shift number probability. Meanwhile, the interference of random noise is reduced by using a large right shift number. The coding efficiency of entropy coding can be improved by combining the advantages of two right shift numbers
However, the multi-model CABAC method in VVC uses the same large right shift number b and small right shift number a for each binary symbol in the binary symbol string after binarization of all syntax elements to be encoded. Because the content characteristics of the input video source are different and the coding parameters are different, the probability distribution and the variation condition of binary symbols in binary symbol strings of different syntax elements may have great difference. For example, for the merge mode in inter prediction, the probability of being selected when the value of Quantization Parameter (QP) is larger than the probability of being selected when the value of QP is smaller, so that the small right shift value of probability update in the binary symbol model of the binary symbol corresponding to the syntax element of the merge mode in inter prediction can be set to a smaller value, for example, 3, so that the probability value LPS can be updated quickly to be near the final probability; and a larger value, e.g., 5, is set when QP is smaller, so that the LPS probability value is less interfered by random noise, and a more accurate probability is estimated. However, the existing VVC method cannot achieve setting of the corresponding optimal right shift number for each syntax element, and therefore cannot achieve a larger compression rate.
There is also a way to set different right shift numbers for the bigram models for each bigram of each syntax element bigram string. Each binary symbol model uses 4 bits to store a and b, respectively, where 1<a≤b<The value range of 9, 4 bit unsigned numbers is 0 to (2)4-1). That is, each binary symbol model requires an additional memory space of 8 bits. There are 702 bigram models per frame in VVC, so each frame needs to occupy 8 × 702 extra bits of storage space. And the more frames a coded image is divided into, the more additional storage space is occupied.
From the analysis of the above technical problems, it can be found that setting different large right shift numbers and small right shift numbers for the binary symbol models of the binary symbols in different syntax element binary symbol strings according to different coding parameters can further reduce the outputCode rate. The application provides a method for using a storage offset value, namely, on the premise of knowing a basic right shift value, only storing the difference between a large right shift value and the basic right shift value and the difference between a small right shift value and the basic right shift value. For example, in the prior art, 4 bit stores a and 4 bit stores b are used for each binary symbol model, respectively, where 1<a≤b<The value range of 9, 4 bit unsigned numbers is 0 to (2)4-1), requiring 8 bits in total. If the present application is used, knowing the base right shift 5, the difference (b-5) between the large right shift and the base right shift is stored using 2 bits for each binary symbol model, 0 ≦ b-5 ≦ 3, and the 2-bit unsigned number ranges from 0 to (2)2-1), using 2 bits to store the difference (5-a) between the small right shift number and the basic right shift number, 0 ≦ (5-a) ≦ 3, requiring 4 bits in total. For VVC, each frame has 702 binary symbol models, and 4 x 702 bits of storage space can be saved by using the method and the device for generating the binary symbol models; for AVS3, with 389 binary symbol models per frame, 4 x 389 bits per frame can be saved using the present application. There is also a technique to set the value ranges of a and b as: a is more than or equal to 0 and less than or equal to b is less than or equal to 11, and a and b are respectively stored by using 4 bits. With the present application, however, if a basic right shift number of 5 is known, then 3 bits are needed to store (5-a) and (b-5), respectively, where 0 ≦ 5-a ≦ 4 and 0 ≦ b-5 ≦ 6, which may save 2 bits of storage space per binary symbol model over the prior art. Moreover, the more frames a coded image is divided into, the more memory space is saved. That is to say, compared with the method of directly storing the large right shift number and the small right shift number, the method can greatly save the storage space and can further improve the coding efficiency of the CABAC method using multiple models.
The following describes the technical solutions of the present application and how to solve the above technical problems with specific embodiments. The following several specific embodiments may be combined with each other, and details of the same or similar concepts or processes may not be repeated in some embodiments. Embodiments of the present application will be described below with reference to the accompanying drawings.
An embodiment of the present application provides a model updating method, as shown in fig. 1, the method includes:
step S101, first parameters respectively corresponding to all binary symbol models corresponding to a current frame to be coded are obtained.
The first parameters corresponding to the binary symbolic model comprise: information relating to a difference between the at least one probability update rate parameter and the base probability update rate parameter.
In a possible implementation manner of the embodiment of the present application, the information related to the difference between the at least one probability update rate parameter and the basic probability update rate parameter includes: the absolute value of the difference between the at least one probability update rate parameter and the base probability update rate parameter.
For example, the first parameter corresponding to the binary symbolic model includes at least one of: an absolute value of a difference between the first probability update rate parameter and the base probability update rate parameter, and an absolute value of a difference between the second probability update rate parameter and the base probability update rate parameter.
And S102, updating the corresponding binary symbolic models based on the first parameters respectively corresponding to the binary symbolic models.
In another possible implementation manner of the embodiment of the present application, after step S102, the method may further include: and coding all syntax elements in the frame to be coded based on the updated probability information of the binary symbol model.
The embodiment of the present application provides a model updating method, which, compared with the prior art that a probability updating speed parameter corresponding to a binary character is stored in a memory when a model is updated, acquires related information of a difference value between at least one probability updating speed parameter and a basic probability updating speed parameter corresponding to each binary symbol model corresponding to a current frame to be encoded, and updates each binary symbol model according to the acquired related information corresponding to each binary symbol model, that is, when the model is initialized, only the related information of the difference value between at least one probability updating speed parameter and a basic probability updating speed parameter corresponding to each binary symbol model corresponding to the current frame to be encoded needs to be stored, instead of directly storing at least one probability updating speed parameter corresponding to each binary symbol model, and the storage space occupied by the related information of the difference value between the probability updating speed parameter and the basic probability updating speed parameter is smaller than the storage space occupied by directly storing the probability updating speed parameter, so that the storage space occupied by the parameter for updating the model can be reduced.
In a possible implementation manner of the embodiment of the present application, the first parameter corresponding to the binary symbolic model may further include: and (4) related information of probability updating times. In the embodiment of the present application, the information related to the probability updating times includes the binary symbol model probability updating times and a threshold value of the probability updating times.
Another possible implementation manner of the embodiment of the present application, a manner of obtaining the threshold of the probability update times includes: determining coding information of a current frame to be coded; and acquiring the threshold value of the probability updating times based on the coding information of the current frame to be coded.
In another possible implementation manner of the embodiment of the present application, step S101 may specifically include: and acquiring first parameters respectively corresponding to all binary symbol models corresponding to the pre-defined current frame to be coded.
In another possible implementation manner of the embodiment of the present application, after the step 101, the method may further include: step Sa (not shown in the figure), in which,
and step Sa, storing the first parameters respectively corresponding to the binary symbol models.
In another possible implementation manner of the embodiment of the present application, step Sa may include: when each binary symbolic model is initialized, the first parameters respectively corresponding to each binary symbolic model are stored in the memory corresponding to the binary symbolic model.
For the embodiment of the present application, the first parameters corresponding to all binary symbolic models correspond to a specific storage space in the memory. In this embodiment of the present application, when initializing each binary symbolic model, the first parameters corresponding to each binary symbolic model are stored in the specific storage space corresponding to the memory.
In another possible implementation manner of the embodiment of the present application, step Sa may include: when each binary symbol model is initialized, first parameters respectively corresponding to each binary symbol model corresponding to a current frame to be coded are stored in respective occupied storage space.
For the embodiment of the present application, if at least one piece of related information corresponding to each binary symbol model is the same, and/or at least one piece of related information corresponding to each binary symbol model is uneven and the same, the first parameters corresponding to each binary symbol model corresponding to the current frame to be encoded can be stored in the storage space occupied by each binary symbol model when each binary symbol model is initialized.
Another possible implementation manner of the embodiment of the present application is that the storing the first parameters respectively corresponding to each binary symbolic model includes: and if at least one piece of relevant information corresponding to each binary symbol model is the same, storing the same at least one piece of relevant information as a frame level parameter to a frame level layer, wherein the at least one piece of relevant information is the relevant information of the difference value between the at least one probability updating speed parameter and the basic probability updating speed parameter.
For the embodiment of the present application, if the first parameter corresponding to any binary symbol model includes: a difference between the first probability update rate parameter and the base probability update rate parameter and a difference between the second probability update rate parameter and the base probability update rate parameter, then performing at least one of:
if the relevant information of the difference value between the first probability updating speed parameter and the basic probability updating speed parameter respectively corresponding to each binary symbol model is the same, storing the relevant information of the difference value between the first probability updating speed parameter and the basic probability updating speed parameter as a frame level parameter to a frame level layer;
and if the absolute values of the difference values between the second probability updating speed parameter and the basic probability updating speed parameter respectively corresponding to each binary symbol model are the same, storing the absolute value of the difference value between the second probability updating speed parameter and the basic probability updating speed parameter as a frame level parameter to a frame level layer.
For example, if the absolute value of the difference between the second probability update rate parameter and the basic probability update rate parameter corresponding to each binary symbol model is 2, then 2 is stored as a frame level parameter in the frame level layer, and only one value needs to be stored.
In another possible implementation manner of the embodiment of the present application, step S102 may specifically include: step S1021 (not shown), step S1022 (not shown), and step S1023 (not shown), wherein,
and step S1021, acquiring a basic probability updating speed parameter.
Step S1022, determining second parameters corresponding to the binary symbolic models respectively based on the first parameters corresponding to the binary symbolic models respectively and the obtained basic probability update speed parameter.
Wherein, the second parameter corresponding to the binary symbolic model comprises: at least one probability updates the velocity parameter.
Step S1023, the binary symbol models are updated based on the second parameters corresponding to the respective binary symbol models.
In another possible implementation manner of the embodiment of the present application, step S1021 specifically includes: determining coding information of a current frame to be coded; and acquiring a basic probability updating speed parameter based on the coding information of the current frame to be coded.
In another possible implementation manner of the embodiment of the present application, the encoding information of the current frame to be encoded includes at least one of:
a frame type; quantizing the parameters; image resolution; a temporal layer identifier; POC; code configuration; GOP structure.
In another possible implementation manner of the embodiment of the present application, the method further includes: and writing the basic probability updating speed parameter into the code stream.
Specifically, the basic probability update speed parameter may be written into the code stream before encoding the frame to be encoded.
In another possible implementation manner of the embodiment of the present application, step S101 may specifically include: at least one of step S1011 (not shown) and step S1012 (not shown), wherein,
step S1011, obtaining the first parameter of each binary symbol model corresponding to the current frame to be encoded from the first parameter corresponding to each binary symbol model predefined by the encoder.
Step S1012, obtaining predefined first parameters from predefined binary symbol models corresponding to the current frame to be encoded.
In another possible implementation manner of the embodiment of the present application, the method further includes:
any relevant information corresponding to each binary symbolic model respectively comprises at least one of the following relations:
any relevant information corresponding to each binary symbol model is different;
any relevant information corresponding to the at least two binary symbol models is the same;
the basic probability model parameters corresponding to each frame to be coded respectively comprise at least one of the following relations:
the basic probability model parameters respectively corresponding to the frames to be coded are different;
and the basic probability model parameters corresponding to at least two frames to be coded are the same.
In another possible implementation manner of the embodiment of the present application, the second parameter corresponding to any binary symbolic model includes two probability update speed parameters: a first probability update rate parameter for updating a first probability of the binary symbolic model and a second probability update rate parameter for updating a second probability of the binary symbolic model; the threshold for the number of probability updates in the first parameter of any binary symbolic model comprises: the probability updating time threshold is not less than the first probability updating time threshold;
wherein, based on the second parameter respectively corresponding to each binary symbolic model, updating the corresponding binary symbolic model comprises:
updating at least one of a first probability of the corresponding binary symbol model and a second probability of the binary symbol model based on the second parameter respectively corresponding to each binary symbol model and the threshold value of the probability updating times respectively corresponding to each binary symbol model;
and updating the binary symbol models corresponding to the binary symbol models respectively based on the updated first probability and/or the updated second probability corresponding to the binary symbol models respectively.
Another possible implementation manner of the embodiment of the present application, updating at least one of the first probability of the corresponding binary symbol model and the second probability of the corresponding binary symbol model based on the second parameter corresponding to any binary symbol model and the threshold of the corresponding probability update times, includes:
determining whether to update the first probability of any binary symbol model and/or the second probability of any binary symbol model based on the magnitude relation between the probability updating times corresponding to any binary symbol model and the second probability updating time threshold;
updating at least one of the first probability of the corresponding binary symbolic model and the second probability of the binary symbolic model based on the determination result and the second parameter corresponding to any binary symbolic model.
The present application also provides another decoding method, as shown in fig. 2, wherein,
step S201, obtaining first parameters respectively corresponding to each binary symbol model corresponding to the current frame to be decoded.
The first parameters corresponding to the binary symbolic model comprise: information relating to a difference between the at least one probability update rate parameter and the base probability update rate parameter.
In a possible implementation manner of the embodiment of the present application, the information related to the difference between the at least one probability update rate parameter and the basic probability update rate parameter includes: the absolute value of the difference between the at least one probability update rate parameter and the base probability update rate parameter.
For example, the first parameter corresponding to the binary symbolic model includes at least one of: an absolute value of a difference between the first probability update rate parameter and the base probability update rate parameter, and an absolute value of a difference between the second probability update rate parameter and the base probability update rate parameter.
In a possible implementation manner of the embodiment of the present application, the information related to the difference between the at least one probability update rate parameter and the basic probability update rate parameter includes: the absolute value of the difference between the at least one probability update rate parameter and the base probability update rate parameter.
Step S202, updating the corresponding binary symbol models based on the first parameters respectively corresponding to the binary symbol models.
In another possible implementation manner of the embodiment of the present application, after step S202, the method may further include: decoding all syntax elements in the frame to be decoded based on the updated probability information of the bigram model.
The embodiment of the present application provides another model updating method, compared with the prior art that a probability updating speed parameter corresponding to a binary character is stored in a memory when a model is updated, the embodiment of the present application obtains related information of a difference value between at least one probability updating speed parameter and a basic probability updating speed parameter corresponding to each binary symbol model corresponding to a current frame to be decoded, and updates each binary symbol model according to the obtained related information, that is, when the model is initialized, only the related information of the difference value between at least one probability updating speed parameter and a basic probability updating speed parameter corresponding to each binary symbol model corresponding to the current frame to be decoded needs to be stored, instead of directly storing at least one probability updating speed parameter corresponding to each binary symbol model, and the storage space occupied by the related information of the difference value between the probability updating speed parameter and the basic probability updating speed parameter is smaller than the storage space occupied by directly storing the probability updating speed parameter, so that the storage space occupied by the parameter for updating the model can be reduced.
In a possible implementation manner of the embodiment of the present application, the first parameter corresponding to the binary symbolic model may further include: and (4) related information of probability updating times. Wherein, the related information of the probability updating times comprises: a number of probability updates and a threshold for the number of probability updates.
Another possible implementation manner of the embodiment of the present application, a manner of obtaining the threshold of the probability update times includes: determining coding information of a current frame to be decoded; and acquiring a threshold value of the probability updating times based on the coding information of the current frame to be decoded.
In another possible implementation manner of the embodiment of the present application, after step S201, the method may further include: step Sb (not shown in the figure), in which,
and Sb, storing the first parameters respectively corresponding to the binary symbol models.
For the embodiment of the present application, the first parameters corresponding to each binary symbolic model are stored in the memory.
In another possible implementation manner of the embodiment of the present application, step Sb specifically may include: when each binary symbol model is initialized, first parameters respectively corresponding to each binary symbol model corresponding to a frame to be decoded at present are stored in respective occupied storage space.
For the embodiment of the present application, if at least one piece of related information corresponding to each binary symbol model is the same, and/or at least one piece of related information corresponding to each binary symbol model is uneven and the same, the first parameters corresponding to each binary symbol model corresponding to the current frame to be decoded can be stored in the storage space occupied by each binary symbol model when each binary symbol model is initialized.
Another possible implementation manner of the embodiment of the present application is that the storing the first parameters respectively corresponding to each binary symbolic model includes: and if at least one piece of relevant information corresponding to each binary symbol model is the same, storing the same at least one piece of relevant information as a frame level parameter to a frame level layer, wherein the at least one piece of relevant information is the relevant information of the difference value between the at least one probability updating speed parameter and the basic probability updating speed parameter.
For the embodiment of the present application, if the first parameter corresponding to any binary symbol model includes: a difference between the first probability update rate parameter and the base probability update rate parameter and a difference between the second probability update rate parameter and the base probability update rate parameter, then performing at least one of:
if the relevant information of the difference value between the first probability updating speed parameter and the basic probability updating speed parameter respectively corresponding to each binary symbol model is the same, storing the relevant information of the difference value between the first probability updating speed parameter and the basic probability updating speed parameter as a frame level parameter to a frame level layer;
and if the absolute values of the difference values between the second probability updating speed parameter and the basic probability updating speed parameter respectively corresponding to each binary symbol model are the same, storing the absolute value of the difference value between the second probability updating speed parameter and the basic probability updating speed parameter as a frame level parameter to a frame level layer.
In another possible implementation manner of the embodiment of the present application, step S202 may specifically include: step S2021 (not shown), step S2022 (not shown), and step S2023 (not shown), wherein,
and step S2021, acquiring a basic probability updating speed parameter.
Step S2022, determining second parameters corresponding to each binary symbol model based on the first parameters corresponding to each binary symbol model stored in the memory and the obtained basic probability update speed parameter.
Wherein, the second parameter corresponding to the binary symbolic model comprises: at least one probability updates the velocity parameter.
Step S2023, updating the corresponding binary symbol models based on the second parameters respectively corresponding to the binary symbol models.
In another possible implementation manner of the embodiment of the present application, step S2021 may specifically include: at least one of step S2021a (not shown) and step S2021b (not shown), wherein,
and step S2021a, acquiring a basic probability updating speed parameter from the code stream.
Step S2021b, acquiring a basic probability update speed parameter based on the coding information of the current frame to be decoded.
In another possible implementation manner of the embodiment of the present application, the encoding information of the current frame to be decoded includes at least one of:
a frame type; quantizing the parameters; image resolution; a temporal layer identifier; POC; code configuration; GOP structure.
In another possible implementation manner of the embodiment of the present application, step S201 may specifically include: at least one of step S2011 (not shown) and step S2012 (not shown), wherein,
step S2011, obtaining the first parameter of each binary symbol model corresponding to the current frame to be decoded from the first parameter corresponding to each binary symbol model predefined by the decoder.
Step S2012, respectively obtaining predefined first parameters from predefined binary symbol models corresponding to the current frame to be decoded.
In another possible implementation manner of the embodiment of the present application, any relevant information corresponding to each binary symbolic model includes at least one of the following relationships:
any relevant information corresponding to each binary symbol model is different;
any relevant information corresponding to the at least two binary symbol models is the same;
wherein, the basic probability model parameters respectively corresponding to each frame to be decoded comprise at least one of the following relations:
the basic probability model parameters corresponding to each frame to be decoded are different;
and the basic probability model parameters corresponding to at least two frames to be decoded are the same.
The above-mentioned method for introducing model update in terms of method flow is described below by combining model update with encoding (e.g. entropy encoding) by an encoder and decoding (e.g. entropy decoding) by a decoder according to several specific embodiments, as follows:
the embodiment of the present application provides a method for entropy coding in an encoder, where each coded image may be divided into one frame or at least two frames, which is not limited herein. When a coded image is divided into a frame, the specific method for coding the image is described in the following embodiments; if a coded image is divided into at least two frames, each frame of image is coded when the coded image is coded, wherein the coding mode for any frame of image is described in detail in the following embodiments, wherein,
step S301 (not shown in the figure): and obtaining binary symbol model parameters of binary symbols of the binary symbol strings corresponding to each syntax element in the frame to be coded.
For the embodiments of the present application, any binary symbolic model parameter may include: the absolute value of the difference between the first probability update rate parameter and the base probability update rate parameter and the absolute value of the difference between the second probability update rate parameter and the base probability update rate parameter. In an embodiment of the present application, the first probability update speed parameter may include: the large right shift number b, the second probability update speed parameter may include: the small right displacement number a, the basic probability update speed parameter may include: base right shift number Base.
For the embodiment of the present application, the value of the large right shift number is greater than the value of the small right shift number.
For the embodiment of the present application, the absolute value of the difference between any probability model speed parameter and the basic probability update speed parameter may occupy 1 bit, 2 bits, or 3 bits of storage space. In the embodiment of the present application, the absolute value of the difference between the first probability update speed parameter and the basic probability update speed parameter may occupy 1 bit, 2 bits, or 3 bits of storage space; the absolute value of the difference between the second probability update rate parameter and the basic probability update rate parameter may occupy 1 bit, 2 bits, or 3 bits of storage space.
Step S302 (not shown in the figure): before the current frame is coded and the binary symbol model of each binary symbol is initialized, the parameters of each binary symbol model are stored in the memory occupied by the model.
In the embodiment of the present application, the values of (Base-a) may be the same for each binary symbol, may be different from each other, or may be partially the same. The values of (b-Base) may be the same, different, or partially the same. The Base may include, according to the type of the current frame to be encoded: base1, or Base2, or Base 3.
For the embodiments of the present application, when the values of (Base-a) are the same and/or the values of (b-Base) are the same for each binary symbol, the absolute values of (Base-a) and (b-Base) are stored in the frame level layer as frame level parameters, and only one value is needed to be stored each, but of course, the values may also be stored in the memory occupied by the respective models at initialization.
For the present embodiment, when the values of (Base-a) are not all the same and the values of (b-Base) are not all the same for each binary symbol, their values are stored in the memory occupied by the respective models at initialization.
Step S303 (not shown in the figure): and determining the coding information of the current frame to be coded, and acquiring a corresponding basic probability updating speed parameter (basic right displacement number) according to the coding information of the current frame to be coded.
For the embodiment of the present application, the frame to be encoded may be an intra-coded frame (I-frame), a unidirectional inter-coded frame (P-frame), or a bidirectional inter-coded frame (B-frame).
Optionally, the encoded information may also include, but is not limited to: a frame type; quantizing the parameters; image resolution; a temporal layer identifier; POC; code configuration; GOP structure.
For the embodiment of the present application, the basic probability update speed parameter (basic right shift number) is determined based on the frame type of the frame to be encoded, wherein the frame types of the frame to be encoded are different, and the basic probability update speed parameter (basic right shift number) may be the same or different.
For example, the number of basic right shifts for I frames is Base1, the number of basic right shifts for B frames is Base2, and the number of basic right shifts for P frames is Base 3. The three values of Base1, Base2 and Base3 may be the same, different or two of them may be the same. The embodiments of the present application are not limited.
For the embodiment of the present application, the basic probability update speed parameter (basic right shift number) is determined based on the quantization parameter of the frame to be encoded, where the quantization parameter of the frame to be encoded is different, and the basic probability update speed parameter (basic right shift number) may be the same or different.
For example, QP <38, Base right shift number may be Base4, QP > 38 or QP ═ 38, and Base right shift number may be Base5, where Base4 and Base5 may be the same or different.
For the embodiment of the present application, the basic probability update speed parameter (the basic right shift number) is determined based on the image resolution of the frame to be encoded, wherein the image resolution of the frame to be encoded is different, and the basic probability update speed parameter (the basic right shift number) may be the same or different.
For example, for a resolution of 1280 × 720, the number of Base right shifts is Base 6; for a resolution of 1920 × 1080, the number of Base right shifts is Base 7; for a resolution of 4k, the Base right shift number is Base 8. The bases 6, 7, and 8 may be the same or different, and any two of them may be the same.
For the embodiment of the present application, the basic probability update speed parameter (the basic right shift number) is determined based on any combination in the coding information of the frame to be coded, where any combination in the coding information of the frame to be coded is different, and the basic probability update speed parameter (the basic right shift number) may be the same or different.
For example, the Base right shift number at I frame QP <38 is Base9, the Base right shift number at I frame QP > 38 or QP ═ 38 is Base10, the Base right shift number at B frame QP <38 is Base11, the Base right shift number at B frame QP > 38 or QP ═ 38 is Base12, the Base right shift number at P frame QP <38 is Base13, and the Base right shift number at B frame QP > 38 or QP ═ 38 is Base 14.
For example, the Base right shift number of an I frame image with POC of 0 is Base15, the Base right shift number of an I frame with POC greater than 0 is Base16, the Base right shift number of a B frame is Base17, and the Base right shift number of a P frame is Base 18.
For example, for an I-frame image, the Base right shift number is Base19 when the encoding is configured as a full I-frame (All Intra, AI), Base20 when the encoding is configured as a Low Delay (LD) and Random Access (RA); the basic right shift of B frames in all encoding configurations is Base21, and the basic right shift of P frames in all encoding configurations is Base 22.
For the embodiment of the present application, step S303 may be performed before step S301, before step S302, after step S301, after step S302, or simultaneously with step S301 and/or step S302, and in the embodiment of the present application, there is no strict sequential execution order between step S303 and step S301 and step S302.
For the embodiment of the application, the value of the basic right shift value can be a consistent value preset by an encoder and a decoder, and the encoder writes the value into a code stream before encoding a frame; or the basic right shift bit number is a consistent value preset by the encoder and the decoder, and the code stream does not need to be written. In the embodiment of the present application, the basic right displacement number may be written into the code stream before the frame to be encoded is encoded.
Step S304 (not shown in the figure): calculating to obtain a large right shift number b and a small right shift number a according to the parameters in the binary symbol model of each binary symbol stored in the step S302 and the basic right shift number obtained in the step S303, and updating the information in the model, namely updating the LPS probability P in the binary symbol model of the binary symbol after the ith binary symbol appearsiMaximum value of Y is 2k:
P0i=(Y>>a)+P0i-1–(P0i-1>>a)
P1i=(Y>>b)+P1i-1–(P0i-1>>b)
Pi=(P0i+P1i+1)>>1
For the embodiment of the present application, after all frames in the current image are encoded according to the above-described manner, that is, all syntax elements of all frames in the current image are encoded, and a code stream of the current image is generated and output.
The embodiment of the present application further provides another method for entropy coding in an encoder, where each coded image may be divided into one frame or at least two frames, which is not limited herein. When a coded image is divided into a frame, the specific method for coding the image is described in the following embodiments; if a coded image is divided into at least two frames, each frame of image needs to be coded when the coded image is coded, wherein the coding mode for any frame of image is described in the following embodiments,
step S401 (not shown in the figure): parameters of a predefined binary symbol model of binary symbols of the binary symbol string corresponding to each syntax element are obtained.
Wherein the predefined model parameters include, but are not limited to: the absolute value of the difference between the first probability update rate parameter and the base probability update rate parameter and/or the absolute value of the difference between the second probability update rate parameter and the base probability update rate parameter. In an embodiment of the present application, the first probability update speed parameter may include: the large right shift number b, the second probability update speed parameter may include: the small right displacement number a, the basic probability update speed parameter may include: base right shift number base.
For the embodiment of the present application, the predefined model parameters may be different or the same according to the encoding parameters. The embodiments of the present application are not limited.
Step S402 (not shown in the figure): when the binary symbol model of each binary symbol is initialized before the current frame is encoded, the predefined model parameters obtained in step S401 are read in and are respectively and correspondingly stored in the memory occupied by each model.
Step S403 (not shown in the figure): and determining the coding information of the current frame to be coded, and determining a basic probability model parameter (basic right displacement number) according to the coding information of the current frame to be coded.
Specifically, the type frame of the current frame to be encoded may include: intra-coded frames (I-frames), unidirectional inter-coded frames (P-frames), bidirectional inter-coded frames (B-frames).
For the embodiments of the present application, the encoded information may further include, but is not limited to: a frame type; quantizing the parameters; image resolution; a temporal layer identifier; POC; code configuration; GOP structure.
For the embodiment of the present application, step S403 may be executed before step S401, before step S402, after step S401, after step S402, or simultaneously with step S401 and/or step S402, and in the embodiment of the present application, there is no strict sequential execution order between step S403 and step S401 and step S402.
Step S404 (not shown in the figure): according to the parameters in the binary symbol model of each binary symbol stored in step S402 and the basic probability model parameters (basic right shift numbers) obtained in step S403, respectively calculating the first probability updating speed parameter and/or the second probability updating speed parameter (large right shift number b and/or small right shift number a) corresponding to each binary symbol model, and updating the information in the model, i.e. updating the probability P of LPS (smallest possible character) in the binary symbol model of the binary symbol after the ith binary symbol occursiMaximum value of Y is 2k:
P0i=(Y>>a)+P0i-1–(P0i-1>>a)
P1i=(Y>>b)+P1i-1–(P0i-1>>b)
Pi=(P0i+P1i+1)>>1
For the embodiment of the present application, after all frames in the current image are encoded according to the above-described manner, that is, all syntax elements of all frames in the current image are encoded, and a code stream of the current image is generated and output.
The above-mentioned method of encoding by an encoder is described by a specific embodiment, and the following method of decoding by a decoder is described by a specific embodiment, each decoded image may be divided into one frame or at least two frames, which is not limited herein. When a decoded image is divided into a frame, the specific method for decoding the image is described in the following embodiments; if a decoded image is divided into at least two frames, each frame of image needs to be decoded when decoding the decoded image, wherein the decoding mode for any frame of image is described in the following embodiments,
step S601 (not shown in the figure): and obtaining binary symbol model parameters of binary symbols of the binary symbol string corresponding to each syntax element corresponding to the current frame to be decoded.
For the embodiments of the present application, any binary symbolic model parameter may include: the absolute value of the difference between the first probability update rate parameter and the base probability update rate parameter and the absolute value of the difference between the second probability update rate parameter and the base probability update rate parameter. In an embodiment of the present application, the first probability update speed parameter may include: the large right shift number b, the second probability update speed parameter may include: the small right displacement number a, the basic probability update speed parameter may include: base right shift number Base.
Step S602 (not shown in the figure): when the binary symbol model of each binary symbol is initialized before the current frame is decoded, the parameters of each binary symbol model are respectively stored in the memory occupied by the model.
In the embodiment of the present application, the values of (Base-a) may be the same for each binary symbol, may be different from each other, or may be partially the same. The values of (b-Base) may be the same, different, or partially the same. Wherein Base may include, depending on the type of frame currently to be decoded: base1, or Base2, or Base 3.
For the present embodiment, when the values of (Base-a) are all the same for each binary symbol, and/or the values of (b-Base) are all the same, the values of (Base-a) and (b-Base) are stored as frame-level parameters in the frame-level layer, and only one value needs to be stored each; it is of course also possible to store their values in the respective memory occupied by the respective model during initialization.
Step S603 (not shown in the figure): and determining the coding information of the current frame to be decoded, and determining a basic probability model parameter (basic right displacement number) according to the coding information of the current frame to be decoded.
Specifically, the type of the current frame to be decoded is obtained from the input code stream. The frame may be an intra-coded frame (I-frame), a unidirectional inter-coded frame (P-frame), a bidirectional inter-coded frame (B-frame).
Optionally, the encoded information may also include, but is not limited to: a frame type; quantizing the parameters; image resolution; a temporal layer identifier; POC; code configuration; GOP structure.
For the embodiment of the application, the number of basic right shifts for I frames is Base1, the number of basic right shifts for B frames is Base2, and the number of basic right shifts for P frames is Base 3. The three values of Base1, Base2 and Base3 may be the same, different or the same in pairs. The embodiments of the present application are not limited.
For the embodiment of the present application, the value of the basic right shift value may be a consistent value predefined by the encoder and the decoder, and the decoder may also read from the code stream. The basic right shift bit in the embodiment of the application is a consistent value predefined by an encoder and a decoder, and does not need to be read from a code stream.
Step S604 (not shown in the figure): according to the parameters in the binary symbol model of each binary symbol stored in step S602 and the basic right shift number obtained in step S603, a first probability update speed parameter and/or a second probability update speed parameter (large right shift number b and/or small right shift number a) corresponding to each binary symbol model are calculated and obtained, and the information in the model, namely the probability P of LPS (minimum possible character) in the probability model for updating the binary symbol after the ith binary symbol appears, is updatediMaximum value of Y is 2k:
P0i=(Y>>a)+P0i-1–(P0i-1>>a)
P1i=(Y>>b)+P1i-1–(P0i-1>>b)
Pi=(P0i+P1i+1)>>1
For the embodiment of the present application, after all frames are decoded according to the above-described manner, that is, all syntax elements of all frames in the current image are decoded, and the reconstructed image is output.
The embodiment of the present application further provides a method for entropy coding in a decoder, where each decoded image may be divided into one frame or at least two frames, which is not limited herein. When a decoded image is divided into a frame, the specific method for decoding the image is described in the following embodiments; if a decoded image is divided into at least two frames, each frame of image needs to be decoded when decoding the decoded image, wherein the decoding mode for any frame of image is described in the following embodiments,
step S701 (not shown in the figure): parameters of a predefined binary symbol model of binary symbols of the binary symbol string corresponding to each syntax element are obtained.
Wherein the predefined model parameters include, but are not limited to: the absolute value of the difference between the first probability update rate parameter and the base probability update rate parameter and/or the absolute value of the difference between the second probability update rate parameter and the base probability update rate parameter. In an embodiment of the present application, the first probability update speed parameter may include: the large right shift number b, the second probability update speed parameter may include: the small right displacement number a, the basic probability update speed parameter may include: base right shift number Base.
For the embodiment of the present application, the parameters of the predefined binary symbol model of the binary symbol string corresponding to each syntax element are different or may be the same according to the difference of the coding information of the frame to be decoded. The embodiments of the present application are not limited.
Step S702 (not shown in the figure): before the current frame is decoded and the binary symbol model of each binary symbol is initialized, the predefined model parameters obtained in step S701 are read in and stored in the memory occupied by each model.
Step S703 (not shown in the figure): and determining the coding information of the current frame to be decoded, and determining a first probability updating speed parameter and/or a second probability updating speed parameter (a large right shift number b and/or a small right shift number a) respectively corresponding to each binary symbol model according to the coding information of the current frame to be decoded.
Specifically, the types of the current frame to be decoded may include: intra-coded frames (I-frames), unidirectional inter-coded frames (P-frames), bidirectional inter-coded frames (B-frames).
Optionally, the encoded information may also include, but is not limited to: a frame type; quantizing the parameters; image resolution; a temporal layer identifier; POC; code configuration; GOP structure.
For the embodiment of the present application, step S703 may be executed before step S701, before step S702, after step S701, after step S702, or simultaneously with step S701 and/or step S702, and in the embodiment of the present application, there is no strict sequential execution order between step S703 and step S701 and step S702.
Step S704 (not shown in the figure): calculating and obtaining a large right shift number b and a small right shift number a according to the parameters in the binary symbol model of each binary symbol stored in the step S702 and the basic right shift number obtained in the step S703, and updating the information in the model, namely updating the probability P of the LPS (minimum possible character) in the probability model of the binary symbol after the ith binary symbol appearsiMaximum value of Y is 2k:
P0i=(Y>>a)+P0i-1–(P0i-1>>a)
P1i=(Y>>b)+P1i-1–(P0i-1>>b)
Pi=(P0i+P1i+1)>>1
For the embodiment of the present application, after all frames are decoded according to the above-described manner, that is, all syntax elements of all frames in the current image are decoded, and the reconstructed image is output.
The embodiment of the present application provides a method for entropy coding in an encoder, where each coded image may be divided into one frame or at least two frames, which is not limited herein. When a coded image is divided into a frame, the specific method for coding the image is described in the following embodiments; if a coded image is divided into at least two frames, each frame of image is coded when the coded image is coded, wherein the coding mode for any frame of image is described in detail in the following embodiments, wherein,
step S801 (not shown in the figure): and obtaining binary symbol model parameters of binary symbols of the binary symbol strings corresponding to each syntax element in the frame to be coded.
For the embodiments of the present application, any binary symbolic model parameter may include: information related to the number of probability updates, an absolute value of a difference between the first probability update rate parameter and the basic probability update rate parameter, and an absolute value of a difference between the second probability update rate parameter and the basic probability update rate parameter. In an embodiment of the present application, the first probability update speed parameter may include: the large right shift number b, the second probability update speed parameter may include: the small right displacement number a, the basic probability update speed parameter may include: base right shift number Base.
For the embodiment of the present application, the value of the large right shift number is greater than the value of the small right shift number.
For the embodiment of the present application, the absolute value of the difference between any probability model speed parameter and the basic probability update speed parameter may occupy 1 bit, 2 bits, or 3 bits of storage space. In the embodiment of the present application, the absolute value of the difference between the first probability update speed parameter and the basic probability update speed parameter may occupy 1 bit, 2 bits, or 3 bits of storage space; the absolute value of the difference between the second probability update rate parameter and the basic probability update rate parameter may occupy 1 bit, 2 bits, or 3 bits of storage space.
Step S802 (not shown in the figure): before the current frame is coded and the binary symbol model of each binary symbol is initialized, the parameters of each binary symbol model are stored in the memory occupied by the model.
In the embodiment of the present application, the values of (Base-a) may be the same for each binary symbol, may be different from each other, or may be partially the same. The values of (b-Base) may be the same, different, or partially the same. The Base may include, according to the type of the current frame to be encoded: base1, or Base2, or Base 3.
For the embodiments of the present application, when the values of (Base-a) are the same and/or the values of (b-Base) are the same for each binary symbol, the absolute values of (Base-a) and (b-Base) are stored in the frame level layer as frame level parameters, and only one value is needed to be stored each, but of course, the values may also be stored in the memory occupied by the respective models at initialization.
For the present embodiment, when the values of (Base-a) are not all the same and the values of (b-Base) are not all the same for each binary symbol, their values are stored in the memory occupied by the respective models at initialization.
Step S803 (not shown in the figure): and determining the coding information of the current frame to be coded, and acquiring a corresponding basic probability updating speed parameter (basic right displacement number) according to the coding information of the current frame to be coded.
For the embodiment of the present application, the frame to be encoded may be an intra-coded frame (I-frame), a unidirectional inter-coded frame (P-frame), or a bidirectional inter-coded frame (B-frame).
Optionally, the encoded information may also include, but is not limited to: a frame type; quantizing the parameters; image resolution; a temporal layer identifier; POC; code configuration; GOP structure.
For the embodiment of the present application, the basic probability update speed parameter (basic right shift number) is determined based on the frame type of the frame to be encoded, wherein the frame types of the frame to be encoded are different, and the basic probability update speed parameter (basic right shift number) may be the same or different.
For example, the number of basic right shifts for I frames is Base1, the number of basic right shifts for B frames is Base2, and the number of basic right shifts for P frames is Base 3. The three values of Base1, Base2 and Base3 may be the same, different or two of them may be the same. The embodiments of the present application are not limited. For the embodiment of the present application, the basic probability update speed parameter (basic right shift number) is determined based on the quantization parameter of the frame to be encoded, where the quantization parameter of the frame to be encoded is different, and the basic probability update speed parameter (basic right shift number) may be the same or different.
For example, QP <38, Base right shift number may be Base4, QP > 38 or QP ═ 38, and Base right shift number may be Base5, where Base4 and Base5 may be the same or different.
For the embodiment of the present application, the basic probability update speed parameter (the basic right shift number) is determined based on the image resolution of the frame to be encoded, wherein the image resolution of the frame to be encoded is different, and the basic probability update speed parameter (the basic right shift number) may be the same or different.
For example, for a resolution of 1280 × 720, the number of Base right shifts is Base 6; for a resolution of 1920 × 1080, the number of Base right shifts is Base 7; for a resolution of 4k, the Base right shift number is Base 8. The bases 6, 7, and 8 may be the same or different, and any two of them may be the same.
For the embodiment of the present application, the basic probability update speed parameter (the basic right shift number) is determined based on any combination in the coding information of the frame to be coded, where any combination in the coding information of the frame to be coded is different, and the basic probability update speed parameter (the basic right shift number) may be the same or different.
For example, the Base right shift number at I frame QP <38 is Base9, the Base right shift number at I frame QP > 38 or QP ═ 38 is Base10, the Base right shift number at B frame QP <38 is Base11, the Base right shift number at B frame QP > 38 or QP ═ 38 is Base12, the Base right shift number at P frame QP <38 is Base13, and the Base right shift number at B frame QP > 38 or QP ═ 38 is Base 14.
For example, the Base right shift number of I frame image with POC 0 is Base15, and the Base right shift number of I frame with POC greater than 0 is Base 16; the Base right shift for B frames is Base17 and the Base right shift for P frames is Base 18.
For example, for an I-frame image, the Base right shift number is Base19 when the encoding is configured as a full I-frame (All Intra, AI), and Base20 when the encoding is configured as a Low Latency (LD) and Random Access (RA). The basic right shift of B frames in all encoding configurations is Base21, and the basic right shift of P frames in all encoding configurations is Base 22.
For the embodiment of the present application, step S803 may be executed before step S801, before step S802, after step S801, after step S802, or simultaneously with step S801 and/or step S802, and in the embodiment of the present application, there is no strict sequential execution order between step S803 and step S801 and step S802.
For the embodiment of the application, the value of the basic right shift value can be a consistent value preset by an encoder and a decoder, and the encoder writes the value into a code stream before encoding a frame; or the basic right shift bit number is a consistent value preset by the encoder and the decoder, and the code stream does not need to be written. In the embodiment of the present application, the basic right displacement number may be written into the code stream before the frame to be encoded is encoded.
Step S804 (not shown in the figure): according to the parameters in the binary symbol model of each binary symbol stored in step S802 and the basic right shift number obtained in step S803, a large right shift number b and a small right shift number a are obtained by calculation, and the information in the model is updated, namely the probability P in the binary symbol model of the binary symbol is updated after the ith binary symbol bin appearsiAnd the relevant information cycle of the model updating times. The small right shift a is used to calculate the updated probability P0 and the large right shift b is used to calculate the updated probability P1.
Specifically, one possible implementation is:
when the probability updating time related information cycle is less than 32 (the embodiment is set to 32, other values are also possible), only P0 is updated, and the value of P1 is equal to the updated value of P0. The update rate cwr of P0 is derived from cycle: cwr is 3 when cycle is less than or equal to 1; cwr is 4 when cycle equals 2; when the cycle is greater than 2 and less than 32, cwr is 5. Then the process of the first step is carried out,
if the binary symbol bin is MPS, P0i=P0i-1–P0i-1>>cwr–P0i-1>>(cwr+2),P1i=P0i;
If the binary symbol bin is LPS, P0i=P0i-1+LG_s,LG_s=log2(2cwr/2cwr-1)x1024,P1i=P0i;
Pi=(P0i+P1i+1)>>1。
When the update number related information cycle is equal to 32, P0 and P1 are updated simultaneously, and the update rate of P0 is a and the update rate of P1 is b.
If the binary symbol bin is MPS, P0i=P0i-1–P0i-1>>a–P0i-1>>(a+2),P1i=P1i-1–P1i-1>>b–P1i-1>>(b+2);
If the binary symbol bin is LPS, P0i=P0i-1+LG_s0,LG_s0=log2(2a/2a-1)x1024,P1i=P1i-1+LG_s1,LG_s1=log2(2b/2b-1)x1024;
Pi=(P0i+P1i+1)>>1。
The updating method of the relevant information cycle of the model updating times comprises the following steps: if the binary symbol bin is MPS, if cycle is equal to 0, then cycle is updated to 1; otherwise, the cycle is not changed; if the binary symbol bin is LPS, if the cycle is less than 32, adding 1 to the cycle; otherwise the cycle is unchanged.
Another possible implementation is: when the update number related information cycle is less than 32, only P0 is updated, and the value of P1 is equal to the updated value of P0. The update rate cwr of P0 is derived from cycle: cwr is 3 when cycle is less than or equal to 1; cwr is 4 when cycle equals 2; when cycle is greater than 2 and less than 32, cwr is a. Then the process of the first step is carried out,
if the binary symbol bin is MPS, P0i=P0i-1–P0i-1>>cwr–P0i-1>>(cwr+2),P1i=P0i;
If the binary symbol bin is LPS, P0i=P0i-1+LG_s,LG_s=log2(2cwr/2cwr-1)x1024,P1i=P0i;
Pi=(P0i+P1i+1)>>1。
When the update number related information cycle is equal to 32, P0 and P1 are updated simultaneously, and the update rate of P0 is a and the update rate of P1 is b.
If the binary symbol bin is MPS, P0i=P0i-1–P0i-1>>a–P0i-1>>(a+2),P1i=P1i-1–P1i-1>>b–P1i-1>>(b+2);
If the binary symbol bin is LPS, P0i=P0i-1+LG_s0,LG_s0=log2(2a/2a-1)x1024,P1i=P1i-1+LG_s1,LG_s1=log2(2b/2b-1)x1024;
Pi=(P0i+P1i+1)>>1。
The updating method of the relevant information cycle of the model updating times comprises the following steps: if the binary symbol bin is MPS, if cycle is equal to 0, then cycle is updated to 1; otherwise, the cycle is not changed; if the binary symbol bin is LPS, if the cycle is less than 32, adding 1 to the cycle; otherwise the cycle is unchanged.
For the embodiment of the present application, after all frames in the current image are encoded according to the above-described manner, that is, all syntax elements of all frames in the current image are encoded, and a code stream of the current image is generated and output.
Step 801 and step 802 in this embodiment may also be replaced with:
step S801 (not shown in the figure): parameters of a predefined binary symbol model of binary symbols of the binary symbol string corresponding to each syntax element are obtained.
Wherein the predefined model parameters include, but are not limited to: the information related to the probability updating times, the absolute value of the difference between the first probability updating speed parameter and the basic probability updating speed parameter and/or the absolute value of the difference between the second probability updating speed parameter and the basic probability updating speed parameter. In an embodiment of the present application, the first probability update speed parameter may include: the large right shift number b, the second probability update speed parameter may include: the small right displacement number a, the basic probability update speed parameter may include: base right shift number base.
For the embodiment of the present application, the predefined model parameters may be different or the same according to the encoding parameters. The embodiments of the present application are not limited.
Step S802 (not shown in the figure): when the binary symbol model of each binary symbol is initialized before the current frame is encoded, the predefined model parameters obtained in step S801 are read in and are respectively and correspondingly stored in the memory occupied by each model.
The above-mentioned method of encoding by an encoder is described by a specific embodiment, and the following method of decoding by a decoder is described by a specific embodiment, each decoded image may be divided into one frame or at least two frames, which is not limited herein. When a decoded image is divided into a frame, the specific method for decoding the image is described in the following embodiments; if a decoded image is divided into at least two frames, each frame of image needs to be decoded when decoding the decoded image, wherein the decoding mode for any frame of image is described in the following embodiments,
step S901 (not shown in the figure): and obtaining binary symbol model parameters of binary symbols of the binary symbol string corresponding to each syntax element corresponding to the current frame to be decoded.
For the embodiments of the present application, any binary symbolic model parameter may include: information related to the number of probability updates, an absolute value of a difference between the first probability update rate parameter and the basic probability update rate parameter, and an absolute value of a difference between the second probability update rate parameter and the basic probability update rate parameter. In an embodiment of the present application, the first probability update speed parameter may include: the large right shift number b, the second probability update speed parameter may include: the small right displacement number a, the basic probability update speed parameter may include: base right shift number Base.
Step S902 (not shown in the figure): when the binary symbol model of each binary symbol is initialized before the current frame is decoded, the parameters of each binary symbol model are respectively stored in the memory occupied by the model.
In the embodiment of the present application, the values of (Base-a) may be the same for each binary symbol, may be different from each other, or may be partially the same. The values of (b-Base) may be the same, different, or partially the same. Wherein Base may include, depending on the type of frame currently to be decoded: base1, or Base2, or Base 3.
For the present embodiment, when the values of (Base-a) are all the same for each binary symbol, and/or the values of (b-Base) are all the same, the values of (Base-a) and (b-Base) are stored as frame-level parameters in the frame-level layer, and only one value needs to be stored each; it is of course also possible to store their values in the respective memory occupied by the respective model during initialization.
Step S903 (not shown): and determining the coding information of the current frame to be decoded, and determining a basic probability model parameter (basic right displacement number) according to the coding information of the current frame to be decoded.
Specifically, the type of the current frame to be decoded is obtained from the input code stream. The frame may be an intra-coded frame (I-frame), a unidirectional inter-coded frame (P-frame), a bidirectional inter-coded frame (B-frame).
Optionally, the encoded information may also include, but is not limited to: a frame type; quantizing the parameters; image resolution; a temporal layer identifier; POC; code configuration; GOP structure.
For the embodiment of the application, the number of basic right shifts for I frames is Base1, the number of basic right shifts for B frames is Base2, and the number of basic right shifts for P frames is Base 3. The three values of Base1, Base2 and Base3 may be the same, different or the same in pairs. The embodiments of the present application are not limited.
For the embodiment of the present application, the value of the basic right shift value may be a consistent value predefined by the encoder and the decoder, and the decoder may also read from the code stream. The basic right shift bit in the embodiment of the application is a consistent value predefined by an encoder and a decoder, and does not need to be read from a code stream.
Step S904 (not shown in the figure): calculating to obtain a large right shift number b and a small right shift number a according to the parameters in the binary symbol model of each binary symbol stored in the step S902 and the basic right shift number obtained in the step S903, and updating the information in the model, namely updating the probability P in the binary symbol model of the binary symbol after the ith binary symbol bin appearsiAnd the relevant information cycle of the model updating times. The small right shift a is used to calculate the updated probability P0 and the large right shift b is used to calculate the updated probability P1. Specifically, one possible implementation is:
when the update number related information cycle is less than 32, only P0 is updated, and the value of P1 is equal to the updated value of P0. The update rate cwr of P0 is derived from cycle: cwr is 3 when cycle is less than or equal to 1; cwr is 4 when cycle equals 2; when the cycle is greater than 2 and less than 32, cwr is 5. Then the process of the first step is carried out,
if the binary symbol bin is MPS, P0i=P0i-1–P0i-1>>cwr–P0i-1>>(cwr+2),P1i=P0i;
If the binary symbol bin is LPS, P0i=P0i-1+LG_s,LG_s=log2(2cwr/2cwr-1)x1024,P1i=P0i;
Pi=(P0i+P1i+1)>>1。
When the update number related information cycle is equal to 32, P0 and P1 are updated simultaneously, and the update rate of P0 is a and the update rate of P1 is b.
If the binary symbol bin is MPS, P0i=P0i-1–P0i-1>>a–P0i-1>>(a+2),P1i=P1i-1–P1i-1>>b–P1i-1>>(b+2);
If the binary symbol bin is LPS, P0i=P0i-1+LG_s0,LG_s0=log2(2a/2a-1)x1024,P1i=P1i-1+LG_s1,LG_s1=log2(2b/2b-1)x1024;
Pi=(P0i+P1i+1)>>1。
The updating method of the relevant information cycle of the model updating times comprises the following steps:
if the binary symbol bin is MPS, if cycle is equal to 0, then cycle is updated to 1; otherwise, the cycle is not changed;
if the binary symbol bin is LPS, if the cycle is less than 32, adding 1 to the cycle; otherwise the cycle is unchanged.
Another possible implementation is: when the update number related information cycle is less than 32, only P0 is updated, and the value of P1 is equal to the updated value of P0. The update rate cwr of P0 is derived from cycle: cwr is 3 when cycle is less than or equal to 1; cwr is 4 when cycle equals 2; when cycle is greater than 2 and less than 32, cwr is a. Then the process of the first step is carried out,
if the binary symbol bin is MPS, P0i=P0i-1–P0i-1>>cwr–P0i-1>>(cwr+2),P1i=P0i;
If the binary symbol bin is LPS, P0i=P0i-1+LG_s,LG_s=log2(2cwr/2cwr-1)x1024,P1i=P0i;
Pi=(P0i+P1i+1)>>1。
When the update number related information cycle is equal to 32, P0 and P1 are updated simultaneously, and the update rate of P0 is a and the update rate of P1 is b.
If the binary symbol bin is MPS, P0i=P0i-1–P0i-1>>a–P0i-1>>(a+2),P1i=P1i-1–P1i-1>>b–P1i-1>>(b+2);
If the binary symbol bin is LPS, P0i=P0i-1+LG_s0,LG_s0=log2(2a/2a-1)x1024,P1i=P1i-1+LG_s1,LG_s1=log2(2b/2b-1)x1024;
Pi=(P0i+P1i+1)>>1。
The updating method of the relevant information cycle of the model updating times comprises the following steps: if the binary symbol bin is MPS, if cycle is equal to 0, then cycle is updated to 1; otherwise, the cycle is not changed; if the binary symbol bin is LPS, if the cycle is less than 32, adding 1 to the cycle; otherwise the cycle is unchanged.
Step 901 and step 902 in this embodiment may also be replaced with:
step S901 (not shown in the figure): parameters of a predefined binary symbol model of binary symbols of the binary symbol string corresponding to each syntax element are obtained.
Wherein the predefined model parameters include, but are not limited to: the absolute value of the difference between the first probability update rate parameter and the base probability update rate parameter and/or the absolute value of the difference between the second probability update rate parameter and the base probability update rate parameter. In an embodiment of the present application, the first probability update speed parameter may include: the large right shift number b, the second probability update speed parameter may include: the small right displacement number a, the basic probability update speed parameter may include: base right shift number Base.
For the embodiment of the present application, the parameters of the predefined binary symbol model of the binary symbol string corresponding to each syntax element are different or may be the same according to the difference of the coding information of the frame to be decoded. The embodiments of the present application are not limited.
Step S902 (not shown in the figure): before decoding the current frame and when initializing the binary symbol model of each binary symbol, reading in the predefined model parameters obtained in step S901, and storing the predefined model parameters in the memory occupied by each model.
For the embodiment of the present application, after all frames are decoded according to the above-described manner, that is, all syntax elements of all frames in the current image are decoded, and the reconstructed image is output.
The embodiment of the present application provides a method for entropy coding in an encoder, where each coded image may be divided into one frame or at least two frames, which is not limited herein. When a coded image is divided into a frame, the specific method for coding the image is described in the following embodiments; if a coded image is divided into at least two frames, each frame of image is coded when the coded image is coded, wherein the coding mode for any frame of image is described in detail in the following embodiments, wherein,
step S1001 (not shown in the figure): and obtaining binary symbol model parameters of binary symbols of the binary symbol strings corresponding to each syntax element in the frame to be coded.
For the embodiments of the present application, any binary symbolic model parameter may include: information related to the number of probability updates, an absolute value of a difference between the first probability update rate parameter and the basic probability update rate parameter, and an absolute value of a difference between the second probability update rate parameter and the basic probability update rate parameter. In an embodiment of the present application, the first probability update speed parameter may include: the large right shift number b, the second probability update speed parameter may include: the small right displacement number a, the basic probability update speed parameter may include: base right shift number Base. The information related to the number of probability updates may include: a probability update time and an update time threshold.
For the embodiment of the present application, the value of the large right shift number is greater than the value of the small right shift number.
For the embodiment of the present application, the absolute value of the difference between any probability model speed parameter and the basic probability update speed parameter may occupy 1 bit, 2 bits, or 3 bits of storage space. In the embodiment of the present application, the absolute value of the difference between the first probability update speed parameter and the basic probability update speed parameter may occupy 1 bit, 2 bits, or 3 bits of storage space; the absolute value of the difference between the second probability update rate parameter and the basic probability update rate parameter may occupy 1 bit, 2 bits, or 3 bits of storage space.
For the embodiment of the present application, the threshold of the probability update times of any binary symbol model may include: the probability updating method comprises a first probability updating time threshold and a second probability updating time threshold, wherein the second probability updating time threshold is larger than the first probability updating time threshold and can be equal to the first probability updating time threshold but not smaller than the first probability updating time threshold.
In a possible implementation manner of the embodiment of the present application, the probability update time threshold of any binary symbol model may be determined according to the current information to be encoded, and for the embodiment of the present application, the probability update time threshold is determined according to the type of the frame to be encoded, the first probability update time thresholds and the second probability update time thresholds of the binary symbol models in the same frame are the same, and the first probability update time thresholds and the second probability update time thresholds are stored at the frame level. The frame to be encoded may be an intra-coded frame (I-frame), a unidirectional inter-coded frame (P-frame), a bidirectional inter-coded frame (B-frame). Optionally, the encoded information may also include, but is not limited to: a frame type; quantizing the parameters; image resolution; a temporal layer identifier; POC; code configuration; GOP structure.
For the embodiment of the present application, the frame types of the frames to be encoded are different, the first probability update time thresholds may be the same or different, and the second probability update time thresholds may be the same or different.
For example, the first threshold of the probability update times of the I frame is threshold1, the second threshold of the probability update times is threshold2, the first threshold of the probability update times of the B frame is threshold3, the second threshold of the probability update times is threshold4, the first threshold of the probability update times of the P frame is threshold5, and the second threshold of the probability update times is threshold 6. the three values of threshold1, threshold3 and threshold5 may be the same, different or two of them may be the same. The three values of Threshold2, Threshold4 and Threshold6 may be the same, different or any two of them may be the same. The embodiments of the present application are not limited.
Another possible implementation manner is that the threshold values of the probability update times of the binary symbol models in the same frame are different from each other, or the threshold values of the probability update times of the binary symbol models in the same frame are the same, or the threshold values of the probability update times of the binary symbol models in the same frame are partially the same. The embodiments of the present application are not limited.
For the embodiment of the application, the storage space that the probability updating times can occupy is determined by the second probability updating time threshold, the second probability updating time threshold can be 4, and the storage space that the probability updating times occupy is 2 bits; the second probability updating time threshold value can be 8, and the probability updating time occupies 3 bits of storage space; the second probability updating time threshold value can be 16, and the probability updating time occupies a storage space of 4 bits; the second probability update time threshold may be 32, and the probability update time occupies 5 bits of storage space.
Step S1002 (not shown in the figure): before the current frame is coded and the binary symbol model of each binary symbol is initialized, the parameters of each binary symbol model are stored in the memory occupied by the model.
In the embodiment of the present application, the values of (Base-a) may be the same for each binary symbol, may be different from each other, or may be partially the same. The values of (b-Base) may be the same, different, or partially the same. The Base may include, according to the type of the current frame to be encoded: base1, or Base2, or Base 3.
For the embodiments of the present application, when the values of (Base-a) are the same and/or the values of (b-Base) are the same for each binary symbol, the absolute values of (Base-a) and (b-Base) are stored in the frame level layer as frame level parameters, and only one value is needed to be stored each, but of course, the values may also be stored in the memory occupied by the respective models at initialization.
For the present embodiment, when the values of (Base-a) are not all the same and the values of (b-Base) are not all the same for each binary symbol, their values are stored in the memory occupied by the respective models at initialization.
For the embodiment of the present application, when the first probability update time thresholds are different or partially the same for each binary symbol in the same frame, the first probability update time thresholds are stored in the respective memory occupied by the model. And when the second probability updating time threshold values are different or partially same, storing the second probability updating time threshold values in the memory occupied by the respective models.
For the embodiment of the present application, when the first probability update time threshold and/or the second probability update time threshold are the same for each binary symbol in the same frame, the first probability update time threshold and/or the second probability update time threshold are stored in the frame level layer as the frame level parameters, and only one value needs to be stored in each frame level layer, and of course, the values may also be stored in the memory occupied by the respective model during initialization.
Step S1003 (not shown in the figure): and determining the coding information of the current frame to be coded, and acquiring a corresponding basic probability updating speed parameter (basic right displacement number) according to the coding information of the current frame to be coded.
For the embodiment of the present application, the frame to be encoded may be an intra-coded frame (I-frame), a unidirectional inter-coded frame (P-frame), or a bidirectional inter-coded frame (B-frame).
Optionally, the encoded information may also include, but is not limited to: a frame type; quantizing the parameters; image resolution; a temporal layer identifier; POC; code configuration; GOP structure.
For the embodiment of the present application, the basic probability update speed parameter (basic right shift number) is determined based on the frame type of the frame to be encoded, wherein the frame types of the frame to be encoded are different, and the basic probability update speed parameter (basic right shift number) may be the same or different.
For example, the number of basic right shifts for I frames is Base1, the number of basic right shifts for B frames is Base2, and the number of basic right shifts for P frames is Base 3. The three values of Base1, Base2 and Base3 may be the same, different or two of them may be the same. The embodiments of the present application are not limited. For the embodiment of the present application, the basic probability update speed parameter (basic right shift number) is determined based on the quantization parameter of the frame to be encoded, where the quantization parameter of the frame to be encoded is different, and the basic probability update speed parameter (basic right shift number) may be the same or different.
For example, QP <38, Base right shift number may be Base4, QP > 38 or QP ═ 38, and Base right shift number may be Base5, where Base4 and Base5 may be the same or different.
For the embodiment of the present application, the basic probability update speed parameter (the basic right shift number) is determined based on the image resolution of the frame to be encoded, wherein the image resolution of the frame to be encoded is different, and the basic probability update speed parameter (the basic right shift number) may be the same or different.
For example, for a resolution of 1280 × 720, the number of Base right shifts is Base 6; for a resolution of 1920 × 1080, the number of Base right shifts is Base 7; for a resolution of 4k, the Base right shift number is Base 8. The bases 6, 7, and 8 may be the same or different, and any two of them may be the same.
For the embodiment of the present application, the basic probability update speed parameter (the basic right shift number) is determined based on any combination in the coding information of the frame to be coded, where any combination in the coding information of the frame to be coded is different, and the basic probability update speed parameter (the basic right shift number) may be the same or different.
For example, the Base right shift number at I frame QP <38 is Base9, the Base right shift number at I frame QP > 38 or QP ═ 38 is Base10, the Base right shift number at B frame QP <38 is Base11, the Base right shift number at B frame QP > 38 or QP ═ 38 is Base12, the Base right shift number at P frame QP <38 is Base13, and the Base right shift number at B frame QP > 38 or QP ═ 38 is Base 14.
For example, the Base right shift number of I frame image with POC 0 is Base15, and the Base right shift number of I frame with POC greater than 0 is Base 16; the Base right shift for B frames is Base17 and the Base right shift for P frames is Base 18.
For example, for an I-frame image, the Base right shift number is Base19 when the encoding is configured as a full I-frame (All Intra, AI), and Base20 when the encoding is configured as a Low Latency (LD) and Random Access (RA). The basic right shift of B frames in all encoding configurations is Base21, and the basic right shift of P frames in all encoding configurations is Base 22.
For the embodiment of the present application, step S1003 may be executed before step S1001, before step S1002, after step S1001, after step S1002, or simultaneously with step S1001 and/or step S1002, and in the embodiment of the present application, there is no strict sequential execution order between step S1003 and step S1001 and step S1002.
For the embodiment of the application, the value of the basic right shift value can be a consistent value preset by an encoder and a decoder, and the encoder writes the value into a code stream before encoding a frame; or the basic right shift bit number is a consistent value preset by the encoder and the decoder, and the code stream does not need to be written. In the embodiment of the present application, the basic right displacement number may be written into the code stream before the frame to be encoded is encoded.
Step S1004 (not shown in the figure): calculating to obtain a large right shift number b and a small right shift number a according to the parameters in the binary symbol model of each binary symbol stored in the step S1002 and the basic right shift number obtained in the step S1003, and updating the information in the model, namely updating the probability P in the binary symbol model of the binary symbol after the ith binary symbol bin appearsiAnd a model update time cycle. The small right shift a is used to calculate the updated probability P0 and the large right shift b is used to calculate the updated probability P1.
Specifically, one possible implementation manner in the embodiment of the present application is:
when the probability update time cycle is less than the second probability update time threshold, only P0 is updated, and the value of P1 is equal to the updated value of P0. The update rate cwr of P0 is derived from cycle: cwr is a-1 when the cycle is less than the first threshold of the number of probability updates; when the cycle is equal to or greater than the first probability update number threshold and less than the second probability update number threshold, cwr is a. Then the process of the first step is carried out,
if the binary symbol bin is MPS, P0i=P0i-1–P0i-1>>cwr–P0i-1>>(cwr+2),P1i=P0i;
If the binary symbol bin is LPS, P0i=P0i-1+LG_s,LG_s=log2(2cwr/2cwr-1)x1024,P1i=P0i;
Pi=(P0i+P1i+1)>>1。
When the update time cycle is equal to the second probability update time threshold, the P0 and the P1 are updated simultaneously, the update speed of the P0 is a, and the update speed of the P1 is b.
If the binary symbol bin is MPS, P0i=P0i-1–P0i-1>>a–P0i-1>>(a+2),P1i=P1i-1–P1i-1>>b–P1i-1>>(b+2);
If the binary symbol bin is LPS, P0i=P0i-1+LG_s0,LG_s0=log2(2a/2a-1)x1024,P1i=P1i-1+LG_s1,LG_s1=log2(2b/2b-1)x1024;
Pi=(P0i+P1i+1)>>1。
The updating method of the model updating times cycle comprises the following steps: if the binary symbol bin is MPS, if cycle is equal to 0, then cycle is updated to 1; otherwise, the cycle is not changed; if the binary symbol bin is the LPS, if the cycle is smaller than the second probability updating frequency threshold value, adding 1 to the cycle; otherwise the cycle is unchanged.
For the embodiment of the present application, after all frames in the current image are encoded according to the above-described manner, that is, all syntax elements of all frames in the current image are encoded, and a code stream of the current image is generated and output.
Step 1001 and step 1002 in the embodiment of the present application may be replaced with: step S1001a and step S1002a, wherein,
step S1001a (not shown in the figure): parameters of a predefined binary symbol model of binary symbols of the binary symbol string corresponding to each syntax element are obtained.
Wherein the predefined model parameters include, but are not limited to: the information related to the probability updating times, the absolute value of the difference between the first probability updating speed parameter and the basic probability updating speed parameter and/or the absolute value of the difference between the second probability updating speed parameter and the basic probability updating speed parameter. In an embodiment of the present application, the first probability update speed parameter may include: the large right shift number b, the second probability update speed parameter may include: the small right displacement number a, the basic probability update speed parameter may include: base right shift number base. The information related to the number of probability updates may include: a probability update time and an update time threshold.
For the embodiment of the present application, the predefined model parameters may be different or the same according to the encoding parameters. The embodiments of the present application are not limited.
Step S1002a (not shown): when the binary symbol model of each binary symbol is initialized before the current frame is encoded, the predefined model parameters obtained in step S1001a are read in and stored in the memory occupied by each model.
The above-mentioned method of encoding by an encoder is described by a specific embodiment, and the following method of decoding by a decoder is described by a specific embodiment, each decoded image may be divided into one frame or at least two frames, which is not limited herein. When a decoded image is divided into a frame, the specific method for decoding the image is described in the following embodiments; if a decoded image is divided into at least two frames, each frame of image needs to be decoded when decoding the decoded image, wherein the decoding mode for any frame of image is described in the following embodiments,
step S1101 (not shown in the figure): and obtaining binary symbol model parameters of binary symbols of the binary symbol string corresponding to each syntax element corresponding to the current frame to be decoded.
For the embodiments of the present application, any binary symbolic model parameter may include: information related to the number of probability updates, an absolute value of a difference between the first probability update rate parameter and the basic probability update rate parameter, and an absolute value of a difference between the second probability update rate parameter and the basic probability update rate parameter. In an embodiment of the present application, the first probability update speed parameter may include: the large right shift number b, the second probability update speed parameter may include: the small right displacement number a, the basic probability update speed parameter may include: base right shift number Base. The information related to the number of probability updates may include: a probability update time and an update time threshold.
For the embodiment of the present application, the threshold of the probability update times of any binary symbol model may include: the probability updating method comprises a first probability updating time threshold and a second probability updating time threshold, wherein the second probability updating time threshold is larger than the first probability updating time threshold and can be equal to the first probability updating time threshold but not smaller than the first probability updating time threshold.
In a possible implementation manner, the probability update time threshold of any binary symbol model may be determined according to the coding information of the current frame to be decoded, for the embodiment of the present application, the probability update time threshold is determined according to the type of the frame to be decoded, the first probability update time thresholds and the second probability update time thresholds of the binary symbol models in the same frame are all the same, and the first probability update time thresholds and the second probability update time thresholds are stored in the frame level layer. The frame to be decoded may be an intra-coded frame (I-frame), a unidirectional inter-coded frame (P-frame), a bidirectional inter-coded frame (B-frame). Optionally, the encoded information may also include, but is not limited to: a frame type; quantizing the parameters; image resolution; a temporal layer identifier; POC; code configuration; GOP structure.
For the embodiment of the present application, the frame types of the frames to be decoded are different, the first probability update time thresholds may be the same or different, and the second probability update time thresholds may be the same or different.
For example, the first threshold of the probability update times of the I frame is threshold1, the second threshold of the probability update times is threshold2, the first threshold of the probability update times of the B frame is threshold3, the second threshold of the probability update times is threshold4, the first threshold of the probability update times of the P frame is threshold5, and the second threshold of the probability update times is threshold 6. the three values of threshold1, threshold3 and threshold5 may be the same, different or two of them may be the same. The three values of Threshold2, Threshold4 and Threshold6 may be the same, different or any two of them may be the same. The embodiments of the present application are not limited.
Another possible implementation manner is that the threshold values of the probability update times of the binary symbol models in the same frame are different from each other, or the threshold values of the probability update times of the binary symbol models in the same frame are the same, or the threshold values of the probability update times of the binary symbol models in the same frame are partially the same. The embodiments of the present application are not limited.
Step S1102 (not shown in the figure): when the binary symbol model of each binary symbol is initialized before the current frame is decoded, the parameters of each binary symbol model are respectively stored in the memory occupied by the model.
In the embodiment of the present application, the values of (Base-a) may be the same for each binary symbol, may be different from each other, or may be partially the same. The values of (b-Base) may be the same, different, or partially the same. Wherein Base may include, depending on the type of frame currently to be decoded: base1, or Base2, or Base 3.
For the present embodiment, when the values of (Base-a) are all the same for each binary symbol, and/or the values of (b-Base) are all the same, the values of (Base-a) and (b-Base) are stored as frame-level parameters in the frame-level layer, and only one value needs to be stored each; it is of course also possible to store their values in the respective memory occupied by the respective model during initialization.
For the embodiment of the present application, when the first probability update time thresholds are different or partially the same for each binary symbol in the same frame, the first probability update time thresholds are stored in the respective memory occupied by the model. And when the second probability updating time threshold values are different or partially same, storing the second probability updating time threshold values in the memory occupied by the respective models.
For the embodiment of the present application, when the first probability update time threshold and/or the second probability update time threshold are the same for each binary symbol in the same frame, the first probability update time threshold and/or the second probability update time threshold are stored in the frame level layer as the frame level parameters, and only one value needs to be stored in each frame level layer, and of course, the values may also be stored in the memory occupied by the respective model during initialization.
Step S1103 (not shown in the figure): and determining the coding information of the current frame to be decoded, and determining a basic probability model parameter (basic right displacement number) according to the coding information of the current frame to be decoded.
Specifically, the type of the current frame to be decoded is obtained from the input code stream. The frame may be an intra-coded frame (I-frame), a unidirectional inter-coded frame (P-frame), a bidirectional inter-coded frame (B-frame).
Optionally, the encoded information may also include, but is not limited to: a frame type; quantizing the parameters; image resolution; a temporal layer identifier; POC; code configuration; GOP structure.
For the embodiment of the application, the number of basic right shifts for I frames is Base1, the number of basic right shifts for B frames is Base2, and the number of basic right shifts for P frames is Base 3. The three values of Base1, Base2 and Base3 may be the same, different or the same in pairs. The embodiments of the present application are not limited.
For the embodiment of the present application, the value of the basic right shift value may be a consistent value predefined by the encoder and the decoder, and the decoder may also read from the code stream. The basic right shift bit in the embodiment of the application is a consistent value predefined by an encoder and a decoder, and does not need to be read from a code stream.
Step S1104 (not shown in the figure): calculating to obtain a large right shift number b and a small right shift number a according to the parameters in the binary symbol model of each binary symbol stored in the step S1102 and the basic right shift number obtained in the step S1103, and updating the information in the model, namely updating the probability P in the binary symbol model of the binary symbol after the ith binary symbol bin appearsiAnd a model update time cycle. The small right shift a is used to calculate the updated probability P0 and the large right shift b is used to calculate the updated probability P1.
Specifically, another possible implementation manner in the embodiment of the present application is:
when the probability update time cycle is less than the second probability update time threshold, only P0 is updated, and the value of P1 is equal to the updated value of P0. The update rate cwr of P0 is derived from cycle: cwr is a-1 when the cycle is less than the first threshold of the number of probability updates; when the cycle is equal to or greater than the first probability update number threshold and less than the second probability update number threshold, cwr is a. Then the process of the first step is carried out,
if the binary symbol bin is MPS,P0i=P0i-1–P0i-1>>cwr–P0i-1>>(cwr+2),P1i=P0i;
If the binary symbol bin is LPS, P0i=P0i-1+LG_s,LG_s=log2(2cwr/2cwr-1)x1024,P1i=P0i;
Pi=(P0i+P1i+1)>>1。
When the update time cycle is equal to the second probability update time threshold, the P0 and the P1 are updated simultaneously, the update speed of the P0 is a, and the update speed of the P1 is b.
If the binary symbol bin is MPS, P0i=P0i-1–P0i-1>>a–P0i-1>>(a+2),P1i=P1i-1–P1i-1>>b–P1i-1>>(b+2);
If the binary symbol bin is LPS, P0i=P0i-1+LG_s0,LG_s0=log2(2a/2a-1)x1024,P1i=P1i-1+LG_s1,LG_s1=log2(2b/2b-1)x1024;
Pi=(P0i+P1i+1)>>1。
The updating method of the model updating times cycle comprises the following steps: if the binary symbol bin is MPS, if cycle is equal to 0, then cycle is updated to 1; otherwise, the cycle is not changed; if the binary symbol bin is the LPS, if the cycle is smaller than the second probability updating frequency threshold value, adding 1 to the cycle; otherwise the cycle is unchanged.
Step 1101 and step 1102 in the embodiment of the present application may also be replaced with: step S1101a and step S1102a, wherein,
step S1101a (not shown in the figure): parameters of a predefined binary symbol model of binary symbols of the binary symbol string corresponding to each syntax element are obtained.
Wherein the predefined model parameters include, but are not limited to: the absolute value of the difference between the first probability update rate parameter and the base probability update rate parameter and/or the absolute value of the difference between the second probability update rate parameter and the base probability update rate parameter. In an embodiment of the present application, the first probability update speed parameter may include: the large right shift number b, the second probability update speed parameter may include: the small right displacement number a, the basic probability update speed parameter may include: base right shift number Base. The information related to the number of probability updates may include: a probability update time and an update time threshold.
For the embodiment of the present application, the parameters of the predefined binary symbol model of the binary symbol string corresponding to each syntax element are different or may be the same according to the difference of the coding information of the frame to be decoded. The embodiments of the present application are not limited.
Step S1102a (not shown): before the current frame is decoded and when the binary symbol model of each binary symbol is initialized, the predefined model parameters obtained in step S1101a are read in and stored in the memory occupied by each model.
For the embodiment of the present application, after all frames are decoded according to the above-described manner, that is, all syntax elements of all frames in the current image are decoded, and the reconstructed image is output.
For the embodiment of the present application, by applying the embodiment of the present application, different model parameters may be set for the binary symbol models of the binary symbols in the binary symbol string of each syntax element under different coding parameters of different types of frames, different quantization parameters, different image resolutions, and the like, and then different update speeds are adopted when updating the probability in the model, which further improves the compression efficiency by adopting the context-based binary arithmetic coding entropy coding method. Meanwhile, the difference between the model parameter and the basic model parameter (basic probability updating speed parameter) is stored by adopting a difference storage method, and the method for directly storing the model parameter is replaced, so that the storage space can be saved.
For example, in the prior art, 4 bits are used to store a and b, respectively, for each binary symbol model, where 1<a≤b<The value range of 9, 4 bit unsigned numbers is 0 to (2)4-1), requiring 8 bits in total. If the embodiments of the present application are utilized, it is known thatA shift number of 5, a difference (b-5) between a large right shift number and a basic right shift number is stored by using 2 bits for each binary symbol model, the value range of the 2 bit unsigned number is 0 to (2), and the value range of the 2 bit unsigned number is more than or equal to 0 and less than or equal to 32-1), using 2 bits to store the difference (5-a) between the small right shift number and the basic right shift number, 0 ≦ (5-a) ≦ 3, requiring 4 bits in total. For VVC, each frame has 702 binary symbol models, and the mode of the embodiment of the application can save the storage space of 4 x 702 bits for each frame; for AVS3, there are 389 binary symbol models per frame, and each frame can be scaled by 4 × 389 bits using the approach of the embodiments of the present application. There is also prior art that sets the value ranges of a and b as: a is more than or equal to 0 and less than or equal to b is less than or equal to 11, and a and b are respectively stored by using 4 bits. With the embodiment of the present application, if the basic right shift number is known to be 5, 3 bits are needed to store (5-a) and (b-5), respectively, wherein 0 ≦ 5-a ≦ 4 and 0 ≦ b-5 ≦ 6, which can save 2 bits of storage space per binary symbol model compared to the prior art. That is to say, compared with a method for directly storing a large right shift number and a small right shift number, the method of the embodiment of the application can greatly save the storage space, and the more the number of frames of image division is, the larger the saved storage space is, and meanwhile, the coding efficiency of the CABAC method using multiple models can be further improved.
The above embodiment introduces the model updating method from the perspective of the method flow, and the following introduces the model updating apparatus from the perspective of the virtual module and/or the virtual unit, as shown in detail below:
an embodiment of the present application provides a model updating apparatus, and as shown in fig. 3, the model updating apparatus 30 may include: a first obtaining module 31 and a first updating module 32, wherein the model updating apparatus shown in fig. 3 is only one possible example of the model updating apparatus and is not meant to be a limitation to the embodiments of the present application, and wherein,
the first obtaining module 31 is configured to obtain first parameters corresponding to each binary symbol model corresponding to a current frame to be encoded.
The first parameters corresponding to the binary symbolic model comprise: information relating to a difference between the at least one probability update rate parameter and the base probability update rate parameter;
and the first updating module 32 is configured to update the corresponding binary symbolic models based on the first parameters respectively corresponding to the binary symbolic models.
In a possible implementation manner of the embodiment of the present application, the first parameter corresponding to the binary symbolic model further includes: probability updating times of related information; the related information of the probability updating times comprises the probability updating times of the binary symbol model and a threshold value of the probability updating times;
in a possible implementation manner of the embodiment of the present application, the first obtaining module 31, when obtaining the threshold of the probability updating times, is specifically configured to: determining coding information of a current frame to be coded; and acquiring the threshold value of the probability updating times based on the coding information of the current frame to be coded.
In another possible implementation manner of the embodiment of the present application, when acquiring the first parameter corresponding to each binary symbol model corresponding to the current frame to be encoded, the first acquiring module 31 is specifically configured to: and acquiring first parameters respectively corresponding to all binary symbol models corresponding to the pre-defined current frame to be coded.
In a possible implementation manner of the embodiment of the present application, the apparatus 30 further includes: a first storage module, wherein,
and the first storage module is used for storing the first parameters respectively corresponding to the binary symbol models.
In a possible implementation manner of the embodiment of the application, the first storage module is specifically configured to store, when initializing each binary symbolic model, first parameters respectively corresponding to each binary symbolic model corresponding to a current frame to be encoded into respective occupied storage spaces.
In a possible implementation manner of the embodiment of the present application, the first storage module is specifically configured to, when at least one piece of related information corresponding to each binary symbol model is the same, store the same at least one piece of related information as a frame-level parameter to a frame-level layer, where the at least one piece of related information includes: information on the difference between the at least one probability update rate parameter and the base probability update rate parameter, and information on the number of probability updates.
In a possible implementation manner of the embodiment of the present application, the first updating module 32 includes: a first obtaining unit, a first determining unit, and a first updating unit, wherein,
the first acquisition unit is used for acquiring the basic probability updating speed parameter.
And the first determining unit is used for determining second parameters respectively corresponding to the binary symbol models based on the first parameters respectively corresponding to the binary symbol models and the acquired basic probability updating speed parameters.
Wherein, the second parameter corresponding to the binary symbolic model comprises: at least one probability updates the velocity parameter.
And the first updating unit is used for updating the corresponding binary symbol models based on the second parameters respectively corresponding to the binary symbol models.
In a possible implementation manner of the embodiment of the present application, the first obtaining unit is specifically configured to determine coding information of a current frame to be coded, and obtain a basic probability update speed parameter based on the coding information of the current frame to be coded.
In a possible implementation manner of the embodiment of the present application, the encoding information of the current frame to be encoded includes at least one of the following:
a frame type; quantizing the parameters; image resolution; a temporal layer identifier; POC; code configuration; GOP structure.
In a possible implementation manner of the embodiment of the present application, the apparatus 30 further includes: a write module for writing, to the memory, wherein,
and the writing module is used for writing the basic probability updating speed parameter into the code stream.
In a possible implementation manner of the embodiment of the present application, the first obtaining module 31 is specifically configured to obtain, from first parameters respectively corresponding to each predefined binary symbol model of an encoder, first parameters respectively corresponding to each binary symbol model of a current frame to be encoded, and/or obtain, from each predefined binary symbol model corresponding to the current frame to be encoded, first parameters respectively defined in advance.
In a possible implementation manner of the embodiment of the present application, any relevant information corresponding to each binary symbolic model includes at least one of the following relationships:
any relevant information corresponding to each binary symbol model is different;
any relevant information corresponding to the at least two binary symbol models is the same;
the basic probability model parameters corresponding to each frame to be coded respectively comprise at least one of the following relations:
the basic probability model parameters respectively corresponding to the frames to be coded are different;
and the basic probability model parameters corresponding to at least two frames to be coded are the same.
In another possible implementation manner of the embodiment of the application, when the first storage module stores the first parameters corresponding to each binary symbolic model, the first storage module is specifically configured to at least one of the following:
when each binary symbolic model is initialized, storing first parameters respectively corresponding to each binary symbolic model into a memory corresponding to the binary symbolic model;
when each binary symbolic model is initialized, the first parameters corresponding to each binary symbolic model are stored in the memory occupied by each model.
In another possible implementation manner of the embodiment of the present application, the second parameter corresponding to any binary symbolic model includes two probability update speed parameters: a first probability update rate parameter for updating a first probability of the binary symbolic model and a second probability update rate parameter for updating a second probability of the binary symbolic model; the threshold for the number of probability updates in the first parameter of any binary symbolic model comprises: the probability updating time threshold is not less than the first probability updating time threshold;
the first updating unit is specifically configured to, when updating the corresponding binary symbolic models based on the second parameters respectively corresponding to the binary symbolic models:
updating at least one of a first probability of the corresponding binary symbol model and a second probability of the binary symbol model based on the second parameter respectively corresponding to each binary symbol model and the threshold value of the probability updating times respectively corresponding to each binary symbol model;
and updating the binary symbol models corresponding to the binary symbol models respectively based on the updated first probability and/or the updated second probability corresponding to the binary symbol models respectively.
In another possible implementation manner of the embodiment of the application, when updating at least one of the first probability of the corresponding binary symbol model and the second probability of the binary symbol model based on the second parameter corresponding to any binary symbol model and the threshold of the corresponding probability updating number of times, the first updating unit is specifically configured to:
determining whether to update the first probability of any binary symbol model and/or the second probability of any binary symbol model based on the magnitude relation between the probability updating times corresponding to any binary symbol model and the second probability updating time threshold;
updating at least one of the first probability of the corresponding binary symbolic model and the second probability of the binary symbolic model based on the determination result and the second parameter corresponding to any binary symbolic model.
The embodiment of the present application provides a model updating apparatus, which, compared with the prior art that a probability updating speed parameter corresponding to a binary character is stored in a memory when a model is updated, acquires related information of a difference between at least one probability updating speed parameter and a basic probability updating speed parameter corresponding to each binary symbol model corresponding to a current frame to be encoded, and updates each binary symbol model according to the acquired related information, that is, when the model is initialized, only the related information of the difference between at least one probability updating speed parameter and a basic probability updating speed parameter corresponding to each binary symbol model corresponding to the current frame to be encoded needs to be stored, instead of directly storing at least one probability updating speed parameter corresponding to each binary symbol model, and the storage space occupied by the related information of the difference value between the probability updating speed parameter and the basic probability updating speed parameter is smaller than the storage space occupied by directly storing the probability updating speed parameter, so that the storage space occupied by the parameter for updating the model can be reduced.
The embodiment of the present application provides another model updating apparatus, as shown in fig. 4, where the model updating apparatus shown in fig. 4 is only one possible example and is not meant to limit the embodiment of the present application, and the model updating apparatus 40 may include: a second obtaining module 41 and a second updating module 42, wherein,
the second obtaining module 41 is configured to obtain first parameters corresponding to each binary symbol model corresponding to a current frame to be decoded.
The first parameters corresponding to the binary symbolic model comprise: information relating to a difference between the at least one probability update rate parameter and the base probability update rate parameter;
and a second updating module 42, configured to update the binary symbol models respectively corresponding to the first parameters based on the first parameters respectively corresponding to the binary symbol models.
In a possible implementation manner of the embodiment of the present application, the first parameter corresponding to the binary symbolic model further includes: the information related to the number of probability updating times and the number of probability updating times includes: a number of probability updates and a threshold for the number of probability updates.
In another possible implementation manner of the embodiment of the application, when the second obtaining module obtains the threshold of the probability update times, the second obtaining module is specifically configured to:
determining coding information of a current frame to be decoded;
and acquiring a threshold value of the probability updating times based on the coding information of the current frame to be decoded.
In a possible implementation manner of the embodiment of the present application, the apparatus 40 further includes: a second storage module, wherein,
and the second storage module is used for storing the first parameters respectively corresponding to the binary symbol models.
In another possible implementation manner of the embodiment of the application, the second storage module is specifically configured to store, when initializing each binary symbolic model, first parameters respectively corresponding to each binary symbolic model corresponding to a current frame to be decoded into respective occupied storage spaces.
In a possible implementation manner of the embodiment of the application, the second storage module is specifically configured to, when at least one piece of related information corresponding to each binary symbol model is the same, store the same at least one piece of related information as a frame level parameter to a frame level layer, where the at least one piece of related information is related information of a difference between at least one probability update rate parameter and a basic probability update rate parameter.
In a possible implementation manner of the embodiment of the present application, the second updating module 42 includes: a second obtaining unit, a second determining unit, and a second updating unit, wherein,
and the second acquisition unit is used for acquiring the basic probability updating speed parameter.
And the second determining unit is used for determining second parameters respectively corresponding to the binary symbol models based on the first parameters respectively corresponding to the binary symbol models stored in the memory and the acquired basic probability updating speed parameter.
Wherein, the second parameter corresponding to the binary symbolic model comprises: at least one probability updates the velocity parameter.
And the second updating unit is used for updating the corresponding binary symbol models based on the second parameters respectively corresponding to the binary symbol models.
In a possible implementation manner of the embodiment of the present application, the second obtaining unit is specifically configured to obtain a basic probability update speed parameter from a code stream, and/or obtain the basic probability update speed parameter based on coding information of a current frame to be decoded.
In a possible implementation manner of the embodiment of the present application, the encoding information of the current frame to be decoded includes at least one of the following:
a frame type; quantizing the parameters; image resolution; a temporal layer identifier; POC; code configuration; GOP structure.
In a possible implementation manner of the embodiment of the present application, the second obtaining module 41 is specifically configured to obtain, from first parameters respectively corresponding to each binary symbol model predefined by a decoder, first parameters respectively corresponding to each binary symbol model corresponding to a frame to be decoded currently, and/or obtain, from each predefined binary symbol model corresponding to a frame to be decoded currently, first parameters respectively defined in advance.
In a possible implementation manner of the embodiment of the present application, any relevant information corresponding to each binary symbolic model includes at least one of the following relationships:
any relevant information corresponding to each binary symbol model is different;
any relevant information corresponding to the at least two binary symbol models is the same;
wherein, the basic probability model parameters respectively corresponding to each frame to be decoded comprise at least one of the following relations:
the basic probability model parameters corresponding to each frame to be decoded are different;
and the basic probability model parameters corresponding to at least two frames to be decoded are the same.
The embodiment of the present application provides another model updating apparatus, compared with the prior art that a probability updating speed parameter corresponding to a binary character is stored in a memory when a model is updated, in the embodiment of the present application, related information of a difference value between at least one probability updating speed parameter and a basic probability updating speed parameter respectively corresponding to each binary symbol model corresponding to a current frame to be decoded is obtained, and each binary symbol model is updated through the obtained at least one related information respectively corresponding to each binary symbol model, that is, when the model is initialized, only the related information of the difference value between at least one probability updating speed parameter and a basic probability updating speed parameter respectively corresponding to each binary symbol model corresponding to the current frame to be decoded needs to be stored, instead of directly storing at least one probability updating speed parameter respectively corresponding to each binary symbol model, and the storage space occupied by the related information of the difference value between the probability updating speed parameter and the basic probability updating speed parameter is smaller than the storage space occupied by directly storing the probability updating speed parameter, so that the storage space occupied by the parameter for updating the model can be reduced.
It is worth noting that: the two model updating devices may be a single model updating device or two model updating devices, and are not limited in the embodiment of the present application. In the embodiment of the present application, if the two model updating apparatuses are the same model updating apparatus, the "first" and the "second" are not used as limitations on modules or units. For example, the "first update module" and the "second update module" may be the same update module or different update modules.
The above device embodiments are applicable to the above method embodiments, and are not described herein again.
An embodiment of the present application provides an electronic device, as shown in fig. 5, an electronic device 500 shown in fig. 5 includes: a processor 501 and a memory 503. Wherein the processor 501 is coupled to the memory 503, such as via the bus 502. Optionally, the electronic device 500 may also include a communication interface 504, which includes an antenna. It should be noted that, in practical applications, the communication interface 504 is not limited to one, and the structure of the electronic device 500 is not limited to the embodiment of the present application.
The processor 501 may be a CPU, general purpose processor, DSP, ASIC, FPGA or other programmable logic device, transistor logic device, hardware component, or any combination thereof. Which may implement or perform the various illustrative logical blocks, modules, and circuits described in connection with the disclosure. The processor 501 may also be a combination of implementing computing functionality, e.g., comprising one or more microprocessors, a combination of DSPs and microprocessors, and the like.
The memory 503 may be, but is not limited to, a ROM or other type of static storage device that can store static information and instructions, a RAM or other type of dynamic storage device that can store information and instructions, an EEPROM, a CD-ROM or other optical disk storage, optical disk storage (including compact disk, laser disk, optical disk, digital versatile disk, blu-ray disk, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
The memory 503 is used for storing computer program codes for executing the scheme of the application, and is controlled by the processor 501 for execution. The processor 501 is adapted to execute computer program code stored in the memory 503 to implement the content shown in any of the method embodiments described above.
The embodiment of the application provides an electronic device, and the electronic device in the embodiment of the application comprises: a memory and a processor; at least one program stored in the memory for execution by the processor, which when executed by the processor, implements: in the embodiment of the application, the related information of the difference value between at least one probability updating speed parameter and a basic probability updating speed parameter respectively corresponding to each binary symbol model corresponding to the current frame to be coded is obtained, and each binary symbol model is updated through the obtained related information respectively corresponding to each binary symbol model, namely in the process of initializing the models, only the related information of the difference value between at least one probability updating speed parameter and a basic probability updating speed parameter respectively corresponding to each binary symbol model corresponding to the current frame to be coded is required to be stored, but not at least one probability updating speed parameter respectively corresponding to each binary symbol model is directly stored, and the storage space occupied by the related information of the difference value between the probability updating speed parameter and the basic probability updating speed parameter is smaller than the storage space occupied by directly storing the probability updating speed parameter, thereby reducing the storage space occupied by the parameters for model updating.
The electronic device may be an encoder or an electronic device having both an encoding function and a decoding function. The embodiments of the present application are not limited.
An embodiment of the present application provides another electronic device, and the electronic device includes: a processor, a memory. Wherein the processor is coupled to the memory, such as via a bus. Optionally, the electronic device may further comprise a communication interface comprising an antenna. It should be noted that, in practical applications, the communication interface is not limited to one, and the structure of the electronic device does not constitute a limitation to the embodiments of the present application.
The processor may be a CPU, general purpose processor, DSP, ASIC, FPGA or other programmable logic device, transistor logic device, hardware component, or any combination thereof. Which may implement or perform the various illustrative logical blocks, modules, and circuits described in connection with the disclosure. A processor may also be a combination of computing functions, e.g., comprising one or more microprocessors, a DSP and a microprocessor, or the like.
A bus may include a path that transfers information between the above components. The bus may be a PCI bus or an EISA bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc.
The memory may be, but is not limited to, a ROM or other type of static storage device that can store static information and instructions, a RAM or other type of dynamic storage device that can store information and instructions, an EEPROM, a CD-ROM or other optical disk storage, optical disk storage (including compact disk, laser disk, optical disk, digital versatile disk, blu-ray disk, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
The memory is used for storing computer program codes for executing the scheme of the application and is controlled by the processor to execute. The processor is configured to execute the computer program code stored in the memory to implement the aspects of any of the method embodiments described above.
The embodiment of the application provides an electronic device, and the electronic device in the embodiment of the application comprises: a memory and a processor; at least one program stored in the memory for execution by the processor, which when executed by the processor, implements: the embodiment of the application acquires the related information of the difference value between at least one probability updating speed parameter and a basic probability updating speed parameter respectively corresponding to each binary symbol model corresponding to the current frame to be decoded, and updates each binary symbol model through the acquired related information respectively corresponding to each binary symbol model, namely when the model is initialized, only the related information of the difference value between at least one probability updating speed parameter and a basic probability updating speed parameter respectively corresponding to each binary symbol model corresponding to the current frame to be decoded is required to be stored, but not at least one probability updating speed parameter respectively corresponding to each binary symbol model is directly stored, and the storage space occupied by the related information of the difference value between the probability updating speed parameter and the basic probability updating speed parameter is smaller than the storage space occupied by directly storing the probability updating speed parameter, thereby reducing the storage space occupied by the parameters for model updating.
The electronic device may be a decoder, or may be an electronic device having both a decoding function and an encoding function. The embodiments of the present application are not limited.
For the embodiment of the present application, the two electronic devices are an encoder and a decoder, respectively, or an electronic device having a decoding function and an encoding function. The embodiments of the present application are not limited.
The technical solutions of the present application are introduced from the perspective of a method flow, a virtual device, and an entity device, and the following technical solutions of the present application are introduced from the perspective of a computer-readable storage medium, which are specifically as follows:
the present application provides a computer-readable storage medium, on which a computer program is stored, which, when running on a computer, enables the computer to execute the corresponding content in the foregoing method embodiments. Compared with the prior art, the embodiment of the application acquires the related information of the difference value between at least one probability updating speed parameter and a basic probability updating speed parameter respectively corresponding to each binary symbol model corresponding to the current frame to be coded, and updates each binary symbol model through the acquired related information respectively corresponding to each binary symbol model, namely when the model is initialized, only the related information of the difference value between at least one probability updating speed parameter and a basic probability updating speed parameter respectively corresponding to each binary symbol model corresponding to the current frame to be coded is required to be stored, but not the related information of the difference value between the probability updating speed parameter and the basic probability updating speed parameter respectively corresponding to each binary symbol model is directly stored, and the storage space occupied by the related information of the difference value between the probability updating speed parameter and the basic probability updating speed parameter is smaller than the storage space occupied by directly storing the probability updating speed parameter, thereby reducing the storage space occupied by the parameters for model updating.
The present application provides another computer-readable storage medium, on which a computer program is stored, which, when running on a computer, enables the computer to execute the corresponding content in the foregoing method embodiments. Compared with the prior art, the embodiment of the application acquires the related information of the difference value between at least one probability updating speed parameter and a basic probability updating speed parameter respectively corresponding to each binary symbol model corresponding to the current frame to be decoded, and updates each binary symbol model through the acquired related information respectively corresponding to each binary symbol model, namely when the model is initialized, only the related information of the difference value between at least one probability updating speed parameter and a basic probability updating speed parameter respectively corresponding to each binary symbol model corresponding to the current frame to be decoded is required to be stored, but not the related information of the difference value between the probability updating speed parameter and the basic probability updating speed parameter respectively corresponding to each binary symbol model is directly stored, and the storage space occupied by the related information of the difference value between the probability updating speed parameter and the basic probability updating speed parameter is smaller than the storage space occupied by directly storing the probability updating speed parameter, thereby reducing the storage space occupied by the parameters for model updating.
The computer-readable storage medium is suitable for the above method embodiments, and is not described herein again.
It should be understood that, although the steps in the flowcharts of the figures are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not performed in the exact order shown and may be performed in other orders unless explicitly stated herein. Moreover, at least a portion of the steps in the flow chart of the figure may include multiple sub-steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, which are not necessarily performed in sequence, but may be performed alternately or alternately with other steps or at least a portion of the sub-steps or stages of other steps.
The foregoing is only a partial embodiment of the present invention, and it should be noted that, for those skilled in the art, various modifications and decorations can be made without departing from the principle of the present invention, and these modifications and decorations should also be regarded as the protection scope of the present invention.
Claims (15)
1. A model update method, comprising:
acquiring first parameters respectively corresponding to all binary symbol models corresponding to a current frame to be coded, wherein the first parameters corresponding to the binary symbol models comprise: information relating to a difference between the at least one probability update rate parameter and the base probability update rate parameter;
and updating the corresponding binary symbolic models based on the first parameters respectively corresponding to the binary symbolic models.
2. The method of claim 1, wherein the first parameters corresponding to the bigram model further comprise: probability updating times of related information;
the related information of the probability updating times comprises the probability updating times of the binary symbol model and a threshold value of the probability updating times.
3. The method according to claim 1, wherein the obtaining of the first parameter corresponding to each binary symbol model corresponding to the current frame to be encoded further comprises:
storing the first parameters respectively corresponding to the binary symbolic models;
if at least one piece of relevant information corresponding to each binary symbol model is the same, storing the same relevant information as a frame level parameter to a frame level layer, wherein the relevant information comprises: information related to a difference between the at least one probability update rate parameter and the base probability update rate parameter, and information related to a number of probability updates.
4. The method according to any one of claims 1-3, wherein updating the corresponding bigram model based on the first parameter corresponding to each of the bigram models comprises:
acquiring the basic probability updating speed parameter;
determining second parameters respectively corresponding to the binary symbol models based on the first parameters respectively corresponding to the binary symbol models and the obtained basic probability updating speed parameter, wherein the second parameters corresponding to the binary symbol models comprise: at least one probabilistic update speed parameter;
and updating the corresponding binary symbol models based on the second parameters respectively corresponding to the binary symbol models.
5. The method of claim 4, wherein obtaining the base probability update rate parameter comprises:
determining coding information of a current frame to be coded;
and acquiring the basic probability updating speed parameter based on the coding information of the current frame to be coded.
6. The method of claim 5, wherein the coding information of the current frame to be coded comprises at least one of:
a frame type; quantizing the parameters; image resolution; a temporal layer identifier; picture order count POC; code configuration; group of pictures, GOP, structure.
7. The method according to any one of claims 4-6, further comprising:
and writing the basic probability updating speed parameter into a code stream.
8. The method according to claim 1, wherein the obtaining of the first parameter respectively corresponding to each binary symbol model corresponding to the current frame to be encoded comprises at least one of:
acquiring first parameters of each binary symbol model corresponding to a frame to be coded at present from first parameters respectively corresponding to each binary symbol model predefined by an encoder;
and acquiring respective predefined first parameters from each predefined binary symbol model corresponding to the current frame to be coded.
9. The method according to any one of claims 1-8, further comprising:
any relevant information corresponding to each binary symbolic model respectively comprises at least one of the following relations:
any relevant information corresponding to each binary symbol model is different;
any relevant information corresponding to the at least two binary symbol models is the same;
the basic probability model parameters corresponding to each frame to be coded respectively comprise at least one of the following relations:
the basic probability model parameters respectively corresponding to the frames to be coded are different;
and the basic probability model parameters corresponding to at least two frames to be coded are the same.
10. A model update method, comprising:
acquiring first parameters respectively corresponding to all binary symbol models corresponding to a current frame to be decoded, wherein the first parameters corresponding to the binary symbol models comprise: information relating to a difference between the at least one probability update rate parameter and the base probability update rate parameter;
and updating the corresponding binary symbolic models based on the first parameters respectively corresponding to the binary symbolic models.
11. The method according to claim 10, wherein the obtaining first parameters respectively corresponding to the binary symbol models corresponding to the current frame to be decoded further comprises:
storing the first parameters respectively corresponding to the binary symbolic models;
and if at least one piece of relevant information corresponding to each binary symbol model is the same, storing the same relevant information serving as a frame level parameter to a frame level layer, wherein the relevant information is the relevant information of the difference value between the probability updating speed parameter and the basic probability updating speed parameter.
12. The method according to any one of claims 10-11, wherein updating the corresponding bigram model based on the first parameter corresponding to each of the bigram models comprises:
acquiring the basic probability updating speed parameter;
determining second parameters respectively corresponding to the binary symbolic models based on first parameters respectively corresponding to the binary symbolic models stored in a memory and the acquired basic probability updating speed parameter, wherein the second parameters corresponding to the binary symbolic models comprise: at least one probabilistic update speed parameter;
and updating the corresponding binary symbol models based on the second parameters respectively corresponding to the binary symbol models.
13. The method of claim 12, wherein the obtaining the base probability update rate parameter comprises at least one of:
acquiring the basic probability updating speed parameter from the code stream;
and acquiring the basic probability updating speed parameter based on the coding information of the current frame to be decoded.
14. The method of claim 13, wherein the coding information of the current frame to be decoded comprises at least one of:
a frame type; quantizing the parameters; image resolution; a temporal layer identifier; picture order count POC; code configuration; group of pictures, GOP, structure.
15. The method according to claim 10, wherein the obtaining of the first parameter respectively corresponding to each binary symbol model corresponding to the current frame to be decoded comprises at least one of:
acquiring first parameters of each binary symbol model corresponding to a frame to be decoded at present from first parameters respectively corresponding to each binary symbol model predefined by a decoder;
and respectively obtaining the first parameters which are respectively defined in advance from each predefined binary symbol model corresponding to the current frame to be decoded.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410309590.XA CN118200585A (en) | 2019-06-11 | 2020-03-06 | Model updating method, device, electronic equipment and computer readable storage medium |
CN202410309592.9A CN118200586A (en) | 2019-06-11 | 2020-03-06 | Model updating method, device, electronic equipment and computer readable storage medium |
PCT/KR2020/007534 WO2020251261A1 (en) | 2019-06-11 | 2020-06-10 | Method for updating model, apparatus, electronic device and computer readable storage medium |
BR112021023379A BR112021023379A2 (en) | 2019-06-11 | 2020-06-10 | Method to update a model |
EP20822571.4A EP3984221A4 (en) | 2019-06-11 | 2020-06-10 | Method for updating model, apparatus, electronic device and computer readable storage medium |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910502457 | 2019-06-11 | ||
CN2019105024575 | 2019-06-11 | ||
CN201910730604 | 2019-08-08 | ||
CN2019107306044 | 2019-08-08 | ||
CN2019110773920 | 2019-11-06 | ||
CN201911077392 | 2019-11-06 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410309590.XA Division CN118200585A (en) | 2019-06-11 | 2020-03-06 | Model updating method, device, electronic equipment and computer readable storage medium |
CN202410309592.9A Division CN118200586A (en) | 2019-06-11 | 2020-03-06 | Model updating method, device, electronic equipment and computer readable storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112073729A true CN112073729A (en) | 2020-12-11 |
CN112073729B CN112073729B (en) | 2024-04-05 |
Family
ID=73657960
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010152701.2A Active CN112073729B (en) | 2019-06-11 | 2020-03-06 | Model updating method, device, electronic equipment and computer readable storage medium |
CN202410309590.XA Pending CN118200585A (en) | 2019-06-11 | 2020-03-06 | Model updating method, device, electronic equipment and computer readable storage medium |
CN202410309592.9A Pending CN118200586A (en) | 2019-06-11 | 2020-03-06 | Model updating method, device, electronic equipment and computer readable storage medium |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410309590.XA Pending CN118200585A (en) | 2019-06-11 | 2020-03-06 | Model updating method, device, electronic equipment and computer readable storage medium |
CN202410309592.9A Pending CN118200586A (en) | 2019-06-11 | 2020-03-06 | Model updating method, device, electronic equipment and computer readable storage medium |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3984221A4 (en) |
CN (3) | CN112073729B (en) |
BR (1) | BR112021023379A2 (en) |
WO (1) | WO2020251261A1 (en) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120314760A1 (en) * | 2011-06-10 | 2012-12-13 | Research In Motion Limited | Method and system to reduce modelling overhead for data compression |
US20130230100A1 (en) * | 2012-03-02 | 2013-09-05 | Oki Electric Industry Co., Ltd. | Video encoding device and program, video decoding device and program, and video distribution system |
US20160353108A1 (en) * | 2015-05-29 | 2016-12-01 | Qualcomm Incorporated | Advanced arithmetic coder |
CN107005697A (en) * | 2014-12-26 | 2017-08-01 | 英特尔公司 | Method and system for the entropy coding of probability updating of the use based on look-up table of video coding |
CN107534772A (en) * | 2015-05-19 | 2018-01-02 | 联发科技股份有限公司 | The method and device of context adaptive binary arithmetic coding based on multilist |
CN107787582A (en) * | 2015-06-10 | 2018-03-09 | 三星电子株式会社 | The method and apparatus for being encoded or being decoded to image using the grammer signaling for adaptive weighted prediction |
CN108141594A (en) * | 2015-10-13 | 2018-06-08 | 三星电子株式会社 | For being encoded to image or decoded method and apparatus |
US20180278946A1 (en) * | 2017-03-22 | 2018-09-27 | Qualcomm Incorporated | Binary arithmetic coding with parameterized probability estimation finite state machines |
CN109196869A (en) * | 2016-05-13 | 2019-01-11 | 高通股份有限公司 | Intra prediction mode based on neighbouring signalling |
US20190158837A1 (en) * | 2017-11-20 | 2019-05-23 | Qualcomm Incorporated | Memory reduction for context initialization with temporal prediction |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10560723B2 (en) * | 2017-05-08 | 2020-02-11 | Qualcomm Incorporated | Context modeling for transform coefficient coding |
-
2020
- 2020-03-06 CN CN202010152701.2A patent/CN112073729B/en active Active
- 2020-03-06 CN CN202410309590.XA patent/CN118200585A/en active Pending
- 2020-03-06 CN CN202410309592.9A patent/CN118200586A/en active Pending
- 2020-06-10 BR BR112021023379A patent/BR112021023379A2/en not_active Application Discontinuation
- 2020-06-10 WO PCT/KR2020/007534 patent/WO2020251261A1/en unknown
- 2020-06-10 EP EP20822571.4A patent/EP3984221A4/en active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120314760A1 (en) * | 2011-06-10 | 2012-12-13 | Research In Motion Limited | Method and system to reduce modelling overhead for data compression |
US20130230100A1 (en) * | 2012-03-02 | 2013-09-05 | Oki Electric Industry Co., Ltd. | Video encoding device and program, video decoding device and program, and video distribution system |
CN107005697A (en) * | 2014-12-26 | 2017-08-01 | 英特尔公司 | Method and system for the entropy coding of probability updating of the use based on look-up table of video coding |
CN107534772A (en) * | 2015-05-19 | 2018-01-02 | 联发科技股份有限公司 | The method and device of context adaptive binary arithmetic coding based on multilist |
US20180139445A1 (en) * | 2015-05-19 | 2018-05-17 | Mediatek Inc. | Method and Apparatus for Multi-Table Based Context Adaptive Binary Arithmetic Coding |
US20160353108A1 (en) * | 2015-05-29 | 2016-12-01 | Qualcomm Incorporated | Advanced arithmetic coder |
CN107667533A (en) * | 2015-05-29 | 2018-02-06 | 高通股份有限公司 | Advanced mathematical decoder |
CN107787582A (en) * | 2015-06-10 | 2018-03-09 | 三星电子株式会社 | The method and apparatus for being encoded or being decoded to image using the grammer signaling for adaptive weighted prediction |
CN108141594A (en) * | 2015-10-13 | 2018-06-08 | 三星电子株式会社 | For being encoded to image or decoded method and apparatus |
CN109196869A (en) * | 2016-05-13 | 2019-01-11 | 高通股份有限公司 | Intra prediction mode based on neighbouring signalling |
US20180278946A1 (en) * | 2017-03-22 | 2018-09-27 | Qualcomm Incorporated | Binary arithmetic coding with parameterized probability estimation finite state machines |
US20190158837A1 (en) * | 2017-11-20 | 2019-05-23 | Qualcomm Incorporated | Memory reduction for context initialization with temporal prediction |
Non-Patent Citations (3)
Title |
---|
JIANLE CHEN: "JVET-A1001:Algorithm Description of Joint Exploration Test Model 1", 《JOINT VIDEO EXPLORATION TEAM (JVET)》 * |
WANG Z: "JVET-J0011:Description of SDR video coding technology proposal", 《THE JOINT VIDEO EXPLORATION TEAM(JVET)》 * |
王建鹏: "高效视频编码理论与算法研究", 《中国博士学位论文全文数据库》 * |
Also Published As
Publication number | Publication date |
---|---|
CN118200586A (en) | 2024-06-14 |
CN118200585A (en) | 2024-06-14 |
WO2020251261A1 (en) | 2020-12-17 |
EP3984221A4 (en) | 2023-05-03 |
EP3984221A1 (en) | 2022-04-20 |
BR112021023379A2 (en) | 2022-04-26 |
CN112073729B (en) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109997361B (en) | Low complexity symbol prediction for video coding | |
US8265162B2 (en) | Context adaptive position and amplitude coding of coefficients for video compression | |
US10791341B2 (en) | Binary arithmetic coding with progressive modification of adaptation parameters | |
KR20200064171A (en) | Entropy coding of motion vector differences | |
US10554988B2 (en) | Binary arithmetic coding with parameterized probability estimation finite state machines | |
KR20130140190A (en) | Methods and devices for coding and decoding the position of the last significant coefficient | |
CN111316642B (en) | Method and apparatus for signaling image coding and decoding partition information | |
US10652541B2 (en) | Method and device for encoding video data | |
JP2009021775A (en) | Coder and coding method | |
TW201724852A (en) | Parallel arithmetic coding techniques | |
KR20110047700A (en) | Method and apparatus for entropy encoding and entropy decoding for accelarting video decoding | |
US10735733B2 (en) | Method and device for encoding video data | |
CN112073729B (en) | Model updating method, device, electronic equipment and computer readable storage medium | |
KR101151352B1 (en) | Context-based adaptive variable length coding decoder for h.264/avc | |
CN106063269B (en) | Moving picture encoding device, dynamic image decoding device and moving picture encoding/coding/decoding method | |
WO2020263438A1 (en) | Features of range asymmetric number system encoding and decoding | |
US20110007082A1 (en) | Macroblock grouping in a destination video frame to improve video reconstruction performance | |
He et al. | Video coding technology proposal by RIM | |
CN117119189A (en) | Quantization and inverse quantization methods, devices and equipment applied to video coding and decoding | |
WO2022191947A1 (en) | State based dependent quantization and residual coding in video coding | |
CN113852811A (en) | Inter-frame prediction rapid method and system based on CU correlation and storage medium | |
CN114079774A (en) | Method and device for encoding and decoding inter-frame prediction information | |
JP2007295156A (en) | Coding unit, coding method, coding program, and recording medium having recorded coding program | |
JP2018170673A (en) | Image coding apparatus, image coding method, and program | |
JP2013197628A (en) | Moving picture encoding apparatus, moving picture encoding method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |