WO2021083286A1 - 码率控制的方法与装置及计算机存储介质 - Google Patents

码率控制的方法与装置及计算机存储介质 Download PDF

Info

Publication number
WO2021083286A1
WO2021083286A1 PCT/CN2020/124895 CN2020124895W WO2021083286A1 WO 2021083286 A1 WO2021083286 A1 WO 2021083286A1 CN 2020124895 W CN2020124895 W CN 2020124895W WO 2021083286 A1 WO2021083286 A1 WO 2021083286A1
Authority
WO
WIPO (PCT)
Prior art keywords
current
frame
code rate
coding layer
layer
Prior art date
Application number
PCT/CN2020/124895
Other languages
English (en)
French (fr)
Inventor
周益民
程学理
Original Assignee
Oppo广东移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Publication of WO2021083286A1 publication Critical patent/WO2021083286A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability

Definitions

  • This application relates to the field of video coding technology, and in particular to a method and device for code rate control, and a computer storage medium.
  • bit rate control plays an important role. It is used to control the size of the bit stream so that the output bit rate meets expectations, which can ensure the stable transmission of the bit stream and reduce the video freeze caused by the fluctuation of the bit rate. And other phenomena.
  • the code rate control is roughly divided into two steps. The first step is to allocate the target bit rate; the second step is to encode based on the target bit rate, for example, by adjusting the coding parameters to make the actual coded bits match the allocated target bit rate.
  • the present application provides a method and device for rate control and a computer storage medium, which can improve the versatility of the rate control algorithm for encoders.
  • a method for rate control comprising: obtaining the actual rate of the current frame on the current encoding layer; and determining the current weight of the current encoding layer according to the actual rate of the current frame ; Determine the current target bit rate of the current coding layer based on the remaining bit rate and the current weight of the current coding layer.
  • a device for rate control includes: an obtaining unit configured to obtain the actual bit rate of the current frame on the current coding layer; and the determining unit is configured to: according to the actual bit rate of the current frame , Determine the current weight of the current coding layer; determine the current target bit rate of the current coding layer based on the remaining bit rate and the current weight of the current coding layer.
  • an encoding device in a third aspect, includes a memory and a processor, the memory is configured to store instructions, the processor is configured to execute instructions stored in the memory, and The execution of the instruction causes the method provided in the first aspect to be executed.
  • a computer-readable storage medium is provided, and a computer program is stored thereon.
  • the computer program is executed by a computer, the method provided in the first aspect is executed.
  • the computer may be an encoder.
  • the current weight of the current coding layer is determined by the actual bit rate of the current frame on the current coding layer, and the current target bit rate of the current coding layer is determined based on the actual bit rate of the current frame on the current coding layer.
  • the characteristics of the encoder are considered in the process of assigning the target code rate to the layer, so that compared with the existing code rate control scheme, the versatility of the code rate control algorithm can be improved.
  • Figure 1 is a schematic diagram of the video encoding architecture.
  • Fig. 2 is a schematic diagram of hierarchical coding at the group of pictures (GOP) level.
  • FIG. 3 is a schematic flowchart of a method for rate control provided by an embodiment of the present application.
  • FIG. 4 is another schematic flowchart of a method for rate control provided by an embodiment of the present application.
  • Fig. 5 is a schematic block diagram of an encoding device provided by an embodiment of the present application.
  • Fig. 6 is another schematic block diagram of an encoding device provided by an embodiment of the present application.
  • Figure 1 is a schematic diagram of the video encoding architecture. As shown in Figure 1, the video coding process includes steps such as prediction, transformation, rate control, quantization, and entropy coding.
  • Prediction includes two types: intra prediction and inter prediction.
  • Intra-frame prediction uses the information of the current frame to obtain prediction block data.
  • Inter-frame prediction uses the information of the reference frame to obtain prediction block data.
  • Frames that only use intra prediction mode are called I frames; frames that can use forward reference frames for inter prediction are called P frames; frames that can have bidirectional reference frames are called B frames.
  • transformation is to remove redundant information of image blocks.
  • rate control is to dynamically adjust the encoding parameters to make the actual encoded bits match the target rate.
  • the rate control algorithm can be roughly divided into the following two steps.
  • the first step is to assign a target code rate to the coding unit.
  • the encoding parameters are dynamically adjusted so that the actual encoded bits are consistent with the target encoded bits (that is, the target code rate).
  • the dynamically adjusted coding parameters include coding parameters such as quantization parameters.
  • quantization is to obtain quantization coefficients according to quantization parameters obtained by rate control.
  • the purpose of entropy coding is to perform entropy coding on the quantized coefficients to obtain a coded bit stream.
  • the encoding end can send the encoded bit stream obtained by entropy encoding and encoding mode information (such as intra-frame prediction mode, motion vector information, etc.) to the decoding end.
  • entropy encoding and encoding mode information such as intra-frame prediction mode, motion vector information, etc.
  • the video is decoded through the reverse process of video encoding.
  • FIG. 1 is only an example and not a limitation.
  • the video encoding process may also include operations such as inverse transformation and inverse quantization, which are not limited in this application.
  • This application proposes a rate control scheme, which can improve the versatility of the rate control algorithm by comprehensively considering the characteristics of the encoder and the characteristics of the layers in the rate control process.
  • the layers mentioned in the embodiments of this application represent the concept of layers in hierarchical coding.
  • Figure 2 shows a schematic diagram of layered coding.
  • the description is made by taking hierarchical coding at the group of pictures (GOP) level as an example.
  • the number of frames included in the group of pictures is 8, that is, the size of the group of pictures (GOP size) is equal to 8.
  • Record the first frame of image in the image group as frame 1 (the frame marked as 1 in Figure 2), the second frame of image as frame 2 (the frame marked as 2 in Figure 2),..., the eighth frame of image This is frame 8 (the frame marked as 8 in Figure 2).
  • the playback sequence of the 8 frames of images in the image group is: frame 1-frame 2-frame 3-frame 4-frame 5-frame 6-frame 7-frame 8.
  • Figure 2 also shows a frame marked as 0 (denoted as frame 0), and frame 0 does not belong to the image group.
  • Frame 0 represents the frame referred to when encoding the image group.
  • frame 0 can be an I frame.
  • the playback order of frame 0 is before frame 1.
  • FIG. 2 The hierarchical situation of the image group is shown in Figure 2, which is divided into 4 layers. Among them, frame 8 is located in the first layer, frame 4 is located in the second layer, frames 2 and 6 are located in the third layer, and frames 1, 3, Frames 5 and 7 are on the 4th layer.
  • the layer where frame 0 is located can be called the 0th layer.
  • the coding sequence of these frames is: frame 0-frame 8-frame 4-frame 2-frame 1-frame 3-frame 6-frame 5-frame 7.
  • the arrows between the frames shown in FIG. 2 indicate that the frame starting from the arrow can be coded with reference to the frame reached by the arrow. Taking the arrow between frame 4 and frame 8 as an example, it indicates that frame 4 can be coded with reference to frame 8. For another example, for frame 4, frame 8 and/or frame 0 can be referenced for encoding.
  • the layers mentioned herein can also be referred to as time domain layers.
  • the coding layers mentioned in the embodiments of this application represent all the layers included in the layer structure of layered coding.
  • the coding layer represents 4 layers.
  • FIG. 3 is a schematic flowchart of a method for rate control provided by an embodiment of the application.
  • the method can be executed by the encoder or by a chip or circuit configured in the encoder.
  • the method includes the following steps.
  • the current frame referred to in this article refers to the image frame currently being encoded.
  • the current frame of the current coding layer is coded to obtain the actual coded bits of the current frame; the actual code rate of the current frame is obtained based on the actual coded bits of the current frame.
  • the current coding layer indicates the layer where the image frame currently being coded is located in the layer structure of the layered coding. It should be understood that the current coding layer in this application may refer to any layer in the layer structure of layered coding.
  • All layers included in the layer structure of layered coding may be referred to as coding layers.
  • the current coding layer indicates the layer where the image frame currently being coded is located in the coding layer.
  • S320 Determine the current weight of the current coding layer according to the actual bit rate of the current frame.
  • the current weight of the current coding layer is determined by considering the actual code rate of the current frame on the current coding layer.
  • step S320 will be further described below.
  • S330 Determine the current target bit rate of the current coding layer based on the remaining bit rate and the current weight of the current coding layer.
  • the current target bit rate of the current coding layer is obtained.
  • the remaining code rate represents the difference between the code rate budget corresponding to the total target code rate and the code rate that has been consumed in the encoding process.
  • the remaining code rate represents the difference between the code rate budget corresponding to the total target code rate and the code rate of the encoded frame.
  • the remaining code rate may be determined at least according to one or more of the coding control period, the total target code rate, and the code rate of the encoded frame on the coding layer.
  • the product of the coding control period and the total target code rate can be called the code rate budget corresponding to the total target code rate.
  • the coding control period represents the total number of frames on the coding layer.
  • the encoding control period is 1.
  • the coding control period is the number of frames (GOP size) contained in the group of pictures.
  • the encoding control period is an I frame period (Intra Period).
  • the coding control period is the total number of coded frames.
  • the total target bit rate represents the target bit rate determined according to the bandwidth of the video transmission. It should be understood that the actual transmission bit rate of the video should not exceed the total target bit rate.
  • step S330 the remaining code rate is obtained according to the difference between the product of the coding control period and the total target code rate and the sum of the actual code rates of the frames that have been coded on the coding layer.
  • the current weight of the current coding layer is determined by the actual bit rate of the current frame of the current coding layer, because the current target bit rate of the current coding layer is determined based on the current weight of the current coding layer, so the current coding layer is currently
  • the target code rate is determined based on the actual code rate of the current frame of the current coding layer. Therefore, the present application considers the characteristics of the encoder in the process of allocating the target code rate to the layer, so that compared with the existing code rate control scheme, the versatility of the code rate control algorithm can be improved.
  • the rate control method provided in this application may be applicable to all intra (AI) coding frameworks, low delay (LD) coding frameworks, random access (RA) coding frameworks, or Encoder based on a hybrid coding framework.
  • AI intra
  • LD low delay
  • RA random access
  • Encoder based on a hybrid coding framework.
  • the LD mode if the frame type includes I frame and B frame, LD mode can also be called LDB mode; if the frame type includes I frame and P frame, LD mode can also be called LDP mode.
  • the current coding layer mentioned in this article refers to the layer where the image frame currently being coded is located in the coding layer. It should be understood that the code rate control method provided in the embodiment of the present application can be applied to each of the coding layers.
  • the target bit rate of the first layer is based on the actual bit rate of the current frame on the first layer To be sure.
  • the target bit rate of the second layer is based on the actual code of the current frame on the second layer Rate to determine.
  • the present application comprehensively considers the characteristics of the encoder and the characteristics of the layer.
  • step S320 The implementation of step S320 will be described below.
  • step S320 includes step S321 and step S322.
  • S321 Determine the current preset code rate of the current coding layer based on the actual code rate of the current frame.
  • step S321 in a case where the current frame is the first frame of the current coding layer, the actual bit rate of the current frame is taken as the current preset bit rate of the current coding layer.
  • step S321 in the case that the current frame is not the first frame of the current coding layer, the current frame is obtained based on the actual bit rate of the current frame and the previous preset bit rate of the current coding layer.
  • the current preset bit rate of the coding layer is obtained based on the actual bit rate of the current frame and the previous preset bit rate of the current coding layer.
  • the current preset bit rate of the coding layer represents the preset code rate of the current coding layer obtained according to the actual code rate of the previous frame of the current frame on the current coding layer.
  • the current preset bit rate of the current coding layer can be obtained by averaging the actual bit rate of the current frame and the previous preset bit rate of the current coding layer.
  • the averaging process mentioned here can be direct averaging or weighted averaging.
  • the algorithm for averaging can be a geometric average algorithm, or it can be an algorithm for numerical average.
  • step S321 in the case that the current frame is not the first frame of the current coding layer, based on at least one of the actual bit rate of the current frame and the coded on the current coding layer.
  • the actual code rate of the frame is used to obtain the current preset code rate of the current coding layer.
  • the current preset code rate of the current coding layer can be obtained by averaging the actual code rate of the previous frame and the actual code rate of at least one frame that has been coded on the current coding layer.
  • averaging processing please refer to the above, and will not be repeated here.
  • At least one frame that has been coded on the current coding layer may be any frame or multiple frames that have been coded on the current coding layer.
  • at least one frame that has been coded on the current coding layer is the previous frame of the current frame on the current coding layer.
  • step S321 regardless of whether the current frame on the current coding layer is the first frame on the current coding layer, the actual bit rate of the current frame is taken as the current preset bit rate of the current coding layer.
  • the preset code rate of the uncoded frame on the coding layer is the current preset code rate of the layer where the uncoded frame is located.
  • the x-th frame is a frame that has not been encoded on the coding layer
  • the preset code rate of the x-th frame is the current preset code rate of the layer where the x-th frame is located.
  • the preset bit rate of the uncoded frame on the coding layer can be estimated based on the image complexity of the frame and other information.
  • the x-th frame is a frame that has not been encoded on the coding layer
  • the preset bit rate of the x-th frame is determined according to the image complexity of the x-th frame and other characteristics, or the preset code rate of the x-th frame is determined according to The experience value is determined.
  • the current weight of the current coding layer is obtained based on the product of the current preset bit rate of the current coding layer and the sum of the preset bit rate of the uncoded frames on the coding layer.
  • the preset bit rate of the current coding layer is dynamically changing, and the weight of the current coding layer is also dynamically changing.
  • the dynamic change of the preset bit rate of the current coding layer is similar to that of the current coding layer.
  • the actual bit rate of the current frame is related, and the dynamic change of the weight of the current coding layer is also related to the actual bit rate of the current frame on the current coding layer. Therefore, in this application, the target code rate allocated to the layer is updated along with the encoding process. Therefore, the code rate control based on the characteristics of the encoder can be realized, so that the versatility of the code rate control algorithm for the encoder can be further realized.
  • step S320 includes: obtaining the current code rate of the current coding layer based on the actual bit rate of the current frame on the current coding layer and the preset bit rate of the uncoded frame on the coding layer. Weights.
  • the current weight of the current coding layer is obtained based on the product of the sum of the current actual bit rate of the current coding layer and the preset bit rate of uncoded frames on the coding layer.
  • the preset code rate of the uncoded frame on the coding layer is the actual code rate of the latest coded frame on the layer where the uncoded frame is located; alternatively, it can be estimated based on information such as the image complexity of the frame.
  • the method may further include: encoding the next frame on the current encoding layer by using the current target bit rate of the current encoding layer (assuming that the current frame is not the last frame on the current encoding layer) .
  • the weight of the current encoding layer determined based on the actual bit rate of the current frame can be called the initial weight of the current encoding layer, and the current encoding layer is determined based on the initial weight of the current encoding layer.
  • the target code rate of the coding layer may be referred to as the initial target code rate of the current coding layer.
  • the first frame of each layer in the coding layer may be coded separately to obtain the first frame of each layer in the coding layer.
  • the actual code rate of the first frame of the i-th layer in the coding layer can be used to determine the initial weight of the i-th layer, and then the initial target code rate of the i-th layer, i is 1, 2, ..., M, M Indicates the number of coding layers.
  • the initial weight of the i-th layer can be determined by the actual code rate of the first frame of the i-th layer through the operation modes of step S321 and step S322 described above. That is, the initial preset code rate of the i-th layer is determined based on the actual code rate of the first frame of the i-th layer, and the initial weight of the i-th layer is determined based on the initial preset code rate of the i-th layer.
  • step S310 includes: encoding the current frame by using the previous target code rate of the current coding layer.
  • the previous target bit rate of the current coding layer represents the target bit rate of the current coding layer obtained based on the actual bit rate of the previous frame of the current frame on the current coding layer.
  • the unit of the code rate involved in this document is bit/pixel.
  • the units of the actual code rate of the current frame of the current coding layer, the current preset code rate of the current coding layer, the preset code rate of uncoded frames in the coding layer, and the total target code rate involved in the embodiments of the present application are all Is bits per pixel.
  • the unit of the code rate involved in this article is bits per second (bit/s).
  • the units of the actual code rate of the current frame of the current coding layer, the current preset code rate of the current coding layer, the preset code rate of uncoded frames in the coding layer, and the total target code rate involved in the embodiments of the present application are all Is bits per second.
  • TBR to indicate the total target bit rate in bits per second (bit/s)
  • T bpp to indicate the total target bit rate in bits per pixel (bit/pixel)
  • T bpp The conversion relationship with TBR is as follows:
  • FPS represents the frame rate of the video
  • W and H represent the width and height of the image frame of the video, respectively.
  • the current weight of the current coding layer is determined by the actual bit rate of the current frame on the current coding layer, because the current target bit rate of the current coding layer is determined based on the current weight of the current coding layer. Therefore, the current target bit rate of the current coding layer is determined based on the actual bit rate of the current frame on the current coding layer. Therefore, the characteristics of the encoder are considered in the process of assigning the target bit rate to the layer, which is relative to the existing bit rate.
  • the control scheme can improve the versatility of the rate control algorithm.
  • the present application also considers the characteristics of the layers in the process of allocating the target code rate to the layer, so that a more reasonable target code rate can be allocated to different layers. Therefore, in the process of rate control in this application, the characteristics of the encoder and the characteristics of the layers are comprehensively considered.
  • the unit of bit rate is bit/pixel as an example.
  • the total number of frames included in the sequence of images to be encoded is Fs.
  • the total number of frames Fs may also be referred to as an encoding control period.
  • the process of performing rate control on the image sequence to be encoded includes the following steps.
  • Step 1 Encode the first M frames in the image sequence to be coded to obtain the actual bit rate of the first M frames.
  • the value of M is the total number of coding layers.
  • the value of M is the number of frame types. For example, in all intra (AI) mode, only I frames exist, so the value of M is 1. For another example, in the low delay (LD) mode, there are only I frames and B (or P) frames. At this time, the value of M is 2.
  • M is regarded as the number of coding layers.
  • L F the number of frames L-th layer
  • L F 'L The number of frames not encoded on a second layer referred to as L F 'L, wherein L is a 1, .., M.
  • step one the actual bit rate of the first frame on each of the M layers can be obtained.
  • Bits L,0 represents the actual coded bits of the first frame on the Lth layer
  • W and H represent the width and height of the image frame respectively.
  • the actual code rate R L,0 of the first frame of the L-th layer is taken as the current preset code rate P L of the L- th layer.
  • Step two according to a preset rate of layer L P L, and the predetermined rate ratio of the frame is not encoded on a layer M, obtain the current weight of the L-th weights W L.
  • the preset code rate of the uncoded frame on the M layer is taken as an example of the preset code rate of the layer where the frame is located.
  • F i ′ represents the number of uncoded frames on the i-th layer
  • P i represents the current preset bit rate of the i-th layer.
  • Step 3 Obtain the current target code rate T L of the L- th layer according to the current weight W L and the code rate budget of the L-th layer.
  • BR represents the current bit rate budget.
  • T bpp represents the total target code rate in bits per pixel (bit/pixel), and the conversion between T bpp and the total target code rate in bits per second (bit/pixel) (such as the TBR described above) See the previous description for the relationship.
  • the initial target code rate of the Lth layer is obtained based on the actual code rate of the first frame on the Lth layer.
  • Step 4 The t-th frame on the first layer L L R & lt actual bitrate, t, to obtain the L-th current preset rate P 'L, wherein the non-represented on the t-th frame of the first frame layer L .
  • the t-th frame is the second frame on the L-th layer.
  • the actual bit rate R L,t of the t-th frame on the L-th layer is obtained.
  • the actual bit rate R L,t of the t-th frame of the L-th layer is obtained by the following formula:
  • Bits L,t represents the actual coding bits of the t-th frame on the L-th layer
  • W and H represent the width and height of the image frame respectively.
  • the last preset code rate PL of the Lth layer is the preset code rate of the Lth layer obtained based on the actual code rate of the (t-1)th frame on the Lth layer.
  • Step 5 L-th level according to the current preset rate P 'L acquired right of the L-th current weight W' L.
  • F i ′ represents the number of uncoded frames on the i-th layer
  • P i represents the current preset bit rate of the i-th layer.
  • Step six according to the current weight of the L-th weights W 'L budget for the current code rate, the L-th layer acquires the current target bit rate T' L.
  • the L-th layer is calculated current target bit rate T 'L according to the formula:
  • BR' represents the current bit rate budget.
  • BR consumed indicates the bit rate consumed in the encoding process.
  • F i represents the number of frames on the i-th layer
  • T i represents the latest target bit rate of the i-th layer
  • CBF i represents the fullness of the buffer of the i-th layer .
  • the initial value of the fullness of the buffer zone of each layer is set to 0.
  • the actual bit rate of the frames on the same layer is dynamically changing during the encoding process. Therefore, the actual bit rate of the first frame of the Lth layer should not always be used as the first frame.
  • the preset bit rate of the L layer In this application, the preset code rate of the L-th layer dynamically changes with the actual code rate of the current frame on the L-th layer, so that the determined weight of the L-th layer is more reasonable, and thus the determined L-th layer is more reasonable.
  • the target code rate of the layer is also more reasonable.
  • the actual bit rate R L,0 of the first frame of the Lth layer can be replaced with Replace the actual bit rate R L,t of the t-th frame of the L-th layer with
  • the buffer filling level CBF L of the L- th layer will also be updated with the encoding, as shown in the following formula.
  • the control target is that the CBF L of the Lth layer tends to 0 during the entire coding process. Therefore, the control variable of the PID controller is the CBF L of the Lth layer. Then, the value PID L output by the PID controller is the control quantity at the next moment (which is ), so that the target bit rate at the next moment can be obtained As shown in the formula below.
  • the error between it and the actual bit rate R L,t of the same-layer image encoded in the preamble can be used as the adjustment increment ⁇ R of the code rate allocation. As shown in the formula below.
  • the quantization parameter is obtained through rate control, and the quantization coefficient is obtained according to the quantization parameter through the quantization process.
  • R represents the bit rate
  • Q represents the quantization parameter (QP) value
  • ⁇ and ⁇ are model parameters.
  • bit rate R value is represented by the actual bit rate of the previous coded image frame of the current layer.
  • the value of ⁇ is usually different.
  • the value of ⁇ is 0.12, 0.15, and 0.18, respectively.
  • the weight of each layer is determined according to the characteristics of the encoder and the sequence characteristics of each layer, and then the target code rate of each layer is determined. Therefore, the code rate control method provided in this application can support AI,
  • the three typical coding structures of LD and RA can also be applied to encoders based on a hybrid coding framework, and have higher versatility compared to the prior art.
  • the rate control method provided in this application can be applied to the reference software platform HM of the high efficiency video coding standard (HEVC), the reference software platform HPM of AVS3, and various open source encoder platforms x264, x265, etc. .
  • HEVC high efficiency video coding standard
  • HPM high efficiency video coding standard
  • various open source encoder platforms x264, x265, etc. can be applied to the reference software platform HM of the high efficiency video coding standard (HEVC), the reference software platform HPM of AVS3, and various open source encoder platforms x264, x265, etc.
  • the code rate control error under the three coding structures of AI, LD, and RA can reach 0.01%, 0.1%, and 1%, without substantially increasing the coding and decoding complexity. Magnitude.
  • the technical solution provided by the present application can realize different levels of average bitrate control (ABR).
  • ABR average bitrate control
  • ABR frame-level average bitrate control
  • CBR Constant Bit Rate Control
  • the technical solution provided in this application can implement ABR at the group of pictures (GOP) level.
  • the number of frames included in a group of pictures (GOP) may also be referred to as GOP size.
  • the technical solution provided in this application can implement an ABR at the I-frame period (Intra period) level.
  • the technical solution provided in the present application can implement sequence-level ABR.
  • the characteristics of the encoder and the characteristics of the layers are comprehensively considered. Therefore, compared with the prior art, it has better versatility of the encoder. In addition, due to the consideration of different The characteristics of the layers can allocate a more reasonable target bit rate for different layers.
  • FIG. 5 is a schematic block diagram of an encoding device 500 provided by an embodiment of the application.
  • the encoding device 500 includes the following units.
  • the obtaining unit 510 is configured to obtain the actual bit rate of the current frame on the current coding layer.
  • the determining unit 520 is configured to determine the current weight of the current coding layer according to the actual bit rate of the current frame; and obtain the current target bit rate of the current coding layer based on the remaining bit rate and the current weight of the current coding layer.
  • the determining unit 520 is configured to: determine the current preset bit rate of the current coding layer based on the actual bit rate of the current frame; The preset bit rate of the coded frame obtains the current weight of the current coding layer.
  • the determining unit 520 is configured to obtain the current weight of the current coding layer based on the actual bit rate of the current frame and the preset bit rate of the uncoded frame on the coding layer.
  • the current frame is not the first frame of the current coding layer; wherein, the determining unit 520 is configured to obtain the current frame based on the actual bit rate of the current frame and the preset bit rate on the current coding layer.
  • the current preset bit rate of the coding layer is not the first frame of the current coding layer;
  • the determining unit 520 is configured to obtain the current preset code rate of the current coding layer by averaging the actual code rate of the current frame and the preset code rate of the previous coding layer.
  • the current frame is the first frame of the current coding layer; wherein the determining unit 520 is configured to use the actual bit rate of the current frame as the current preset bit rate of the current coding layer.
  • the preset code rate of the uncoded frame on the coding layer is the current preset code rate of the layer where the uncoded frame is located.
  • the unit of the code rate is bit per pixel.
  • the unit of the code rate is bits per second.
  • the remaining code rate is determined at least according to one or more of the coding control period, the total target code rate, and the code rate of the frames that have been coded on the coding layer.
  • the current frame is not the first frame of the current encoding layer
  • the acquiring unit 510 is configured to encode the current frame on the current encoding layer by using the previous target bit rate of the current encoding layer, Get the actual bit rate of the current frame.
  • the apparatus 500 may further include: an encoding unit 530 configured to use the current target code rate of the current encoding layer to encode the next frame on the current encoding layer.
  • an encoding unit 530 configured to use the current target code rate of the current encoding layer to encode the next frame on the current encoding layer.
  • an embodiment of the present application further provides an encoding device 600.
  • the encoding device 600 includes a processor 610 and a memory 620.
  • the memory 620 is configured to store instructions
  • the processor 610 is configured to execute the memory 620 to store instructions. And the execution of the instructions stored in the memory 620 enables the processor 610 to be configured to execute the method of the above method embodiment.
  • the encoding device 600 may further include a transceiver 630 configured to receive signals from the outside.
  • An embodiment of the present application also provides a chip, which includes a processing module and a communication interface, the processing module is configured to control the communication interface to communicate with the outside, and the processing module is configured to execute the method of the above method embodiment.
  • the embodiment of the present application also provides a computer storage medium on which a computer program is stored.
  • the computer program When the computer program is executed by a computer, the computer executes the method in the above method embodiment.
  • the embodiment of the present application also provides a computer program product containing instructions, which is characterized in that, when the instructions are executed by a computer, the computer executes the method of the above method embodiment.
  • the disclosed system, device, and method may be implemented in other ways.
  • the device embodiments described above are merely illustrative, for example, the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or It can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of the present application essentially or the part that contributes to the existing technology or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disks or optical disks and other media that can store program codes. .
  • the current weight of the current coding layer is determined by the actual bit rate of the current frame on the current coding layer, and the current target bit rate of the current coding layer is determined based on the actual bit rate of the current frame on the current coding layer. Therefore, the present application considers the characteristics of the encoder in the process of assigning the target code rate to the layer, so that compared with the existing code rate control scheme, the versatility of the code rate control algorithm can be improved. In addition, the present application also considers the characteristics of the layers in the process of allocating the target code rate to the layer, so that a more reasonable target code rate can be allocated to different layers. Therefore, in the process of rate control in this application, the characteristics of the encoder and the characteristics of the layers are comprehensively considered.

