WO2024067777A1 - 编码、解码方法、编码装置、解码装置、电子设备和存储介质 - Google Patents

编码、解码方法、编码装置、解码装置、电子设备和存储介质 Download PDF

Info

Publication number
WO2024067777A1
WO2024067777A1 PCT/CN2023/122452 CN2023122452W WO2024067777A1 WO 2024067777 A1 WO2024067777 A1 WO 2024067777A1 CN 2023122452 W CN2023122452 W CN 2023122452W WO 2024067777 A1 WO2024067777 A1 WO 2024067777A1
Authority
WO
WIPO (PCT)
Prior art keywords
signal
quantization
quantized
random seed
multiple description
Prior art date
Application number
PCT/CN2023/122452
Other languages
English (en)
French (fr)
Inventor
张德军
伍子谦
蒋佳为
王鹤
林坤鹏
Original Assignee
抖音视界有限公司
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 抖音视界有限公司 filed Critical 抖音视界有限公司
Publication of WO2024067777A1 publication Critical patent/WO2024067777A1/zh

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals

Definitions

  • the embodiments of the present disclosure relate to coding and decoding technology, and more particularly to coding and decoding methods, coding devices, decoding devices, electronic devices, and storage media.
  • An encoder is a device that compiles and converts signals (such as bit streams) or data into a signal form that can be used for communication, transmission and storage.
  • signals such as bit streams
  • data data into a signal form that can be used for communication, transmission and storage.
  • packet loss compensation technology to recover the lost data packets.
  • an embodiment of the present disclosure provides a coding method, comprising: obtaining at least two multiple description signals according to a signal to be encoded, the at least two multiple description signals including a first multiple description signal and a second multiple description signal; performing a first quantization on the first multiple description signal to obtain a first candidate quantization signal set, and performing a second quantization on the second multiple description signal to obtain a second candidate quantization signal set; obtaining a first quantization signal corresponding to the first multiple description signal and a second quantization signal corresponding to the second multiple description signal according to the first candidate quantization signal set and the second candidate quantization signal set; encoding the first quantization signal and the second quantization signal to generate a target code stream corresponding to the signal to be encoded.
  • a signal to be encoded is determined to be a multiple description signal of the signal to be encoded, and the number of the multiple description signals is at least two; each of the multiple description signals is quantized to obtain a candidate quantization signal set; according to each of the candidate quantization signal sets, a quantization signal corresponding to each multiple description signal is obtained; each quantization signal is encoded to generate a target code stream of the signal to be encoded, and the target code stream includes indication information, and the indication information indicates whether the target code stream is a multiple description code stream.
  • an embodiment of the present disclosure provides a decoding method, comprising: obtaining a quantization signal from a received target code stream, the quantization signal comprising at least one of a first quantization signal or a second quantization signal, the first quantization signal being obtained by performing a first quantization on a first multiple description signal, the second quantization signal being obtained by performing a second quantization on a second multiple description signal, the first multiple description signal and the second multiple description signal being obtained based on the same signal; and obtaining a decoded signal based on at least one of the first quantization signal or the second quantization signal.
  • At least one quantized signal is obtained from a received target bitstream, the target bitstream includes indication information, the indication information indicates whether the target bitstream is a multiple description bitstream; and a decoded signal is obtained based on the indication information and the obtained quantized signal.
  • an embodiment of the present disclosure provides a coding device, comprising: a determination module, configured to obtain at least two multiple description signals according to a signal to be coded, wherein the at least two multiple description signals include a first multiple description signal and a second multiple description signal; a quantization module, configured to perform a first quantization on the first multiple description signal to obtain a first candidate quantization signal set, perform a second quantization on the second multiple description signal to obtain a second candidate quantization signal set, and perform a second quantization on the second multiple description signal to obtain a second candidate quantization signal set; A second candidate quantized signal set is used to obtain a first quantized signal corresponding to the first multiple description signal and a second quantized signal corresponding to the second multiple description signal; an encoding module is used to encode the first quantized signal and the second quantized signal to generate a target code stream corresponding to the signal to be encoded.
  • the determination module is used to determine the signal to be encoded as a multiple description signal of the signal to be encoded, and the number of the multiple description signals is at least two; the quantization module is used to quantize each of the multiple description signals respectively to obtain a candidate quantization signal set; according to each of the candidate quantization signal sets, a quantization signal corresponding to each multiple description signal is obtained; the encoding module is used to encode each quantization signal to generate a target code stream of the signal to be encoded, and the target code stream includes indication information, and the indication information indicates whether the target code stream is a multiple description code stream.
  • an embodiment of the present disclosure provides a decoding device, comprising: a first acquisition module, used to acquire a quantization signal from a received target code stream, the quantization signal including at least one of a first quantization signal or a second quantization signal, the first quantization signal is obtained by performing a first quantization on a first multiple description signal, the second quantization signal is obtained by performing a second quantization on a second multiple description signal, and the first multiple description signal and the second multiple description signal are obtained based on the same signal; a second acquisition module, used to obtain a decoded signal based on at least one of the first quantization signal or the second quantization signal.
  • the first acquisition module is used to acquire at least one quantized signal from a received target code stream, wherein the target code stream includes indication information, and the indication information indicates whether the target code stream is a multiple description code stream; the second acquisition module is used to obtain a decoded signal based on the indication information and the acquired quantized signal.
  • the embodiments of the present disclosure also provide an electronic device comprising: one or more processing devices; a storage device for storing one or more programs, when the one or more programs are executed by the one or more processing devices, the one or more processing devices implement the encoding method or decoding method provided in the embodiments of the present disclosure.
  • an embodiment of the present disclosure further provides a storage medium comprising computer executable instructions, which, when executed by a computer processor, are used to execute an encoding method or a decoding method as provided in an embodiment of the present disclosure.
  • FIG1 is a schematic diagram of a flow chart of an encoding method provided by an embodiment of the present disclosure
  • FIG2a is a schematic diagram of a flow chart of another encoding method provided by an embodiment of the present disclosure.
  • FIG2b is a schematic diagram of the structure of an encoding device provided by an embodiment of the present disclosure.
  • FIG3 is a schematic flow chart of a decoding method provided by an embodiment of the present disclosure.
  • FIG4 is a flowchart of another decoding method provided by an embodiment of the present disclosure.
  • FIG5 is a schematic diagram of the structure of an encoding device provided by an embodiment of the present disclosure.
  • FIG6 is a schematic diagram of the structure of a decoding device provided by an embodiment of the present disclosure.
  • FIG. 7 is a schematic diagram of the structure of an electronic device provided by an embodiment of the present disclosure.
  • a prompt message is sent to the user to clearly prompt the user that the operation requested to be performed will require obtaining and using the user's personal information.
  • the user can autonomously choose whether to provide personal information to software or hardware such as an electronic device, application, server, or storage medium that performs the operation of the technical solution of the present disclosure according to the prompt message.
  • the prompt information in response to receiving an active request from the user, may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form.
  • the pop-up window may also carry a selection control for the user to choose "agree” or “disagree” to provide personal information to the electronic device.
  • the audio quality restored by using the packet loss compensation technology is poorer than the audio quality of the normal decoded frame. Therefore, improving the anti-packet loss capability of the encoding device is a technical problem that needs to be solved urgently.
  • the present disclosure provides encoding and decoding methods, encoding devices, decoding devices, electronic devices and storage media to improve the anti-packet loss capability of the encoding device.
  • Voice and audio encoders include single-stream encoders, which means that for one frame of input signal, the encoder outputs only one stream.
  • encoders developed by multiple standard organizations are all single-stream encoders, including the commonly used Opus encoder.
  • Opus encoder When this type of encoder encounters network packet loss, it can only use packet loss compensation technology to recover the lost data packets, and the quality of the recovered voice and audio is much worse than that of the normal decoded frame.
  • the Multiple Description Coding (MDC) technology can be used.
  • MDC Multiple Description Coding
  • the encoder outputs at least two code streams.
  • any one of the multiple code streams of the current frame can complete the normal decoding process, which can alleviate network packet loss to a certain extent. Reduce the number of calls to packet loss compensation technology and improve the decoding quality of speech and audio.
  • the present disclosure designs the code stream structure of the multi-description encoder to be a code stream format compatible with the set single-code stream encoder, so its applicable scenarios will be greatly expanded.
  • a typical multiple description coding method is to interleave and classify the input signal according to odd and even samples, and then encode the signal composed of odd or even samples to a standard single-stream encoder.
  • the two single-stream decoded signals are combined to restore the complete signal.
  • This method can ensure that a single stream can be correctly decoded by a single-stream decoder and improve the encoder's ability to resist packet loss.
  • the decoding quality of the synthesized signal in this way is not good enough. In some cases, noise will appear, and the quality of single-stream decoding is not very good.
  • there is another method of interleaving and classifying in the parameter domain This method can obtain better decoding quality, but there is no way to ensure that it is consistent with the single-stream decoder bitstream format.
  • the signal to be encoded is determined as a multiple description signal of the signal to be encoded; each of the multiple description signals is quantized to obtain a candidate quantization signal set; a quantization signal corresponding to each multiple description signal is obtained according to each of the candidate quantization signal sets; each quantization signal is encoded to generate a target code stream of the signal to be encoded, wherein the target code stream includes indication information, and the indication information indicates whether the target code stream is a multiple description code stream.
  • the present disclosure directly determines the signal to be encoded as at least two multiple description signals of the signal to be encoded, so that encoding each multiple description signal is encoding of the signal to be encoded. This multiple description encoding method improves the anti-packet loss capability of the encoding device.
  • FIG1 is a flow chart of a coding method provided by an embodiment of the present disclosure, and the embodiment of the present disclosure is applicable to the case where the anti-packet loss capability of the coding device is improved, and the coding device may be an audio encoder and/or a video encoder.
  • the method may be executed by a coding device, which may be implemented in the form of software and/or hardware, and optionally, by an electronic device, which may be a mobile terminal, a PC terminal, or a server, etc.
  • the encoding method may include steps S110 to S130 .
  • At least two multiple description signals are obtained according to the signal to be encoded, and the at least two multiple description signals include a first multiple description signal and a second multiple description signal.
  • the signal to be encoded may be determined as a multiple description signal of the signal to be encoded.
  • the signal to be encoded can be understood as a signal to be encoded.
  • the signal to be encoded can be considered as a signal composed of at least one sample point, and the signal to be encoded includes at least one sample point corresponding to audio, video, or image.
  • the signal to be encoded can be a residual signal to be quantized, and multiple sample points in the signal to be encoded are quantized and encoded in sequence.
  • a sample point r_Q10 in the residual signal to be quantized is used as an example to illustrate the quantization process, and the quantization methods of the remaining sample points are similar and will not be repeated.
  • the signal to be encoded can be understood as a signal corresponding to a sample point in the signal to be encoded. Different sample point quantization methods are similar.
  • the multiple description signal can be considered as a signal determined based on the signal to be encoded.
  • the signal to be encoded can be directly determined as a multiple description signal.
  • the number of multiple description signals is at least two, and each multiple description signal is equal to the signal to be encoded.
  • acceptable content such as audio, video, or image can be recovered.
  • the quality of content recovery depends only on the number of descriptions, that is, the more the number of multiple description signals, the higher the quality of the content that can be decoded.
  • the signal to be encoded may be directly used as a multiple description signal, so that when the multiple description signal is subsequently encoded, it is the encoding of the signal to be encoded, that is, the encoding of each multiple description signal is the encoding of the signal to be encoded.
  • the first multiple description signal is first quantized to obtain a first candidate quantization signal set
  • the second multiple description signal is second quantized to obtain a second candidate quantization signal set
  • a first quantization signal corresponding to the first multiple description signal and a second quantization signal corresponding to the second multiple description signal are obtained based on the first candidate quantization signal set and the second candidate quantization signal set.
  • each of the multiple description signals is quantized to obtain a candidate quantization signal set
  • a quantization signal corresponding to each multiple description signal is obtained based on each of the candidate quantization signal sets.
  • the candidate quantized signals in the candidate quantized signal set may be considered as quantized signals after quantizing the multiple description signal.
  • the quantized signal corresponding to the multiple description signal may be the quantized signal of the multiple description signal finally determined.
  • each multi-description signal may be quantized separately to obtain a plurality of candidate quantization signal sets, and then a quantization signal corresponding to each multi-description signal may be obtained based on each candidate quantization signal set.
  • a candidate quantization signal in one candidate quantization signal set is determined by rounding up, and a candidate quantization signal in another candidate quantization signal set is determined by rounding up.
  • the candidate quantization signals in a candidate quantization signal set are determined by rounding down, and the candidate quantization signals in another candidate quantization signal set are determined after adding random quantization noise.
  • the quantization method of the encoding device can be set for quantization.
  • the encoding device can be considered as a required compatible encoding device.
  • the encoding device is not limited and can be a single code stream encoding device.
  • the single code stream encoding device can be considered as an encoding device that generates a single code stream after encoding.
  • the quantization method can be considered as a method for quantizing the signal.
  • the encoding device is set to an Opus encoding device, and the quantization method is noise shaping quantization (NSQ).
  • NSP noise shaping quantization
  • the multiple description signal may be quantized by setting the quantization mode of the encoding device to obtain a candidate quantization signal set corresponding to each multiple description signal.
  • each multi-description signal when it is quantized, it can be quantized separately to obtain a quantization signal corresponding to each multi-description signal.
  • the multi-description signal when the multi-description signal is quantized, at least one candidate quantization signal set is obtained, and then a candidate quantization signal is directly selected from the candidate quantization signals in the at least one candidate quantization signal set to be determined as the quantization signal corresponding to the multi-description signal.
  • the candidate quantization signal in the candidate quantization signal set can be directly determined as the quantization signal of the multi-description signal.
  • the candidate quantization signal with the smallest quantization error can be selected from the candidate quantization signals in the candidate quantization signal set as the quantization signal of the multi-description signal.
  • multiple candidate quantization signal combinations of a signal to be encoded are obtained based on a first candidate quantization signal set and a second candidate signal set, and each candidate quantization signal combination includes multiple candidate quantization signals that are obtained based on a first candidate quantization signal in the first candidate quantization signal set and a second candidate quantization signal in the second candidate quantization signal set; from the multiple candidate quantization signal combinations, one candidate quantization signal combination is selected as a target quantization signal combination for the signal to be encoded; based on the first candidate quantization signal corresponding to the target quantization signal combination, a first quantization signal is determined, and based on the second candidate quantization signal corresponding to the target quantization signal combination, a second quantization signal is determined.
  • the first candidate quantization signal set includes one or more first candidate quantization signals
  • the second candidate quantization signal set includes one or more second candidate quantization signals
  • the candidate quantization signal combination is determined based on the first candidate quantization signal and the second candidate quantization signal; and a quantization signal is determined based on the candidate quantization signal combination.
  • the first candidate quantization signal set includes multiple first candidate quantization signals and the second candidate quantization signal set includes multiple second candidate quantization signals
  • multiple candidate quantization signal combinations are determined based on the multiple first candidate quantization signals and the multiple second candidate quantization signals; and one candidate quantization signal combination is selected from the multiple candidate quantization signal combinations to determine the quantization signal.
  • a combination of multiple candidate quantization signals with the smallest quantization error is selected as the target quantization signal combination.
  • a comprehensive quantization can be performed to obtain a quantized signal corresponding to each multi-description signal.
  • the quantized signal corresponding to each multi-description signal can be selected in combination with the principle of minimum global quantization error to reduce the quantization error.
  • the global quantization error minimum principle can be understood as the global quantization error minimum principle.
  • the quantization method of the encoding device is set to perform quantization, and the corresponding at least two candidate quantization signals are obtained.
  • the candidate quantization signals in the candidate quantization signal set corresponding to each multiple description signal can be combined with each other (the combination method is not limited, as long as the decoding end adopts the same method during decoding) to obtain the candidate quantization signal combination corresponding to the signal to be encoded. It can be considered that for each multiple description signal, the candidate quantization signal in the candidate quantization signal set with the smallest corresponding error should be selected as the quantization signal corresponding to the multiple description signal.
  • a value with the smallest quantization error with the signal to be encoded is selected to determine the candidate quantization signal in the candidate quantization signal set constituting the candidate quantization signal combination as the quantization signal of the corresponding multiple description signal;
  • a candidate quantization signal is selected from the candidate quantization signal combination corresponding to the signal to be encoded, and the weighted sum of the quantization errors between the candidate quantization signal and the signal to be encoded, and the quantization errors between the candidate quantization signals in the candidate quantization signal set constituting the candidate quantization signal combination and the corresponding multi-description signal is the smallest among the weighted sums corresponding to all candidate quantization signal combinations, and the candidate quantization signal in the candidate quantization signal set corresponding to the candidate quantization signal combination is determined as the quantization signal corresponding to the multi-description signal.
  • this embodiment does not limit the specific quantization method, as long as the quantization method of the multiple description signal is consistent with the quantization method of the encoding device.
  • the same quantization method may include the same random seed update method and the same multiple description signal update method.
  • this step may use rate-distortion cost to obtain two candidate quantization signal sets of the multiple description signal, and select the candidate value that minimizes the rate-distortion cost as the quantization signal of the multiple description signal.
  • the first quantized signal and the second quantized signal are encoded to generate a target code stream corresponding to the signal to be encoded.
  • each quantized signal is encoded to generate a target code stream of the signal to be encoded.
  • the target code stream includes indication information, where the indication information indicates whether the target code stream is a code stream generated according to at least two multiple description signals.
  • the target code stream includes indication information, and the indication information indicates whether the target code stream is a multiple description code stream (that is, a code stream generated according to at least two multiple description signals).
  • indication information may be included in the target code stream to indicate that the target code stream is a multiple description code stream.
  • the target bitstream when the multiple description signal of the signal to be encoded is used to generate a target bitstream, the target bitstream includes indication information indicating that the target bitstream is a multiple description bitstream.
  • the encoding method of the present disclosure may include indication information in the target code stream to indicate whether the target code stream is a multiple description code stream.
  • the indication information may indicate that the target code stream is not a multiple description code stream.
  • the multiple description code stream can be considered as a code stream generated based on multiple description signal coding.
  • a packing method of a set encoding device can be used to encode each quantized signal to generate a target code stream.
  • the packing method can be considered as a method for packing a code stream, and the packing method defines the code stream format of the packed code stream, such as the position of the quantized signal in the target code stream.
  • the target code stream can be considered as the code stream generated after encoding.
  • the number of the target code streams can be at least one.
  • the number of target code streams can be the same as the number of multiple description signals, or can be less than the number of multiple description signals.
  • the quantized signal when encoding a quantized signal to generate a target code stream, can be packaged into the target code stream.
  • Each quantized signal can be packaged into different target code streams.
  • the position of the quantized signal in the target code stream is not limited here.
  • the quantized signal corresponding to the signal to be encoded can be packaged into at least two target code streams.
  • the specific packaging method is not limited in this step. Different quantized signals may be packaged into different target code streams, or at least two quantized signals may be packaged into one target code stream.
  • the code stream format of the target code stream is the same as the code stream format of the set encoding device, which can achieve compatibility between the encoding device that executes the encoding method of the present disclosure and the set encoding device.
  • the target code stream includes a first random seed and a second random seed. Includes an initial first random seed and an initial second random seed.
  • Table 1 is a code stream format of a target code stream provided by an embodiment of the present disclosure.
  • a plurality of table items may be included above the row where the random seed is located in the table. This is not limited here.
  • the present disclosure only expands the content associated with the present disclosure.
  • the content related to the quantized signal (such as amplitude, sign) may be packed into the amplitude of the excitation signal and the sign position of the excitation signal in Table 1.
  • the random seed may be packed into the random seed position in Table 1.
  • the code stream format shown in Table 1 may be a code stream structure for setting the encoding device, and the order of the fields in the code stream may be the same as the order shown in the table.
  • Table 1 A code stream format of a target code stream provided by an embodiment of the present disclosure
  • the technical solution of the embodiment of the present disclosure directly determines the signal to be encoded as at least two multi-description signals of the signal to be encoded, so that the encoding of each multi-description signal is the encoding of the signal to be encoded.
  • This multi-description encoding method improves the anti-packet loss capability of the encoding device.
  • the code stream format of the target code stream can be the same as the code stream format of the set encoding device, thereby achieving the compatibility between the encoding device of the present disclosure and the set encoding device.
  • the encoding device and the decoding device in the related art exist in correspondence, and the corresponding encoding and decoding methods can be determined mutually without considering compatibility.
  • indication information is introduced.
  • the indication information included in the target code stream can be used to indicate whether the target code stream is a multi-description code stream, so as to indicate the decoding method of the encoding device, thereby ensuring the compatibility between the encoding device of the present disclosure and the set encoding device.
  • a multi-description signal is generated when encoding a target code stream.
  • the target code stream is generated based on the multi-description signal, the same quantization method and packing method as the set encoding device can be used, thereby improving the compatibility of the target code stream with the set encoding device and enriching the application scenarios of the target code stream.
  • multiple multi-description signals are generated, multiple target code streams can be obtained, thereby improving the anti-packet loss capability of the encoding device.
  • Fig. 2a is a flow chart of another encoding method provided by an embodiment of the present disclosure, and this embodiment exemplarily describes the technical means for quantizing a multi-description signal. Referring to Fig. 2a, the method includes steps S210 to S260.
  • the signal to be encoded is determined to be a multiple description signal.
  • this embodiment directly uses the signal to be encoded as the multiple description signal to better configure the encoding device for compatibility.
  • each multi-description signal corresponds to an initial random seed.
  • the random seed may be updated to obtain an updated random seed.
  • the random seed updating method may be used for updating.
  • the random seed update method can be considered as a method for updating the random seed.
  • the specific method of updating is not limited here.
  • the updating method of setting the encoding device can be used to update the initial random seed during encoding.
  • a random seed is generally added during the quantization process, and the seed is generally initialized to an initial value before starting quantization, such as 0, 1, 2 or 3. It should be noted that adding a random seed during the quantization process is not a necessary operation.
  • the quantization of NSQ in the Opus encoding device uses a seed implementation method to reduce quantization noise and improve compression efficiency.
  • the signal to be encoded may include one sample point or multiple sample points.
  • each sample point may be quantized separately, and the means of quantizing each sample point are the same, except that the initial random seed values of different sample points are different.
  • the signal to be encoded includes multiple sample points
  • the signal corresponding to each sample point can be considered as the signal to be encoded.
  • the initial random seed may be an initial value
  • the initial random seed for the subsequently quantized sample points may be a random seed updated from the last quantized sample point.
  • the corresponding multiple description signal is updated based on the updated random seed.
  • the first multiple description signal is first quantized according to a first random seed corresponding to the first multiple description signal
  • the second multiple description signal is second quantized according to a second random seed corresponding to the second multiple description signal.
  • the first random seed includes an initial first random seed and an updated first random seed.
  • the initial first random seed is obtained; the initial first random seed is updated to obtain an updated first random seed; based on the updated first random seed, the first multiple description signal is updated to obtain an updated first multiple description signal; and the updated first multiple description signal is first quantized to obtain a first candidate quantization signal set.
  • the second random seed includes a second random seed and an updated second random seed.
  • An initial second random seed is obtained; the initial second random seed is updated to obtain an updated second random seed; based on the updated second random seed, a second multiple description signal is updated to obtain an updated second multiple description signal; and the updated second multiple description signal is second quantized to obtain a second candidate quantization signal set.
  • a multiple description signal updating method may be used to update the multiple description signal.
  • the multiple description signal updating method may be considered as a method for updating the multiple description signal.
  • the update may be based on a random seed.
  • Each multiple description signal may correspond to a random seed.
  • the method for updating the multiple description signal may be determined based on the size of the random seed.
  • Different setting encoding devices may correspond to different multiple description signal updating methods, which are not limited here.
  • the corresponding multiple description signal when the random seed is less than zero, the corresponding multiple description signal may be flipped.
  • the multiple description signal may not be flipped.
  • Zero is only an example and may be any value. Flipping may be considered as one of the means of updating.
  • updating the multiple description signal can effectively reduce the quantization noise.
  • each updated multiple description signal is quantized to obtain a candidate quantized signal set.
  • this step may adopt a quantization method of setting the encoding device to quantize the updated multiple description signal to obtain a candidate quantization signal set.
  • a quantized signal corresponding to each multi-description signal is obtained according to each of the candidate quantized signal sets.
  • this step may select the corresponding quantization signal from at least two candidate quantization signal sets corresponding to each multi-description signal.
  • the technical means for selecting the quantization signal corresponding to each multiple description signal is not limited here.
  • the quantization signal corresponding to each multiple description signal can be determined based on the quantization error between each multiple description signal and the candidate quantization signal in the corresponding candidate quantization signal set, and the quantization error of the combination with the corresponding candidate quantization signal.
  • the difference method is not limited, such as being determined based on the mean square error.
  • the technical means for determining the corresponding candidate quantization signal combination is not limited, and can be determined based on mathematical operations of the candidate quantization signals in the candidate quantization signal set corresponding to the multiple description signals, such as combining operations to obtain the candidate quantization signal combination.
  • At least one candidate quantization signal is selected from the candidate quantization signal set of each multi-description signal, and a mathematical operation is performed based on the selected candidate quantization signal to obtain a candidate quantization signal combination corresponding to the signal to be quantized.
  • Unselected candidate quantization signals are continuously selected from the candidate quantization signal set of each multi-description signal to determine the candidate quantization signal combination of the corresponding signal to be quantized, until all the candidate quantization signals are selected, and a target quantization signal corresponding to the signal to be quantized is selected from each candidate quantization signal combination corresponding to the signal to be quantized.
  • the random seed can be further updated as the initial random seed for the next sample point.
  • it can be updated based on the random seed updated in S220 and the quantization signal of the corresponding multi-description signal, such as performing a 32-bit overflow protection function on the sum of the random seed updated in S220 and the quantization signal of the corresponding multi-description signal to obtain an updated random seed as the initial random seed for the next sample point.
  • obtaining the quantized signal corresponding to each multi-description signal according to each of the candidate quantized signal sets includes:
  • the candidate quantization signal combination is a combination of candidate quantization signals in the candidate quantization signal set corresponding to different multi-description signals; from each of the candidate quantization signal combinations, a candidate quantization signal combination is selected according to a set selection method as the target quantization signal of the signal to be encoded, and the set selection method includes a method of taking the candidate quantization signal combination with the smallest quantization error as the target quantization signal of the signal to be encoded; the candidate quantization signal in the candidate quantization signal set corresponding to the target quantization signal is determined as the quantization signal corresponding to each multi-description signal.
  • the candidate quantized signal combination can be considered as a candidate quantized signal of the signal to be encoded.
  • the target quantized signal can be understood as the quantized signal of the signal to be encoded that is finally determined.
  • this embodiment can combine the candidate quantization signals in the candidate quantization signal set corresponding to each multiple description signal or the candidate quantization signals in the updated candidate quantization signal set to obtain a candidate quantization signal combination of the signal to be encoded.
  • each candidate quantization signal combination can include a candidate quantization signal in at least one candidate quantization signal set corresponding to each multiple description signal.
  • the combination method is not limited, and different operation means can be used to perform mathematical operations, such as mean or weighted sum.
  • the multiple description signals are r1_Q10 and r2_Q10, and the two multiple description signals are quantized to obtain two candidate quantization signals rq11_pulse and rq12_pulse of r1_Q10, and two candidate quantization signals rq21_pulse and rq22_pulse of r2_Q10.
  • the updated signals of the candidate quantization signals in the candidate quantization signal set corresponding to the multiple description signals r1_Q10 and r2_Q10 are combined to obtain a candidate quantization signal combination.
  • rq11_pulse is selected from the candidate quantization signal set corresponding to r1_Q10
  • rq12_pulse is selected from the candidate quantization signal set corresponding to r2_Q10.
  • rq_pulse1 can also be obtained by the following combination:
  • rq_pulse1 alpha*srq11_pulse+(1-alpha)srq21_pulse.
  • the technical means for determining the candidate quantization signal combination is not limited here, as long as the encoding and decoding ends are consistent.
  • the selection may be performed according to a set selection method, and the set selection method is not limited here, such as random selection or selection based on quantization error.
  • the present disclosure can be selected based on the minimum error principle.
  • the setting selection method includes a method of using the candidate quantization signal combination with the smallest quantization error as the target quantization signal of the signal to be encoded.
  • the setting selection method is used, the error value corresponding to each candidate quantization signal combination can be determined, and the smallest value is selected from each error value, and the candidate quantization signal combination corresponding to the smallest error value is used as the target quantization signal.
  • each candidate quantization signal combination may correspond to a quantization error
  • the quantization error may be determined based on the quantization error of the candidate quantization signal combination and the signal to be encoded, and the quantization error of each multiple description signal before and after quantization.
  • the sum or weighted sum of the quantization error of the candidate quantization signal combination and the signal to be encoded, and the quantization error of each multiple description signal before and after quantization is determined to be the quantization error corresponding to the candidate quantization signal combination.
  • the weighted value of the error between the candidate quantization signal combination rq_pulse1 and the signal to be encoded, the error between rq11_pulse and r1_Q10, and the error between rq21_pulse and r2_Q10 can be determined as the error value corresponding to the candidate quantization signal combination rq_pulse1. From the error values corresponding to each candidate quantization signal combination, the candidate quantization signal combination with the smallest value is selected as the target quantization signal.
  • the candidate quantization signal in the candidate quantization signal set used to determine the target quantization signal can be considered as the candidate quantization signal in the candidate quantization signal set corresponding to the target quantization signal.
  • the target quantization signal is rq_pulse1
  • the candidate quantization signals in the candidate quantization signal set used are rq11_pulse and rq21_pulse.
  • srq11_pulse and srq21_pulse are the updated signals of rq11_pulse and rq21_pulse, respectively, and the updating means includes flipping.
  • the candidate quantization signals in the candidate quantization signal set used by the target quantization signal use it as the quantization signal of the corresponding multi-description signal.
  • rq11_pulse is used as the quantization signal of the multi-description signal r1_Q10
  • rq21_pulse is used as the quantization signal of the multi-description signal r2_Q10.
  • the candidate quantization signals in the corresponding plurality of candidate quantization signal sets can be subjected to mathematical operations, and the operation method is not limited.
  • each quantized signal is encoded to generate a target bit stream of the signal to be encoded.
  • the target codestream includes indication information, and the indication information indicates whether the target codestream is a multiple description codestream.
  • an exemplary technical means for quantizing a multiple description signal is described.
  • a random seed is used to quantize the multiple description signal to reduce quantization noise.
  • a quantization method of a setting encoding device and a packing method can be used for encoding so that the code stream format of the target code stream is compatible with the code stream format of the setting encoding device.
  • a random seed update method and a multiple description signal update method of the setting encoding device can be used to reduce the quantization noise of the target code stream and improve compression efficiency.
  • the target bitstream includes a random seed corresponding to the quantized signal.
  • the random seed used when encoding the target bitstream, if a random seed is used, the random seed used can be packaged to obtain the target bitstream, so that the receiving end can decode based on the random seed in the target bitstream.
  • the position of is not limited here, and the random seed corresponding to the quantized signal and the quantized signal can be packaged into the same target bit stream.
  • a multi-description signal may correspond to multiple random seeds, such as a multi-description signal may correspond to an initial random seed and a random seed updated from the initial random seed.
  • the random seed corresponding to the quantized signal is packaged into the target bitstream, the initial random seed and/or the updated random seed may be packaged into the target bitstream.
  • the initial random seed of the first quantized sample of the signal to be encoded may be a preset value.
  • the value of the initial random seed of the subsequent quantized sample may be the updated random seed of the last quantized sample.
  • the initial random seed needs to be updated, and after the update, it needs to be updated again, so that the updated random seed is used as the initial random seed of the next sample.
  • the random seed corresponding to the quantized signal is an initial random seed.
  • each multi-description signal has an initial random seed.
  • the initial random seed needs to be updated, so that the multi-description signal is updated based on the updated random seed and then quantized.
  • the updated random seed can be updated again to be used as the initial random seed for the next sample point.
  • the encoding method of the present disclosure can be considered as a multi-description encoding method compatible with a set encoding device, which aims to improve the anti-packet loss capability and solve the problem of inconsistency between the code stream structure of the multi-description encoding device and the code stream structure of a single code stream encoding device, such as an Opus encoding device.
  • the Opus encoding device is used as an example of a single code stream encoding device, and the single code stream structure of the multi-description encoding device is designed to be consistent with Opus.
  • the multi-description encoding device designed in this way can communicate with the Opus encoding device, which well makes up for the deficiency that the multi-description encoding device cannot communicate with the single code stream encoding device.
  • Fig. 2b is a schematic diagram of the structure of a coding device provided by an embodiment of the present disclosure.
  • a signal to be coded can be output, and the coding method of the present disclosure can be integrated in a multiple description coding noise shaping quantization module.
  • the quantization signal obtained by the multi-description coding method when quantizing the input signal, it is necessary to use the same quantization method as the single-stream coding device (i.e., the quantization method of the set coding device) and the same method of generating the code stream (i.e., the packing method of the set coding device).
  • the present disclosure provides a multi-description quantization method compatible with an Opus encoding device: for ease of expression, assume that a sample point r_Q10 in the residual signal to be quantized (i.e., the signal to be encoded) is used as an example to illustrate the quantization process, and the quantization methods of the other samples are similar and will not be repeated.
  • the random seed is seed, and the purpose of adding seed during the quantization process is to make the quantization error more white.
  • the number of multi-description codes is 2.
  • the encoding format of each multi-description code stream i.e., the target code stream
  • the target code stream is completely consistent with the Opus encoding device.
  • encoding at the encoding end includes the following steps:
  • seed1 and seed2 are random seeds corresponding to the multi-description residual signal (i.e., multi-description signal) r1_Q10 and r2_Q10 respectively.
  • the initial value can be 0, 1, or other specific values. It should be noted that the initial value of the random seed will also be used at the decoding end, so it is necessary to ensure that the encoding and decoding ends maintain a one-to-one correspondence.
  • Updating the random seed i.e., using the random seed updating method of the setting encoding device to update the initial random seed of each of the multiple description signals
  • seed1 rand(seed1)
  • seed2 rand(seed2)
  • rand(x) overflow32(907633515+x*196314165);
  • rand is a randomization function
  • overflow32 is an overflow protection function for 32-bit numbers. If the result of the addition exceeds 32 bits, overflow protection is performed.
  • flipping the residual signal ie, using the multiple description signal updating method of the setting encoding device to update the corresponding multiple description signal based on the updated random seed
  • flipping the residual signal may be performed in the following manner.
  • the multi-description residual signal 1r1_Q10 is flipped to obtain -r1_Q10 as the updated multi-description residual signal 1; otherwise, the multi-description residual signal 1 is not flipped, and r1_Q10 is used as the updated multi-description residual signal 1.
  • the multi-description residual signal 2 is flipped to obtain -r2_Q10 as the updated multi-description residual signal; otherwise, the multi-description residual signal 2 is not flipped, and r2_Q10 is used as the updated multi-description residual signal 2.
  • the 0 compared with the random seed in the above judgment is only an example and is not limited.
  • seed1 and seed2 are random seeds corresponding to r1_Q10 and r2_Q10 respectively.
  • the method for updating seed1 and seed2 i.e., the random seed updating method
  • the method for updating the residual signal using seed1 and seed2 i.e., the multiple description signal updating method
  • the method for updating the residual signal using seed1 and seed2 are consistent with those in the Opus encoding device, in order to ensure that the generated bitstream is completely consistent with Opus, and the encoding and decoding quality is also equivalent to that of the Opus encoding device.
  • the quantization method of NSQ in Opus is adopted (i.e., the quantization method of the set encoding device is adopted) to obtain two candidate quantization signals rq11_pulse and rq12_pulse (i.e., the candidate quantization signals corresponding to the multi-description signal r1_Q10).
  • r2_Q10 adopts the same quantization method as r1_Q10 (i.e., the multiple description signal r2_Q10 adopts the quantization method of the set encoding device) to obtain two candidate quantization signals rq21_pulse and rq22_pulse (i.e., the candidate quantization signals in the candidate quantization signal set corresponding to the multiple description signal r2_Q10).
  • r1_Q10 and r2_Q10 i.e., the candidate quantization signals in the candidate quantization signal set
  • four candidate quantization signals of r_Q10 i.e., candidate quantization signal combinations
  • rq_pulse1, rq_pulse2, rq_pulse3, and rq_pulse4 are obtained: rq_pulse1, rq_pulse2, rq_pulse3, and rq_pulse4.
  • r1_Q10 and r2_Q10 are signals that have undergone sign flipping, and r_Q10 has not undergone sign flipping and is the signal to be encoded.
  • the optimal quantization signal rq_pulse of r_Q10 (i.e., the target quantization signal of the signal to be encoded) is obtained from the four candidate signals.
  • the candidate quantization signal corresponding to rq_pulse is used as the optimal quantization signal of r1_Q10 and r2_Q10 (i.e., the quantization signal corresponding to each multi-description signal). For example:
  • rq_pulse1 (srq11_pulse+srq21_pulse)/2
  • rq_pulse2 (srq11_pulse+srq22_pulse)/2
  • rq_pulse3 (srq21_pulse+srq21_pulse)/2
  • rq_pulse4 (srq21_pulse+srq22_pulse)/2
  • srq11, srq12, srq21, and srq22 are respectively the signals after rq11_pulse, rq12_pulse, rq21_pulse, and rq22_pulse are flipped in signs.
  • the method of flipping the sign may refer to step 5.
  • rq_pulse4 is used as the best quantization signal rq_pulse of r_Q10 (i.e., one candidate quantization signal is selected from the candidate quantization signals of each candidate quantization signal combination as the target quantization signal of the signal to be encoded).
  • rq21_pulse i.e., the candidate quantization signal in the candidate quantization signal set used to determine the target quantization signal, also known as the candidate quantization signal in the candidate quantization signal set corresponding to the target quantization signal
  • rq22_pulse i.e., the candidate quantization signal in the candidate quantization signal set used to determine the target quantization signal, also known as the candidate quantization signal in the candidate quantization signal set corresponding to the target quantization signal
  • an update is obtained, such as flipping the signs of the quantization signals srq1_pulse and srq2_pulse.
  • the updated quantization signal can be obtained in the following manner (one of the methods for setting the update method).
  • rq1_pulse is used as the updated quantized signal of multiple description signal 1; otherwise, rq1_pulse is used as the updated quantized signal of multiple description signal 1. If seed2 is less than 0, -rq2_pulse is used as the updated quantized signal of multiple description signal 2; otherwise, rq2_pulse is used as the updated quantized signal of multiple description signal 2.
  • rq_pulse (srq1_pulse + srq2_pulse) / 2, that is, determine the mean value of the flipped quantized signal as the real quantized signal value.
  • rq_pulse is the signal before the sign flip is obtained.
  • the true quantized signal value can be used when obtaining the quantized signal of the multi-description signal to determine the final quantized signal. For example, based on the true quantized signal value and the size of the signal to be encoded, it is determined whether the quantization error meets the requirements, such as the difference between the true quantized signal value and the signal to be encoded, and the difference between each multi-description signal and the corresponding candidate quantized signal in the candidate quantized signal set, whether the weighted sum is less than the set value or whether it is the minimum value of the weighted sums corresponding to all multi-description signals, so as to determine the final quantized signal.
  • the requirements such as the difference between the true quantized signal value and the signal to be encoded, and the difference between each multi-description signal and the corresponding candidate quantized signal in the candidate quantized signal set, whether the weighted sum is less than the set value or whether it is the minimum value of the weighted sums corresponding to all multi-description signals, so as to determine the final quantized signal.
  • the update means are as follows:
  • seed1 overflow32(seed1 + rq1_pulse);
  • seed2 overflow32(seed2+rq2_pulse).
  • the random seed can be updated by using a randomization function before the multiple description signal is quantized.
  • the random seed can be updated after the multiple description signal is quantized and used as the initial random seed for the next sample point based on a 32-bit overflow protection function.
  • the present disclosure provides a general compatible code stream design method: It should be noted that the above embodiment is described by taking the coding quantization method of the Opus coding device as an example. In fact, the above quantization method can be extended to any speech and audio coding device, video coding device or other coding device. In other words, the multi-description quantization method provided by the present disclosure can be used to transform any existing single-description code stream coding device, such as: Opus, EVS, USAC, H.264 or H.265 coding devices into a multi-description code stream coding device. In order to maintain generality, the most common implementation method will be used for description.
  • a sample point r_Q10 in the residual signal to be quantized is taken as an example to illustrate the quantization process.
  • the quantization methods of the other samples are similar and will not be repeated.
  • the number of multiple description codes is assumed to be 2. In order to maintain compatibility with the bitstream format of a specific encoding device, the encoding format and encoding method of each multiple description bitstream are completely consistent with those in the specific encoding device.
  • the quantization method only needs to ensure that the quantization method used by the two multi-description residual signals is consistent with the specific encoding device, that is, the quantization method in the encoding device is set to be consistent. It will not be described here. It is assumed that the best quantized signals obtained are: rq1_pulse and rq2_pulse.
  • this example only takes Opus as an example.
  • Different settings of the encoding device may have different quantization methods.
  • a random seed may be used during quantization, or a random seed may not be used.
  • the random seed may be used to update the quantization signal, or the quantization signal may not be updated using a random seed.
  • the updated quantization signal is not limited and may be a candidate quantization signal or an optimal quantization signal.
  • a quantization method similar to NSQ is used (a random seed may or may not be used in the quantization method) to obtain two candidate quantization signals rq11_pulse and rq12_pulse.
  • r2_Q10 uses the same quantization method as r1_Q10 to obtain two candidate quantization signals rq21_pulse and rq22_pulse.
  • rq_pulse1 For example, according to the candidate quantization signals of r1_Q10 and r2_Q10, four candidate quantization signals of r_Q10 are obtained: rq_pulse1, rq_pulse2, rq_pulse3 and rq_pulse4. Based on the principle of minimum global quantization error, the best quantization signal rq_pulse of r_Q10 is obtained from the four candidate quantization signals.
  • the candidate quantization signal corresponding to rq_pulse is used as the best quantization signal of r1_Q10 and r2_Q10. For example:
  • rq_pulse1 (srq11_pulse+srq21_pulse)/2
  • rq_pulse2 (srq11_pulse+srq22_pulse)/2
  • rq_pulse3 (srq21_pulse+srq21_pulse)/2
  • rq_pulse4 (srq21_pulse+srq22_pulse)/2
  • srq1_pulse and srq2_pulse may be rq1_pulse and rq2_pulse, or srq1_pulse and srq2_pulse may be updated rq1_pulse and rq2_pulse.
  • the updating means may be to set the updating method of the encoding device.
  • the formula for determining the candidate quantization signal combination is not limited, as long as the encoding and decoding ends are kept consistent.
  • the error of the signal to be encoded can be the error between the signal to be encoded and the candidate quantization signal combination, such as the quantization error between rq_pulse1 and r_Q10.
  • the quantization error before and after the quantization of the multi-description signal can be the quantization error between the multi-description signal and the candidate quantization signal in the corresponding candidate quantization signal set, such as the quantization error between the multi-description signal r1_Q10 and the candidate quantization signal rq11_pulse in the candidate quantization signal set after the multi-description signal is quantized.
  • the quantization error between r2_Q10 and rq21_pulse can be the error between the signal to be encoded and the candidate quantization signal combination, such as the quantization error between rq_pulse1 and r_Q10.
  • the weighted sum of the three quantization errors is determined as the error value of the candidate quantization signal combination rq_pulse1, rq_pulse2, rq_pulse3 and rq_pulse4 perform the above processing in turn, and then select the minimum value from each error value.
  • rq_pulse4 As the optimal quantization signal rq_pulse of r_Q10, rq21_pulse constituting rq_pulse4 is used as the optimal quantization signal of r1_Q10, and rq22_pulse is used as the optimal quantization signal of r2_Q10.
  • rq_pulse (srq1_pulse+srq2_pulse)/2.
  • srq1_pulse and srq2_pulse may be rq1_pulse and rq2_pulse, or srq1_pulse and srq2_pulse may be updated rq1_pulse and rq2_pulse.
  • the updating means may be a setting method for updating the encoding device.
  • the quantized signals xq1, ..., xqn are written into a bitstream, ie, a target bitstream, according to a specific encoding method.
  • FIG3 is a flowchart of a decoding method provided by an embodiment of the present disclosure.
  • the embodiment of the present disclosure is applicable to the case where a target code stream is decoded.
  • the method can be performed by a decoding device, which can be implemented in the form of software and/or hardware.
  • it can be implemented by an electronic device, which can be a mobile terminal, a PC or a server.
  • the electronic device that implements the encoding method and the electronic device that implements the decoding method can be different electronic devices.
  • this step can obtain the target code stream from the transmitting end, such as the electronic device executing the method described in Figures 1 and 2a.
  • the target code stream can be generated using the encoding method provided in the present disclosure. As shown in Figure 3, the method includes S310 and S320.
  • a quantized signal is obtained from the received target code stream.
  • the quantized signal includes at least one of a first quantized signal or a second quantized signal.
  • the first quantized signal is obtained by performing a first quantization on the first multiple description signal.
  • the second quantized signal is obtained by performing a second quantization on the second multiple description signal.
  • the first multiple description signal and the second multiple description signal are obtained based on the same signal.
  • the same signal may be a signal to be encoded on the encoding side.
  • At least one quantized signal is obtained from the received target code stream.
  • the target code stream includes indication information, and the indication information indicates whether the target code stream is a multiple description code stream.
  • decoding can be performed using a decoding method of a set encoding device.
  • the set encoding device can be a set single code stream encoding device, such as an Opus encoding device. If at least two quantization signals are obtained, decoding can be performed in combination with multiple quantization signals.
  • the formula for mathematical operation of the multiple quantization signals can be different from the formula used when the encoding device is set to decode.
  • the quantized signal can be obtained from the target code stream.
  • the means of obtaining is not specifically limited here, as long as the quantized signal can be obtained.
  • the quantized signal is extracted from the position where the quantized signal is packaged.
  • the target code stream can be decoded based on the frame header bytes of the target code stream to obtain the quantized signal.
  • the target code stream is determined based on the multiple description signal.
  • One signal to be encoded can correspond to at least one target code stream.
  • One signal to be encoded can correspond to multiple multiple description signals.
  • the quantized signals corresponding to multiple multiple description signals can be packaged into at least one target code stream.
  • the acquired quantized signal is a quantized signal corresponding to the multi-description signal.
  • a target code stream may include at least one quantized signal.
  • at least one quantized signal in each target code stream may be obtained from the at least one received target code stream.
  • each target code stream may include indication information indicating whether the target code stream is a multiple description code stream, and if so, a decoded signal may be obtained by combining multiple quantized signals for decoding. When only one quantized signal is obtained, a decoded signal may also be obtained by decoding based only on the quantized signal.
  • the target code stream when quantized signals corresponding to multiple description signals are encoded into different code streams, after obtaining a target code stream, at least one quantized signal included in the target code stream can be obtained, and indication information in the target code stream can be obtained. After indicating that it is a multiple description code stream, subsequent code streams are continuously obtained, quantized signals included in the subsequent code streams are obtained, and then decoding is performed in combination with the obtained quantized signals to obtain a decoded signal.
  • a quantized signal corresponding to a multiple description signal when a quantized signal corresponding to a multiple description signal is encoded into a code stream, after obtaining a target code stream, at least one quantized signal included in the target code stream can be obtained, and indication information in the target code stream can be obtained. After indicating that it is a multiple description code stream, a decoded signal can be obtained based on the obtained quantized signal.
  • a decoded signal is obtained based on at least one of the first quantized signal or the second quantized signal. For example, a decoded signal is obtained based on the indication information and the obtained quantized signal.
  • the target code stream includes indication information indicating whether the target code stream is a code stream generated according to at least two multiple description signals. For example, a decoded signal is obtained based on at least one of the first quantized signal or the second quantized signal and the indication information.
  • the indication information indicates that the target code stream is a code stream generated according to at least two multiple description signals, and the number of the acquired quantized signals is at least two.
  • the indication information indicates that it is not a multiple description code stream
  • the acquired quantized signal may be decoded to obtain a decoded signal.
  • a target signal is obtained according to a combination of the first quantized signal and the second quantized signal; and a decoded signal is obtained based on the target signal.
  • the target signal is determined according to the average value or weighted sum of the first quantized signal and the second quantized signal.
  • the quantized signal when at least one quantized signal is obtained, the quantized signal may be subjected to comprehensive processing to obtain a decoded signal.
  • the decoded signal may be a final decoded signal, such as decoded audio or video.
  • the comprehensive processing includes performing mathematical operations, such as a mean or a weighted sum.
  • a decoding signal can be obtained by using a set decoding method according to the quantization signal.
  • the set decoding method can be determined based on the set decoding device corresponding to the set encoding device.
  • the set decoding method includes a set update method, and the set update method can be used to obtain an updated quantization signal.
  • the means for updating the quantization signal is the same as the means for updating the quantization signal on the encoding device side.
  • a mathematical operation can be performed on the quantization signal to obtain a decoded signal.
  • an average value of the quantized signals is determined as the target signal.
  • a decoded signal is obtained based on the target signal.
  • the quantized signals or updated quantized signals may be subjected to mathematical operations to obtain a target signal, such as using a set update method to obtain an updated quantized signal, and determining the mean of the quantized signals as the target signal. Then, a decoded signal is obtained based on the target signal.
  • the target signal may be a quantized signal determined by integrating one or more target code streams.
  • the means for determining the target signal is not limited here.
  • the mean of at least two quantized signals (or updated quantized signals) may be determined as the target signal, or the weighted result of at least two quantized signals (or updated quantized signals) may be determined as the target signal, such as multiplying at least two quantized signals (or updated quantized signals) by corresponding coefficients (the sum of the coefficients corresponding to each quantized signal may be 1), and the sum of all products may be determined as the target signal.
  • the means for determining the target signal only need to ensure that The technical means for determining the candidate quantization signal combination at the encoding end may be the same.
  • a decoding signal after receiving the target code stream of the signal to be encoded, a decoding signal can be obtained based on the quantization signal included in each target code stream, and each target code stream can be decoded.
  • the target code stream can be obtained by encoding with reference to the set encoding device, which improves the use scenario of the target code stream and enables the encoding device to communicate with the set encoding device.
  • the decoding method adopted can be indicated based on the indication information included in the target code stream.
  • the decoding method of the set decoding device corresponding to the set encoding device can be used for decoding; when the indication information indicates that the target code stream is a multi-description code stream, the decoding device can be combined with multiple quantization signals for decoding. When only one quantization signal is obtained, the quantization signal can be directly decoded. The quantization signal can be updated during decoding, and the decoded signal is obtained based on the updated quantization signal.
  • the decoding method of the quantization signal can be the same as the decoding method of the set decoding device corresponding to the set encoding device.
  • a random seed corresponding to the quantized signal is obtained from the target bitstream to obtain the target signal.
  • the decoding method further includes: acquiring a random seed corresponding to the quantized signal from the received target bit stream.
  • the present embodiment may also obtain the random seed from the target bitstream.
  • the means for obtaining the random seed corresponding to the multiple description signal is not limited, and the random seed may be obtained from the location where the random seed is located.
  • the target code stream may be decoded based on the obtained random seed to obtain a decoded signal.
  • the random seed corresponding to the quantized signal is the initial random seed.
  • a first random seed corresponding to the first quantization signal is updated to obtain an updated first random seed
  • a second random seed corresponding to the second quantization signal is updated to obtain an updated second random seed
  • the first quantization signal is updated based on the updated first random seed to obtain an updated first quantization signal
  • the second quantization signal is updated based on the updated second random seed to obtain an updated second quantization signal
  • a target signal is determined based on a mean or a weighted sum of the updated first quantization signal and the updated second quantization signal
  • a decoded signal is obtained based on the target signal.
  • the first random seed corresponding to the first quantized signal includes the initial first random seed
  • the second random seed corresponding to the second quantized signal includes the initial second random seed
  • the first random seed corresponding to the first quantized signal may be the initial first random seed
  • the second random seed corresponding to the second quantized signal may be the initial second random seed.
  • obtaining a decoded signal based on the indication information and the acquired quantized signal includes: updating a random seed corresponding to each quantized signal; when the indication information indicates that the target code stream is a multiple description code stream and the number of acquired quantized signals is at least two, updating the corresponding quantized signal based on the updated random seed of each quantized signal to obtain an updated quantized signal; determining the mean of each updated quantized signal as a target signal; and obtaining a decoded signal based on the target signal.
  • the random seed corresponding to each quantized signal may be updated based on the random seed update method of the encoding device.
  • the decoding end may not perform the operation of updating the random seed corresponding to the quantized signal.
  • the quantization signal may be updated, such as flipped, based on the random seed of each quantization signal. For example, whether to flip the quantization signal may be determined based on the size of the random seed. When the random seed is greater than zero, the quantization signal may not be flipped. When the random seed is not greater than zero, the quantization signal may be flipped.
  • the mean of the updated quantized signal can be determined as the target signal.
  • a decoded signal can be obtained based on the target signal, and the specific technical means for obtaining the decoded signal based on the target signal is not limited here.
  • FIG4 is a flow chart of another decoding method provided by an embodiment of the present disclosure. This embodiment refines the steps of obtaining a decoded signal. Referring to FIG4 , the method includes S410 to S430.
  • the target code stream is generated using the encoding method provided in the present disclosure.
  • At least one quantized signal is obtained from the received target bitstream.
  • the target code stream is determined based on the multiple description signal.
  • the target code stream is obtained based on the multiple description signal encoding, it can be encoded based on the encoding method provided in the embodiment of the present disclosure.
  • the quantized signals are combined to obtain a target signal.
  • the quantized signals may be combined to obtain a target signal.
  • the combination method is not limited, and the combination methods of the codec end may be the same or different.
  • the combination method used is the same.
  • the mean value of the quantized signal is directly determined as the target signal.
  • the weighted sum of the quantized signals is determined as the target signal.
  • the sum of the weight coefficients of the quantized signals may be 1.
  • this step may also adopt a setting update method to update the quantization signal to determine the target signal based on the updated quantization signal.
  • the means for setting the decoding method to update the quantization signal is not limited here. Please refer to the setting method for setting the decoding device corresponding to the encoding device.
  • the mean value of the updated quantized signal may be determined as the target signal.
  • a decoded signal is obtained based on the target signal.
  • the target signal of the decoded signal obtained by the embodiment of the present disclosure can integrate the quantization signals included in multiple target code streams, thereby improving the decoding quality and anti-packet loss capability.
  • the target code stream can be encoded based on the encoding method of the set encoding device, which improves the application scenario of the target code stream. It can be decoded not only using a dedicated decoding device, but also using a set decoding device.
  • the dedicated decoding device can be considered as a decoding device specifically used to decode the target code stream generated by the new encoding device.
  • the new encoding device can be considered as an encoding device that executes the encoding method of the present disclosure.
  • the decoding method provided by the present disclosure is exemplarily described below.
  • the decoding method for a decoding device compatible with Opus encoding device traverses the sample points to perform decoding operations as follows.
  • the first type is that the decoding device receives two multiple description code streams, namely, target code streams; the second type is that the decoding device receives only one multiple description code stream.
  • quantization signals i.e., quantization signals corresponding to the multiple description signals
  • rq1_pulse and rq2_pulse random seed initial values (i.e., random seeds corresponding to the multiple description signals) seed1 and seed2 are obtained from the multiple description code stream, where seed1 is the random seed initial value corresponding to the quantization signal in multiple description code stream 1, and seed2 is the random seed initial value corresponding to the quantization signal in multiple description code stream 2.
  • Update the values of random seeds seed1 and seed2 that is, use the random seed update method of setting the encoding device to update the random seed corresponding to each quantized signal, that is, the random seed corresponding to the multi-description signal corresponding to the quantized signal;
  • seed1 rand(seed1)
  • seed2 rand(seed2)
  • rand(x) overflow32(907633515+x*196314165).
  • ⁇ rq1_pulse is determined as the updated quantized signal of multiple-description signal 1 ; otherwise, rq1_pulse is determined as the updated quantized signal of multiple-description signal 1 .
  • ⁇ rq2_pulse is determined as the updated quantized signal of multiple-description signal 2 ; otherwise, rq2_pulse is determined as the updated quantized signal of multiple-description signal 2 .
  • the decoding methods for the remaining samples all repeat the above decoding process based on the seed after the previous sample is updated.
  • the decoding device receives only one multiple description code stream (the Opus decoding device decodes a single multiple description code stream):
  • the decoding device may receive multiple description code stream 1 or multiple description code stream 2, in order to maintain generality, it is assumed that the quantization signal obtained from a multiple description code stream is rq1_pulse, and the random seed initial value seed1. Since the formats and pulse quantization methods of the two multiple description code streams are exactly the same, the decoding method of the multiple description code streams is completely consistent. And the decoding method is completely consistent with the Opus decoding device.
  • the final quantized signal rq_pulse is obtained according to the random seed seed and the quantized signal rq1_pulse: if seed1 is less than 0, -rq1_pulse is used as the final quantized signal; otherwise, rq1_pulse is used as the final quantized signal.
  • seed1 overflow32 (seed1 + rq1_pulse).
  • the first method is that the decoding device receives two multiple description code streams; the second method is that the decoding device only receives one multiple description code stream.
  • the first type is that the decoding device receives two multiple description code streams: quantized signals rq1_pulse and rq2_pulse are obtained from the multiple description code streams (ie, target code streams), that is, at least one quantized signal is obtained from the received target code stream.
  • srq1_pulse and srq2_pulse can be quantized signals updated by setting the update method for rq1_pulse and rq2_pulse.
  • the second type is that the decoding device only receives one multiple description codestream (the Opus decoding device decodes a single multiple description codestream): considering that the decoding device may receive multiple description codestream 1 or multiple description codestream 2, in order to maintain generality, it is assumed here that the quantization signal obtained from a certain multiple description codestream (that is, the quantization signal corresponding to the multiple description signal) is rq1_pulse. Therefore, the decoding method of a single multiple description codestream is completely consistent with the decoding method of a specific encoding device.
  • the decoding process is as follows:
  • the quantized signal rq_pulse that is, the target signal, according to the quantized signal rq1_pulse.
  • the quantized signal rq1_pulse is used as the final quantized signal rq_pulse.
  • the decoding method disclosed in the present invention can receive at least one multi-description code stream, i.e., the target code stream.
  • multi-description code streams i.e., the target code stream.
  • FIG. 5 is a schematic diagram of the structure of an encoding device provided by an embodiment of the present disclosure.
  • the device includes: a determination module 510, used to determine that the signal to be encoded is a multiple description signal of the signal to be encoded, and the number of the multiple description signals is at least two; a quantization module 520, used to quantize each of the multiple description signals respectively to obtain a candidate quantization signal set; according to each of the candidate quantization signal sets, a quantization signal corresponding to each multiple description signal is obtained; an encoding module 530, used to encode each quantization signal to generate a target code stream of the signal to be encoded, the target code stream includes indication information, and the indication information indicates whether the target code stream is a multiple description code stream.
  • the encoding device includes: a determination module 51, used to obtain at least two multiple description signals according to a signal to be encoded, the at least two multiple description signals including a first multiple description signal and a second multiple description signal; a quantization module 52, used to perform a first quantization on the first multiple description signal to obtain a first candidate quantization signal set, perform a second quantization on the second multiple description signal to obtain a second candidate quantization signal set, and obtain a first quantization signal corresponding to the first multiple description signal and a second quantization signal corresponding to the second multiple description signal according to the first candidate quantization signal set and the second candidate quantization signal set; an encoding module 530, used to encode the first quantization signal and the second quantization signal to generate a target code stream corresponding to the signal to be encoded.
  • a determination module 51 used to obtain at least two multiple description signals according to a signal to be encoded, the at least two multiple description signals including a first multiple description signal and a second multiple description signal
  • a quantization module 52 used to
  • the target code stream includes indication information, where the indication information indicates whether the target code stream is a code stream generated according to at least two multiple description signals.
  • the quantization module 52 performs a first quantization on the first multiple description signal according to a first random seed corresponding to the first multiple description signal, and performs a second quantization on the second multiple description signal according to a second random seed corresponding to the second multiple description signal.
  • the first random seed includes an initial first random seed and an updated first random seed.
  • the quantization module 52 obtains the initial first random seed, updates the initial first random seed, and obtains an updated first random seed; based on the updated first random seed, updates the first multiple description signal to obtain an updated first multiple description signal, and performs a first quantization on the updated first multiple description signal to obtain a first candidate quantization signal set.
  • the second random seed includes an initial second random seed and an updated second random seed.
  • the quantization module 52 obtains the initial second random seed, updates the initial second random seed, and obtains an updated second random seed; based on the updated second random seed, updates the second multiple description signal to obtain an updated second multiple description signal; performs a second quantization on the updated second multiple description signal to obtain a second candidate quantization signal set.
  • the quantization module 52 obtains multiple candidate quantization signal combinations of the signal to be encoded based on the first candidate quantization signal set and the second candidate signal set, and each candidate quantization signal combination includes multiple candidate quantization signals that are obtained based on the first candidate quantization signal in the first candidate quantization signal set and the second candidate quantization signal in the second candidate quantization signal set. From the multiple candidate quantization signal combinations, one candidate quantization signal combination is selected as the target quantization signal combination of the signal to be encoded; the first quantization signal is determined based on the first candidate quantization signal corresponding to the target quantization signal combination, and the second quantization signal is determined based on the second candidate quantization signal corresponding to the target quantization signal combination.
  • the quantization module 52 selects the combination of multiple candidate quantization signals with the smallest quantization error as Target quantization signal combination.
  • the target code stream includes a first random seed and a second random seed.
  • the target code stream includes an initial first random seed and an initial second random seed.
  • the technical solution provided by the embodiment of the present disclosure directly determines the signal to be encoded as at least two multi-description signals of the signal to be encoded, so that the encoding of each multi-description signal is the encoding of the signal to be encoded.
  • This multi-description encoding method improves the anti-packet loss capability of the encoding device.
  • the code stream format of the target code stream can be the same as the code stream format of the set encoding device, thereby achieving the compatibility between the encoding device of the present disclosure and the set encoding device.
  • the encoding device and the decoding device in the related art exist in correspondence, and the corresponding encoding and decoding methods can be determined mutually without considering compatibility.
  • indication information is introduced.
  • the indication information included in the target code stream can be used to indicate whether the target code stream is a multi-description code stream, so as to indicate the decoding method of the encoding device, thereby ensuring the compatibility between the encoding device of the present disclosure and the set encoding device.
  • the quantization module 520 is used to: obtain an initial random seed corresponding to each multi-description signal, and update the initial random seed of each of the multi-description signals; based on the updated random seed, update the corresponding multi-description signal; and quantize each flipped multi-description signal to obtain a set of candidate quantization signals.
  • the quantization module 520 is used to: obtain multiple candidate quantization signal combinations of the signal to be encoded according to each of the candidate quantization signal sets, and the candidate quantization signal combination is a combination of candidate quantization signals in the candidate quantization signal sets corresponding to different multiple description signals; from each of the candidate quantization signal combinations, select a candidate quantization signal according to a set selection method as the target quantization signal of the signal to be encoded, and the set selection method includes a method of using the candidate quantization signal with the smallest quantization error in each of the candidate quantization signal combinations as the target quantization signal of the signal to be encoded; determine the candidate quantization signal in the candidate quantization signal set corresponding to the target quantization signal as the quantization signal corresponding to each multiple description signal.
  • the target bitstream includes a random seed corresponding to the quantized signal.
  • the random seed corresponding to the quantized signal is an initial random seed.
  • the encoding device provided in the embodiments of the present disclosure can execute the encoding method provided in any embodiment of the present disclosure, and has the corresponding functional modules and beneficial effects of the execution method.
  • FIG6 is a schematic diagram of the structure of a decoding device provided by an embodiment of the present disclosure.
  • the device includes: a first acquisition module 610, used to acquire at least one quantization signal from a received target code stream, wherein the target code stream includes indication information, and the indication information indicates whether the target code stream is a multiple description code stream; and a second acquisition module 620, used to obtain a decoded signal based on the indication information and the acquired quantization signal.
  • the decoding device includes: a first acquisition module 61, which is used to acquire a quantization signal from the received target code stream, wherein the quantization signal includes at least one of the first quantization signal and the second quantization signal, wherein the first quantization signal is obtained by The first multiple description signal is obtained by performing a first quantization on the first multiple description signal, the second quantized signal is obtained by performing a second quantization on the second multiple description signal, and the first multiple description signal and the second multiple description signal are obtained according to the same signal; the second acquisition module 62 is used to obtain a decoded signal based on at least one of the first quantized signal or the second quantized signal.
  • the target bitstream includes indication information indicating whether the target bitstream is a bitstream generated according to at least two multiple description signals.
  • the second acquisition module 62 obtains a decoded signal based on at least one of the first quantized signal or the second quantized signal and the indication information.
  • the indication information indicates that the target code stream is a code stream generated according to at least two multiple description signals, and the number of the acquired quantized signals is at least two.
  • the second acquisition module 62 obtains a target signal according to a combination of the first quantized signal and the second quantized signal, and obtains a decoded signal based on the target signal.
  • the second acquisition module 62 determines the target signal according to the average or weighted sum of the first quantized signal and the second quantized signal.
  • the second acquisition module 62 acquires a random seed corresponding to the quantized signal from the target bit stream to obtain the target signal.
  • the second acquisition module 62 updates the first random seed corresponding to the first quantization signal to obtain an updated first random seed, updates the second random seed corresponding to the second quantization signal to obtain an updated second random seed, updates the first quantization signal based on the updated first random seed to obtain an updated first quantization signal, updates the second quantization signal based on the updated second random seed to obtain an updated second quantization signal, determines the target signal according to the mean or weighted sum of the updated first quantization signal and the updated second quantization signal; and obtains a decoded signal based on the target signal.
  • the first random seed corresponding to the first quantized signal includes an initial first random seed
  • the second random seed corresponding to the second quantized signal includes an initial second random seed
  • the technical solution provided by the embodiment of the present disclosure can obtain a decoding signal based on the quantization signal included in each target code stream after receiving the target code stream of the signal to be encoded, and each target code stream can be decoded.
  • the target code stream is obtained by encoding with reference to the set encoding device, which improves the use scenario of the target code stream and enables the encoding device to communicate with the set encoding device.
  • the decoding method adopted can be indicated based on the indication information included in the target code stream.
  • the decoding method of the set decoding device corresponding to the set encoding device can be used for decoding; when the indication information indicates that the target code stream is a multi-description code stream, the decoding device can be combined with multiple quantization signals for decoding. When only one quantization signal is obtained, the quantization signal can be directly decoded. The quantization signal can be updated during decoding, and the decoded signal is obtained based on the updated quantization signal.
  • the decoding method of the quantization signal can be the same as the decoding method of the set decoding device corresponding to the set encoding device.
  • the second acquisition module 620 includes: a combining unit, used to combine the quantized signals to obtain a target signal when the indication information indicates that the target code stream is a multiple description code stream and the number of the acquired quantized signals is at least two; and an obtaining unit, used to obtain a decoded signal based on the target signal.
  • the combining unit is used to: determine the mean value or weighted sum of the quantized signals as the target signal Number.
  • the device further includes a third acquisition module, configured to acquire a random seed corresponding to the quantized signal from the received target code stream.
  • the second acquisition module 620 is used to: update the random seed corresponding to each quantization signal; when the indication information indicates that the target code stream is a multi-description code stream and the number of acquired quantization signals is at least two, update the corresponding quantization signal based on the updated random seed of each quantization signal to obtain an updated quantization signal; determine the mean of each updated quantization signal as the target signal; and obtain a decoded signal based on the target signal.
  • the decoding device provided in the embodiments of the present disclosure can execute the decoding method provided in any embodiment of the present disclosure, and has the corresponding functional modules and beneficial effects of the execution method.
  • Fig. 7 is a schematic diagram of the structure of an electronic device provided by an embodiment of the present disclosure. Referring to Fig. 7 , it shows a schematic diagram of the structure of an electronic device (eg, a terminal device or a server in Fig. 7 ) 700 suitable for implementing an embodiment of the present disclosure.
  • an electronic device eg, a terminal device or a server in Fig. 7
  • the electronic device 700 includes: one or more processing devices 701; a storage device 708, which is used to store one or more programs. When the one or more programs are executed by the one or more processing devices 701, the one or more processing devices 701 implement the encoding method and/or decoding method as described in the embodiments of the present disclosure.
  • the terminal device in the embodiment of the present disclosure may include but is not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), vehicle terminals (such as vehicle navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc.
  • mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), vehicle terminals (such as vehicle navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc.
  • PDAs personal digital assistants
  • PADs tablet computers
  • PMPs portable multimedia players
  • vehicle terminals such as vehicle navigation terminals
  • fixed terminals such as digital TVs, desktop computers, etc.
  • fixed terminals such as digital TVs, desktop computers, etc.
  • FIG7 is only an example and should not bring any limitation to the functions and scope of use of the embodiment of
  • the electronic device 700 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 701, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage device 708 to a random access memory (RAM) 703.
  • a processing device e.g., a central processing unit, a graphics processing unit, etc.
  • RAM random access memory
  • various programs and data required for the operation of the electronic device 700 are also stored.
  • the processing device 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704.
  • An edit/output (I/O) interface 705 is also connected to the bus 704.
  • the following devices may be connected to the I/O interface 705: input devices 706 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; output devices 707 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 708 including, for example, a magnetic tape, a hard disk, etc.; and communication devices 709.
  • the communication devices 709 may allow the electronic device 700 to communicate wirelessly or wired with other devices to exchange data.
  • FIG. 7 shows an electronic device 700 with various devices, it should be understood that it is not required to implement or have all the devices shown. More or fewer devices may be implemented or have alternatively.
  • an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart.
  • the computer program can be downloaded and installed from a network through a communication device 709, or installed from a storage device 708, or installed from a ROM 702.
  • the processing device 701 the above-mentioned functions defined in the method of the embodiment of the present disclosure are executed.
  • the electronic device provided in the embodiment of the present disclosure belongs to the same category as the encoding method and/or decoding method provided in the above embodiment.
  • the inventive concept, the technical details that are not described in detail in this embodiment can be referred to the above embodiment, and this embodiment has the same beneficial effects as the above embodiment.
  • the embodiments of the present disclosure provide a computer storage medium on which a computer program is stored.
  • the program is executed by a processor, the encoding method and/or decoding method provided in the above embodiments is implemented.
  • the computer-readable medium mentioned above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium or any combination of the two.
  • the computer storage medium may be a storage medium of computer executable instructions, which when executed by a computer processor are used to perform the methods provided by the present disclosure.
  • Computer readable storage media may be, for example, but not limited to: electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or devices, or any combination thereof. More specific examples of computer readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.
  • a computer readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, device or device.
  • a computer readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which a computer readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof.
  • a computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate, or transmit a program used by or in conjunction with an instruction execution system, device, or device.
  • the program code embodied on the computer readable medium may be transmitted using any appropriate medium, including but not limited to: wire, optical cable, RF (radio frequency), etc., or any suitable combination of the foregoing.
  • the client and server may communicate using any currently known or future developed network protocol such as HTTP (HyperText Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network).
  • HTTP HyperText Transfer Protocol
  • Examples of communication networks include a local area network ("LAN”), a wide area network ("WAN”), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.
  • the computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.
  • the computer-readable medium carries one or more programs.
  • the electronic device When the one or more programs are executed by the electronic device, the electronic device: The computer-readable medium carries one or more programs.
  • the electronic device determines the signal to be encoded as a multiple description signal of the signal to be encoded, and the number of the multiple description signals is at least two; quantizes each of the multiple description signals respectively to obtain a candidate quantization signal set; obtains a quantization signal corresponding to each multiple description signal according to each of the candidate quantization signal sets; encodes each quantization signal to generate a target code stream of the signal to be encoded, and the target code stream includes indication information, and the indication information indicates whether the target code stream is a multiple description code stream.
  • the computer-readable medium carries one or more programs, and when the one or more programs are executed by the electronic device, the electronic device: obtains at least one quantized signal from a received target code stream, the target code stream includes indication information, and the indication information indicates whether the target code stream is a multiple description code stream; and obtains a decoded signal based on the indication information and the obtained quantized signal.
  • Computer program code for performing operations of the present disclosure may be written in one or more programming languages, or a combination thereof, including, but not limited to, object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages.
  • the program code may execute entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or server.
  • the remote computer may be connected via any type of network, including a local area network (LAN). or Wide Area Network (WAN), to a user's computer, or may be connected to an external computer (eg, via the Internet using an Internet service provider).
  • LAN local area network
  • WAN Wide Area Network
  • each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function.
  • the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved.
  • each square box in the block diagram and/or flow chart, and the combination of the square boxes in the block diagram and/or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
  • the modules or units involved in the embodiments described in the present disclosure may be implemented by software or hardware.
  • the name of a module or unit does not limit the unit itself in some cases.
  • the acquisition module may also be described as a "multi-description signal acquisition module".
  • exemplary types of hardware logic components include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chip (SOCs), complex programmable logic devices (CPLDs), and the like.
  • FPGAs field programmable gate arrays
  • ASICs application specific integrated circuits
  • ASSPs application specific standard products
  • SOCs systems on chip
  • CPLDs complex programmable logic devices
  • a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment.
  • a machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium.
  • a machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing.
  • a more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
  • RAM random access memory
  • ROM read-only memory
  • EPROM or flash memory erasable programmable read-only memory
  • CD-ROM portable compact disk read-only memory
  • CD-ROM compact disk read-only memory
  • magnetic storage device or any suitable combination of the foregoing.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一种编码、解码方法、编码装置、解码装置、电子设备和存储介质。该方法包括:根据待编码信号,得到至少两个多描述信号,至少两个多描述信号包括第一多描述信号和第二多描述信号;对第一多描述信号进行第一量化,得到第一候选量化信号集合,对第二多描述信号进行第二量化,得到第二候选量化信号集合;根据第一候选量化信号集合和第二候选量化信号集合,得到第一多描述信号对应的第一量化信号和第二多描述信号对应的第二量化信号;对第一量化信号和第二量化信号进行编码,生成待编码信号对应的目标码流。

Description

编码、解码方法、编码装置、解码装置、电子设备和存储介质 技术领域
本公开实施例涉及编解码技术,尤其涉及编码、解码方法、编码装置、解码装置、电子设备和存储介质。
背景技术
编码器是将信号(如比特流)或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。在相关技术中,编码器在遇到网络丢包时,通常采用丢包补充技术对丢失的数据包进行恢复。
发明内容
第一方面,本公开实施例提供了一种编码方法,包括:根据待编码信号,得到至少两个多描述信号,至少两个多描述信号包括第一多描述信号和第二多描述信号;对第一多描述信号进行第一量化,得到第一候选量化信号集合,对第二多描述信号进行第二量化,得到第二候选量化信号集合;根据第一候选量化信号集合和第二候选量化信号集合,得到第一多描述信号对应的第一量化信号和第二多描述信号对应的第二量化信号;对第一量化信号和第二量化信号进行编码,生成待编码信号对应的目标码流。
在一些实施例中,将待编码信号确定为待编码信号的多描述信号,所述多描述信号的个数为至少两个;分别对各所述多描述信号进行量化,得到候选量化信号集合;根据各所述候选量化信号集合,得到每个多描述信号对应的量化信号;对各量化信号进行编码,生成所述待编码信号的目标码流,所述目标码流包括指示信息,所述指示信息指示所述目标码流是否为多描述码流。
第二方面,本公开实施例提供一种解码方法,包括:从接收的目标码流中,获取量化信号,量化信号包括第一量化信号或第二量化信号中的至少一个,第一量化信号通过对第一多描述信号进行第一量化得到,第二量化信号通过对第二多描述信号进行第二量化得到,第一多描述信号和第二多描述信号根据同一信号得到;基于第一量化信号或第二量化信号中的至少一个,获得解码信号。
在一些实施例中,从接收的目标码流中,获取至少一个量化信号,所述目标码流包括指示信息,所述指示信息指示所述目标码流是否为多描述码流;基于所述指示信息和所获取量化信号,获得解码信号。
第三方面,本公开实施例提供了一种编码装置,包括:确定模块,用于根据待编码信号,得到至少两个多描述信号,至少两个多描述信号包括第一多描述信号和第二多描述信号;量化模块,用于对第一多描述信号进行第一量化,得到第一候选量化信号集合,对第二多描述信号进行第二量化,得到第二候选量化信号集合,根据第一候选量化信号集合和 第二候选量化信号集合,得到第一多描述信号对应的第一量化信号和第二多描述信号对应的第二量化信号;编码模块,用于对第一量化信号和第二量化信号进行编码,生成待编码信号对应的目标码流。
在一些实施例中,确定模块,用于将待编码信号确定为待编码信号的多描述信号,所述多描述信号的个数为至少两个;量化模块,用于分别对各所述多描述信号进行量化,得到候选量化信号集合;根据各所述候选量化信号集合,得到每个多描述信号对应的量化信号;编码模块,用于对各量化信号进行编码,生成所述待编码信号的目标码流,所述目标码流包括指示信息,所述指示信息指示所述目标码流是否为多描述码流。
第四方面,本公开实施例提供了一种解码装置,包括:第一获取模块,用于从接收的目标码流中,获取量化信号,量化信号包括第一量化信号或第二量化信号中的至少一个,第一量化信号通过对第一多描述信号进行第一量化得到,第二量化信号通过对第二多描述信号进行第二量化得到,第一多描述信号和第二多描述信号根据同一信号得到;第二获取模块,用于基于第一量化信号或第二量化信号中的至少一个,获得解码信号。
在一些实施例中,第一获取模块,用于从接收的目标码流中,获取至少一个量化信号,所述目标码流包括指示信息,所述指示信息指示所述目标码流是否为多描述码流;第二获取模块,用于基于所述指示信息和所获取量化信号,获得解码信号。
第五方面,本公开实施例还提供了一种电子设备包括:一个或多个处理装置;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现如本公开实施例提供的编码方法或解码方法。
第六方面,本公开实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本公开实施例提供的编码方法或解码方法。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1是本公开实施例所提供的一种编码方法的流程示意图;
图2a是本公开实施例所提供的又一种编码方法的流程示意图;
图2b是本公开实施例提供的一种编码装置的结构示意图;
图3是本公开实施例所提供的一种解码方法的流程示意图;
图4是本公开实施例所提供的又一种解码方法的流程示意图;
图5是本公开实施例所提供的一种编码装置的结构示意图;
图6是本公开实施例所提供的一种解码装置的结构示意图;
图7是本公开实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限定性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。
可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
如前所述,采用丢包补充技术恢复的音频质量相比于正常解码帧的音频质量较差。因此,提高编码装置的抗丢包能力是当前亟待解决的技术问题。
本公开提供编码、解码方法、编码装置、解码装置、电子设备和存储介质,以提高编码装置的抗丢包能力。
语音频编码器包括单码流编码器,也就是说对于一帧输入信号,编码器输出码流只有1个。比如:多个标准组织制定的编码器均为单码流编码器,包括常用的Opus编码器。这一类编码器在遇到网络丢包时,只能采用丢包补偿技术对丢失的数据包进行恢复,恢复的语音频质量要比正常解码帧的差很多。
为了提高编码器对网络的抗丢包能力,可以采用多描述编码(Multiple Description Coding,MDC)技术。顾名思义,就是说对于一帧输入信号,编码器输出至少2个以上码流。当遇到网络丢包时,当前帧多个码流中的任何一个收到即可完成正常的解码过程,一定程度上能够很好的缓解网络丢包。减少丢包补偿技术的调用次数,提升语音频的解码质量。
本公开将多描述编码器的码流结构设计为与设定单码流编码器兼容的码流格式,那么其适用场景将大大拓展。
在音频编码领域,一种典型的多描述编码方法是将输入信号按照奇偶样点进行交织分类,然后分别将奇数或者偶数样点组成的信号给一个标准的单码流编码器进行编码,在解码端将两个单码流解码的信号进行合并就可以恢复出完整的信号,这种方式可以确保单个码流可以被单码流解码器进行正确解码,也提高了编码器抗丢包能力,但是,这种方式合成的信号解码质量不够好,有些情况下还会出现杂音,而且单流解码的质量也不太好。与此对应的还有一种方法是在参数域进行交织分类,这种方式可以获得更好的解码质量,但是没有办法保证做到与单码流解码器码流格式保持一致。
本公开实施例,通过将待编码信号确定为待编码信号的多描述信号;分别对各所述多描述信号进行量化,得到候选量化信号集合;根据各所述候选量化信号集合,得到每个多描述信号对应的量化信号;对各量化信号进行编码,生成所述待编码信号的目标码流,所述目标码流包括指示信息,所述指示信息指示所述目标码流是否为多描述码流。本公开直接将待编码信号确定为待编码信号的至少两个多描述信号,使得对每个多描述信号编码均是对待编码信号的编码,这种多描述编码方式,提高了编码装置的抗丢包能力。
为了解决上述技术问题,图1是本公开实施例所提供的一种编码方法的流程示意图,本公开实施例适用于提高编码装置抗丢包能力的情形,编码装置可以是音频编码器和/或视频编码器。该方法可以由编码装置来执行,该装置可以通过软件和/或硬件的形式实现,可选的,通过电子设备来实现,该电子设备可以是移动终端、PC端或服务器等。
如图1所示,编码方法可以包括步骤S110~S130。
在S110中,根据待编码信号,得到至少两个多描述信号,至少两个多描述信号包括第一多描述信号和第二多描述信号。例如,可以将待编码信号确定为待编码信号的多描述信号。
例如,待编码信号可以理解为待进行编码的信号。待编码信号可以认为是由至少一个样点组成的信号,待编码信号包括音频、视频、或图像对应的至少一个样点。待编码信号可以为待量化残差信号,待编码信号中的多个样点依次被量化编码。为表述方便,假设待量化残差信号中某一个样点r_Q10为例来说明量化过程,其余样点量化方法类似,不再赘述。本实施例可以将待编码信号理解为待编码信号中的一个样点所对应的信号。不同样点量化方式类似。
例如,多描述信号可以认为是基于待编码信号确定的信号。本步骤可以直接将待编码信号确定为多描述信号。多描述信号的数量为至少两个,每个多描述信号均等于待编码信号。基于每个多描述信号均能够恢复出可接受的内容,如音频、视频、或图像。内容恢复的质量只依赖描述的个数,即多描述信号的个数越多,所能解码得到的内容的质量越高。
例如,可以将待编码信号直接作为多描述信号,使得后续在对多描述信号进行编码时,就是对待编码信号的编码,即对每个多描述信号的编码均是对待编码信号的编码。
在S120中,对第一多描述信号进行第一量化,得到第一候选量化信号集合,对第二多描述信号进行第二量化,得到第二候选量化信号集合;根据第一候选量化信号集合和第二候选量化信号集合,得到第一多描述信号对应的第一量化信号和第二多描述信号对应的第二量化信号。例如,分别对各所述多描述信号进行量化,得到候选量化信号集合;根据各所述候选量化信号集合,得到每个多描述信号对应的量化信号。
例如,候选量化信号集合中的候选量化信号可以认为是对多描述信号进行量化后的量化信号。多描述信号对应的量化信号可以为最终确定的多描述信号的量化信号。
例如,可以分别对各多描述信号进行量化,得到多个候选量化信号集合,然后根据各候选量化信号集合,得到每个多描述信号对应的量化信号。
例如,在对一个多描述信号进行量化得到多个候选量化信号集合时,可以采用不同的量化过程,如其中一个候选量化信号集合中的候选量化信号为进行向上取整确定的,另一 个候选量化信号集合中的候选量化信号为进行向下取整确定的,再一个候选量化信号集合中的候选量化信号为加入随机量化噪声后确定的候选量化信号。本步骤在对每个多描述信号进行量化时,均可以采用设定编码装置的量化方式进行量化,设定编码装置可以认为是所需兼容的编码装置,设定编码装置不作限定,可以为单码流编码装置,单码流编码装置可以认为是编码后生成单个码流的编码装置。量化方式可以认为是对信号进行量化的方式。如,设定编码装置为Opus编码装置,量化方式为噪声整形量化(Noise Shaping Quantizer,NSQ)。
例如,在获取多描述信号后,可以采用设定编码装置的量化方式,对多描述信号进行量化,得到每个多描述信号对应的候选量化信号集合。
例如,本步骤中,各多描述信号进行量化时,可以单独量化,以得到每个多描述信号对应的量化信号。如对多描述信号进行量化,得到至少一个候选量化信号集合,然后直接从至少一个候选量化信号集合中的候选量化信号中选取一个候选量化信号确定为多描述信号对应的量化信号。在一个多描述信号对应的候选量化信号集合的数量为一个时,可以直接将候选量化信号集合中的候选量化信号确定为多描述信号的量化信号。在多描述信号对应至少两个候选量化信号集合时,可以从候选量化信号集合中的候选量化信号中选取量化误差最小的候选量化信号作为多描述信号的量化信号。
在一些实施例中,根据第一候选量化信号集合和第二候选信号集合,得到待编码信号的多个候选量化信号组合,每一个候选量化信号组合包括的多个候选量化信号根据第一候选量化信号集合中的第一候选量化信号和第二候选量化信号集合中的第二候选量化信号得到;从多个候选量化信号组合中,选取一个候选量化信号组合作为待编码信号的目标量化信号组合;根据目标量化信号组合对应的第一候选量化信号,确定第一量化信号,根据目标量化信号组合对应的第二候选量化信号,确定第二量化信号。
在一些实施例中,第一候选量化信号集合包括一个或多个第一候选量化信号,第二候选量化信号集合包括一个或多个第二候选量化信号。
例如,在第一候选量化信号集合包括一个第一候选量化信号,且第二候选量化信号集合包括一个第二候选量化信号的情况下,根据该一个第一候选量化信号和该一个第二候选量化信号,确定候选量化信号组合;根据该候选量化信号组合,确定量化信号。
例如,在第一候选量化信号集合包括多个第一候选量化信号,且第二候选量化信号集合包括多个第二候选量化信号的情况下,根据多个第一候选量化信号和多个第二候选量化信号,确定多个候选量化信号组合;从多个候选量化信号组合中选取一个候选量化信号组合,用于确定量化信号。
例如,将多个候选量化信号组合中量化误差最小的,选取为目标量化信号组合。
例如,多描述信号进行量化时,也可以综合量化,以得到每个多描述信号对应的量化信号。综合量化时,可以结合全局量化误差最小原则,选取每个多描述信号对应的量化信号,以降低量化误差。
例如,全局量化误差最小原则可以理解为全局的量化误差最小原则。如针对每个多描述信号,分别采用设定编码装置的量化方式进行量化,得到对应的至少两个候选量化信号 集合,各多描述信号对应的候选量化信号集合中的候选量化信号可以相互组合(组合的方式不作限定,只要保证解码端在解码时采用相同的方式即可),得到待编码信号对应的候选量化信号组合。全局可以认为,针对每个多描述信号,要选取对应误差最小的候选量化信号集合中的候选量化信号作为对应多描述信号的量化信号。
例如,从待编码信号对应的候选量化信号组合中,选取与待编码信号量化误差最小的值,以将构成该候选量化信号组合的候选量化信号集合中的候选量化信号确定为对应的多描述信号的量化信号;
又如,基于全局量化误差最小原则,从待编码信号对应的候选量化信号组合中选取的一个候选量化信号,该候选量化信号与待编码信号的量化误差,和构成该候选量化信号组合的候选量化信号集合中的候选量化信号与所对应多描述信号的量化误差,的加权和,在所有候选量化信号组合对应的加权和中最小,将该候选量化信号组合所对应的候选量化信号集合中的候选量化信号,确定为对应多描述信号的量化信号。
例如,本实施例不对具体量化方式进行限定,只要保证多描述信号的量化方式与设定编码装置的量化方式保持一致即可。如相同的量化方式可以包括相同的随机种子更新方法,相同的多描述信号更新方法。
在一个实施例中,本步骤可以采用率失真代价获得多描述信号的两个候选量化信号集合,并选取使得率失真代价最小的候选值作为该多描述信号的量化信号。
在S130中,对第一量化信号和第二量化信号进行编码,生成待编码信号对应的目标码流。例如,对各量化信号进行编码,生成所述待编码信号的目标码流。
在一些实施例中,目标码流包括指示信息,指示信息指示目标码流是否为根据至少两个多描述信号生成的码流。
例如,所述目标码流包括指示信息,所述指示信息指示所述目标码流是否为多描述码流(即根据至少两个多描述信号生成的码流)。
在一个实施例中,在目标码流内所包括量化信号为基于多描述信号确定的时,可以在目标码流中包括指示信息,指示目标码流为多描述码流。
在一个实施例中,在待编码信号的多描述信号用于生成目标码流时,在目标码流内包括指示信息,指示目标码流为多描述码流。
例如,本公开的编码方法可以在目标码流内包括指示信息,以用于指示目标码流是否是多描述码流。在未采用所描述信号进行编码时,指示信息可以指示目标码流不为多描述码流。
例如,多描述码流可以认为是基于多描述信号编码生成的码流。
例如,可以采用设定编码装置的打包方法,将各量化信号进行编码,生成目标码流。打包方式可以认为是进行码流打包的方式,打包方式限定了打包后码流的码流格式,如量化信号在目标码流内的位置。目标码流可以认为是编码后生成的码流。所述目标码流的数量可以为至少一个。目标码流的数量可以与多描述信号的个数相同,也可以小于多描述信号的个数。
例如,对量化信号进行编码生成目标码流时,可以将量化信号打包至目标码流中。每个量化信号可以分别打包至不同的目标码流内。此处不对量化信号在目标码流内的位置进行限定。待编码信号对应的量化信号可以打包至至少两个目标码流。由此,仅接收到一个目标码流即可实现解码,收到的目标码流的个数越多解码质量越高,从而提高了编码装置的抗丢包能力。
例如,本步骤中不限定具体的打包方式,可以不同的量化信号打包至不同的目标码流,也可以是至少两个量化信号打包至了一个目标码流。
例如,目标码流的码流格式与设定编码装置的码流格式相同,能够实现执行本公开编码方法的编码装置与设定编码装置的兼容。
在一些实施例中,目标码流内包括第一随机种子和第二随机种子。例如,目标码流内 包括初始的第一随机种子和初始的第二随机种子。
例如,表1为本公开实施例提供的一种目标码流的码流格式,参见表1,表格中随机种子所在行的上方还可以包括多个表项,此处不作限定,本公开仅展开本公开所关联的内容,在进行量化信号打包时,可以将量化信号相关的内容(如幅度、符号)打包至表1激励信号的幅度和激励信号的符号位置处。在编码待编码信号时,若使用了随机种子,则可以将随机种子打包至表1随机种子位置处。表1示出的码流格式可以为设定编码装置的码流结构,码流内各字段的顺序可以与表格中所示出的顺序相同。
表1本公开实施例提供的一种目标码流的码流格式
本公开实施例的技术方案,直接将待编码信号确定为待编码信号的至少两个多描述信号,使得对每个多描述信号编码均是对待编码信号的编码,这种多描述编码方式,提高了编码装置的抗丢包能力。在编码得到目标码流时,目标码流的码流格式与设定编码装置的码流格式可以相同,实现了本公开编码装置与设定编码装置的兼容。相关技术中的编码装置和解码装置对应存在,相互确定对应的编解码方法即可,无需考虑兼容性。本公开由于考虑了兼容性,故引入指示信息,本公开编码装置与设定编码装置互通时,在目标码流中包括的指示信息可以用于指示目标码流是否为多描述码流,以指示编码装置的解码方法,确保了本公开编码装置与设定编码装置的兼容性。
例如,在进行目标码流编码时生成多描述信号,在基于多描述信号生成目标码流时,可以采用与设定编码装置相同的量化方法和打包方法,提高了目标码流与设定编码装置的兼容性,丰富了目标码流的应用场景,此外由于生成了多个多描述信号,进而可以得到了多个目标码流,提高了编码装置的抗丢包能力。
图2a是本公开实施例所提供的又一种编码方法的流程示意图,本实施例对多描述信号进行量化的技术手段进行示例性的描述。参见图2a,所述方法包括步骤S210~S260。
在S210中,将待编码信号确定为多描述信号。
例如,本实施例在得到多描述信号时,直接将待编码信号作为多描述信号,以更好的兼容设定编码装置。
在S220中,获取每个多描述信号对应的初始随机种子,更新各所述多描述信号的初始随机种子。
例如,本实施例中,每个多描述信号均对应有一个初始随机种子。在对多描述信号进行量化时,可以更新随机种子,以得到更新后的随机种子。
例如,在更新随机种子时,可以采用随机种子更新方法进行更新。
例如,随机种子更新方法可以认为是更新随机种子的方法,此处不对更新的具体方式进行限定,本实施例在编码时可以采用设定编码装置的更新方法,更新初始随机种子。
示例性的,为了使量化误差更加白化,一般会在量化过程中加入随机种子seed,在开始量化之前一般会初始化seed为一个初始值,例如:0、1、2或者3。需要说明的是,在量化过程中加入随机种子并不是必需操作,Opus编码装置中NSQ的量化使用了seed种子实现方式,降低量化噪声,提升压缩效率。
本公开中待编码信号可以包括一个样点,也可以包括多个样点。在待编码信号包括多个样点时,各样点可以分别被量化,每个样点被量化的手段均相同,仅是不同样点初始随机种子值不同。
例如,在待编码信号包括多个样点时,每个样点对应的信号可以认为是待编码信号。
例如,针对第一个被量化的样点,初始随机种子可以为初始值,后续被量化的样点的初始随机种子可以为上一被量化样点更新后的随机种子。
在S230中,基于更新后的随机种子,更新所对应的多描述信号。
在一些实施例中,根据第一多描述信号对应的第一随机种子,对第一多描述信号进行第一量化,根据第二多描述信号对应的第二随机种子,对第二多描述信号进行第二量化。
例如,第一随机种子包括初始的第一随机种子和更新后的第一随机种子。获取初始的第一随机种子;更新初始的第一随机种子,得到更新后的第一随机种子;基于更新后的第一随机种子,更新第一多描述信号,以得到更新后的第一多描述信号;对更新后的第一多描述信号进行第一量化,得到第一候选量化信号集合。
例如,第二随机种子包括的第二随机种子和更新后的第二随机种子。获取初始的第二随机种子;更新初始的第二随机种子,得到更新后的第二随机种子;基于更新后的第二随机种子,更新第二多描述信号,以得到更新后的第二多描述信号;对更新后的第二多描述信号进行第二量化,得到第二候选量化信号集合。
例如,可以采用多描述信号更新方法更新多描述信号。多描述信号更新方法可以认为是更新多描述信号的方法。在更新时,可以基于随机种子更新。每个多描述信号可以对应一个随机种子。在进行更新时,可以基于随机种子的大小确定更新多描述信号的方法。不同的设定编码装置可以对应有不同的多描述信号更新方法,此处不作限定。
示例性的,在随机种子小于零时,可以翻转所对应多描述信号。在随机种子不小于零时,可以不翻转多描述信号。此处零仅为示例,还可以是任意数值。翻转可以认为是更新的手段之一。
在上述实施例中,更新多描述信号可以有效降低量化噪声。
在S240中,分别对各更新后的多描述信号进行量化,得到候选量化信号集合。
例如,在更新完多描述信号后,本步骤可以采用设定编码装置的量化方法,对更新后的多描述信号进行量化,以得到候选量化信号集合。
在S250中,根据各所述候选量化信号集合,得到每个多描述信号对应的量化信号。
例如,在确定每个多描述信号对应的候选量化信号集合后,本步骤可以从每个多描述信号对应的至少两个候选量化信号集合中,选取所对应的量化信号。
例如,此处不对选取每个多描述信号对应的量化信号的技术手段不作限定。如可以基于每个多描述信号与所对应候选量化信号集合中的候选量化信号的量化误差,和与对应的候选量化信号组合的量化误差,确定每个多描述信号对应的量化信号。其中,确定量化误 差的方式不作限定,如基于均方误差(Mean Square Error)确定。确定对应的候选量化信号组合的技术手段不作限定,可以基于多描述信号所对应候选量化信号集合中的候选量化信号进行数学运算确定,如组合运算以得到候选量化信号组合。
示例性的,从每个多描述信号的候选量化信号集合中,分别选取至少一个候选量化信号,基于所选取的候选量化信号进行数学运算,得到待量化信号对应的候选量化信号组合。继续从每个多描述信号的候选量化信号集合中,分别选取未被选取的候选量化信号,以用于确定所对应的待量化信号的候选量化信号组合,直至所述候选量化信号均选取完成,从待量化信号对应的各候选量化信号组合中,选取待量化信号对应的目标量化信号。
例如,在得到目标量化信号后,可以继续更新随机种子作为下一样点的初始随机种子,在本次更新随机种子时,可以基于S220更新后的随机种子与所对应多描述信号的量化信号更新,如将S220更新后的随机种子与所对应多描述信号的量化信号的加和进行32位数溢出保护函数处理,得到更新后的随机种子,以作为下一样点的初始随机种子。
在一个实施例中,所述根据各所述候选量化信号集合,得到每个多描述信号对应的量化信号,包括:
例如,根据各所述候选量化信号集合,得到待编码信号的多个候选量化信号组合,所述候选量化信号组合为不同多描述信号所对应候选量化信号集合中的候选量化信号的组合;从各所述候选量化信号组合中,按照设定选取方法选取一个候选量化信号组合作为所述待编码信号的目标量化信号,所述设定选取方法包括将各所述候选量化信号组合中量化误差最小的作为所述待编码信号的目标量化信号的方法;将所述目标量化信号对应的候选量化信号集合中的候选量化信号,确定为每个多描述信号对应的量化信号。
例如,候选量化信号组合可以认为是待编码信号候选的量化信号。目标量化信号可以理解为最终确定的待编码信号的量化信号。
例如,在确定每个多描述信号对应的候选量化信号集合后,本实施例可以针对每个多描述信号对应的候选量化信号集合中的候选量化信号或更新后候选量化信号集合中的候选量化信号进行组合,得到待编码信号的候选量化信号组合。在组合得到候选量化信号组合时,可以使得每个候选量化信号组合内包括每个多描述信号对应的至少一个候选量化信号集合中的候选量化信号。组合的方式不作限定,可以采用不同的运算手段,进行数学运算,如均值或加权和。
示例性的,多描述信号分别为r1_Q10和r2_Q10,两个多描述信号分别进行量化得到,r1_Q10的2个候选量化信号rq11_pulse和rq12_pulse,r2_Q10的两个候选量化信号rq21_pulse和rq22_pulse。将多描述信号分别为r1_Q10和r2_Q10对应的候选量化信号集合中的候选量化信号更新后的信号进行组合,得到候选量化信号组合。
例如,,从r1_Q10对应的候选量化信号集合中选取rq11_pulse,从r2_Q10对应的候选量化信号集合中选取rq12_pulse,两个候选量化信号更新后组合得到候选量化信号组合rq_pulse1=(srq11_pulse+srq21_pulse)/2,rq_pulse1为待编码信号对应的候选量化信号组合。
例如,rq_pulse1还可以通过如下组合方式获取:
rq_pulse1=srq11_pulse+srq21_pulse;或者,
rq_pulse1=alpha*srq11_pulse+(1-alpha)srq21_pulse。
例如,此处不对确定候选量化信号组合的技术手段进行限定,只要保证编解码端一致即可。在确定候选量化信号组合时,若使用如下公式,则解码端在解码目标码流时,也需要使用如下公式:rq_pulse1=(srq11_pulse+srq21_pulse)/2。
例如,从候选量化信号组合中选取目标量化信号时,可以按照设定选取方法进行选取,此处不对设定选取方法进行限定,如可以为随机选取,也可以基于量化误差进行选择。
在一个实施例中,本公开可以基于最小误差原则选取。所述设定选取方法包括将各所述候选量化信号组合中量化误差最小的作为所述待编码信号的目标量化信号的方法,在采用该设定选取方法选取时,可以确定每个候选量化信号组合对应的误差值,从各误差值中选取最小的值,将最小误差值对应的候选量化信号组合作为目标量化信号。
例如,每个候选量化信号组合均可以对应一个量化误差,该量化误差可以基于该候选量化信号组合和待编码信号的量化误差,每个多描述信号量化前后的量化误差确定。如将候选量化信号组合和待编码信号的量化误差,和每个多描述信号量化前后的量化误差确定的加和或加权和,确定为候选量化信号组合对应的量化误差。
示例性的,可以确定候选量化信号组合rq_pulse1与待编码信号的误差,rq11_pulse与r1_Q10的误差,和rq21_pulse与r2_Q10的误差的加权值,作为候选量化信号组合rq_pulse1对应的误差值。从每个候选量化信号组合对应的误差值中,选取取值最小的候选量化信号组合作为目标量化信号。
例如,确定目标量化信号所使用的候选量化信号集合中的候选量化信号可以认为是用于确定目标量化信号对应的候选量化信号集合中的候选量化信号,示例性的,若目标量化信号是rq_pulse1,则所使用的候选量化信号集合中的候选量化信号为rq11_pulse和rq21_pulse。srq11_pulse和srq21_pulse分别为rq11_pulse和rq21_pulse更新后的信号,更新手段包括翻转。
例如,在确定出目标量化信号所使用的候选量化信号集合中的候选量化信号后,针对每个所使用的候选量化信号集合中的候选量化信号,将其作为所对应多描述信号的量化信号。如将rq11_pulse作为多描述信号r1_Q10的量化信号,将rq21_pulse作为多描述信号r2_Q10的量化信号。在一个多描述信号对应多个候选量化信号集合中的候选量化信号后,可以将所对应的多个候选量化信号集合中的候选量化信号进行数学运算,运算方式不作限定。
在S260中,对各量化信号进行编码,生成所述待编码信号的目标码流。
例如,所述目标码流包括指示信息,所述指示信息指示所述目标码流是否为多描述码流。
在上述实施例中,描述了对多描述信号进行量化的示例性的技术手段,在进行目标码流编码时,采用随机种子对多描述信号进行量化,降低量化噪声。如可以采用设定编码装置的量化方式,打包方式进行编码,使得目标码流的码流格式与设定编码装置的码流格式兼容,可以采用设定编码装置的随机种子更新方法和多描述信号更新方法,以降低目标码流的量化噪声,提高压缩效率。
在一个实施例中,所述目标码流内包括量化信号所对应的随机种子。
例如,在编码目标码流时,若使用了随机种子,则可以将所使用的随机种子打包以得到目标码流,以便于接收端基于目标码流中的随机种子进行解码。随机种子在目标码流中 的位置此处不作限定,量化信号所对应的随机种子和量化信号可以打包至同一个目标码流中。
例如,一个多描述信号可以对应多个随机种子,如一个多描述信号可以对应一个初始随机种子和对初始随机种子更新后的随机种子。在将量化信号所对应随机种子打包至目标码流时,可以将初始随机种子和/或更新后的随机种子打包至目标码流中。
例如,在编码待编码信号时,待编码信号的第一个被量化的样点的初始随机种子可以为预设的数值。后续被量化的样点的初始随机种子的值可以为上一个被量化的样点更新后的随机种子。每个样点在进行量化时,均需要更新初始随机种子,在更新完后,还需要再次更新,以将再次更新后的随机种子作为下一样点的初始随机种子。
在一个实施例中,量化信号所对应的随机种子为初始随机种子。
例如,每个多描述信号均有一个初始随机种子,在对多描述信号进行量化时,需要更新初始随机种子,以基于更新后的随机种子更新多描述信号,然后再进行量化。更新后的随机种子可以再次被更新以用于作为下一样点的初始随机种子。
以下对本公开提供的编码方法进行示例性描述,本公开的编码方法可以认为是一种兼容设定编码装置的多描述编码方法,旨在提高抗丢包能力的前提下,解决多描述编码装置的码流结构与单码流编码装置,如Opus编码装置的码流结构不一致的问题。为描述方便,将Opus编码装置作为单码流编码装置为例进行说明,多描述编码装置的单个码流结构设计为和Opus保持一致。这样设计的多描述编码装置能够与Opus编码装置进行互通,很好的弥补多描述编码装置无法去单码流编码装置进行通信的不足。
图2b是本公开实施例提供的一种编码装置的结构示意图。本公开的噪声整形分析后可以输出待编码信号,本公开的编码方法可以集成在多描述编码噪声整形量化模块内。
例如,为了保持多描述编码方法获得的量化信号和单码流编码装置(例如:Opus)的量化信号一样,在对输入信号进行量化编码时,需要采用和单码流编码装置相同的量化方法(即与设定编码装置的量化方法)和相同的生成码流方法(即与设定编码装置的打包方法)。
示例性的,本公开提供一种兼容Opus编码装置的多描述量化方法:为表述方便,假设待量化残差信号(即待编码信号)中某一个样点r_Q10为例来说明量化过程,其余样点量化方法类似,不再赘述。随机种子为seed,量化过程中加入seed的目的是为了使量化误差更加白化。多描述编码个数为2个。为了保持与Opus编码装置兼容,每个多描述码流(即目标码流)的编码格式与Opus编码装置完全一致。
例如,编码端编码包括如下步骤:
1.初始化随机种子值,如seed=seed1=seed2=0。(即获取每个多描述信号对应的初始随机种子,如获取第一个样点对应的初始随机种子)。
其中seed1和seed2分别为多描述残差信号(即多描述信号)r1_Q10和r2_Q10对应的随机种子。初始值可以0,1,或者其他特定的值,需要注意的是,随机种子的初始值在解码端也会使用,因此需要保证编解码端保持一一对应关系。
2.根据残差信号r_Q10获得多描述残差信号r1_Q10和r2_Q10;
其中,多描述残差信号1:r1_Q10=r_Q10;多描述残差信号2:r2_Q10=r_Q10(即将待编码信号确定为待编码信号的多描述信号)。
3.更新随机种子的值,并翻转残差信号r1_Q10和r2_Q10的符号;
更新随机种子(即采用所述设定编码装置的随机种子更新方法,更新各所述多描述信号的初始随机种子)可以采用如下方式:
seed1=rand(seed1);
seed2=rand(seed2);
rand(x)=overflow32(907633515+x*196314165);
例如,rand为随机化函数,overflow32为对32位数溢出保护函数,如果加法的结果超过32位,则进行溢出保护。
例如,翻转残差信号(即采用所述设定编码装置的多描述信号更新方法,基于更新后的随机种子,更新所对应的多描述信号)可以采用如下方式。
例如,若多描述残差信号1的随机种子seed1小于0,翻转多描述残差信号1r1_Q10得到-r1_Q10,作为更新后的多描述残差信号1;否则不翻转多描述残差信号1,将r1_Q10作为更新后的多描述残差信号1。
例如,若多描述残差信号2的随机种子seed2小于0,翻转多描述残差信号2,得到-r2_Q10,作为更新后的多描述残差信号;否则不翻转多描述残差信号2,将r2_Q10作为更新后的多描述残差信号2。上述判断中与随机种子比较的0仅为示例,不作限定。
例如,seed1和seed2分别是r1_Q10和r2_Q10对应的随机种子。需要注意的是,这里seed1和seed2更新的方法(即随机种子更新方法),以及使用seed1和seed2更新残差信号的方法(即多描述信号更新方法)与Opus编码装置中保持一致,是为了确保生成码流与Opus完全一致,而且编解码质量也和Opus编码装置相当。
4.分别对2个多描述残差信号进行量化。具体的量化方法在此不做赘述,假设获得的最佳量化信号(即多描述信号对应的量化信号)分别为:rq1_pulse和rq2_pulse。
例如,根据r1_Q10,采用Opus中NSQ的量化方法(即采用设定编码装置的量化方式),获得2个候选量化信号rq11_pulse和rq12_pulse(即多描述信号r1_Q10对应的候选量化信 号集合中的候选量化信号)。r2_Q10采用r1_Q10同样的量化方法(即多描述信号r2_Q10采用设定编码装置的量化方式),获得两个候选量化信号rq21_pulse和rq22_pulse(即多描述信号r2_Q10对应的候选量化信号集合中的候选量化信号)。
例如,根据r1_Q10和r2_Q10的候选量化信号(即候选量化信号集合中的候选量化信号),获得r_Q10的4个候选量化信号(即候选量化信号组合):rq_pulse1,rq_pulse2,rq_pulse3和rq_pulse4。注意,这里r1_Q10和r2_Q10为经过符号翻转的信号,r_Q10没有经过符号翻转,为待编码信号。基于全局量化误差最小原则,从4个候选信号中获得r_Q10的最佳量化信号rq_pulse(即待编码信号的目标量化信号)。将rq_pulse对应的候选量化信号作为r1_Q10和r2_Q10的最佳量化信号(即每个多描述信号对应的量化信号)。例如:
rq_pulse1=(srq11_pulse+srq21_pulse)/2
rq_pulse2=(srq11_pulse+srq22_pulse)/2
rq_pulse3=(srq21_pulse+srq21_pulse)/2
rq_pulse4=(srq21_pulse+srq22_pulse)/2
例如,srq11、srq12、srq21、srq22分别为rq11_pulse、rq12_pulse、rq21_pulse、rq22_pulse翻转符号后的信号,翻转符号方法可以参考步骤5。
例如,基于全局量化误差最小原则,假设rq_pulse4的量化误差最小,则将rq_pulse4作为r_Q10的最佳量化信号rq_pulse(即从各所述候选量化信号组合的候选量化信号中,选取一个候选量化信号作为所述待编码信号的目标量化信号)。则构成rq_pulse4的rq21_pulse(即确定所述目标量化信号所使用的候选量化信号集合中的候选量化信号,又称目标量化信号对应的候选量化信号集合中的候选量化信号)作为r1_Q10的最佳量化信号,rq22_pulse(即确定所述目标量化信号所使用的候选量化信号集合中的候选量化信号,又称目标量化信号对应的候选量化信号集合中的候选量化信号)作为r2_Q10的最佳量化信号rq1_pulse和rq2_pulse。
5.依据量化信号rq1_pulse和rq2_pulse,得到更新,如翻转量化信号srq1_pulse和srq2_pulse的符号,可以通过如下方式(设定更新方法中的一种方式)得的更新后的量化信号。
例如,若seed1小于0,则将-rq1_pulse作为多描述信号1更新后的量化信号;否则将rq1_pulse作为多描述信号1更新后的量化信号。若seed2小于0,则将-rq2_pulse作为多描述信号2更新后的量化信号;否则将rq2_pulse作为多描述信号2更新后的量化信号。
6.根据srq1_pulse和srq2_pulse,获得真实量化信号值rq_pulse:rq_pulse=(srq1_pulse+srq2_pulse)/2,即将翻转量化信号的均值确定为真实量化信号值。此处rq_pulse为获得符号翻转前的信号。
例如,真实量化信号值可以在得到多描述信号的量化信号时使用,用于确定最终得到的量化信号。如基于真实量化信号值和待编码信号的大小确定量化误差是否符合要求,如真实量化信号值与待编码信号的差值,和每个多描述信号和对应的候选量化信号集合中的候选量化信号的差值,的加权和是否小于设定值或是否是所有多描述信号对应的加权和中的最小值,以确定最终的量化信号。
7.分别更新对应的随机种子seed值作为下一样点的初始随机种子。
更新手段如下:
seed1=overflow32(seed1+rq1_pulse);
seed2=overflow32(seed2+rq2_pulse)。
本实施例中在,多描述信号量化前更新随机种子可以是采用随机化函数更新。在多描述信号量化后更新随机种子,作为下一样点的初始随机种子时,可以基于32位数溢出保护函数更新。
8.将量化信号rq1_pulse和rq2_pulse按照Opus编码装置打包方式分别写入码流,即对各量化信号进行编码,生成所述待编码信号对应的目标码流。
9.将随机种子的初始值(即初始随机种子)写入码流,即目标码流。
本公开提供了一种通用的兼容码流设计方法:需要注意的是,上述实施例是以Opus编码装置编码量化方法为例进行的说明,实际上,上述量化方法可以推广到任意一个语音频编码装置、视频编码装置或者其他编码装置当中。换句话说,可以采用本公开提供的多描述量化方法将现有的任意一个单描述码流编码装置,例如:Opus、EVS、USAC、H.264或者H.265等编码装置改造成为多描述码流编码装置。为不失一般性,将以最为通用的一种实现方式来进行说明。
例如,为表述方便,假设待量化残差信号中某一个样点r_Q10为例来说明量化过程,其余样点量化方法类似,不再赘述。多描述编码个数假设为2个。为了保持与某个特定编码装置码流格式兼容,每个多描述码流的编码格式和编码方法与特定编码装置中的保持完全一致。
1.根据残差信号r_Q10获得多描述残差信号r1_Q10和r2_Q10,即将待编码信号确定为待编码信号的多描述信号。多描述残差信号1:r1_Q10=r_Q10;多描述残差信号2:r2_Q10= r_Q10。
2.分别对2个多描述残差信号进行量化。例如,量化方法只需要保证两个多描述残差信号采用量化方法与特定编码装置,即设定编码装置中量化方法保持一致即可,在此不做赘述,假设获得的最佳量化信号分别为:rq1_pulse和rq2_pulse。
例如,此示例仅以Opus为例进行说明,不同的设定编码装置量化方法可以不同,在量化时可以使用随机种子,也可以不使用随机种子,随机种子可以用于更新量化信号,也可以不使用随机种子实现对量化信号的更新,所更新的量化信号不作限定,可以为候选量化信号,也可以为最佳量化信号。
例如,根据r1_Q10,采用NSQ类似的量化方法(量化方法中可以使用随机种子,也可以不使用随机种子),获得2个候选量化信号rq11_pulse和rq12_pulse。r2_Q10采用r1_Q10同样的量化方法,获得两个候选量化信号rq21_pulse和rq22_pulse。
例如,根据r1_Q10和r2_Q10的候选量化信号,获得r_Q10的4个候选量化信号:rq_pulse1,rq_pulse2,rq_pulse3和rq_pulse4。基于全局量化误差最小原则,从4个候选量化信号中获得r_Q10的最佳量化信号rq_pulse。将rq_pulse对应的候选量化信号作为r1_Q10和r2_Q10的最佳量化信号。例如:
rq_pulse1=(srq11_pulse+srq21_pulse)/2
rq_pulse2=(srq11_pulse+srq22_pulse)/2
rq_pulse3=(srq21_pulse+srq21_pulse)/2
rq_pulse4=(srq21_pulse+srq22_pulse)/2
例如,srq1_pulse和srq2_pulse可以为rq1_pulse和rq2_pulse,或者srq1_pulse和srq2_pulse为更新后的rq1_pulse和rq2_pulse。更新手段可以为设定编码装置的更新方法。确定候选量化信号组合的公式不作限定,只要保证编解码端保持一致即可。
例如,待编码信号误差可以为待编码信号和候选量化信号组合的误差,如rq_pulse1与r_Q10的量化误差。多描述信号量化前后的量化误差可以为多描述信号与对应的候选量化信号集合中的候选量化信号的量化误差,如多描述信号r1_Q10和多描述信号量化后的候选量化信号集合中的候选量化信号rq11_pulse的量化误差。r2_Q10和rq21_pulse的量化误差。将三个量化误差的加权求和确定为该候选量化信号组合rq_pulse1的误差值,rq_pulse2,rq_pulse3和rq_pulse4依次执行如上处理,然后从各误差值中选取最小值。
例如,基于全局量化误差最小原则,假设rq_pulse4的量化误差最小,则将rq_pulse4 作为r_Q10的最佳量化信号rq_pulse。则构成rq_pulse4的rq21_pulse作为r1_Q10的最佳量化信号,rq22_pulse作为r2_Q10的最佳量化信号。
3.根据rq1_pulse和rq2_pulse,获得真实量化信号值rq_pulse。
rq_pulse=(srq1_pulse+srq2_pulse)/2。srq1_pulse和srq2_pulse可以为rq1_pulse和rq2_pulse,或者srq1_pulse和srq2_pulse为更新后的rq1_pulse和rq2_pulse。更新手段可以为设定编码装置的更新方法。
4.将量化信号rq1_pulse和rq2_pulse按照特定编码装置打包方式分别写入码流,即目标码流。
例如,本公开编码方法可以获得待编码信号x,根据待编码信号x获得至n个(n>=2)多描述编码待编码信号x1,...,xn,x1=x2=xn=x,即多描述信号;使用待编码信号x的编码方法对待编码信号x1,...,xn进行量化,获得量化信号xq1,...,xqn,即多描述信号对应的量化信号,其中整体量化信号xq=(xq1+...,+xqn)/n(即待编码信号对应的候选量化信号组合)。
例如,将量化信号xq1,...,xqn按照特定编码方法写入码流,即目标码流。
图3是本公开实施例所提供的一种解码方法的流程示意图,参见图3,本公开实施例适用于对目标码流进行解码的情况,该方法可以由解码装置执行,该装置可以通过软件和/或硬件的形式实现,可选的,通过电子设备来实现,该电子设备可以是移动终端、PC端或服务器等。实现编码方法的电子设备和实现解码方法的电子设备可以为不同的电子设备。本实施例尚未描述之处,参见上述实施例,此处不做赘述。
例如,本步骤可以从发送端,如执行图1和图2a所述方法的电子设备处获取目标码流。所述目标码流可以采用如本公开所提供的编码方法生成。如图3所示,所述方法包括S310和S320。
在S310中,从接收的目标码流中,获取量化信号。量化信号包括第一量化信号或第二量化信号中的至少一个。第一量化信号通过对第一多描述信号进行第一量化得到。第二量化信号通过对第二多描述信号进行第二量化得到。第一多描述信号和所述第二多描述信号根据同一信号得到。例如,同一信号可以为编码侧的待编码信号。
例如,从接收的目标码流中,获取至少一个量化信号。
例如,所述目标码流包括指示信息,所述指示信息指示所述目标码流是否为多描述码流。在指示为多描述码流时,若获取到一个量化信号,可以采用设定编码装置的解码方法进行解码。设定编码装置可以为设定单码流编码装置,如Opus编码装置。若获取到至少两个量化信号,可以结合多个量化信号进行解码。结合多个量化信号进行解码时,多个量化信号进行数学运算的公式可以与设定编码装置解码时所使用的不同。
例如,获取到目标码流后,可以从目标码流中获取量化信号。此处不对获取的手段进行具体限定,只要能获取到量化信号即可。如从量化信号打包至的位置处提取量化信号。例如,可以基于目标码流的帧头字节解码目标码流,以得到量化信号。目标码流基于多描述信号确定。一个待编码信号可以对应至少一个目标码流。一个待编码信号可以对应多个多描述信号。多个多描述信号对应的量化信号可以打包至至少一个目标码流中。
例如,所获取量化信号为多描述信号对应的量化信号。
例如,一个目标码流中可以包括至少一个量化信号,本步骤可以从接收到的至少一个目标码流中,获取每个目标码流中的至少一个量化信号。
例如,每个目标码流均可以包括指示信息,指示信息指示目标码流是否为多描述码流,若是,则可以结合多个量化信号解码得到解码信号。在仅获取到一个量化信号时,也可以仅基于该量化信号解码得到解码信号。
在一个实施例中,在多描述信号对应的量化信号编码至不同码流时,在获取一个目标码流后,可以获取该目标码流所包括的至少一个量化信号,并获取该目标码流内的指示信息,在指示为多描述码流后,继续获取后续码流,获取后续码流所包括的量化信号,然后结合所获取的量化信号进行解码,得到解码信号。
在一个实施例中,在多描述信号对应的量化信号编码至一个码流时,在获取目标码流后,可以获取该目标码流所包括的至少一个量化信号,并获取目标码流内的指示信息,在指示为多描述码流后,可以基于所获取的量化信号,获得解码信号。
在S320中,基于第一量化信号或第二量化信号中的至少一个,获得解码信号。例如,基于所述指示信息和所获取量化信号,获得解码信号。
在一些实施例中,目标码流包括指示信息,指示信息指示目标码流是否为根据至少两个多描述信号生成的码流。例如,基于第一量化信号或第二量化信号中的至少一个以及指示信息,获得解码信号。
在一些实施例中,指示信息指示目标码流为根据至少两个多描述信号生成的码流,获取的量化信号的个数为至少两个。
例如,在指示信息指示不为多描述码流时,可以认为是未采用本公开编码方法编码得到的码流,则解码手段不作限定。
例如,在指示信息指示为多描述码流时,可以对所获取量化信号进行解码得到解码信号。
在一些实施例中,根据第一量化信号和第二量化信号的组合,得到目标信号;基于目标信号,获得解码信号。
例如,根据第一量化信号和第二量化信号的均值或加权和,确定目标信号。
例如,在获取到至少一个量化信号时,可以将量化信号进行综合处理,得到解码信号。解码信号可以为最终解码信号,如解码后的音频或视频。综合处理包括进行数学运算,如均值或加权和。
示例性的,在量化信号为一个时,可以根据量化信号,采用设定解码方法获取解码信号。设定解码方法可以基于设定编码装置对应的设定解码装置确定。设定解码方法包括设定更新方法,设定更新方法可以用于获取更新后的量化信号。量化信号的更新手段与编码装置侧更新量化信号的手段相同。在采用设定更新方法更新量化信号后可以对量化信号进行数学运算得到解码信号。
在一个实施例中,在量化信号为至少两个时,将量化信号的均值确定为目标信号。基于目标信号获得解码信号。
在一个实施例中,在量化信号为至少两个时,可以是将量化信号或更新后的量化信号进行数学运算,得到目标信号,如采用设定更新方法获取更新后的量化信号,将量化信号的均值确定为目标信号。然后基于目标信号获得解码信号。
例如,目标信号可以为综合一个或多个目标码流确定的量化信号。此处不对目标信号的确定手段进行限定。如可以将至少两个量化信号(或更新后的量化信号)的均值确定为目标信号,又如将至少两个量化信号(或更新后的量化信号)的加权结果确定为目标信号,如将至少两个量化信号(或更新后的量化信号)分别乘以所对应的系数(各量化信号对应的系数之和可以为1),并将所有乘积的加和确定为目标信号。确定目标信号的手段只要保 证,与编码端确定候选量化信号组合的技术手段相同即可。
本公开实施例中,在接收到待编码信号的目标码流后,可以基于每个目标码流所包括的量化信号,得到解码信号,每个目标码流均能够解码,接收的目标码流越多解码质量越高,提高了抗丢包能力。此外,目标码流可以为参照设定编码装置编码得到,提高了目标码流的使用场景,能够使得编码装置与设定编码装置互通。在编码装置与设定编码装置互通时,可以基于目标码流内包括的指示信息指示所采用的解码方法。在指示信息指示目标码流为单描述码流时,可以采用设定编码装置对应的设定解码装置的解码方法进行解码;在指示信息指示目标码流为多描述码流时,解码装置可以结合多个量化信号进行解码,在仅获取到一个量化信号时,可以直接对该量化信号进行解码,解码时可以更新量化信号,基于更新后量化信号得到解码信号,对该量化信号的解码方法可以与设定编码装置对应的设定解码装置的解码方法相同。
在一些实施例中,从目标码流中,获取量化信号所对应的随机种子,用于得到目标信号。
在一个实施例中,解码方法,还包括:从接收的目标码流中,获取量化信号所对应的随机种子。
例如,本实施例还可以从目标码流中获取随机种子。获取多描述信号所对应随机种子的手段不作限定,可以从随机种子所在位置处获取。
例如,获取到随机种子后,可以基于所获取随机种子对目标码流进行解码,得到解码信号。
例如,量化信号所对应的随机种子为初始随机种子。
在一些实施例中,更新第一量化信号所对应的第一随机种子,得到更新后的第一随机种子,更新第二量化信号所对应的第二随机种子,得到更新后的第二随机种子;基于更新后的第一随机种子更新第一量化信号,以得到更新的第一量化信号,基于更新后的第二随机种子更新第二量化信号,以得到更新的第二量化信号;根据更新的第一量化信号和更新的第二量化信号的均值或加权和,确定目标信号;基于目标信号,获得解码信号。
例如,第一量化信号所对应的第一随机种子包括初始的第一随机种子,第二量化信号所对应的第二随机种子包括初始的第二随机种子。例如,第一量化信号所对应的第一随机种子可以为初始的第一随机种子,第二量化信号所对应的第二随机种子可以为初始的第二随机种子。
在一个实施例中,所述基于所述指示信息和所获取量化信号,获得解码信号,包括:更新每个量化信号所对应的随机种子;在所述指示信息指示所述目标码流为多描述码流,且在所获取量化信号的个数为至少两个时,基于每个量化信号更新后的随机种子更新所对应量化信号,得到更新的量化信号;将各更新的量化信号的均值,确定为目标信号;基于所述目标信号获得解码信号。
例如,解码时,由于获取的可以是量化信号对应的初始随机种子,在得到初始随机种子后,可以基于设定编码装置的随机种子更新方法,更新每个量化信号所对应的随机种子。
例如,若获取的是量化信号对应的更新后的随机种子,则解码端可以不执行更新量化信号所对应的随机种子的操作。
例如,在更新随机种子后,可以基于每个量化信号的随机种子,更新,如翻转所述量化信号。如,可以基于随机种子的大小,确定是否翻转量化信号。在随机种子大于零时,可以不翻转量化信号。在随机种子不大于零时,可以翻转量化信号。
例如,得到更新的量化信号后,可以将更新的量化信号的均值确定为目标信号。得到目标信号后可以基于目标信号获得解码信号,基于目标信号获得解码信号的具体技术手段此处不作限定。
图4是本公开实施例所提供的又一种解码方法的流程示意图,本实施例细化了得到解码信号的步骤,参见图4,所述方法包括S410~S430。
例如,所述目标码流采用如本公开所提供的编码方法生成。
在S410中,从接收的目标码流中,获取至少一个量化信号。
例如,目标码流基于多描述信号确定。在基于多描述信号编码得到目标码流时,可以基于本公开实施例提供的编码方法编码。
在S420中,在所述指示信息指示所述目标码流为多描述码流,且在所获取量化信号个数为至少两个时,将所述量化信号进行组合,得到目标信号。
例如,本步骤可以将所述量化信号进行组合,得到目标信号。组合方式不作限定,编解码端的组合方式可以一样,也可以不一样。如与编码端基于候选量化信号集合中的候选量化信号进行组合,得到候选量化信号组合时,所使用的组合方式相同。
在一个实施例中,在获取量化信号后,直接将量化信号的均值确定为目标信号。
在一个实施例中,在获取量化信号后,将量化信号的加权和,确定为目标信号。各量化信号的权重系数的加和值可为1。
在一个实施例中,本步骤还可以采用设定更新方法更新量化信号,以基于更新后的量化信号确定目标信号,此处不对设定解码方法更新量化信号的手段进行限定,可以参见设定编码装置对应的设定解码装置的解码方法。
例如,在更新量化信号后,可以将更新后的量化信号的均值确定为目标信号。
在S430中,基于所述目标信号获得解码信号。
例如,本公开实施例获得解码信号的目标信号可以综合多个目标码流所包括的量化信号,提高了解码质量和抗丢包能力,此外,目标码流可以基于设定编码装置的编码方式编码得到,提高了目标码流的应用场景,不仅能使用专用的解码装置解码,还可以使用设定解码装置解码。其中,专用解码装置可以认为是专门用于解码新型编码装置生成目标码流的解码装置。新型编码装置可以认为是执行本公开编码方法的编码装置。
以下对本公开提供的解码方法进行示例性说明,针对兼容Opus编码装置的解码方法遍历样点进行解码操作如下。
例如,第一种为解码装置收到2个多描述码流,即目标码流;第二种为解码装置只收到1个多描述码流。
例如,针对第一种,从多描述码流中获得量化信号(即多描述信号对应的量化信号)rq1_pulse和rq2_pulse,和随机种子初始值(即多描述信号所对应的随机种子)seed1和seed2,其中seed1为多描述码流1中量化信号对应的随机种子初始值,seed2为多描述码流2中量化信号对应的随机种子初始值。
1.更新随机种子seed1和seed2的值,即采用所述设定编码装置的随机种子更新方法,更新每个量化信号所对应的随机种子,即量化信号所对应多描述信号所对应的随机种子;
seed1=rand(seed1);
seed2=rand(seed2);
rand(x)=overflow32(907633515+x*196314165)。
2.根据随机种子seed1,seed2,量化信号rq1_pulse和rq2_pulse获得量化信号rq_pulse,即在所述指示信息指示所述目标码流为多描述码流,且在所获取量化信号的个数为至少两个时,基于每个量化信号更新后的随机种子更新所对应量化信号,得到更新的量化信号。
例如,若seed1小于0,则将-rq1_pulse确定为多描述信号1更新后的量化信号;否则将rq1_pulse确定为多描述信号1更新后的量化信号。
例如,若seed2小于0,则将-rq2_pulse确定为多描述信号2更新后的量化信号;否则将rq2_pulse确定为多描述信号2更新后的量化信号。
例如,在所述目标码流的个数为至少两个时,基于每个量化信号更新后的随机种子翻转所对应量化信号,得到更新的量化信号;rq_pulse=(srq1_pulse+srq2_pulse)/2,即将各更新的量化信号的均值,确定为目标信号。
3.分别更新对应的随机种子seed值。seed1=overflow32(seed1+rq1_pulse);seed2=overflow32(seed2+rq2_pulse)。
例如,其余样点的解码方法,均在上一样点更新后seed的基础上重复上述解码过程。
例如,针对第二种,解码装置只收到1个多描述码流(Opus解码装置解码单个多描述码流):考虑到解码装置收到的可能是多描述码流1或者多描述码流2,为了不失一般性,这里假设从某个多描述码流中获得的量化信号为rq1_pulse,和随机种子初始值seed1。由于2个多描述码流的格式和脉冲量化方法完全相同,因此,多描述码流的解码方法完全一致。且解码方法与Opus解码装置完全一致。
例如,解码过程如下:更新随机种子seed1的值:seed1=rand(seed1);rand(x)=overflow32(907633515+x*196314165)。
例如,根据随机种子seed和量化信号rq1_pulse获得最终量化信号rq_pulse:若seed1小于0,则将-rq1_pulse作为最终量化信号;否则将rq1_pulse作为最终量化信号。
例如,更新随机种子seed1值:seed1=overflow32(seed1+rq1_pulse)。
例如,针对通用的兼容码流,对应两种解码方法:第一种为解码装置收到2个多描述码流;第二种为解码装置只收到1个多描述码流。
例如,第一种为解码装置收到2个多描述码流:从多描述码流(即目标码流)中获得量化信号rq1_pulse和rq2_pulse,即从接收的目标码流中,获取至少一个量化信号。
例如,根据量化信号rq1_pulse和rq2_pulse获得量化信号rq_pulse,即在所述目标码流的个数为至少两个时,基于所对应的至少两个量化信号,获得目标信号:rq_pulse=(srq1_pulse+srq2_pulse)/2。srq1_pulse和srq2_pulse可以对rq1_pulse和rq2_pulse,采用设定更新方法更新后的量化信号。
例如,需要注意的是,rq1_pulse和rq2_pulse也可以不进行更新,rq_pulse=(rq1_pulse+rq2_pulse)/2。
例如,第二种为解码装置只收到1个多描述码流(Opus解码装置解码单个多描述码流):考虑到解码装置收到的可能是多描述码流1或者多描述码流2,为了不失一般性,这里假设从某个多描述码流中获得的量化信号(即多描述信号对应的量化信号)为rq1_pulse,因此,单个多描述码流的解码方法与特定编码装置的解码方法完全一致。
例如,解码过程如下:
1.从码流获得量化信号rq1_pulse;
2.根据量化信号rq1_pulse获得最终量化信号rq_pulse,即目标信号。如将量化信号rq1_pulse作为最终量化信号rq_pulse。
例如,本公开解码方法可以收到至少一个多描述码流,即目标码流。从n(n>=2)个多描述码流中获得m(m>=1,m<=n)个多描述码流,从m个多描述码流中获得量化信号xq1,...xqm,即多描述信号对应的量化信号;依据量化信号xq1,...,xqm,获得重建信号xq=(xq1+...+xqm)/m,即目标信号;根据重建信号获得解码语音,即解码信号。
图5是本公开实施例所提供的一种编码装置装置的结构示意图,如图5所示,所述装 置包括:确定模块510,用于将待编码信号确定为待编码信号的多描述信号,所述多描述信号的个数为至少两个;量化模块520,用于分别对各所述多描述信号进行量化,得到候选量化信号集合;根据各所述候选量化信号集合,得到每个多描述信号对应的量化信号;编码模块530,用于对各量化信号进行编码,生成所述待编码信号的目标码流,所述目标码流包括指示信息,所述指示信息指示所述目标码流是否为多描述码流。
在一些实施例中,编码装置包括:确定模块51,用于根据待编码信号,得到至少两个多描述信号,至少两个多描述信号包括第一多描述信号和第二多描述信号;量化模块52,用于对第一多描述信号进行第一量化,得到第一候选量化信号集合,对第二多描述信号进行第二量化,得到第二候选量化信号集合,根据第一候选量化信号集合和第二候选量化信号集合,得到第一多描述信号对应的第一量化信号和第二多描述信号对应的第二量化信号;编码模块530,用于对第一量化信号和第二量化信号进行编码,生成待编码信号对应的目标码流。
在一些实施例中,目标码流包括指示信息,指示信息指示目标码流是否为根据至少两个多描述信号生成的码流。
在一些实施例中,量化模块52根据第一多描述信号对应的第一随机种子,对第一多描述信号进行第一量化,根据第二多描述信号对应的第二随机种子,对第二多描述信号进行第二量化。
在一些实施例中,第一随机种子包括初始的第一随机种子和更新后的第一随机种子。量化模块52获取所述初始的第一随机种子,更新初始的第一随机种子,得到更新后的第一随机种子;基于更新后的第一随机种子,更新第一多描述信号,以得到更新后的第一多描述信号,对更新后的第一多描述信号进行第一量化,得到第一候选量化信号集合。
在一些实施例中,第二随机种子包括初始的第二随机种子和更新后的第二随机种子。量化模块52获取初始的第二随机种子,更新初始的第二随机种子,得到更新后的第二随机种子;基于更新后的第二随机种子,更新第二多描述信号,以得到更新后的第二多描述信号;对更新后的第二多描述信号进行第二量化,得到第二候选量化信号集合。
在一些实施例中,量化模块52根据第一候选量化信号集合和第二候选信号集合,得到待编码信号的多个候选量化信号组合,每一个候选量化信号组合包括的多个候选量化信号根据第一候选量化信号集合中的第一候选量化信号和第二候选量化信号集合中的第二候选量化信号得到,从多个候选量化信号组合中,选取一个候选量化信号组合作为待编码信号的目标量化信号组合;根据目标量化信号组合对应的第一候选量化信号,确定第一量化信号,根据目标量化信号组合对应的第二候选量化信号,确定第二量化信号。
在一些实施例中,量化模块52将多个候选量化信号组合中量化误差最小的,选取为 目标量化信号组合。
在一些实施例中,目标码流内包括第一随机种子和第二随机种子。
在一些实施例中,目标码流内包括初始的第一随机种子和初始的第二随机种子。
本公开实施例所提供的技术方案,本公开直接将待编码信号确定为待编码信号的至少两个多描述信号,使得对每个多描述信号编码均是对待编码信号的编码,这种多描述编码方式,提高了编码装置的抗丢包能力。在编码得到目标码流时,目标码流的码流格式与设定编码装置的码流格式可以相同,实现了本公开编码装置与设定编码装置的兼容。相关技术中的编码装置和解码装置对应存在,相互确定对应的编解码方法即可,无需考虑兼容性。本公开由于考虑了兼容性,故引入指示信息,本公开编码装置与设定编码装置互通时,在目标码流中包括的指示信息可以用于指示目标码流是否为多描述码流,以指示编码装置的解码方法,确保了本公开编码装置与设定编码装置的兼容性。
在一个实施例中,量化模块520用于:获取每个多描述信号对应的初始随机种子,更新各所述多描述信号的初始随机种子;基于更新后的随机种子,更新所对应的多描述信号;分别对各翻转后的多描述信号进行量化,得到候选量化信号集合。
在一个实施例中,在一个实施例中,量化模块520用于:根据各所述候选量化信号集合,得到待编码信号的多个候选量化信号组合,所候选量化信号组合为不同多描述信号所对应候选量化信号集合中的候选量化信号的组合;从各所述候选量化信号组合中,按照设定选取方法选取一个候选量化信号作为所述待编码信号的目标量化信号,所述设定选取方法包括将各所述候选量化信号组合中量化误差最小的作为所述待编码信号的目标量化信号的方法;将所述目标量化信号对应的候选量化信号集合中的候选量化信号,确定为每个多描述信号对应的量化信号。
在一个实施例中,所述目标码流内包括量化信号所对应的随机种子。
在一个实施例中,量化信号所对应的随机种子为初始随机种子。
本公开实施例所提供的编码装置可执行本公开任意实施例所提供的编码方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的名称也只是为了便于相互区分,并不用于限制本公开实施例的保护范围。
图6是本公开实施例所提供的一种解码装置的结构示意图,如图6所示,所述装置包括:第一获取模块610,用于从接收的目标码流中,获取至少一个量化信号,所述目标码流包括指示信息,所述指示信息指示所述目标码流是否为多描述码流;第二获取模块620,用于基于所述指示信息和所获取量化信号,获得解码信号。
在一些实施例中,解码装置包括:第一获取模块61,用于从接收的目标码流中,获取量化信号,量化信号包括第一量化信号或第二量化信号中的至少一个,第一量化信号通过 对第一多描述信号进行第一量化得到,第二量化信号通过对第二多描述信号进行第二量化得到,第一多描述信号和第二多描述信号根据同一信号得到;第二获取模块62,用于基于第一量化信号或第二量化信号中的至少一个,获得解码信号。
在一些实施例中,目标码流包括指示信息,指示信息指示目标码流是否为根据至少两个多描述信号生成的码流。第二获取模块62基于第一量化信号或第二量化信号中的至少一个以及指示信息,获得解码信号。
在一些实施例中,指示信息指示目标码流为根据至少两个多描述信号生成的码流,获取的量化信号的个数为至少两个。
在一些实施例中,第二获取模块62根据第一量化信号和第二量化信号的组合,得到目标信号,基于目标信号,获得解码信号。
在一些实施例中,第二获取模块62根据第一量化信号和第二量化信号的均值或加权和,确定目标信号。
在一些实施例中,第二获取模块62从目标码流中,获取量化信号所对应的随机种子,用于得到目标信号。
在一些实施例中,第二获取模块62更新第一量化信号所对应的第一随机种子,得到更新后的第一随机种子,更新第二量化信号所对应的第二随机种子,得到更新后的第二随机种子,基于更新后的第一随机种子更新第一量化信号,以得到更新的第一量化信号,基于更新后的第二随机种子更新第二量化信号,以得到更新的第二量化信号,根据更新的第一量化信号和更新的第二量化信号的均值或加权和,确定目标信号;基于目标信号,获得解码信号。
在一些实施例中,第一量化信号所对应的第一随机种子包括初始的第一随机种子,第二量化信号所对应的第二随机种子包括初始的第二随机种子。
本公开实施例所提供的技术方案,在接收到待编码信号的目标码流后,可以基于每个目标码流所包括的量化信号,得到解码信号,每个目标码流均能够解码,接收的目标码流越多解码质量越高,提高了抗丢包能力。此外,目标码流为参照设定编码装置编码得到,提高了目标码流的使用场景,能够使得编码装置与设定编码装置互通。在编码装置与设定编码装置互通时,可以基于目标码流内包括的指示信息指示所采用的解码方法。在指示信息指示目标码流为单描述码流时,可以采用设定编码装置对应的设定解码装置的解码方法进行解码;在指示信息指示目标码流为多描述码流时,解码装置可以结合多个量化信号进行解码,在仅获取到一个量化信号时,可以直接对该量化信号进行解码,解码时可以更新量化信号,基于更新后量化信号得到解码信号,对该量化信号的解码方法可以与设定编码装置对应的设定解码装置的解码方法相同。
在一个实施例中,第二获取模块620,包括:组合单元,用于在所述指示信息指示所述目标码流为多描述码流,且在所获取量化信号个数为至少两个时,将所述量化信号进行组合,得到目标信号;获得单元,用于基于所述目标信号获得解码信号。
在一个实施例中,组合单元,用于:将所述量化信号的均值或加权和,确定为目标信 号。
在一个实施例中,该装置还包括,第三获取模块,用于:从接收的目标码流中,获取量化信号所对应的随机种子。
在一个实施例中,第二获取模块620,用于:更新每个量化信号所对应的随机种子;在所述指示信息指示所述目标码流为多描述码流,且在所获取量化信号的个数为至少两个时,基于每个量化信号更新后的随机种子更新所对应量化信号,得到更新的量化信号;将各更新的量化信号的均值,确定为目标信号;基于所述目标信号获得解码信号。
本公开实施例所提供的解码装置可执行本公开任意实施例所提供的解码方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的名称也只是为了便于相互区分,并不用于限制本公开实施例的保护范围。
图7是本公开实施例所提供的一种电子设备的结构示意图。下面参考图7,其示出了适于用来实现本公开实施例的电子设备(例如图7中的终端设备或服务器)700的结构示意图。
电子设备700,包括:一个或多个处理装置701;存储装置708,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理装置701执行,使得所述一个或多个处理装置701实现如本公开实施例所述的编码方法和/或解码方法。
本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700可以包括处理装置(例如中央处理器、图形处理器等)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储装置708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有电子设备700操作所需的各种程序和数据。处理装置701、ROM 702以及RAM 703通过总线704彼此相连。编辑/输出(I/O)接口705也连接至总线704。
通常,以下装置可以连接至I/O接口705:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置706;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置707;包括例如磁带、硬盘等的存储装置708;以及通信装置709。通信装置709可以允许电子设备700与其他设备进行无线或有线通信以交换数据。虽然图7示出了具有各种装置的电子设备700,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置709从网络上被下载和安装,或者从存储装置708被安装,或者从ROM 702被安装。在该计算机程序被处理装置701执行时,执行本公开实施例的方法中限定的上述功能。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
本公开实施例提供的电子设备与上述实施例提供的编码方法和/或解码方法属于同一 发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。
本公开实施例提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例所提供的编码方法和/或解码方法。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。
计算机存储介质可以为计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行如本公开提供的方法。
计算机可读存储介质例如可以是,但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText Transfer Protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:将待编码信号确定为待编码信号的多描述信号,所述多描述信号的个数为至少两个;分别对各所述多描述信号进行量化,得到候选量化信号集合;根据各所述候选量化信号集合,得到每个多描述信号对应的量化信号;对各量化信号进行编码,生成所述待编码信号的目标码流,所述目标码流包括指示信息,所述指示信息指示所述目标码流是否为多描述码流。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:从接收的目标码流中,获取至少一个量化信号,所述目标码流包括指示信息,所述指示信息指示所述目标码流是否为多描述码流;基于所述指示信息和所获取量化信号,获得解码信号。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN) 或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块或单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取模块还可以被描述为“多描述信号获取模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (21)

  1. 一种编码方法,包括:
    根据待编码信号,得到至少两个多描述信号,所述至少两个多描述信号包括第一多描述信号和第二多描述信号;
    对所述第一多描述信号进行第一量化,得到第一候选量化信号集合,对所述第二多描述信号进行第二量化,得到第二候选量化信号集合;
    根据所述第一候选量化信号集合和所述第二候选量化信号集合,得到所述第一多描述信号对应的第一量化信号和所述第二多描述信号对应的第二量化信号;
    对所述第一量化信号和所述第二量化信号进行编码,生成所述待编码信号对应的目标码流。
  2. 根据权利要求1所述的编码方法,其中,所述目标码流包括指示信息,所述指示信息指示所述目标码流是否为根据所述至少两个多描述信号生成的码流。
  3. 根据权利要求1或2所述的编码方法,其中,所述对所述第一多描述信号进行第一量化,得到第一候选量化信号集合,对所述第二多描述信号进行第二量化,得到第二候选量化信号集合包括:
    根据所述第一多描述信号对应的第一随机种子,对所述第一多描述信号进行第一量化,根据所述第二多描述信号对应的第二随机种子,对所述第二多描述信号进行第二量化。
  4. 根据权利要求3所述的编码方法,其中,所述第一随机种子包括初始的第一随机种子和更新后的第一随机种子,
    所述根据所述第一多描述信号对应的第一随机种子,对所述第一多描述信号进行第一量化包括:
    获取所述初始的第一随机种子;
    更新所述初始的第一随机种子,得到所述更新后的第一随机种子;
    基于所述更新后的第一随机种子,更新所述第一多描述信号,以得到更新后的第一多描述信号;
    对所述更新后的第一多描述信号进行第一量化,得到所述第一候选量化信号集合。
  5. 根据权利要求3所述的编码方法,其中,所述第二随机种子包括初始的第二随机种子和更新后的第二随机种子,
    所述根据所述第二多描述信号对应的第二随机种子,对所述第二多描述信号进行第二 量化包括:
    获取所述初始的第二随机种子;
    更新所述初始的第二随机种子,得到所述更新后的第二随机种子;
    基于所述更新后的第二随机种子,更新所述第二多描述信号,以得到更新后的第二多描述信号;
    对所述更新后的第二多描述信号进行第二量化,得到所述第二候选量化信号集合。
  6. 根据权利要求1-5任一项所述的编码方法,其中,所述根据所述第一候选量化信号集合和所述第二候选量化信号集合,得到所述第一多描述信号对应的第一量化信号和所述第二多描述信号对应的第二量化信号,包括:
    根据所述第一候选量化信号集合和所述第二候选信号集合,得到所述待编码信号的多个候选量化信号组合,每一个候选量化信号组合包括的多个候选量化信号根据所述第一候选量化信号集合中的第一候选量化信号和所述第二候选量化信号集合中的第二候选量化信号得到;
    从所述多个候选量化信号组合中,选取一个候选量化信号组合作为所述待编码信号的目标量化信号组合;
    根据所述目标量化信号组合对应的第一候选量化信号,确定所述第一量化信号,根据所述目标量化信号组合对应的第二候选量化信号,确定所述第二量化信号。
  7. 根据权利要求6所述的编码方法,其中,所述从所述多个候选量化信号组合中,选取一个候选量化信号组合作为所述待编码信号的目标量化信号组合包括:
    将所述多个候选量化信号组合中量化误差最小的,选取为所述目标量化信号组合。
  8. 根据权利要求3-7任一项所述的编码方法,其中,所述目标码流内包括所述第一随机种子和所述第二随机种子。
  9. 根据权利要求8所述的编码方法,其中,所述目标码流内包括初始的第一随机种子和初始的第二随机种子。
  10. 一种解码方法,包括:
    从接收的目标码流中,获取量化信号,所述量化信号包括第一量化信号或第二量化信号中的至少一个,所述第一量化信号通过对第一多描述信号进行第一量化得到,所述第二量化信号通过对第二多描述信号进行第二量化得到,所述第一多描述信号和所述第二多描述信号根据同一信号得到;
    基于所述第一量化信号或所述第二量化信号中的至少一个,获得解码信号。
  11. 根据权利要求10所述的解码方法,其中,所述目标码流包括指示信息,所述指示 信息指示所述目标码流是否为根据至少两个多描述信号生成的码流,
    所述基于所述第一量化信号或所述第二量化信号中的至少一个,获得解码信号包括:
    基于所述第一量化信号或所述第二量化信号中的至少一个以及所述指示信息,获得所述解码信号。
  12. 根据权利要求11所述的解码方法,其中,所述指示信息指示所述目标码流为根据至少两个多描述信号生成的码流,获取的所述量化信号的个数为至少两个。
  13. 根据权利要求12所述的解码方法,其中,所述基于所述第一量化信号或所述第二量化信号中的至少一个以及所述指示信息,获得解码信号,包括:
    根据所述第一量化信号和所述第二量化信号的组合,得到目标信号;
    基于所述目标信号,获得所述解码信号。
  14. 根据权利要求13所述的解码方法,其中,所述根据所述第一量化信号和所述第二量化信号的组合,得到目标信号,包括:
    根据所述第一量化信号和所述第二量化信号的均值或加权和,确定所述目标信号。
  15. 根据权利要求10-14任一项所述的解码方法,还包括:
    从所述目标码流中,获取所述量化信号所对应的随机种子,用于得到所述目标信号。
  16. 根据权利要求12-15任一项所述的解码方法,其中,所述基于所述第一量化信号或所述第二量化信号中的至少一个以及所述指示信息,获得所述解码信号包括:
    更新所述第一量化信号所对应的第一随机种子,得到更新后的第一随机种子,更新所述第二量化信号所对应的第二随机种子,得到更新后的第二随机种子;
    基于所述更新后的第一随机种子更新所述第一量化信号,以得到更新的第一量化信号,基于所述更新后的第二随机种子更新所述第二量化信号,以得到更新的第二量化信号;
    根据所述更新的第一量化信号和所述更新的第二量化信号的均值或加权和,确定所述目标信号;
    基于所述目标信号,获得所述解码信号。
  17. 根据权利要求16所述的编码方法,其中,所述第一量化信号所对应的第一随机种子包括初始的第一随机种子,所述第二量化信号所对应的第二随机种子包括初始的第二随机种子。
  18. 一种编码装置,包括:
    确定模块,用于根据待编码信号,得到至少两个多描述信号,所述至少两个多描述信号包括第一多描述信号和第二多描述信号;
    量化模块,用于对所述第一多描述信号进行第一量化,得到第一候选量化信号集合, 对所述第二多描述信号进行第二量化,得到第二候选量化信号集合,根据所述第一候选量化信号集合和所述第二候选量化信号集合,得到所述第一多描述信号对应的第一量化信号和所述第二多描述信号对应的第二量化信号;
    编码模块,用于对所述第一量化信号和所述第二量化信号进行编码,生成所述待编码信号对应的目标码流。
  19. 一种解码装置,包括:
    第一获取模块,用于从接收的目标码流中,获取量化信号,所述量化信号包括第一量化信号或第二量化信号中的至少一个,所述第一量化信号通过对第一多描述信号进行第一量化得到,所述第二量化信号通过对第二多描述信号进行第二量化得到,所述第一多描述信号和所述第二多描述信号根据同一信号得到;
    第二获取模块,用于基于所述第一量化信号或所述第二量化信号中的至少一个,获得解码信号。
  20. 一种电子设备,包括:
    一个或多个处理装置;
    存储装置,用于存储一个或多个程序,
    当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现如权利要求1-9中任一所述的编码方法,或权利要求10-17中任一所述的解码方法。
  21. 一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-9中任一所述的编码方法,或权利要求10-17中任一所述的解码方法。
PCT/CN2023/122452 2022-09-29 2023-09-28 编码、解码方法、编码装置、解码装置、电子设备和存储介质 WO2024067777A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211204121.9A CN117831545A (zh) 2022-09-29 2022-09-29 编码、解码方法、编码器、解码器、电子设备和存储介质
CN202211204121.9 2022-09-29

Publications (1)

Publication Number Publication Date
WO2024067777A1 true WO2024067777A1 (zh) 2024-04-04

Family

ID=90476273

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/122452 WO2024067777A1 (zh) 2022-09-29 2023-09-28 编码、解码方法、编码装置、解码装置、电子设备和存储介质

Country Status (2)

Country Link
CN (1) CN117831545A (zh)
WO (1) WO2024067777A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040179608A1 (en) * 2003-02-27 2004-09-16 Intel Corporation Multiple-description coding methods and apparatus
CN101262615A (zh) * 2008-04-23 2008-09-10 哈尔滨工程大学 一种基于残差补偿的多描述视频编码的方法
CN102045560A (zh) * 2009-10-23 2011-05-04 华为技术有限公司 一种视频编解码方法及设备
WO2020016562A1 (en) * 2018-07-15 2020-01-23 V-Nova International Ltd Low complexity enhancement video coding
CN113660486A (zh) * 2021-07-28 2021-11-16 阿里巴巴(中国)有限公司 图像编码、解码、重建、分析方法、系统及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040179608A1 (en) * 2003-02-27 2004-09-16 Intel Corporation Multiple-description coding methods and apparatus
CN101262615A (zh) * 2008-04-23 2008-09-10 哈尔滨工程大学 一种基于残差补偿的多描述视频编码的方法
CN102045560A (zh) * 2009-10-23 2011-05-04 华为技术有限公司 一种视频编解码方法及设备
WO2020016562A1 (en) * 2018-07-15 2020-01-23 V-Nova International Ltd Low complexity enhancement video coding
CN113660486A (zh) * 2021-07-28 2021-11-16 阿里巴巴(中国)有限公司 图像编码、解码、重建、分析方法、系统及电子设备