Landscapes

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

Abstract

本申请提供一种码率控制的方法与装置及计算机存储介质,该方法包括:获取当前编码层上的当前帧的实际码率;根据当前帧的实际码率,确定当前编码层当前的权重;基于剩余码率与当前编码层当前的权重,确定当前编码层当前的目标码率。通过当前编码层上当前帧的实际码率来确定当前编码层当前的权重,进而是基于当前编码层上当前帧的实际码率来确定当前编码层当前的目标码率,因此,本申请在为层分配目标码率的过程中考虑了编码器的特性,从而,相对于现有的码率控制方案,可以提高码率控制算法的通用性。

Description

码率控制的方法与装置及计算机存储介质
相关申请的交叉引用
本申请基于申请号为201911063042.9、申请日为2019年10月31日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此以引入方式并入本申请。
技术领域
本申请涉及视频编码技术领域,具体涉及一种码率控制的方法与装置及计算机存储介质。
背景技术
在视频编码中,码率控制具有重要作用,它用于实现对码流大小的控制,以使输出码率符合预期,从而可以保证码流的稳定传输,减少由于码率波动引起的视频卡顿等现象。码率控制大致分为两步,第一步分配目标码率;第二步基于目标码率进行编码,例如通过调整编码参数以使实际编码比特与所分配的目标码率吻合。
当前技术中,通常一个码率控制算法只适用于特定的编码器,导致码率控制方案的通用性较低。
发明内容
本申请提供一种码率控制的方法与装置及计算机存储介质,可以提高码率控制算法对于编码器的通用性。
第一方面,提供一种码率控制的方法,所述方法包括:获取当前编码层上的当前帧的实际码率;根据所述当前帧的实际码率,确定所述当前编 码层当前的权重;基于剩余码率与所述当前编码层当前的权重,确定所述当前编码层当前的目标码率。
第二方面,提供一种码率控制的装置,所述装置包括:获取单元,配置为获取当前编码层上的当前帧的实际码率;确定单元配置为:根据所述当前帧的实际码率,确定所述当前编码层当前的权重;基于剩余码率与所述当前编码层当前的权重,确定所述当前编码层当前的目标码率。
第三方面,提供一种编码装置,所述编码装置包括存储器和处理器,所述存储器配置为存储指令,所述处理器配置为执行所述存储器存储的指令,并且对所述存储器中存储的指令的执行使得,第一方面提供的方法被执行。
第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被计算机执行时使得,第一方面提供的方法被执行。
例如,所述计算机可以为编码器。
在本申请中,通过当前编码层上当前帧的实际码率来确定当前编码层当前的权重,进而是基于当前编码层上当前帧的实际码率来确定当前编码层当前的目标码率,因此,本申请在为层分配目标码率的过程中考虑了编码器的特性,从而,相对于现有的码率控制方案,可以提高码率控制算法的通用性。
附图说明
图1是视频编码的架构示意图。
图2是图像组(GOP)级的分层编码的示意图。
图3是本申请实施例提供的码率控制的方法的示意性流程图。
图4是本申请实施例提供的码率控制的方法的另一示意性流程图。
图5是本申请实施例提供的编码装置的示意性框图。
图6是本申请实施例提供的编码装置的另一示意性框图。
具体实施方式
为了便于理解本申请的方案,下面首先介绍视频编码架构。
图1是视频编码的架构示意图。如图1所示,视频编码过程包括预测、变换、码率控制、量化和熵编码等步骤。
预测的目的在于,利用预测块信息去除当前待编码图像块的冗余信息。预测包括帧内预测和帧间预测两种类型。帧内预测是利用本帧图像的信息获得预测块数据。帧间预测利用参考帧的信息获得预测块数据。仅使用帧内预测模式的帧被称为I帧;可以使用前向参考帧进行帧间预测的帧称为P帧;可以拥有双向参考帧的帧称为B帧。
变换的目的在于去除图像块的冗余信息。
码率控制的目的在于,通过动态地调整编码参数,使得实际编码比特与目标码率相吻合。
作为示例而非限定,码率控制算法可大致分为以下两步。
第一步,为编码单元分配目标码率。
第二步,在编码单元的编码过程中,通过动态调整编码参数,以使得实际编码比特与目标编码比特(即目标码率)相吻合。
其中,动态调整的编码参数包括量化参数等编码参数。
量化的目的在于,根据码率控制得到的量化参数获得量化系数。
熵编码的目的在于,对量化系数进行熵编码,得到编码比特流。
编码端在完成图像编码后,可以将熵编码得到的编码比特流以及编码模式信息(如帧内预测模式、运动矢量信息等信息)发送到解码端。
在解码端,接收编码端发送的编码比特流之后,通过与视频编码相反的过程进行视频解码。
应理解,图1仅为示例而非限定,在实际应用中,根据应用需求,视频编码过程还可以包括反变换、反量化等操作,本申请对此不作限定。
当前技术中,通常一个码率控制算法只适用于特定的编码器,导致码率控制方案的通用性较低。
本申请提出一种码率控制的方案,通过在码率控制过程中综合考虑编码器的特性以及层的特性,从而可以提高码率控制算法的通用性。
本申请实施例中提及的层(例如,图3所示实施例中的第一层)表示,分层编码中层的概念。
图2示出了分层编码的示意图。在图2中,以分层图像组(group of pictures,GOP)级的分层编码为例进行描述。假设图像组中包含的帧数为8,即图像组的大小(GOP size)等于8。记该图像组中的第一帧图像为帧1(如图2中标记为1的帧),第二帧图像为帧2(如图2中标记为2的帧),…,第8帧图像为帧8(如图2中标记为8的帧)。可以理解到,该图像组中的8帧图像的播放顺序为:帧1—帧2—帧3—帧4—帧5—帧6—帧7—帧8。图2中还示出标记为0的帧(记为帧0),帧0不属于该图像组。帧0表示该图像组进行编码时参考的帧。例如,帧0可以为I帧。帧0的播放顺序在帧1之前。
该图像组的分层情况如图2所示,分为4层,其中,帧8位于第1层,帧4位于第2层,帧2与帧6位于第3层,帧1、帧3、帧5与帧7位于第4层。帧0所在层可以称为第0层。其中,这些帧的编码顺序为:帧0—帧8—帧4—帧2—帧1—帧3—帧6—帧5—帧7。
图2中所示的帧之间的箭头表示,箭头出发的帧可以参考该箭头到达的帧进行编码。以帧4与帧8之间的箭头为例,表示,帧4可以参考帧8进行编码。再例如,对于帧4来说,可以参考帧8,和/或帧0进行编码。
本文中提及的层也可以称为时域层。
本申请实施例中提及的编码层表示,分层编码的层结构包括的所有层。例如,在图2所示的示例中,编码层表示4个层。
图3为本申请实施例提供的码率控制的方法的示意性流程图。该方法可以由编码器或由配置于编码器中的芯片或电路执行。该方法包括如下步骤。
S310,编码当前编码层上的当前帧的实际码率。
本文中涉及的当前帧表示当前进行编码的图像帧。
例如,对当前编码层的当前帧进行编码,获得当前帧的实际编码比特;基于当前帧的实际编码比特获得当前帧的实际码率。
当前编码层表示分层编码的层结构中当前进行编码的图像帧所在的层。应理解,本申请中的当前编码层可以表示分层编码的层结构中的任一层。
分层编码的层结构包括的所有层可以称为编码层。当前编码层表示该编码层中当前进行编码的图像帧所在的层。
S320,根据当前帧的实际码率,确定当前编码层当前的权重。
换言之,通过考虑编码当前编码层上当前帧的实际码率来确定当前编码层当前的权重。
下文将进一步描述步骤S320的实现方式。
S330,基于剩余码率与当前编码层当前的权重,确定当前编码层当前的目标码率。
例如,基于剩余码率与当前编码层当前的权重的乘积,获取当前编码层当前的目标码率。
其中,剩余码率表示,总目标码率对应的码率预算,与编码过程中已消耗的码率的差值。换言之,剩余码率表示,总目标码率对应的码率预算,与已编码的帧的码率的差值。
例如,剩余码率可以至少根据编码控制周期、总目标码率、以及编码层上已编码的帧的码率中的一个或者多个确定。其中,编码控制周期与总 目标码率的乘积可以称为总目标码率对应的码率预算。
其中,编码控制周期表示编码层上的总帧数。
例如,在帧(Frame)级的码率控制场景中,编码控制周期为1。在图像组(group of pictures,GOP)级的码率控制场景中,编码控制周期为图像组中包含的帧数(GOP size)。在I-帧周期(Intra period)级的码率控制场景中,编码控制周期为I帧周期(Intra Period)。在序列(Sequence)级的码率控制场景中,编码控制周期为总编码帧数。
其中,总目标码率表示根据视频传输的带宽确定的目标码率。应理解,视频的实际传输码率不应该超过该总目标码率。
作为示例,在步骤S330中,根据编码控制周期与总目标码率的乘积,与编码层上已编码的帧的实际码率之和的差值,获取该剩余码率。
应理解,该剩余码率随编码过程而动态变化。
在本申请中,通过当前编码层的当前帧的实际码率来确定当前编码层当前的权重,因为当前编码层当前的目标码率是基于当前编码层当前的权重确定的,因而当前编码层当前的目标码率是基于当前编码层的当前帧的实际码率确定的。因此,本申请在为层分配目标码率的过程中考虑了编码器的特性,从而,相对于现有的码率控制方案,可以提高码率控制算法的通用性。
例如,本申请提供的码率控制的方法,可以适用于全帧内(all intra,AI)编码框架、低延时(low delay,LD)编码框架、随机访问(random access,RA)编码框架或基于混合编码框架的编码器。其中,在LD模式下,若帧的类型包括I帧与B帧,LD模式也可称为LDB模式;若帧的类型包括I帧与P帧,LD模式也可以称为LDP模式。
需要说明的是,本文中提及的当前编码层表示编码层中当前进行编码的图像帧所在的层。应理解,本申请实施例提供的码率控制的方法可以应 用于编码层中的每一层。
例如,在对编码层中的某一层(记为第一层)上的图像帧进行编码的场景中,该第一层的目标码率是基于该第一层上的当前帧的实际码率来确定的。再例如,在对编码层中的另一层(记为第二层)上的图像帧进行编码的场景中,该第二层的目标码率是基于该第二层上的当前帧的实际码率来确定的。
因此,本申请在为不同层分配目标码率时,是基于不同层的特性来分配的,而不是简单地让不同层分到相同的目标码率。因此,本申请在为层分配目标码率的过程中考虑了层的特性。
因此,本申请在为层分配目标码率的过程中,综合考虑了编码器的特性与层的特性。
下文将描述步骤S320的实现方式。
可选地,作为步骤S320的一种实现方式,如图4所示,步骤S320包括步骤S321与步骤S322。
S321,基于当前帧的实际码率确定当前编码层当前的预设码率。
可选地,作为步骤S321的一种实现方式,在当前帧是当前编码层的第一帧的情况下,将当前帧的实际码率作为当前编码层当前的预设码率。
可选地,作为步骤S321的另一种实现方式,在当前帧不是当前编码层的第一帧的情况下,基于当前帧的实际码率与当前编码层的上一个预设码率,获取当前编码层当前的预设码率。其中,当前编码层的上一个预设码率表示,根据当前编码层上当前帧的上一帧的实际码率获得的当前编码层的预设码率。
例如,可以通过对当前帧的实际码率与当前编码层的上一个预设码率进行求平均处理,来获取当前编码层当前的预设码率。
这里提及的求平均处理可以是直接求平均,也可以是加权求平均。求 平均的算法可以是求几何平均算法,或者可以是求数值平均的算法。
应理解,通过对当前帧的实际码率与当前编码层的上一个预设码率进行求平均处理,来获取当前编码层当前的预设码率,可以实现平滑码率波动。
(1)可选地,作为步骤S321的又一种实现方式,在当前帧不是当前编码层的第一帧的情况下,基于当前帧的实际码率与当前编码层上的已编码的至少一帧的实际码率,获取所述当前编码层当前的预设码率。
(2)例如,可以通过对前帧的实际码率与当前编码层上的已编码的至少一帧的实际码率进行求平均处理,来获取当前编码层当前的预设码率。求平均处理的描述参见上文,这里不再赘述。
(3)其中,当前编码层上的已编码的至少一帧可以是当前编码层上已编码的任一帧或多帧。例如,当前编码层上的已编码的至少一帧为当前编码层上当前帧的前一帧。
可选地,作为步骤S321的再一种实现方式,不管当前编码层上当前帧是否是当前编码层上的第一帧,将当前帧的实际码率作为当前编码层当前的预设码率。
S322,基于当前编码层当前的预设码率,以及编码层上未编码的帧的预设码率,获得当前编码层当前的权重。
可选地,编码层上未编码的帧的预设码率为该未编码的帧所在的层当前的预设码率。
例如,第x帧为编码层上还未编码的帧,该第x帧的预设码率为该第x帧所在层当前的预设码率。
可选地,编码层上未编码的帧的预设码率可以根据该帧的图像复杂度等信息估计。
例如,第x帧为编码层上还未编码的帧,该第x帧的预设码率根据该 第x帧的图像复杂度等其它特性确定,或者,该第x帧的预设码率根据经验值确定。
作为步骤S322的一种可能的实现方式,基于当前编码层当前的预设码率与编码层上未编码的帧的预设码率之和的乘积,获得当前编码层当前的权重。
应理解,随着编码过程,当前编码层的预设码率处于动态变化中,当前编码层的权重也处于动态变化中,其中,当前编码层的预设码率的动态变化与当前编码层上当前帧的实际码率相关,则当前编码层的权重的动态变化也与当前编码层上当前帧的实际码率相关。因此,在本申请中,为层分配的目标码率随着编码过程进行更新,因此,可以实现基于编码器的特性进行码率控制,从而可以进一步实现码率控制算法对于编码器的通用性。
可选地,作为步骤S320的另一种实现方式,步骤S320包括:基于当前编码层上当前帧的实际码率,以及编码层上未编码的帧的预设码率,获得当前编码层当前的权重。
例如,基于当前编码层当前的实际码率与编码层上未编码的帧的预设码率之和的乘积,获得当前编码层当前的权重。
在本实施例中,编码层上未编码的帧的预设码率为该未编码的帧所在层上最新编码的帧的实际码率;或者,可以根据该帧的图像复杂度等信息估计。
除了上文描述的确定当前编码层当前的权重的实现方式之外,还可以采用其它可行的方式确定当前编码层当前的权重,只要是基于当前编码层上的当前帧的实际码率确定即可。应理解,通过考虑当前编码层上的当前帧的实际码率来确定当前编码层当前的权重的方案均落入本申请的保护范围。
可选地,在步骤S330之后,该方法还可以包括:利用当前编码层当前 的目标码率,对当前编码层上的下一帧进行编码(假设当前帧不是当前编码层上的最后一帧)。
在当前帧为当前编码层上的第一帧的情况下,基于当前帧的实际码率确定的当前编码层的权重可以称为当前编码层的初始权重,基于当前编码层的初始权重确定的当前编码层的目标码率可以称为当前编码层的初始目标码率。
可选地,在当前帧为当前编码层上的第一帧的情况下,在步骤S310中,可以分别对编码层中每一层的第一帧进行编码,获得编码层中每一层的第一帧的实际码率。
应理解,编码层中第i层的第一帧的实际码率可以用于确定第i层的初始权重,进而确定第i层的初始目标码率,i为1,2,…,M,M表示编码层的层数。
例如,可以通过上文描述的步骤S321与步骤S322的操作方式,由第i层的第一帧的实际码率确定第i层的初始权重。即基于第i层的第一帧的实际码率确定第i层的初始预设码率,进而基于第i层的初始预设码率确定第i层的初始权重。
在当前帧不是当前编码层的第一帧的情况下,步骤S310包括:利用当前编码层的上一个目标码率,对当前帧进行编码。其中,当前编码层的上一个目标码率表示基于当前编码层上的当前帧的前一帧的实际码率获得的当前编码层的目标码率。
可选地,本文中涉及的码率的单位为比特每像素(bit/pixel)。
例如,本申请实施例中涉及的当前编码层的当前帧的实际码率、当前编码层当前的预设码率、编码层中未编码的帧的预设码率、总目标码率的单位均为比特每像素。
可选地,本文中涉及的码率的单位为比特每秒(bit/s)。
例如,本申请实施例中涉及的当前编码层的当前帧的实际码率、当前编码层当前的预设码率、编码层中未编码的帧的预设码率、总目标码率的单位均为比特每秒。
以总目标码率为例,记TBR表示以比特每秒(bit/s)为单位的总目标码率,T bpp表示以比特每像素(bit/pixel)为单位的总目标码率,T bpp与TBR的转换关系如下:
Figure PCTCN2020124895-appb-000001
其中,FPS表示视频的帧率,W与H分别表示视频的图像帧的宽和高。
应理解,通过将码率的单位转换为比特每像素,可以实现不同序列的目标码率的度量方式的统一。
基于上述描述可知,在本申请中,通过当前编码层上当前帧的实际码率来确定当前编码层当前的权重,因为当前编码层当前的目标码率是基于当前编码层当前的权重确定的,因而当前编码层当前的目标码率是基于当前编码层上当前帧的实际码率确定的,因此,在为层分配目标码率的过程中考虑了编码器的特性,相对于现有的码率控制方案,可以提高码率控制算法的通用性。此外,本申请在为层分配目标码率的过程中也考虑了层的特性,从而可以为不同的层分配较为合理的目标码率。因此,本申请在码率控制的过程中,综合考虑了编码器的特性与层的特性。
为了更好地理解本申请实施例,下面给出一个具体示例。在下面示例中,以码率的单位为比特每像素(bit/pixel)为例。记待编码图像序列包括的总帧数为Fs。可选地,该总帧数Fs也可以称为编码控制周期。
对该待编码图像序列进行码率控制的过程包括如下步骤。
步骤一,对待编码图像序列中的前M帧进行编码,获得前M帧的实际码率。
其中,在启用分层图像组(GOP)时,M的取值为编码层的总层数。在未 启用分层GOP时,M的取值为帧类型的数目。例如,在全帧内(all intra,AI)模式下,只存在I帧,因此,M的取值为1。再例如,在低延时(low delay,LD)模式下,只存在I帧和B(或P)帧,此时,M取值为2。
在本示例中,统一将M视为编码层的层数。
其中,将M层中的第L层的帧数目记为F L,将第L层上未编码的帧数目记为F’ L,其中,L为1,..,M。
应理解,通过步骤一,可以获得M层中每一层上的第一帧的实际码率。
例如,通过如下公式,计算第L层的第一帧的实际码率R L,0
Figure PCTCN2020124895-appb-000002
其中,Bits L,0表示第L层上的第一帧的实际编码比特,W与H分别表示图像帧的宽和高。
将第L层的第一帧的实际码率R L,0作为第L层当前的预设码率P L
步骤二,根据第L层的预设码率P L,与M层上未编码的帧的预设码率之和的比值,获取第L层当前的权重W L
在本例中,以M层上未编码的帧的预设码率为该帧所在层的预设码率为例。
例如,根据如下公式计算第L层当前的权重W L
Figure PCTCN2020124895-appb-000003
其中,F i’表示第i层上未编码的帧数目,P i表示第i层当前的预设码率。
步骤三,根据第L层当前的权重W L与码率预算,获取第L层当前的目标码率T L
例如,根据如下公式计算第L层当前的目标码率T L
T L=W L×BR
其中,BR表示当前的码率预算。
例如,根据如下公式计算当前的码率预算BR:
BR=T bpp×Fs
其中,T bpp表示以比特每像素(bit/pixel)为单位的总目标码率,T bpp与以比特每秒(bit/pixel)为单位的总目标码率(如前文描述的TBR)的转换关系参见前文描述。
应理解,通过上述步骤一至步骤三,基于第L层上的第一帧的实际码率获得第L层的初始目标码率。
下文结合步骤四至步骤六,描述更新第L层的目标码率的方案。
步骤四,根据第L层上的第t帧的实际码率R L,t,获得第L层当前的预设码率P’ L,其中,第t帧表示第L层上的非第一帧。例如,第t帧为第L层上的第二帧。
通过对第L层上的第t帧进行编码,获得第L层上的第t帧的实际码率R L,t
例如,通过如下公式,获得第L层的第t帧的实际码率R L,t
Figure PCTCN2020124895-appb-000004
其中,Bits L,t表示第L层上的第t帧的实际编码比特,W与H分别表示图像帧的宽和高。
基于第L层的第t帧的实际码率R L,t与第L层的上一个预设码率P L,获取第L层当前的预设码率P’ L
例如,通过如下公式,获得第L层当前的预设码率P’ L
Figure PCTCN2020124895-appb-000005
应理解,第L层的上一个预设码率P L为基于第L层上的第(t-1)帧的实际码率获得的第L层的预设码率。
可选地,还可以通过对P L与R L,t求加权平均,获得第L层当前的预设码率P’ L
步骤五,根据第L层当前的预设码率P’ L获取第L层当前的权重W’ L
例如,根据如下公式计算第L层当前的权重W’ L
Figure PCTCN2020124895-appb-000006
其中,F i’表示第i层上未编码的帧数目,P i表示第i层当前的预设码率。
步骤六,根据第L层当前的权重W’ L与当前的码率预算,获取第L层当前的目标码率T’ L
例如,根据如下公式计算第L层当前的目标码率T’ L
T’ L=W’ L×BR’
其中,BR’表示当前的码率预算。
例如,根据如下公式计算当前的码率预算BR’:
BR’=BR-BR 已消耗
其中,BR表示总目标码率对应的码率预算,BR=T bpp×Fs。BR 已消耗表示在编码过程中已消耗的码率。
例如,通过如下公式,获取BR 已消耗
Figure PCTCN2020124895-appb-000007
其中,F i表示第i层的帧数目,F i’表示第i层上未编码的帧数目,T i表示第i层最新的目标码率,CBF i表示第i层的缓冲区的充盈程度。每一层的 缓冲区的充盈程度的初始值设置为0。
应理解,通过上述步骤四至步骤六,实现了第L层的目标码率的更新。
还应理解,由于信源内容的不确定性,在编码过程中,同一层上的帧的实际码率处于动态变化中,因此,第L层的第一帧的实际码率不应该一直作为第L层的预设码率。在本申请中,第L层的预设码率随着第L层上的当前帧的实际码率而动态变化,从而使得所确定的第L层的权重较为合理,进而使得所确定的第L层的目标码率也较为合理。
可选地,在上面示例中,可以将第L层的第一帧的实际码率R L,0替换为
Figure PCTCN2020124895-appb-000008
将第L层的第t帧的实际码率R L,t替换为
Figure PCTCN2020124895-appb-000009
还应理解,在编码过程中,通常每一帧输出的码率与目标码率之间总存在一定的误差e L,t,如下面公式所示。
Figure PCTCN2020124895-appb-000010
因此,第L层的缓冲区充盈程度CBF L也会随着编码进行更新,如下面公式所示。
CBF L=CBF L+e L,t
在恒定目标码率控制时,控制目标是第L层的CBF L在整个编码过程中趋于0,因此,PID控制器的控制变量为第L层的CBF L。那么,PID控制器输出的数值PID L是下一时刻的控制量
Figure PCTCN2020124895-appb-000011
(即
Figure PCTCN2020124895-appb-000012
),从而可以得到下一时刻的目标码率
Figure PCTCN2020124895-appb-000013
如下面公式所示。
Figure PCTCN2020124895-appb-000014
它与前序编码的同层图像实际比特率R L,t之间的误差可以作为码率分 配的调节增量ΔR。如下面公式所示。
Figure PCTCN2020124895-appb-000015
1)前文结合图1描述了,通过码率控制获得量化参数,通过量化过程,根据量化参数获得量化系数。
2)下面示例性地给出通过码率控制获得量化参数的方法。
比特率和量化参数之间存在多种刻画模型,比如二次模型、指数模型等,本技术方案采用了R-Q的指数函数关系模型,如下面公式所示,
R=α·e -β·Q
其中R表示比特率,Q表示量化参数(QP)值,α和β为模型参数。
对R-Q模型进行一阶微分,得到如下面公式所示的结果。
Figure PCTCN2020124895-appb-000016
不失一般性,在较小的QP值变化范围内,用ΔR≈dR,ΔQ≈dQ,比特率R值由当前层的上一个已编码图像帧的实际码率表示。
根据公式(14)和(16),可得QP的偏移值如下面公式所示。
Figure PCTCN2020124895-appb-000017
在不同编码结构下,β取值通常不同,例如,在AI、LD和RA下,β取值分别为0.12、0.15和0.18。
最终,下一个编码时刻t+1图像的QP值由如下公式获得。
Q t+1=Q t+ΔQ
需要说明的是,上文描述的通过码率控制获取量化参数(QP)的方法仅为示例,本申请对此不作限定。
在本申请中,是根据编码器特性和每一层的序列特性来确定每一层的 权重,进而确定每一层的目标码率,因此,本申请提供的码率控制的方法可以支持AI、LD、RA三种典型编码结构,还可以适用于基于混合编码框架的编码器,相对于现有技术,通用性较高。
例如,本申请提供的码率控制的方法可以适用于高性能视频编码标准(high efficiency video coding,HEVC)的参考软件平台HM、AVS3的参考软件平台HPM以及各种开源编码器平台x264、x265等。
本申请提供的码率控制的方法,在基本没有增加编解码复杂度的情况下,在AI、LD和RA三种编码结构下的码率控制误差分别可以达到0.01%、0.1%和1%的数量级。
需要说明的是,通过更改编码控制周期(即上文实施例中的FS),本申请提供的技术方案可以实现不同级别的平均码率控制(average bitrate,ABR)。
例如,将编码控制周期(FS)的取值设置为1,本申请提供的技术方案可以实现帧(Frame)级的平均码率控制(average bitrate,ABR),这种情况下,ABR也称为恒定码率控制(Constant Bit Rate,CBR)。
再例如,将编码控制周期(FS)的取值设置为图像组(GOP)中包含的帧数,本申请提供的技术方案可以实现图像组(group of pictures,GOP)级的ABR。图像组(GOP)中包含的帧数也可称为GOP size。
再例如,将编码控制周期(FS)的取值设置为I帧周期(Intra Period),本申请提供的技术方案可以实现I-帧周期(Intra period)级的ABR。
再例如,将编码控制周期(FS)的取值设置为总编码帧数,本申请提供的技术方案可以实现序列(Sequence)级的ABR。
基于上述描述可知,本申请在码率控制的过程中,综合考虑了编码器的特性与层的特性,因此,相对于现有技术,具有较好的编码器通用性,此外,由于考虑了不同层的特性,可以为不同的层分配较为合理的目标码 率。
上文描述了本申请提供的方法实施例,下文将描述本申请提供的装置实施例。应理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的内容可以参见上文方法实施例,为了简洁,这里不再赘述。
图5为本申请实施例提供的编码装置500的示意性框图,该编码装置500包括如下单元。
获取单元510,配置为获取当前编码层上的当前帧的实际码率。
确定单元520配置为:根据当前帧的实际码率,确定当前编码层当前的权重;基于剩余码率与当前编码层当前的权重,获取当前编码层当前的目标码率。
可选地,在一些实施例中,确定单元520配置为:基于当前帧的实际码率确定当前编码层当前的预设码率;基于当前编码层当前的预设码率,以及编码层上未编码的帧的预设码率,获得当前编码层当前的权重。
可选地,在一些实施例中,确定单元520配置为,基于当前帧的实际码率,以及编码层上未编码的帧的预设码率,获得当前编码层当前的权重。
可选地,在本实施例中,当前帧不是当前编码层的第一帧;其中,确定单元520配置为,基于当前帧的实际码率与当前编码层上一个的预设码率,获取当前编码层当前的预设码率。
例如,确定单元520配置为,通过对当前帧的实际码率与当前编码层上一个的预设码率进行求平均处理,获取当前编码层当前的预设码率。
可选地,在本实施例中,当前帧是当前编码层的第一帧;其中,确定单元520配置为,将当前帧的实际码率作为当前编码层当前的预设码率。
可选地,在一些实施例中,编码层上未编码的帧的预设码率为该未编码的帧所在的层当前的预设码率。
可选地,在一些实施例中,码率的单位为比特每像素。
可选地,在一些实施例中,码率的单位为比特每秒。
可选地,在一些实施例中,剩余码率至少根据编码控制周期、总目标码率、以及编码层上已编码的帧的码率中的一个或多个确定。
可选地,在一些实施例中,当前帧不是当前编码层的第一帧,获取单元510配置为,通过利用当前编码层的上一个目标码率,对当前编码层上的当前帧进行编码,获得当前帧的实际码率。
可选地,在一些实施例中,该装置500还可以包括:编码单元530,配置为利用当前编码层当前的目标码率,对当前编码层上的下一帧进行编码。
如图6所示,本申请实施例还提供一种编码装置600,该编码装置600包括:处理器610与存储器620,该存储器620配置为存储指令,该处理器610配置为执行该存储器620存储的指令,并且对该存储器620中存储的指令的执行使得,该处理器610配置为执行上文方法实施例的方法。
可选地,该编码装置600还可以包括收发器630,配置为从外部接收信号。
本申请实施例还提供一种芯片,该芯片包括处理模块与通信接口,该处理模块配置为控制该通信接口与外部进行通信,该处理模块配置为执行上文方法实施例的方法。
本申请实施例还提供一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得,该计算机执行上文方法实施例的方法。
本申请实施例还提供一种包含指令的计算机程序产品,其特征在于,该指令被计算机执行时使得计算机执行上文方法实施例的方法。
还应理解,本文中涉及的第一、第二等数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件 的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储 介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
工业实用性
本申请实施例中,通过当前编码层上当前帧的实际码率来确定当前编码层当前的权重,进而是基于当前编码层上当前帧的实际码率来确定当前编码层当前的目标码率,因此,本申请在为层分配目标码率的过程中考虑了编码器的特性,从而,相对于现有的码率控制方案,可以提高码率控制算法的通用性。此外,本申请在为层分配目标码率的过程中也考虑了层的特性,从而可以为不同的层分配较为合理的目标码率。因此,本申请在码率控制的过程中,综合考虑了编码器的特性与层的特性。

Claims (18)

  1. 一种码率控制的方法,其中,包括:
    获取当前编码层上的当前帧的实际码率;
    根据所述当前帧的实际码率,确定所述当前编码层当前的权重;
    基于剩余码率与所述当前编码层当前的权重,确定所述当前编码层当前的目标码率。
  2. 根据权利要求1所述的方法,其中,所述根据所述当前帧的实际码率,确定所述当前编码层当前的权重,包括:
    基于所述当前帧的实际码率,确定所述当前编码层当前的预设码率;
    基于所述当前编码层当前的预设码率,以及编码层上未编码的帧的预设码率,获得所述当前编码层当前的权重。
  3. 根据权利要求2所述的方法,其中,所述当前帧不是所述当前编码层的第一帧;
    其中,所述基于所述当前帧的实际码率,确定所述当前编码层当前的预设码率,包括:
    基于所述当前帧的实际码率与所述当前编码层的上一个预设码率,获取所述当前编码层当前的预设码率。
  4. 根据权利要求3所述的方法,其中,所述基于所述当前帧的实际码率与所述当前编码层的上一个预设码率,获取所述当前编码层当前的预设码率,包括:
    通过对所述当前帧的实际码率与所述当前编码层的上一个预设码率进行求平均处理,获取所述当前编码层当前的预设码率。
  5. 根据权利要求2所述的方法,其中,所述当前帧是所述当前编码层的第一帧;
    其中,所述基于所述当前帧的实际码率,确定所述当前编码层当前 的预设码率,包括:
    将所述当前帧的实际码率作为所述当前编码层当前的预设码率。
  6. 根据权利要求2至5中任一项所述的控制方法,其中,所述编码层上未编码的帧的预设码率为所述未编码的帧所在的层当前的预设码率。
  7. 根据权利要求1至6中任一项所述的方法,其中,所述剩余码率至少根据编码控制周期、总目标码率、以及编码层上已编码的帧的码率中的一个或者多个确定。
  8. 根据权利要求3或4所述的方法,其中,所述获取当前编码层的当前帧的实际码率,包括:
    通过利用所述当前编码层的上一个目标码率对所述当前帧进行编码,获得所述当前帧的实际码率。
  9. 一种码率控制的装置,其中,包括:
    获取单元,配置为获取当前编码层上的当前帧的实际码率;
    确定单元,配置为根据所述当前帧的实际码率,确定所述当前编码层当前的权重;
    所述确定单元还配置为,基于剩余码率与所述当前编码层当前的权重,确定所述当前编码层当前的目标码率。
  10. 根据权利要求9所述的装置,其中,所述确定单元配置为:
    基于所述当前帧的实际码率,确定所述当前编码层当前的预设码率;
    基于所述当前编码层当前的预设码率,以及编码层上未编码的帧的预设码率,获得所述当前编码层当前的权重。
  11. 根据权利要求10所述的装置,其中,所述当前帧不是所述当前编码层的第一帧;
    其中,所述确定单元配置为,基于所述当前帧的实际码率与所述当 前编码层的上一个预设码率,获取所述当前编码层当前的预设码率。
  12. 根据权利要求11所述的装置,其中,所述确定单元配置为,通过对所述当前帧的实际码率与所述当前编码层的上一个预设码率进行求平均处理,获取所述当前编码层当前的预设码率。
  13. 根据权利要求10所述的装置,其中,所述当前帧是所述当前编码层的第一帧;
    其中,所述确定单元配置为,将所述当前帧的实际码率作为所述当前编码层当前的预设码率。
  14. 根据权利要求10至13中任一项所述的控制装置,其中,所述编码层上未编码的帧的预设码率为所述未编码的帧所在的层当前的预设码率。
  15. 根据权利要求9至14中任一项所述的装置,其中,所述剩余码率至少根据编码控制周期、总目标码率、以及编码层上已编码的帧的码率中的一个或者多个确定。
  16. 根据权利要求11或12所述的装置,其中,所述获取单元配置为,通过利用所述当前编码层的上一个目标码率对所述当前帧进行编码,获得所述当前帧的实际码率。
  17. 一种编码装置,其中,包括:
    存储器,配置为存储计算机指令;
    处理器,配置为执行所述存储器存储的计算机指令,并且对所述存储器中存储的计算机指令的执行使得,如权利要求1至8中任一项所述的方法被执行。
  18. 一种计算机存储介质,其中,其上存储有计算机程序,所述计算机程序被计算机执行时使得,如权利要求1至8中任一项所述的方法被执行。