Also Published As

Publication number Publication date
CN117831545A (zh) 2024-04-05

Similar Documents

Publication Publication Date Title
US9275644B2 (en) Devices for redundant frame coding and decoding
CN111246209B (zh) 自适应编码方法、装置、电子设备及计算机存储介质
US8279947B2 (en) Method, apparatus and system for multiple-description coding and decoding
WO2023030348A1 (zh) 图像生成方法、装置、设备及存储介质
CN110019865B (zh) 海量图片处理方法、装置、电子设备及存储介质
US20240045641A1 (en) Screen sharing display method and apparatus, device, and storage medium
WO2023273610A1 (zh) 语音识别方法、装置、介质及电子设备
CN114861790B (zh) 联邦学习压缩通信的优化方法、系统及装置
US10630747B2 (en) Integer multiple description coding system
CN114067800B (zh) 语音识别方法、装置和电子设备
WO2024067777A1 (zh) 编码、解码方法、编码装置、解码装置、电子设备和存储介质
US20130142446A1 (en) Scalable compression using jpegt-ls
CN115103191A (zh) 图像处理方法、装置、设备及存储介质
CN109474826B (zh) 图片压缩方法、装置、电子设备及存储介质
KR20210055278A (ko) 하이브리드 비디오 코딩 방법 및 시스템
CN113096670B (zh) 音频数据的处理方法、装置、设备及存储介质
CN116863949A (zh) 通信接收方法及其装置
US11792408B2 (en) Transcoder target bitrate prediction techniques
WO2024067771A1 (zh) 编码方法、解码方法、编码装置、解码装置、电子设备和存储介质
CN112992161A (zh) 音频编码方法、音频解码方法、装置、介质及电子设备
WO2023169303A1 (zh) 编解码方法、装置、设备、存储介质及计算机程序产品
CN116760992B (zh) 视频编码、认证、加密和传输方法、装置、设备和介质
US20240095964A1 (en) Encoding and decoding method, apparatus, and device, storage medium, computer program, and computer program product
CN117119190A (zh) 视频处理方法、装置、电子设备和存储介质
WO2024055829A1 (zh) 音频编码方法、装置、设备及存储介质

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: 23871002

Country of ref document: EP

Kind code of ref document: A1