PCT/CN2020/124895 2019-10-31 2020-10-29 码率控制的方法与装置及计算机存储介质 WO2021083286A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911063042.9 2019-10-31
CN201911063042.9A CN112752103B (zh) 2019-10-31 2019-10-31 码率控制的方法与装置

Publications (1)

Publication Number Publication Date
WO2021083286A1 true WO2021083286A1 (zh) 2021-05-06

Family

ID=75644998

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/124895 WO2021083286A1 (zh) 2019-10-31 2020-10-29 码率控制的方法与装置及计算机存储介质

Country Status (2)

Country Link
CN (1) CN112752103B (zh)
WO (1) WO2021083286A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192075B1 (en) * 1997-08-21 2001-02-20 Stream Machine Company Single-pass variable bit-rate control for digital video coding
CN101917614A (zh) * 2010-06-03 2010-12-15 北京邮电大学 一种基于h.264分层b帧编码结构的码率控制方法
CN102420987A (zh) * 2011-12-01 2012-04-18 上海大学 基于分层b帧结构的码率控制的自适应比特分配方法
CN108200431A (zh) * 2017-12-08 2018-06-22 重庆邮电大学 一种视频编码码率控制帧层比特分配方法
CN110139101A (zh) * 2019-06-20 2019-08-16 电子科技大学 一种基于λ域码率控制的帧级比特分配方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040076034A (ko) * 2003-02-24 2004-08-31 삼성전자주식회사 동 영상의 가변 비트율 부호화 방법 및 장치
US20150215621A1 (en) * 2014-01-30 2015-07-30 Qualcomm Incorporated Rate control using complexity in video coding
CN104994387B (zh) * 2015-06-25 2017-10-31 宁波大学 一种融合图像特征的码率控制方法
CN105681793B (zh) * 2016-01-06 2018-10-23 四川大学 基于视频内容复杂度自适应的极低延迟高性能视频编码帧内码率控制方法
CN106231300B (zh) * 2016-07-22 2020-06-12 上海交通大学 一种基于编码单元层次的hevc复杂度控制方法
CN109862359B (zh) * 2018-12-29 2021-01-08 北京数码视讯软件技术发展有限公司 基于分层b帧的码率控制方法、装置和电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192075B1 (en) * 1997-08-21 2001-02-20 Stream Machine Company Single-pass variable bit-rate control for digital video coding
CN101917614A (zh) * 2010-06-03 2010-12-15 北京邮电大学 一种基于h.264分层b帧编码结构的码率控制方法
CN102420987A (zh) * 2011-12-01 2012-04-18 上海大学 基于分层b帧结构的码率控制的自适应比特分配方法
CN108200431A (zh) * 2017-12-08 2018-06-22 重庆邮电大学 一种视频编码码率控制帧层比特分配方法
CN110139101A (zh) * 2019-06-20 2019-08-16 电子科技大学 一种基于λ域码率控制的帧级比特分配方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WANG YUMEI: "Rate Control for H.264/AVC Encoders Using Hierarchical B Frames", CHINESE MASTER'S THESES FULL-TEXT DATABASE, 1 January 2010 (2010-01-01), pages 1 - 62, XP055807137 *

Also Published As

Publication number Publication date
CN112752103A (zh) 2021-05-04
CN112752103B (zh) 2023-01-31

Similar Documents

Publication Publication Date Title
KR100484148B1 (ko) 개선된 비트율 제어 방법과 그 장치
KR101418950B1 (ko) 비디오 코딩 표준에 대한 개선된 비디오율 제어
TW525387B (en) Frame-level rate control for plug-in video codecs
JP5198869B2 (ja) ビデオエンコーダのレート制御のための量子化パラメータの決定
JP5117915B2 (ja) イントラピクチャーのみを利用した動画シーケンスの符号化時のビット率制御方法及び装置
CN103718555A (zh) 低时延速率控制系统和方法
ITTO20090486A1 (it) Controllore dinamico della velocita' di trasmissione indipendente dal gruppo di immagini
KR20070001112A (ko) 적응형 레이트 제어를 구비한 인코더
JP4273207B2 (ja) ディジタルビデオデータを符号化又は復号化する方法及び装置
CN108200431B (zh) 一种视频编码码率控制帧层比特分配方法
MXPA05002511A (es) Un metodo y un aparato para controlar la velocidad de una secuencia de video; un dispositivo que codifica un video.
JP4358215B2 (ja) 動画像符号化装置及びその方法
JP2000197049A (ja) 動画像可変ビットレート符号化装置および方法
KR20120096863A (ko) 고효율 비디오 부호화의 계층적 부호화 구조를 위한 비트율 제어 기법
JP3872849B2 (ja) 動画像符号化装置
TW201201585A (en) Rate control method of perceptual-based rate-distortion optimized bit allocation
WO2021083286A1 (zh) 码率控制的方法与装置及计算机存储介质
JP2008263443A (ja) 情報処理装置および方法、並びにプログラム
KR100950275B1 (ko) 모델 파라미터 기반의 비디오 인코딩 비트율 제어장치와 방법 및 이를 수록한 저장매체
JP3646849B2 (ja) ステレオ動画像用符号化装置
JP2007116655A (ja) 動画像符号化装置
JPH11234671A (ja) 信号処理装置
JPH1141608A (ja) 画像伝送装置および画像符号化方法および画像符号化装置
TW200539000A (en) Data processing device, method thereof, and encoding device
JP2008078978A (ja) 動画像符号化装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20882126

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20882126

Country of ref document: EP

Kind code of ref document: A1