CN110556118B - 立体声信号的编码方法和装置 - Google Patents

立体声信号的编码方法和装置 Download PDF

Info

Publication number
CN110556118B
CN110556118B CN201810549268.9A CN201810549268A CN110556118B CN 110556118 B CN110556118 B CN 110556118B CN 201810549268 A CN201810549268 A CN 201810549268A CN 110556118 B CN110556118 B CN 110556118B
Authority
CN
China
Prior art keywords
current frame
residual signal
coding mode
frame
previous
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810549268.9A
Other languages
English (en)
Other versions
CN110556118A (zh
Inventor
王宾
刘泽新
李海婷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to CN201810549268.9A priority Critical patent/CN110556118B/zh
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to SG11202011325PA priority patent/SG11202011325PA/en
Priority to JP2020566797A priority patent/JP7252263B2/ja
Priority to KR1020207035527A priority patent/KR102578950B1/ko
Priority to KR1020237031033A priority patent/KR20230137473A/ko
Priority to BR112020024488-0A priority patent/BR112020024488A2/pt
Priority to EP19810874.8A priority patent/EP3786947A4/en
Priority to PCT/CN2019/089099 priority patent/WO2019228423A1/zh
Publication of CN110556118A publication Critical patent/CN110556118A/zh
Priority to US17/107,004 priority patent/US11587572B2/en
Application granted granted Critical
Publication of CN110556118B publication Critical patent/CN110556118B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G10L19/04Speech 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 predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/22Mode decision, i.e. based on audio signal content versus external parameters
    • 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/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S3/00Systems employing more than two channels, e.g. quadraphonic

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本申请提供了一种立体声信号的编码方法和编码装置。该立体声信号的编码方法包括:获取当前帧的残差信号的编码模式的指示信息,所述指示信息包括所述当前帧的之前帧的残差信号的编码情况,所述当前帧的立体声信号的长时平滑参数更新方式标志值,或所述当前帧的立体声信号相对于所述之前帧的立体声信号的状态变化参数值中的至少一个;根据获取的所述当前帧的残差信号的编码模式的指示信息,确定所述当前帧的残差信号的编码模式,所述编码模式用于指示是否对所述当前帧的残差信号进行编码。通过本申请实施例的立体声信号的编码方法和编码装置,可以更好地提高立体声信号编码质量。

Description

立体声信号的编码方法和装置
技术领域
本申请涉及音频信号编解码技术领域,并且更具体地,涉及一种立体声编码方法和装置。
背景技术
随着生活质量的提高,人们对高质量音频的需求不断增大。相对于单声道音频,立体声音频具有各声源的方位感和分布感,能够提高信息的清晰度、可懂度及临场感,因而备受人们青睐。
对立体声信号的编码通常采用参数立体声编解码技术。参数立体声编解码技术通过将立体声信号转换为空间感知参数和一路信号,或者将立体声信号转换为空间感知参数和两路信号,来实现对多声道信号的压缩处理,是一种常见的立体声编解码技术。
但是现有的参数立体声编码算法通常只对立体声参数及下混信号进行编码,而不对残差信号进行编码;或者除了编码下混信号,统一地对满足预设带宽范围内对应子带的残差信号也进行编码。不对残差信号进行编码,会使得解码立体声信号的空间感较差,声像稳定性受立体声参数提取的准确性影响大;而统一地对满足预设带宽范围内对应子带的残差信号进行编码,会导致一些高频信息更丰富的信号,由于不能够分配足够的比特数对下混信号进行编码,使得解码立体声信号的高频失真变大,从而降低编码整体质量。
发明内容
本申请提供一种立体声信号的编码方法和装置,可以更好地提高立体声信号编码质量。
第一方面,提供了一种立体声信号的编码方法,该方法包括:获取当前帧的残差信号的编码模式的指示信息,所述指示信息包括所述当前帧的之前帧的残差信号的编码情况,所述当前帧的立体声信号的长时平滑参数更新方式标志值,或所述当前帧的立体声信号相对于所述之前帧的立体声信号的状态变化参数值中的至少一个;根据获取的所述当前帧的残差信号的编码模式的指示信息,确定所述当前帧的残差信号的编码模式,所述编码模式用于指示是否对所述当前帧的残差信号进行编码。
本申请实施例,由于当前帧的前几帧信号的部分因素,如编码情况、长时平滑参数的更新方式和状态变化参数值,与当前帧的残差信号的编码模式之间具有相关性,因此根据前几帧信号的编码情况、长时平滑参数的更新方式标志值或状态变化参数值中的至少一个,确定出的当前帧的残差信号的编码模式的准确率较高,从而可以更好地提高立体声信号的编码质量。
在一些可能的实现方式中,所述当前帧的之前帧的残差信号的编码情况用于指示以下情况中的至少一种:在所述当前帧之前连续编码了残差信号的帧的数量,在所述当前帧之前连续未编码的残差信号的帧的数量,或所述当前帧的前N帧的残差信号的编码模式,所述当前帧的前N帧在时域上连续,且所述当前帧的前N帧包括与所述当前帧紧邻的前一帧,所述N为正整数。
在一些可能的实现方式中,所述状态变化参数值包括:所述当前帧的立体声信号与所述当前帧的前M帧的立体声信号的能量的比值,所述当前帧的前M帧在时域上连续,且所述当前帧的前M帧包括与所述当前帧紧邻的前一帧,所述M为正整数;或所述当前帧的立体声信号与所述当前帧的前S帧的立体声信号的幅度的比值,所述当前帧的前S帧在时域上连续,且所述当前帧的前S帧包括与所述当前帧紧邻的前一帧,所述S为正整数。
在一些可能的实现方式中,在所述根据获取的所述当前帧的残差信号的编码模式的指示信息确定所述当前帧的残差信号的编码模式之前,所述方法还包括:确定所述当前帧的残差信号的初始编码模式;所述根据获取的所述当前帧的残差信号的编码模式的指示信息,确定所述当前帧的残差信号的编码模式包括:根据所述当前帧的残差信号的编码模式的指示信息,以及所述当前帧的残差信号的初始编码模式,确定所述当前帧的残差信号的编码模式。
上述技术方案,先确定当前帧的残差信号的初始编码模式,再基于初始编码模式确定编码模式,由于当前帧的残差信号的初始编码模式和当前帧的残差信号的编码模式具有关联关系,因此基于初始编码模式确定出的编码模式的准确度较高,从而可以更好地提高立体声信号编码质量。
在一些可能的实现方式中,所述当前帧的残差信号的编码模式的指示信息包括所述当前帧的之前帧的残差信号的编码情况,所述当前帧的之前帧的残差信号的编码情况用于指示所述当前帧的前N帧的残差信号的编码模式;所述根据所述当前帧的残差信号的编码模式的指示信息,以及所述当前帧的残差信号的初始编码模式,确定所述当前帧的残差信号的编码模式,包括:若所述初始编码模式和与所述当前帧紧邻的前一帧的残差信号的编码模式相同,确定所述当前帧的残差信号的编码模式为所述初始编码模式。
在一些可能的实现方式中,所述当前帧的残差信号的编码模式的指示信息包括所述当前帧的之前帧的残差信号的编码情况,和/或,所述长时平滑参数更新方式标志值,所述当前帧的之前帧的残差信号的编码情况用于指示在所述当前帧之前连续编码了残差信号的帧的数量,以及所述当前帧的前N帧的残差信号的编码模式;所述根据所述当前帧的残差信号的编码模式的指示信息,以及所述当前帧的残差信号的初始编码模式,确定所述当前帧的残差信号的编码模式,包括:若所述初始编码模式和与所述当前帧紧邻的前一帧的残差信号的编码模式不同,且所述前一帧的残差信号的编码模式指示对所述前一帧的残差信号进行编码,当满足第一条件时,确定所述当前帧的残差信号的编码模式为所述前一帧的残差信号的编码模式,其中,所述第一条件包括在所述当前帧之前被连续编码的残差信号的帧的数量小于第一阈值。
上述技术方案,由于当前帧的残差信号与前一帧的残差信号在时间上是连续的,因此先判断前一帧的残差信号的编码模式与当前帧的残差信号的初始编码模式是否相同,再根据判断结果进一步确定出的当前帧的残差信号的编码模式的准确率较高。并且通过设定第一阈值,将在当前帧之前连续编码了残差信号的帧的数量与该第一阈值比较,根据比较结果确定当前帧的残差信号的编码模式,避免在当前帧之前连续编码了残差信号的帧的数量满足任意条件的情况下,都将当前帧的残差信号的编码模式确定为指示对残差信号进行编码或不对残差信号进行编码,这样可以使得确定出的当前帧的残差信号的编码模式的准确率较高,接近当前帧的残差信号的实际编码模式。
在一些可能的实现方式中,所述第一条件还包括所述长时平滑参数更新方式标志值为0,以及所述前一帧的残差信号的编码模式未修改。
在一些可能的实现方式中,所述方法还包括:若不满足所述第一条件,确定所述当前帧的残差信号的编码模式为所述初始编码模式。
在一些可能的实现方式中,当前帧的残差信号的编码模式的指示信息包括所述当前帧的之前帧的残差信号的编码情况,和/或,所述状态变化参数值,所述当前帧的之前帧的残差信号的编码情况用于指示在所述当前帧之前连续未编码残差信号的帧的数量,以及所述当前帧的前N帧的残差信号的编码模式;所述根据所述当前帧的残差信号的编码模式的指示信息,以及所述当前帧的残差信号的初始编码模式,确定所述当前帧的残差信号的编码模式,包括:若所述初始编码模式和与所述当前帧紧邻的前一帧的残差信号的编码模式不同,且所述前一帧的残差信号的编码模式指示不对所述前一帧的残差信号进行编码,当满足第二条件时,确定所述当前帧的残差信号的编码模式为所述前一帧的残差信号的编码模式,其中,所述第二条件包括在所述当前帧之前连续未编码的残差信号的帧的数量小于第一阈值。
在一些可能的实现方式中,所述第二条件还包括所述状态变化参数值大于或等于第二阈值,且小于或等于第三阈值。
在一些可能的实现方式中,所述方法还包括:若不满足所述第二条件,确定所述当前帧的残差信号的编码模式为所述初始编码模式。
在一些可能的实现方式中,所述方法还包括:基于所述当前帧的残差信号的编码模式的指示信息,对所述当前帧的残差信号的编码模式进行修正。
上述技术方案,当确定出当前帧的残差信号的编码模式后,若满足一定的条件,则可以对该当前帧的残差信号的编码模式进行修正,以使最终确定的当前帧的编码模式更加准确,从而可以进一步提高立体声信号的编码质量。
在一些可能的实现方式中,所述当前帧的残差信号的编码模式的指示信息包括所述当前帧的之前帧的残差信号的编码情况,所述当前帧的之前帧的残差信号的编码情况用于指示所述当前帧的前N帧的残差信号的编码模式;所述基于所述当前帧的残差信号的编码模式的指示信息,对所述当前帧的残差信号的编码模式进行修正,包括:若所述当前帧的残差信号的编码模式和与所述当前帧紧邻的前一帧的残差信号的编码模式不同,且所述前一帧的残差信号的编码模式未修改,确定所述当前帧的残差信号的编码模式指示对所述当前帧的残差信号进行编码。
在一些可能的实现方式中,所述确定当前帧的所述残差信号的初始编码模式,包括:根据所述当前帧的下混信号的能量与所述当前帧的残差信号的能量,确定所述初始编码模式。
上述技术方案,通过根据满足预设带宽范围内的下混信号的能量与残差信号的能量,确定初始编码模式,可以避免在编码速率较低时仅对下混信号编码,或者,对统一地对满足预设带宽范围内对应子带的残差信号进行编码的问题,在保证解码立体声信号空间感和声像稳定性的同时,可以降低解码立体声的高频失真,从而提高编码整体质量。
第二方面,提供了一种编码装置,该装置包括:获取模块,用于获取当前帧的残差信号的编码模式的指示信息,所述指示信息包括所述当前帧的之前帧的残差信号的编码情况,所述当前帧的立体声信号的长时平滑参数更新方式标志值,或所述当前帧的立体声信号相对于所述之前帧的立体声信号的状态变化参数值中的至少一个;确定模块,用于根据获取模块获取的所述当前帧的残差信号的编码模式的指示信息,确定所述当前帧的残差信号的编码模式,所述编码模式用于指示是否对所述当前帧的残差信号进行编码。
在一些可能的实现方式中,所述获取模块获取的所述之前帧的残差信号的编码情况用于指示以下情况中的至少一种:在所述当前帧之前连续编码了残差信号的帧的数量,在所述当前帧之前连续未编码的残差信号的帧的数量,或所述当前帧的前N帧的残差信号的编码模式,所述当前帧的前N帧在时域上连续,且所述当前帧的前N帧包括与所述当前帧紧邻的前一帧,所述N为正整数。
在一些可能的实现方式中,所述获取模块获取的所述状态变化参数值包括:所述当前帧的立体声信号与所述当前帧的前M帧的立体声信号的能量的比值,所述当前帧的前M帧在时域上连续,且所述当前帧的前M帧包括与所述当前帧紧邻的前一帧,所述M为正整数;或所述当前帧的立体声信号与所述当前帧的前S帧的所述立体声信号的幅度的比值,所述当前帧的前S帧在时域上连续,且所述当前帧的前S帧包括与所述当前帧紧邻的前一帧,所述S为正整数。
在一些可能的实现方式中,所述确定模块还用于:确定所述当前帧的残差信号的初始编码模式。
在一些可能的实现方式中,所述确定模块具体用于:根据所述当前帧的残差信号的编码模式的指示信息,以及所述当前帧的残差信号的初始编码模式,确定所述当前帧的残差信号的编码模式。
在一些可能的实现方式中,所述获取模块获取的所述当前帧的残差信号的编码模式的指示信息包括所述当前帧的之前帧的残差信号的编码情况,所述当前帧的之前帧的残差信号的编码情况用于指示所述当前帧的前N帧的残差信号的编码模式;所述确定模块具体用于:若所述初始编码模式和与所述当前帧紧邻的前一帧的残差信号的编码模式相同,确定所述当前帧的残差信号的编码模式为所述初始编码模式。
在一些可能的实现方式中,所述获取模块获取的所述当前帧的残差信号的编码模式的指示信息包括所述当前帧的之前帧的残差信号的编码情况,和/或,所述长时平滑参数更新方式标志值,所述当前帧的之前帧的残差信号的编码情况用于指示在所述当前帧之前连续编码了残差信号的帧的数量,以及所述当前帧的前N帧的残差信号的编码模式;所述确定模块具体用于:若所述初始编码模式和与所述当前帧紧邻的前一帧的残差信号的编码模式不同,且所述前一帧的残差信号的编码模式指示对所述前一帧的残差信号进行编码,当满足第一条件时,确定所述当前帧的残差信号的编码模式为所述前一帧的编码模式,其中,所述第一条件包括在所述当前帧之前连续编码了残差信号的帧的数量小于第一阈值。
在一些可能的实现方式中,所述第一条件还包括所述长时平滑参数更新方式标志值为0,以及所述前一帧的残差信号的编码模式未修改。
在一些可能的实现方式中,所述确定模块还用于:若不满足所述第一条件,确定所述当前帧的残差信号的编码模式为所述初始编码模式。
在一些可能的实现方式中,所述获取模块获取的所述当前帧的残差信号的编码模式的指示信息包括所述当前帧的之前帧的残差信号的编码情况,和/或,所述状态变化参数值,所述当前帧的之前帧的残差信号的编码情况用于指示在所述当前帧之前连续未编码残差信号的帧的数量,以及所述当前帧的前N帧的残差信号的编码模式;所述确定模块具体用于:若所述初始编码模式和与所述当前帧紧邻的前一帧的残差信号的编码模式不同,且所述前一帧的残差信号的编码模式指示不对所述前一帧的残差信号进行编码,当满足第二条件时,确定所述当前帧的残差信号的编码模式为所述前一帧的编码模式,其中,所述第二条件包括在所述当前帧之前连续未编码残差信号的帧的数量小于第一阈值。
在一些可能的实现方式中,所述第二条件还包括所述状态变化参数值大于或等于第二阈值,且小于或等于第三阈值。
在一些可能的实现方式中,所述确定模块还用于:若不满足所述第二条件,确定所述当前帧的残差信号的编码模式为所述初始编码模式。
在一些可能的实现方式中,所述装置还包括:修正模块,用于基于所述当前帧的残差信号的编码模式的指示信息,对所述当前帧的残差信号的编码模式进行修正。
在一些可能的实现方式中,所述获取模块获取的所述当前帧的残差信号的编码模式的指示信息包括所述当前帧的之前帧的残差信号的编码情况,所述当前帧的之前帧的残差信号的编码情况用于指示所述当前帧的前N帧的残差信号的编码模式;所述修正模块具体用于:若所述当前帧的残差信号的编码模式和与所述当前帧紧邻的前一帧的残差信号的编码模式不同,且所述前一帧的残差信号的编码模式未修改,确定所述当前帧的残差信号的编码模式指示对对所述当前帧的残差信号进行编码。
在一些可能的实现方式中,所述确定模块具体用于:根据所述当前帧的下混信号的能量与所述当前帧的残差信号的能量,确定所述初始编码模式。
第三方面,提供了一种编码装置,所述编码装置包括处理器,用于实现上述第一方面描述的方法中的功能。所述编码装置还可以包括存储器,用于存储程序指令和数据。所述存储器与所述处理器耦合,所述处理器可以调用并执行所述存储器中存储的程序指令,用于实现上述第一方面或者其各种实现方式中的方法。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储程序指令,该程序指令在被一个或多个处理器读取并执行时可实现第一方面或者其各种实现方式中的方法。
第五方面,提供了一种芯片,所述芯片包括处理器与通信接口,所述通信接口用于与外部器件进行通信,所述处理器用于执行第一方面或第一方面的任一可能的实现方式中的方法。
可选地,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或第一方面的任一可能的实现方式中的方法。
可选地,所述芯片集成在终端设备或网络设备上。
附图说明
图1是立体声信号编码方法的示意性流程图。
图2是本申请实施例的立体声信号编码方法的示意性流程图。
图3是本申请实施例的立体声信号编码方法的一种具体实现流程图。
图4是本申请实施例的立体声信号编码方法的另一种具体实现流程图。
图5是本申请实施例的立体声信号编码方法的另一种具体实现流程图。
图6是本申请实施例的立体声信号编码方法的另一种具体实现流程图。
图7是本申请实施例的编码装置的示意性框图。
图8是本申请实施例的编码装置的示意性框图。
图9是本申请实施例的终端设备的示意图。
图10是本申请实施例的网络设备的示意图。
图11是本申请实施例的网络设备的示意图。
图12是本申请实施例的终端设备的示意图。
图13是本申请实施例的网络设备的示意图。
图14是本申请实施例的网络设备的示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了便于理解本申请实施例的方法,下面先结合图1对立体声信号编码方法的整个编码过程进行介绍。
应理解,本申请实施例中的立体声信号可以是原始的立体声信号,也可以是多声道信号中包含的两路信号组成的立体声信号,还可以是由多声道信号中包含的多路信号联合产生的两路信号组成的立体声信号,本申请对此不作具体限定。
为了描述方便,本申请实施例将以宽带立体声编码,编码速率为26kbps为例进行说明,但本申请并不限于此。应理解,本申请实施例也可以应用于超宽带立体声编码或者其他速率的编码中。
图1为立体声信号编码方法的示意性流程图。该编码方法具体包括:
在101中,对立体声信号的左声道时域信号和右声道时域信号进行时域预处理。
本申请实施例中,立体声信号包括左声道信号和右声道信号。
一般情况下,可以将立体声信号分帧,对分帧后的立体声信号的左声道时域信号和右声道时域信号进行时域预处理。
例如,若立体声信号的采样频率为16KHz,每帧信号为20ms,令帧长为N,则N=320,也就是说,帧长为320个样点。
应理解,当前帧的左声道时域信号可以表示为xL(n),当前帧的右声道时域信号可以表示为xR(n),其中,n为样点序列,n=0,1,……,N-1。
可选地,对立体声信号的左声道时域信号和右声道时域信号进行时域预处理可以包括对当前帧的左声道时域信号和右声道时域信号分别进行高通滤波处理,以得到当前帧时域预处理后的左声道时域信号和当前帧时域预处理后的右声道时域信号。
应理解,当前帧时域预处理后的左声道时域信号xL_HP(n)和当前帧时域预处理后的右声道时域信号xR_HP(n)也可以称为当前帧时域预处理后的左右声道时域信号。
可选地,高通滤波处理可以包括但不限于采用无限脉冲响应(infinite impulseresponse,IIR)滤波器、有限脉冲响应(finite impulse response,FIP)滤波器等。
可选地,IIR的截止频率可以为20Hz。
例如,采样频率为16KHz的立体声信号对应的截止频率为20KHz的IIR滤波器的传递函数可以为:
Figure BDA0001680716000000071
其中,b0=0.994461788958195,b1=-1.988923577916390,b2=0.994461788958195,a1=1.988892905899653,a2=-0.988954249933127。
相应的时域滤波器为:
xL_HP(n)=b0*xL(n)+b1*xL(n-1)+b2*xL(n-2)-a1*xL_HP(n-1)-a2*xL_HP(n-2) (2)
应理解,步骤101后可以执行102,也可以执行103,也可以执行104。
在102中,对时域预处理后的左右声道时域信号进行时域分析。
可选地,时域分析可以包括瞬态检测。
其中,瞬态检测可以是分别对当前帧时域预处理后的左右声道时域信号进行能量检测,比如,检测当前帧是否发生能量突变。
示例性地,前一帧时域预处理后的左声道时域信号的能量为Epre_L,当前帧时域预处理后的左声道时域信号的能量为Ecur_L,可以根据Ecur_L与Epre_L差值的绝对值进行瞬态检测。同样地,可以对当前帧时域预处理后的右声道时域信号进行瞬态检测。
可选地,时域分析还可以包括时域声道间时间差(inter-channel timedifference,ITD)参数确定、时域的时延对齐处理、频带扩展预处理等。
在103中,对时域预处理后的左右声道时域信号进行时频变换,得到左声道频域信号和右声道频域信号。
可选地,时频变换可以有很多种,本申请实施例对此不做具体限定。例如,时频变换可以为离散傅里叶变换(discrete fourier transform,DFT)、快速傅里叶变换(fastfourier transform,FFT)、离散余弦变换(discrete cosine transform,DCT)、修正离散余弦变换(modified discrete cosine transform,MDCT)等。
为了描述方便,以时频变换为离散傅里叶变换为例进行说明。具体而言,可以对时域预处理后的左声道时域信号进行离散傅里叶变换,得到左声道频域信号;对时域预处理后的右声道时域信号进行离散傅里叶变换,得到右声道频域信号。
应理解,本申请实施例中,左声道频域信号和右声道频域信号也可以称为左右声道频域信号。
可选地,可以每帧进行一次离散傅里叶变换。将变换后的左声道频域信号记作L(k),k=0,1,…,L/2-1,变换后的右声道频域信号记作R(k),k=0,1,…,L/2-1,k为频点索引值。
可选地,可以将每帧时域预处理后的左右声道时域信号分成P个子帧,每个子帧进行一次离散傅里叶变换。
例如,每帧左声道时域信号或每帧右声道时域信号为20ms,帧长记作N,则N=320,即帧长为320个样点。将每帧左声道时域信号或每帧右声道时域信号分成两个子帧,即P=2,每个子帧左声道时域信号或右声道时域信号为10ms,子帧长为160个样点。每个子帧进行一次离散傅里叶变换,离散傅里叶变换的长度记作L,L=400,即离散傅里叶变换的长度为400个样点,则离散傅里叶变换后第i个子帧的左声道频域信号可以记作Li(k),k=0,1,…,L/2-1,离散傅里叶变换后第i个子帧的右声道频域信号可以记作Ri(k),k=0,1,…,L/2-1,k为频点索引值,i为子帧索引值,i=0,1,…,P-1。
可选地,可以在连续两次离散傅里叶变换之间进行叠接相加。
可选地,也可以对离散傅里叶变换的输入信号进行补零。
如此,可以克服频谱混叠的问题。
在104中,确定ITD参数,并进行编码
本申请实施例中,确定ITD参数的方法可以有很多种,可以只在频域基于103得到的左右声道频域信号确定,可以只在时域基于101得到的时域预处理后的左右声道时域信号确定,也可以通过时频结合的方法来确定,本申请实施例对此不作具体限定。
作为一种示例,可以通过在时域采用互相关系数确定ITD参数。
例如,在0≤i≤Tmax范围内,在101中得到时域预处理后的左右声道时域信号后,计算
Figure BDA0001680716000000081
Figure BDA0001680716000000082
如果
Figure BDA0001680716000000083
则可以确定ITD参数值为max(cn(i))对应的索引值的相反数;否则ITD参数值为max(cp(i))对应的索引值。
其中,i为计算互相关系数的索引值,j为样点的索引值,Tmax对应于不同采样频率下ITD取值的最大值,N为帧长。
作为一种示例,可以在频域基于左右声道频域信号确定ITD参数。
可选地,在103中得到左右声道频域信号后,计算左右声道频域信号的频域互相关系数,将频域互相关系数转换到时域,在预设范围内搜索时域互相关系数的最大值,则可以得到ITD参数值。
例如,采用离散傅里叶变换后,得到第i个子帧的左声道频域信号Li(k),第i个子帧的右声道频域信号Ri(k),计算第i个子帧的频域互相关系数:XCORRi(k)=Li(k)*R* i(k),其中R* i(k)为Ri(k)的共轭信号。将频域互相关系数转换到时域,得到时域相关系数xcorri(n),n=0,1,…,L-1,在
Figure BDA0001680716000000084
范围内搜索xcorri(n)的最大值,得到第i个子帧的ITD参数值为
Figure BDA0001680716000000085
可选地,在预设范围内,可以根据左右声道频域信号计算幅度值,根据该幅度值得到ITD参数值。
可选地,ITD参数值可以为最大的幅度值对应的索引值。
例如,采用离散傅里叶变换后,得到第i个子帧的左声道频域信号Li(k),第i个子帧的右声道频域信号Ri(k),在预设范围-Tmax≤j≤Tmax内计算幅度值:
Figure BDA0001680716000000086
则ITD参数值为
Figure BDA0001680716000000087
在确定了ITD参数后,可以将ITD参数进行编码,写入立体声编码码流。
在105中,根据ITD参数,对左右声道频域信号进行时移调整。
可选地,可以每帧进行一次时移调整,也可以将每帧左右声道频域信号分成P个子帧,每个子帧进行一次时移调整。
可选地,在将每帧左右声道频域信号分成P个子帧,每个子帧进行一次时移调整的情况下,可以根据公式(3)得到经过时移调整后的第i个子帧的左声道频域信号Li'(k)和右声道频域信号Ri'(k):
Figure BDA0001680716000000091
其中,Ti为第i个子帧的ITD参数值,L为离散傅里叶变换的长度。
应理解,本申请实施例可以根据任何一种现有技术对左右声道频域信号进行时移调整,本申请实施例不作限定。
在106中,根据时移调整后的左右声道频域信号,计算频域立体声参数,并进行编码。
可选地,频域立体声参数可以包括但不限于以下中的至少一种:声道间相位差(inter-channel phase difference,IPD)参数、声道间电平差(inter-channel leveldifference,ILD)参数、子带边增益等。
应理解,本申请实施例对声道间电平差参数的名称并不限定,也就是说,它也可以表述为其它名称。例如,声道间电平差参数也可以表述为声道间幅度差参数。
得到频域立体声参数后,可以对频域立体声参数进行编码,并将其写入编码码流。
在107中,判断各个子带索引是否符合预设条件。
可以将每帧的左右声道频域信号或每个子帧的左右声道频域信号进行分带,第b个子带包含的频点为k∈[band_limits(b),band_limits(b+1)-1],其中,band_limits(b)表示第b个子带包含的频点的最小索引值。在本申请实施例中,每个子帧的频域信号可以包括M个子带,根据band_limits(b)可以确定各个子带内包含哪些频点。
可选地,预设条件可以为子带索引值小于预设的最大子带索引值,即b<res_flag_band_max,其中,res_flag_band_max表示预设的最大子带索引值。
可选地,预设条件可以为子带索引值小于或等于预设的最大子带索引值,即b≤res_flag_band_max。
可选地,预设条件可以为子带索引值小于残预设的最大子带索引值且大于预设的最小子带索引值,即res_flag_band_min<b<res_flag_band_max,其中,res_flag_band_min为预设的最小子带索引值。
可选地,预设条件可以为子带索引值小于等于预设的最大子带索引值且大于等于预设的最小子带索引值,即res_flag_band_min≤b≤res_flag_band_max。
可选地,预设条件可以为子带索引值小于等于预设的最大子带索引值且大于预设的最小子带索引值,即res_flag_band_min<b≤res_flag_band_max。
可选地,预设条件可以为子带索引值小于预设的最大子带索引值且大于等于预设的最小子带索引值,即res_flag_band_min≤b<res_flag_band_max。
需要说明的是,对于不同的编码速率和/或不同的编码带宽来说,预设条件可以不同。
例如,当编码速率为26kbps时,预设的最大子带索引值可以为5,即预设条件可以为b<5;当编码速率为44kbps时,预设的最大子带索引值可以为6,即预设条件为b<6;当编码速率为56kbps时,预设的最大子带索引值可以为7,即预设条件为b<7。
还需要说明的是,若将每帧信号分为P个子帧,对于每个子帧的信号来说,需要判断各个子带索引是否都符合预设条件。
若子带索引符合预设条件,则执行108和109;若子带索引不符合预设条件,则执行110。
在108中,若子带索引符合预设条件,则可以根据105得到的时移调整后的左右声道频域信号计算下混信号和残差信号。
可选地,可以根据公式(4)和公式(5)计算下混信号和残差信号:
Figure BDA0001680716000000101
RESi'(k)=RESi(k)-g_ILDi*DMXi(k) (5)
其中,
Figure BDA0001680716000000102
其中,DMXi(k)表示第i个子帧第b个子带的下混信号,RESi'(k)表示第i个子帧第b个子带的残差信号,IPDi(b)为第i个子帧第b个子带的IPD参数,g_ILDi为第i个子帧的子带边增益,Li'(k)为经过时移调整后的第i个子帧第b个子带的左声道频域信号,Ri'(k)为经过时移调整后的第i个子帧第b个子带的右声道频域信号,Li″(k)为经过多个立体声参数调整后的第i个子帧第b个子带的左声道频域信号,Ri″(k)为经过多个立体声参数调整后的第i个子帧第b个子带的右声道频域信号,k为频点索引值,k∈[band_limits(b),band_limits(b+1)-1],band_limits(b)为第b个子带包含的频点的最小索引值,i为子帧索引值,i=0,1,…,P-1。
可选地,也可以根据下述公式计算DMXi(k):
DMXi(k)=[L″(k)+R″(k)]*c (7)
Figure BDA0001680716000000103
应理解,上述下混信号和残差信号的计算方法仅是示例,不应对本申请实施例的范围构成任何限制。
在109中,确定当前帧的残差信号的编码模式。
可选地,编码模式可以用于指示是否对当前帧的残差信号进行编码。
在110中,若子带索引不符合预设条件,则可以根据105中得到的时移调整后的左右声道频域信号计算下混信号。
下混信号的计算方法可以参考108中下混信号的计算方法,为了内容的简洁,此处不再赘述。
需要说明的是,当子带索引不符合预设条件时,下混信号的计算方法可以采用与子带索引符合预设条件相同的方法,也可以采用其他下混信号计算方法进行计算。
在111中,确定前一帧是否为切换帧。
相邻两帧的残差信号的编码模式不同时,该相邻两帧的后一帧可以为切换帧。
可选地,切换标志值可以用于指示前一帧是否为切换帧。当前一帧的切换标志值为1时,表示前一帧为切换帧;当前一帧的切换标志值为0时,表示前一帧不为切换帧。
例如,前一帧为第四帧,且不对前一帧的残差信号进行编码,若对第三帧的残差信号进行编码,则前一帧为切换帧,前一帧的切换标志值为1;若不对第三帧的残差信号进行编码,则前一帧不为切换帧,前一帧的切换标志值为0。
若前一帧为切换帧,则执行112和113;若前一帧不是切换帧,则执行114和115。
在112中,对108得到的下混信号和残差信号进行修正。
其中,可以将修正后的下混信号和残差信号作为预设低频带所对应子带的下混信号和残差信号。
在113中,若确定对当前帧的残差信号进行编码,则将修正后的当前帧的下混信号和残差信号转换到时域并编码。
可选地,可以采用时频变换的逆变换将当前帧的下混信号和残差信号转换到时域。例如,DFT的逆变换、FFT的逆变换等。
可选地,若对每帧下混信号进行了分帧处理,且对每个子帧进行了分带处理,则可以将当前帧的每个子帧各个子带的下混信号整合在一起构成第i个子帧的下混信号。然后将第i个子帧的下混信号经过时频变换的逆变换转换到时域,并进行子帧间的叠接相加处理,可以得到当前帧的时域下混信号。
本申请实施例可以根据任何一种现有技术将当前帧的时域下混信号和时域残差信号进行编码,得到下混信号和残差信号的编码码流,写入立体声编码码流中。
在114中,若前一帧不为切换帧,对108和110中得到的下混信号进行修正。
其中,可以将修正后的下混信号作为预设低频带所对应子带的下混信号。
可选地,可以根据103中得到的当前帧的左声道频域信号和右声道频域信号,计算当前帧的下混补偿因子,再根据当前帧的左声道频域信号和右声道频域信号以及下混补偿因子,计算补偿的下混信号,然后再根据下混信号和补偿的下混信号,计算修正的下混信号。
在115中,将修正后的下混信号转换到时域并编码。
在115的实现方式可以参考113的具体实现方式,为了内容的简洁,此处不再赘述。
上述方法最终得到的码流可以传输给解码端,解码端可以对接收到的码流进行解码得到当前帧的下混信号和残差信号,并经过一定的处理得到解码后的立体声信号。
在确定是否对残差信号进行编码的过程中(例如,上述步骤109),如果不对任意帧的残差信号进行编码,会使得解码立体声信号的空间感较差,声像稳定性受立体声参数提取的准确性影响大;如果统一地对满足预设带宽范围内对应子带的残差信号进行编码,会导致一些高频信息更丰富的信号,由于不能够分配足够的比特数对下混信号进行编码,使得解码立体声信号的高频失真变大,从而降低编码整体质量。
本申请提出了一种立体声信号的编码方法,该方法可以根据与当前帧的残差信号的编码模式具有相关性的因素,确定是否对当前帧的残差信号进行编码。因此,本申请确定的当前帧的残差信号的编码模式的准确率较高,可以更好地提高立体声信号的编码质量。
下面结合图2,对109的一种具体实现方式进行详细的举例说明。图2的方法可以由编码端执行,该编码端可以是编码器或者是具有编码立体声信号功能的设备。
图2是根据本申请实施例的立体声信号的编码方法的示意性流程图。图2是以编码端正在处理的当前帧为例进行说明,但应理解,本申请实施例的技术方案同样可以应用于编码端正在处理的任意一帧。
图2的方法可以包括210和220,下面分别对210和220进行详细描述。
在210中,编码端获取当前帧的残差信号的编码模式的指示信息。
其中,该指示信息可以包括当前帧的之前帧的残差信号的编码情况,当前帧的立体声信号的长时平滑参数更新方式标志值,或当前帧的立体声信号相对于之前帧的立体声信号的状态变化参数值中的至少一个。
本申请实施例中,残差信号可以表示左声道信号和右声道信号之间的差异性,即残差信号的值越大,表示左声道信号和右声道信号的差异性越大。
可选地,编码端可以确定之前帧的残差信号的编码情况、长时平滑参数更新方式标志值,或状态变化参数值中的至少一个。
其中,系统可以预设当编码端在处理任意一帧时,编码端可以确定任意一帧的之前帧的残差信号的编码情况,任意一帧的长时平滑参数更新方式标志值,或相对于之前帧的立体声信号的状态变化参数值中的至少一个。
需要说明的是,本申请实施例对于编码端如何确定任意一帧的之前帧的残差信号的编码情况,长时平滑参数更新方式标志值,或状态变化参数值中的至少一个不作具体限定,任何可以确定任意一帧的之前帧的残差信号的编码情况,长时平滑参数更新方式标志值,或状态变化中参数值的至少一个的方法都涵盖在本申请的保护范围之内。
可选地,编码端可以根据系统的配置信息,获取之前帧的残差信号的编码情况,长时平滑参数更新方式标志值,或状态变化参数值中的至少一个。
作为一种示例,系统可以将每一帧的残差信号的编码情况、长时平滑参数更新方式标志值和状态变化参数值保存下来,当编码端正在处理当前帧时,系统确定之前帧的残差信号的编码情况、长时平滑参数更新方式标志值和状态变化参数值后,向编码端发送配置信息,该配置信息可以用于指示之前帧的残差信号的编码情况,长时平滑参数更新方式标志值和状态变化参数值中的至少一个,从而编码端可以获取到之前帧的残差信号的编码情况、长时平滑参数更新方式标志值和状态变化参数值中的至少一个。
可选地,之前帧的残差信号的编码情况可以用于指示以下情况中的至少一种:在当前帧之前连续编码了残差信号的帧的数量,在当前帧之前连续未编码残差信号的帧的数量,或当前帧的前N帧的残差信号的编码模式,N为正整数。
其中,当前帧的前N帧在时域上连续,且当前帧的前N帧包括与当前帧紧邻的前一帧。
可选地,拖尾控制器的值可以用于表示相同的残差信号的编码模式连续保持的帧的数量。需要说明的是,本申请实施例中,拖尾控制器具有计数的功能。
示例性地,拖尾控制器0的值可以表示连续编码了残差信号的帧的数量,拖尾控制器1的值可以表示连续未编码残差信号的帧的数量。
例如,当前帧为第四帧,残差信号的编码模式指示对残差信号进行编码,第二帧和第三帧的残差信号的编码模式也指示对残差信号进行编码,第一帧的残差信号的编码模式指示不对残差信号进行编码,则拖尾控制器0的值为3。
再例如,当前帧为第四帧,残差信号的编码模式指示对残差信号进行编码,第三帧的残差信号的编码模式指示不对残差信号进行编码,则拖尾控制器1的值为1。
可选地,状态变化参数值可以包括:当前帧的立体声信号与当前帧的前M帧的立体声信号的能量的比值,其中,当前帧的前M帧在时域上连续,且当前帧的前M帧包括与当前帧紧邻的前一帧,M为正整数;或当前帧的立体声信号与当前帧的前S帧的立体声信号的幅度的比值,其中,当前帧的前S帧在时域上连续,且当前帧的前S帧包括与当前帧紧邻的前一帧,S为正整数。
可选地,状态变化参数值还可以用于指示当前帧的立体声信号与之前帧的立体声信号的频率的比值,或功率的比值等。
这里需要说明的是,不同的条件下,本申请实施例中立体声信号的状态可以不同。比如,在条件1下,立体声信号的状态可以为能量;在条件2下,立体声信号的状态可以为幅度;在条件3下,立体声信号的状态可以为功率。
可选地,编码端可以根据当前帧与前一帧之间的能量波动比和/或能量比值得到长时平滑参数更新方式标志值,其中,当前帧的长时平滑参数更新方式标志值可以用于指示预设的至少两种长时平滑参数的更新方式中的哪一种为当前帧的长时平滑参数的更新方式。例如,在预设的长时平滑参数的更新方式为两种时,如果当前帧的长时平滑参数更新方式标志值为1,则表示当前帧的长时平滑参数的更新方式为预设的两种更新方式中的一种,反之,如果当前帧的长时平滑参数更新方式标志值为0,则表示当前帧的长时平滑参数的更新方式为预设的两种更新方式中的另一种。
可选地,当前帧与前一帧之间的能量波动比,即帧间能量波动比,可以为当前帧的下混信号和残差信号的总能量与前一帧的下混信号和残差信号的总能量之间的比值,即:
frame_nrg_ratio=dmx_res_all/dmx_res_all_prev (9)
dmx_res_all=res_nrg_all_curr+dmx_nrg_all_curr (10)
其中,frame_nrg_ratio表示帧间能量波动比,dmx_res_all表示当前帧的立体声信号的总能量,dmx_res_all_prev表示前一帧的立体声信号的总能量,res_nrg_all_curr表示当前帧的残差信号的总能量,dmx_nrg_all_curr表示当前帧的下混信号的总能量。
可选地,能量比值可以通过下述公式得到:
res_dmx_ratio=max(res_dmx_ratio[0],res_dmx_ratio[1],…res_dmx_ratio[res_flag_band_max]) (11)
res_dmx_ratio[b]=res_cod_NRG_S[b]/(res_cod_NRG_S[b]+(1-g(b))(1-g(b))*res_cod_NRG_M[b]+1) (12)
g(b)=0.5*side_gain1[b]+0.5*side_gain2[b] (13)
其中,res_dmx_ratio表示能量比值,side_gain1[b],side_gain2[b]分别表示子帧1子带b和子帧2子带b的边增益,res_cod_NRG_M[b]表示子带索引为b的子带中的下混信号能量,res_cod_NRG_S[b]表示子带索引为b的子带中的残差信号能量,res_flag_band_max表示预设的最大子带索引值。
作为一种示例,如果帧间能量波动比大于第一预设值,且能量比值小于第二预设值,则长时平滑参数更新方式标志值为1。否则,长时平滑参数更新方式标志值为0。
例如,令第一预设值为3.2,第二预设值为0.1,当frame_nrg_ratio>3.2且res_dmx_ratio<0.1时,长时平滑参数更新方式标志值为1。当frame_nrg_ratio≤3.2时,如frame_nrg_ratio=4.1,此时长时平滑参数更新方式标志值为0。
作为一种示例,如果帧间能量波动比小于第三预设值,且能量比值大于第四预设值,则长时平滑参数更新方式标志值为1。否则,长时平滑参数更新方式标志值为0。
例如,令第三预设值为0.21,第四预设值为0.4,当frame_nrg_ratio<0.21且res_dmx_ratio>0.4时,长时平滑参数更新方式标志值为1。
长时平滑参数更新方式标志值不同,长时平滑参数的计算方法也是不同的。
当长时平滑参数更新方式标志值为1时,编码端可以根据公式(14)计算当前帧的立体声信号的长时平滑参数:
res_dmx_ratio_lt=res_dmx_ratio*α1+res_dmx_ratio_lt_prev*(1-α1)(14)
当长时平滑参数更新方式标志值为0时,编码端可以根据公式(15)计算当前帧的立体声信号的长时平滑参数:
res_dmx_ratio_lt=res_dmx_ratio*α2+res_dmx_ratio_lt_prev*(1-α2)(15)
其中,res_dmx_ratio_lt表示当前帧的立体声信号的长时平滑参数,res_dmx_ratio_lt_prev表示前一帧的立体声信号的长时平滑参数,α1和α2为参数,0<α1<1,0<α2<1,且α1>α2。例如,α1可以为0.5,α2可以为0.1。
应理解,长时平滑参数更新方式标志值为长时平滑参数更新方式的一种表示方式,本申请实施例也可以使用其它表示方式来表示当前帧的立体声信号的长时平滑参数更新方式,本申请实施例对此并不限定。
需要说明的是,若当前帧为第一帧,则不存在当前帧的前一帧,此时,编码端在确定当前帧的长时平滑参数时,公式(14)和(15)中的前一帧的立体声信号的长时平滑参数可以为预设的长时平滑参数。其中,该预设的长时平滑参数可以为编码端预设的,也可以为系统预设的。
在220中,编码端根据获取的当前帧的残差信号的编码模式的指示信息,确定当前帧的残差信号的编码模式。
可选地,在一种实施方式中,在编码端根据获取的当前帧的残差信号的编码模式的指示信息确定当前帧的残差信号的编码模式之前,编码端可以先确定当前帧的残差信号的初始编码模式,然后再根据当前帧的残差信号的编码模式的指示信息,以及当前帧的残差信号的初始编码模式,确定当前帧的残差信号的编码模式。
上述技术方案,编码端先确定当前帧的残差信号的初始编码模式,再基于初始编码模式确定编码模式,由于当前帧的残差信号的初始编码模式和当前帧的残差信号的编码模式具有关联关系,因此基于初始编码模式确定出的编码模式的准确度较高,从而可以更好地提高立体声信号编码质量。
可选地,编码端可以根据当前帧的下混信号的能量与当前帧的残差信号的能量,确定当前帧的残差信号的初始编码模式。
应理解,本申请实施例对下混信号和残差信号的名称并不限定,也就是说,它们也可以表述为其他名称。例如,下混信号也可以称为中央声道信号或主要声道信号,残差信号也可以称为边声道信号或者次要声道信号。
可选地,编码端可以根据表示当前帧的下混信号和残差信号之间的能量关系的参数,和/或,其它参数,确定当前帧的残差信号的初始编码模式。
示例性地,编码端可以根据以下参数中的至少一种确定初始编码模式:语音/音乐分类结果、语音激活检测结果、残差信号能量、左右声道频域信号之间的相关性等参数。
作为一种示例,在当前帧的下混信号和残差信号之间的能量关系,或,表示当前帧的下混信号和残差信号之间的能量关系的参数,满足预设条件时,编码端可以确定初始编码模式指示对当前帧的残差信号进行编码;否则,确定初始编码模式指示不对当前帧的残差信号进行编码。
可选地,该预设条件可以为当前帧的下混信号和残差信号之间的能量关系或表示当前帧的下混信号和残差信号之间的能量关系的参数大于预先设定的阈值。
其中,该预先设定的阈值的取值范围可以在(0,1.0)之间。
例如,该预先设定的阈值为0.075,若表示当前帧的下混信号和残差信号之间的能量关系的参数为0.06,由于0.06<0.075,则编码端可以确定初始编码模式指示不对当前帧的残差信号进行编码;若表示当前帧的下混信号和残差信号之间的能量关系的参数为0.08,由于0.08>0.075,则编码端可以确定初始编码模式指示对当前帧的残差信号进行编码。
应理解,上述对于预先设定的阈值的取值仅作为示例,并不对本申请实施例的范围构成任何限制。例如,该预先设定的阈值还可以为(0,1.0)范围内的其他数值。
通过根据满足预设带宽范围内的下混信号的能量与残差信号的能量,确定初始编码模式,可以避免在编码速率较低时仅对下混信号编码,或者,对统一地对满足预设带宽范围内对应子带的残差信号进行编码的问题,在保证解码立体声信号空间感和声像稳定性的同时,可以降低解码立体声的高频失真,从而提高编码整体质量。
应理解,本申请实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
还应理解,本申请实施例中,将以N=1,即当前帧的之前帧的残差信号的编码情况可以用于指示当前帧的前一帧的残差信号的编码模式为例,描述编码端如何根据获取的当前帧的残差信号的编码模式的指示信息,确定当前帧的残差信号的编码模式,但本申请并不限于此。本申请也可以根据当前帧的前N帧的残差信号的编码模式,确定当前帧的残差信号的编码模式。
在一种实现方式中,在当前帧的残差信号的编码模式的指示信息包括当前帧的之前帧的残差信号的编码情况,当前帧的之前帧的残差信号的编码情况用于指示当前帧的前N帧的残差信号的编码时,编码端可以根据之前帧的编码情况和初始编码模式,确定当前帧的残差信号的编码模式。
可选地,若初始编码模式和与当前帧紧邻的前一帧的残差信号的编码模式相同,编码端可以确定当前帧的残差信号的编码模式为初始编码模式,即保持初始编码模式。
例如,若当前帧的残差信号的初始编码模式指示对残差信号进行编码,前一帧的残差信号的编码模式也指示对残差信号进行编码,则编码端可以确定当前帧的残差信号的编码模式指示对残差信号进行编码。
再例如,若当前帧的残差信号的初始编码模式指示不对残差信号进行编码,前一帧的残差信号的编码模式也指示不对残差信号进行编码,则编码端可以确定当前帧的残差信号的编码模式指示不对当前帧的残差信号进行编码。
可选地,若初始编码模式与当前帧的前一帧的残差信号的编码模式不同,且前一帧的编码模式指示对前一帧的残差信号进行编码,则编码端可以确定当前帧的残差信号的编码模式为初始编码模式。
在一种实现方式中,在当前帧的残差信号的编码模式的指示信息包括当前帧的之前帧的残差信号的编码情况,和/或,长时平滑参数更新方式标志值,当前帧的之前帧的残差信号的编码情况用于指示在当前帧之前连续编码了残差信号的帧的数量,以及当前帧的前N帧的残差信号的编码模式时,若初始编码模式与当前帧的前一帧的残差信号的编码模式不同,且前一帧的残差信号的编码模式指示对前一帧的残差信号进行编码,此时,编码端可以根据之前帧的编码情况,和/或,长时平滑参数更新方式标志值,确定当前帧的残差信号的编码模式。
作为一种示例,编码端可以根据之前帧的编码情况,确定当前帧的残差信号的编码模式。
可选地,当满足第一条件时,编码端可以确定当前帧的残差信号的编码模式为前一帧的残差信号的编码模式。
可选地,第一条件可以包括在当前帧之前连续编码了残差信号的帧的数量小于第一阈值。
此时,拖尾控制器0的值可以加1,表示在当前帧之前连续编码了残差信号的帧的数量多了1个。
可选地,若不满足第一条件,即在当前帧之前连续编码了残差信号的帧的数量大于或等于第一阈值,则编码端可以确定当前帧的残差信号的编码模式为初始编码模式。
此时,拖尾控制器0的值可以置0。
例如,第一阈值为3,当前帧为第五帧,第四帧和第三帧的残差信号的编码模式都指示对残差信号进行编码,第二帧的残差信号的编码模式指示不对残差信号进行编码,则在当前帧之前连续编码了残差信号的帧的数量为2,由于2小于3,满足第一条件,则编码端可以确定当前帧的残差信号的编码模式与前一帧的残差信号的编码模式相同,即当前帧的残差信号的编码模式指示对当前帧的残差信号进行编码。
若第一帧到第四帧的残差信号的编码模式都指示对残差信号进行编码,则在当前帧之前连续被编码的残差信号的帧的数量为4,由于4大于3,不满足第一条件,则编码端可以确定当前帧的残差信号的编码模式与初始编码模式相同。
作为一种示例,编码端可以根据之前帧的编码情况,和/或,长时平滑参数更新方式标志值,确定当前帧的残差信号的编码模式。
可选地,第一条件还可以包括长时平滑参数更新方式标志值为0,以及前一帧的残差信号的编码模式未修改。
可选地,当满足第一条件时,编码端可以确定当前帧的残差信号的编码模式为前一帧的残差信号的编码模式。
也就是说,编码端可以根据之前帧的编码情况和长时平滑参数更新方式标志值,确定当前帧的残差信号的编码模式。
例如,第一阈值为3,当前帧为第五帧,第四帧和第三帧的残差信号的编码模式都指示对残差信号进行编码,第二帧的残差信号的编码模式指示不对残差信号进行编码,则在当前帧之前连续编码了残差信号的帧的数量为2,2小于3,且第四帧的残差信号的编码模式没有修改过,长时平滑参数更新方式标志值为0,则编码端可以确定当前帧的残差信号的编码模式与前一帧的残差信号的编码模式相同,即当前帧的残差信号的编码模式指示对当前帧的残差信号进行编码。
若不满足第一条件,即在当前帧之前连续编码的残差信号了帧的数量大于或等于第一阈值,长时平滑参数更新方式标志值为1,和/或,前一帧的残差信号的编码模式有修改,则编码端可以确定当前帧的残差信号的编码模式为初始编码模式。
此时,可选地,编码端可以根据长时平滑参数更新方式标志值,确定当前帧的残差信号的编码模式为初始编码模式。
示例性地,第一阈值为3,当前帧为第五帧,第四帧和第三帧的残差信号的编码模式都指示对残差信号进行编码,第二帧的残差信号的编码模式指示不对残差信号进行编码,则在当前帧之前连续被编码的残差信号的帧的数量为2,2小于3,且当前帧的立体声信号的长时平滑参数更新方式标志值为1,虽然在当前帧之前连续被编码的残差信号的帧的数量小于第一阈值,但长时平滑参数更新方式标志值为1,则编码端可以确定当前帧的残差信号的编码模式为初始编码模式。
可选地,编码端可以根据之前帧的编码情况,确定当前帧的残差信号的编码模式为初始编码模式。
示例性地,若编码端确定的前一帧的残差信号的编码模式指示对残差信号进行编码,经过一定的处理后,将前一帧的残差信号的编码模式修正为指示不对残差信号进行编码,则编码端可以确定当前帧的残差信号的编码模式为初始编码模式。
可选地,残差信号编码模式修改标志值可以表示残差信号的编码模式是否有修改,即编码端是否对残差信号的编码模式进行了修正。其中,当残差信号编码模式修改标志值为1时,表示残差信号的编码模式有修改;当残差信号编码模式修改标志值为0时,表示残差信号的编码模式没有修改。
例如,编码端确定的前一帧的残差信号的编码模式指示对前一帧的残差信号进行编码,经过一定的处理后,将前一帧的残差信号的编码模式修正为不对前一帧的残差信号进行编码,则前一帧的残差信号的编码模式有修改,前一帧的残差信号编码模式修改标志值为1。
上述技术方案,通过设定第一阈值,将当前帧之前连续编码的帧的数量与该第一阈值比较,根据比较结果确定当前帧的残差信号的编码模式,避免在当前帧之前连续编码的帧的数量满足任意条件的情况下,都将当前帧的残差信号的编码模式确定为指示对残差信号进行编码或不对残差信号进行编码,这样可以使得确定出的当前帧的残差信号的编码模式的准确率较高,接近当前帧的残差信号的实际编码模式。
在一种实现方式中,在当前帧的残差信号的编码模式的指示信息包括当前帧的之前帧的残差信号的编码情况,和/或,状态变化参数值,当前帧的之前帧的残差信号的编码情况用于指示在当前帧之前连续未编码残差信号的帧的数量,以及当前帧的前N帧的残差信号的编码模式时,若初始编码模式与当前帧的前一帧的残差信号的编码模式不同,且前一帧的残差信号的编码模式指示不对前一帧的残差信号进行编码。此时,编码端可以根据之前帧的编码情况,和/或,状态变化参数值,确定当前帧的残差信号的编码模式。
作为一种示例,编码端可以根据之前帧的编码情况,确定当前帧的残差信号的编码模式。
可选地,当满足第二条件时,编码端可以确定当前帧的残差信号的编码模式为前一帧的残差信号的编码模式。
可选地,第二条件可以包括在当前帧之前连续未编码残差信号的帧的数量小于第一阈值。
此时,拖尾控制器1的值加1。
可选地,若不满足第二条件,即在当前帧之前连续未编码残差信号的帧的数量大于或等于第一阈值,则编码端可以确定当前帧的残差信号的编码模式为初始编码模式。
此时,拖尾控制器1的值置0。
例如,第一阈值为3,当前帧为第五帧,第四帧和第三帧的残差信号的编码模式都指示不对残差信号进行编码,第二帧的残差信号的编码模式指示对残差信号进行编码,则在当前帧之前连续未编码残差信号的帧的数量为2,由于2小于3,满足第二条件,则编码端可以确定当前帧的残差信号的编码模式与前一帧的残差信号的编码模式相同,即当前帧的残差信号的编码模式指示不对当前帧的残差信号进行编码。
若第一帧到第四帧的残差信号的编码模式都指示不对残差信号进行编码,则在当前帧之前连续未编码残差信号的帧的数量为4,由于4大于3,不满足第二条件,则编码端可以确定当前帧的残差信号的编码模式与初始编码模式相同。
作为一种示例,编码端可以根据之前帧的编码情况,和/或,状态变化参数值,确定当前帧的残差信号的编码模式。
可选地,第二条件还可以包括状态变化参数值大于或等于第二阈值,且小于或等于第三阈值。
可选地,当满足第二条件时,编码端可以确定当前帧的残差信号的编码模式为前一帧的残差信号的编码模式。
也就是说,编码端可以根据之前帧的编码情况和状态变化参数值,确定当前帧的残差信号的编码模式。
示例性地,编码端可以先判断状态变化参数值和第二阈值、第三阈值的大小关系,若状态变化参数值大于或等于第二阈值,且小于或等于第三阈值,则编码端进一步判断在当前帧之前连续未编码残差信号的帧的数量与第一阈值的大小关系,若在当前帧之前连续未编码残差信号的帧的数量小于第一阈值,则编码端可以确定当前帧的残差信号的编码模式为前一帧的残差信号的编码模式。
若不满足第二条件,即在当前帧之前连续未编码残差信号的帧的数量大于或等于第一阈值,或,状态变化参数值大于第三阈值或小于第二阈值,编码端可以确定当前帧的残差信号的编码模式为初始编码模式。
此时,可选地,编码端可以根据之前帧的编码情况和状态变化参数值,确定当前帧的残差信号的编码模式为初始编码模式。
示例性地,编码端可以先判断状态变化参数值和第二阈值、第三阈值的大小关系,若状态变化参数值大于或等于第二阈值,且小于或等于第三阈值,则编码端进一步判断在当前帧之前连续未编码残差信号的帧的数量与第一阈值的大小关系,若在当前帧之前连续未编码残差信号的帧的数量大于或等于第一阈值,则编码端可以确定当前帧的残差信号的编码模式为初始编码模式。
可选地,编码端可以根据状态变化参数值,确定当前帧的残差信号的编码模式为初始编码模式。
示例性地,编码端判断状态变化参数值和第二阈值、第三阈值的大小关系,若状态变化参数值大于第三阈值,或小于第二阈值,则编码端可以确定当前帧的残差信号的编码模式为初始编码模式。
上述技术方案,由于当前帧的残差信号与前一帧的残差信号在时间上是连续的,因此先判断前一帧的残差信号的编码模式与当前帧的残差信号的初始编码模式是否相同,再根据判断结果进一步确定出的当前帧的残差信号的编码模式的准确率较高,因此可以更好地提高立体声信号的编码质量。
可选地,在一种实施方式中,编码端可以根据之前帧的残差信号的编码情况,长时平滑参数更新方式标志值,或状态变化参数值中的至少一个,确定当前帧的残差信号的编码模式。
需要说明的是,本申请实施例对于编码端如何根据之前帧的残差信号的编码情况,长时平滑参数更新方式标志值,或状态变化参数值中的至少一个,确定当前帧的残差信号的编码模式不作具体限定,任何可以根据之前帧的残差信号的编码情况,长时平滑参数更新方式标志值,或状态变化参数值中的至少一个,确定当前帧的残差信号的编码模式的方法都涵盖在本申请的保护范围之内。
可选地,该方法还可以包括:编码端基于当前帧的残差信号的编码模式的指示信息,对当前帧的残差信号的编码模式进行修正。
在一种可能的实施例中,在当前帧的残差信号的编码模式的指示信息包括当前帧的之前帧的残差信号的编码情况,当前帧的之前帧的残差信号的编码情况用于指示当前帧的前N帧的残差信号的编码模式时,编码端可以基于当前帧的之前帧的残差信号的编码模式,对当前帧的残差信号的编码模式进行修正。
具体而言,若当前帧的残差信号的编码模式与当前帧的前一帧的残差信号的编码模式不同,且前一帧的残差信号的编码模式未修改,编码端可以将当前帧的残差信号的编码模式修正为指示对当前帧的残差信号进行编码。
此时,编码端可以确定当前帧为切换帧。
例如,编码端确定的当前帧的残差信号的编码模式指示不对当前帧的残差信号进行编码,前一帧的残差信号的编码模式指示对前一帧的残差信号进行编码,且编码端没有对前一帧的残差信号的编码模式进行修正,则编码端可以将当前帧的残差信号的编码模式修正为指示对当前帧的残差信号进行编码。
可选地,若当前帧的残差信号的编码模式与前一帧的残差信号的编码模式不同,且前一帧的残差信号的编码模式未修改,编码端可以进一步判断当前帧的残差信号的编码模式是否指示不对当前帧的残差信号进行编码。若当前帧的残差信号的编码模式指示不对当前帧的残差信号进行编码,则编码端可以将当前帧的残差信号的编码模式修正为指示对当前帧的残差信号进行编码;若当前帧的残差信号的编码模式指示对当前帧的残差信号进行编码,则编码端保持当前帧的编码模式不变,即不对当前帧的残差信号的编码模式进行修正。
可选地,若当前帧的残差信号的编码模式与前一帧的残差信号的编码模式相同,和/或,前一帧的残差信号的编码模式有修改,则编码端不对当前帧的残差信号的编码模式进行修正,保持确定的当前帧的残差信号的编码模式。
例如,若编码端确定的当前帧的残差信号的编码模式指示不对当前帧的残差信号进行编码,前一帧的残差信号的编码模式指示对前一帧的残差信号进行编码,则编码端不对当前帧的残差信号的编码模式进行修正。
再例如,若编码端确定的前一帧的残差信号的编码模式指示不对前一帧的残差信号进行编码,又将前一帧的残差信号的编码模式修正为指示对前一帧的残差信号进行编码,则编码端不对当前帧的残差信号的编码模式进行修正,保持确定的当前帧的残差信号的编码模式。
上述技术方案,当确定出当前帧的残差信号的编码模式后,若满足一定的条件,则可以对该当前帧的残差信号的编码模式进行修正,以使最终确定的当前帧的编码模式更加准确,从而可以进一步提高立体声信号的编码质量。
图3~图6是可以应用本申请实施例的四种不同的流程图。下面结合图3~图6对本申请实施例的实现过程进行描述。
在图3~图6中,P1表示当前帧的残差信号的初始编码模式,P2表示前一帧的残差信号的编码模式,P3表示模式0拖尾控制器的值,P4表示模式1拖尾控制器的值,P5表示长时平滑参数更新方式标志值,P6表示前一帧的残差信号编码模式修改标志值,P7表示状态变化参数值,P8表示当前帧的残差信号的编码模式,P9表示当前帧的切换标志值。令第一阈值为3,第二阈值为0.21,第三阈值为2.5。
参见图3,编码端先判断P1与P2是否相等,即当前帧的残差信号的初始编码模式是否与前一帧的残差信号的编码模式相同,若P1=P2,则令P8等于P1,即保持初始编码模式;若P1≠P2,编码端继续判断P2是否等于1。在P2=1,即编码端对前一帧的残差信号进行编码的情况下,若P3<3且P6=0且P5=0,即在当前帧之前被连续编码的残差信号的帧的数量小于第一阈值、前一帧的残差信号的编码模式未修改,以及长时平滑参数更新方式标志值为0,则编码端可以确定P8=P2,即将前一帧的残差信号的编码模式赋给当前帧的残差信号的编码模式,且P3加1;若不满足P3<3且P6=0且P5=0中的任何一个条件,则编码端可以确定P8=P1,即将初始编码模式赋给当前帧的残差信号的编码模式,且P3置0。在P2=0,即编码端不对前一帧的残差信号进行编码的情况下,若P7>2.5或P7<0.21,即状态变化参数值大于第三阈值或小于第二阈值,编码端可以确定P8=P1,且P4置0;若0.21≤P7≤2.5,且P4<3,即状态变化参数值大于或等于第二阈值且小于或等于第三阈值,且在当前帧之前连续未被编码的残差信号的帧的数量小于第一阈值,编码端可以确定P8=P2,且P4加1;若0.21≤P7≤2.5,且P4≥3,编码端可以确定P8=P1,且P4置0。
编码端继续判断P8是否与P2相同,以及P6是否等于0,即判断当前帧的残差信号的编码模式是否与前一帧的残差信号的编码模式相同,以及前一帧的残差信号的编码模式是否有修改。若P8≠P2且P6=0,即确定的当前帧的残差信号的编码模式与前一帧的残差信号的编码模式不同,且,前一帧的残差信号的编码模式没有修改,则编码端可以确定P9=1,即当前帧为切换帧。并进一步判断P8是否等于0,若P8=0,编码端对P8进行修正,以使P8=1,即将当前帧的残差信号的编码模式修正为指示对当前帧的残差信号进行编码。若P8=1,保持P8不变。若P8=P2,和/或,P6=1,即当前帧的残差信号的编码模式与前一帧的残差信号的编码模式相同,和/或,前一帧的编码模式有修改,则编码端不对确定的当前帧的残差信号的编码模式进行修正,保持P8不变。
参见图4,编码端先判断P1与P2是否相等,若P1=P2,则令P8等于P1,;若P1≠P2,编码端继续判断P2是否等于1。在P2=1的情况下,若P3<3且P6=0且P5=0,则编码端可以确定P8=P2,且P3加1;若不满足P3<3且P6=0且P5=0中的任何一个条件,则编码端可以确定P8=P1。在P2=0的情况下,若P4<3,即在当前帧之前连续未被编码的残差信号的帧的数量小于第一阈值,编码端可以确定P8=P2,且P4加1;若P4≥3,即在当前帧之前连续未被编码的残差信号的帧的数量大于或等于第一阈值,编码端可以确定P8=P1,且P4置0。
编码端继续判断P8是否与P2相同,以及P6是否等于0。若P8≠P2且P6=0,则编码端可以确定P9=1。并进一步判断P8是否等于0,若P8=0,编码端对P8进行修正,以使P8=1。若P8=1,保持P8不变。若P8=P2,和/或,P6=1,则编码端不对确定的当前帧的残差信号的编码模式进行修正,保持P8不变。
参见图5,编码端先判断P1与P2是否相等,若P1=P2,则令P8等于P1,;若P1≠P2,编码端继续判断P2是否等于1。在P2=1的情况下,若P3<3,即在当前帧之前被连续编码的残差信号的帧的数量小于第一阈值,则编码端可以确定P8=P2,且P3加1;若P3≥3,即在当前帧之前被连续编码的残差信号的帧的数量大于或等于第一阈值,则编码端可以确定P8=P1,且P3置0。在P2=0的情况下,若P4<3,编码端可以确定P8=P2,且P4加1;若P4≥3,编码端可以确定P8=P1,且P4置0。
编码端继续判断P8是否与P2相同,以及P6是否等于0。若P8≠P2且P6=0,则编码端可以确定P9=1。并进一步判断P8是否等于0,若P8=0,编码端对P8进行修正,以使P8=1。若P8=1,保持P8不变。若P8=P2,和/或,P6=1,则编码端不对确定的当前帧的残差信号的编码模式进行修正,保持P8不变。
参见图6,编码端先判断P1与P2是否相等,若P1=P2,则令P8等于P1,;若P1≠P2,编码端继续判断P2是否等于1。在P2=1,即前一帧的残差信号的编码模式指示对前一帧的残差信号进行编码的情况下,编码端可以确定P8=P1,且P3置0。在P2=0的情况下,若P4<3,编码端可以确定P8=P2,且P4加1;若P4≥3,编码端可以确定P8=P1,且P4置0。
编码端继续判断P8是否与P2相同,以及P6是否等于0。若P8≠P2且P6=0,则编码端可以确定P9=1。并进一步判断P8是否等于0,若P8=0,编码端对P8进行修正,以使P8=1。若P8=1,保持P8不变。若P8=P2,和/或,P6=1,则编码端不对确定的当前帧的残差信号的编码模式进行修正,保持P8不变。
应理解,本申请实施例中的具体的例子只是为了帮助本领域技术人员更好地理解本申请实施例,而非限制本申请实施例的范围。
本申请实施例,由于前几帧信号的部分因素,如编码情况、长时平滑参数的更新方式标志值和状态变化参数值,与当前帧的残差信号的编码模式之间具有相关性,因此根据前几帧信号的编码情况、长时平滑参数的更新方式标志值或状态变化参数值中的至少一个,确定出的当前帧的残差信号的编码模式的准确率较高,从而可以更好地提高立体声信号的编码质量。
以上对本申请实施例提供的方法进行了详细描述,基于与上述方法实施例同样的发明构思,本申请实施例提供了一种编码装置,用于实现上述本申请实施例提供的方法中的各功能。编码装置还可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
图7是本申请实施例编码装置的示意性框图。应理解,图7示出的编码装置700仅是示例,本申请实施例的编码装置700还可以包括其他模块或单元,或者包括与图7中的各个模块的功能相似的模块,或者并非要包括图7中所有模块。
获取模块710,用于获取当前帧的残差信号的编码模式的指示信息,该指示信息包括当前帧的之前帧的残差信号的编码情况,当前帧的立体声信号的长时平滑参数更新方式标志值,或当前帧的立体声信号相对于之前帧的立体声信号的状态变化参数值中的至少一个。
确定模块720,用于根据获取模块710获取的当前帧的残差信号的编码模式的指示信息,确定当前帧的残差信号的编码模式,其中,编码模式用于指示是否对当前帧的残差信号进行编码。
可选地,该获取模块710获取的当前帧的之前帧的残差信号的编码情况用于指示以下情况中的至少一种:在当前帧之前连续编码了残差信号的帧的数量,在当前帧之前连续未编码残差信号的帧的数量,或当前帧的前N帧的残差信号的编码模式,其中,当前帧的前N帧在时域上连续,且当前帧的前N帧包括与当前帧紧邻的前一帧,N为正整数。
可选地,该获取模块710获取的状态变化参数值包括:当前帧的立体声信号与当前帧的前M帧的立体声信号的能量的比值,其中,当前帧的前M帧在时域上连续,且当前帧的前M帧包括与当前帧紧邻的前一帧,M为正整数;或当前帧的立体声信号与当前帧的前S帧的立体声信号的幅度的比值,当前帧的前S帧在时域上连续,且当前帧的前S帧包括与当前帧紧邻的前一帧,S为正整数。
可选地,该确定模块720还可以用于确定当前帧的残差信号的初始编码模式;此时,该确定模块720具体可以用于根据获取模块710获取的当前帧的残差信号的编码模式的指示信息,以及当前帧的残差信号的初始编码模式,确定当前帧的残差信号的编码模式。
可选地,该获取模块710获取的当前帧的残差信号的编码模式的指示信息包括当前帧的之前帧的残差信号的编码情况,当前帧的之前帧的残差信号的编码情况用于指示当前帧的前N帧的残差信号的编码模式;
该确定模块720具体可以用于若初始编码模式和与当前帧紧邻的前一帧的残差信号的编码模式相同,确定当前帧的残差信号的编码模式为初始编码模式。
可选地,该获取模块710获取的当前帧的残差信号的编码模式的指示信息包括当前帧的之前帧的残差信号的编码情况,和/或,长时平滑参数更新方式标志值,当前帧的之前帧的残差信号的编码情况用于指示在当前帧之前连续编码了残差信号的帧的数量,以及当前帧的前N帧的残差信号的编码模式;
该确定模块720具体可以用于若初始编码模式和与当前帧紧邻的前一帧的残差信号的编码模式不同,且前一帧的残差信号的编码模式指示对前一帧的残差信号进行编码,当满足第一条件时,确定当前帧的残差信号的编码模式为前一帧的残差信号的编码模式,其中,第一条件包括在当前帧之前连续编码了残差信号的帧的数量小于第一阈值。
可选地,第一条件还包括长时平滑参数更新方式标志值为0,以及前一帧的残差信号的编码模式未修改。
可选地,该确定模块720还可以用于若不满足第二条件,确定当前帧的残差信号的编码模式为初始编码模式。
可选地,该获取模块710获取的当前帧的残差信号的编码模式的指示信息包括当前帧的之前帧的残差信号的编码情况,和/或,状态变化参数值,当前帧的之前帧的残差信号的编码情况用于指示在当前帧之前连续未编码残差信号的帧的数量,以及当前帧的前N帧的残差信号的编码模式;
该确定模块720具体可以用于若初始编码模式和与当前帧紧邻的前一帧的残差信号的编码模式不同,且前一帧的残差信号的编码模式指示不对前一帧的残差信号进行编码,当满足第二条件时,确定当前帧的残差信号的编码模式为前一帧的残差信号的编码模式,其中,第二条件包括在当前帧之前连续未编码残差信号的帧的数量小于第一阈值。
可选地,第二条件还包括状态变化参数值大于或等于第二阈值,且小于或等于第三阈值。
可选地,该确定模块720还可以用于:若不满足第二条件,确定当前帧的残差信号的编码模式为初始编码模式。
可选地,该编码装置还可以包括修正模块730,用于基于获取模块710获取的当前帧的残差信号的编码模式的指示信息,对确定模块720确定的当前帧的残差信号的编码模式进行修正。
可选地,获取模块710获取的当前帧的残差信号的编码模式的指示信息包括当前帧的之前帧的残差信号的编码情况,当前帧的之前帧的残差信号的编码情况用于指示当前帧的前N帧的残差信号的编码模式;
修正模块730具体可以用于若确定模块720确定的当前帧的残差信号的编码模式和与当前帧紧邻的前一帧的残差信号的编码模式不同,且前一帧的残差信号的编码模式未修改,确定当前帧的残差信号的编码模式指示对当前帧的残差信号进行编码。
可选地,该确定模块720具体可以用于根据当前帧的下混信号的能量与当前帧的残差信号的能量,确定初始编码模式。
如图8所示为本申请实施例提供的编码装置800,用于实现上述方法中编码端的功能。其中,该编码装置800可以为芯片系统。本申请实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。编码装置800包括:
存储器810,用于存储程序指令。
处理器820,用于调用并执行存储器810中存储的程序指令,当存储器810中的程序被执行时,处理器820具体用于:获取当前帧的残差信号的编码模式的指示信息,该指示信息包括当前帧的之前帧的残差信号的编码情况,当前帧的立体声信号的长时平滑参数更新方式标志值,或当前帧的立体声信号相对于之前帧的立体声的状态变化参数值中的至少一个;根据获取的当前帧的残差信号的编码模式的指示信息,确定当前帧的残差信号的编码模式,编码模式用于指示是否对当前帧的残差信号进行编码。
可选地,处理器820获取的当前帧的之前帧的残差信号的编码情况用于指示以下情况中的至少一种:在当前帧之前连续编码了残差信号的帧的数量,在当前帧之前连续未编码的残差信号的帧的数量,或当前帧的前N帧的残差信号的编码模式,当前帧的前N帧在时域上连续,且当前帧的前N帧包括与当前帧紧邻的前一帧,N为正整数。
可选地,处理器820获取的状态变化参数值包括:当前帧的立体声信号与当前帧的前M帧的立体声信号的能量的比值,当前帧的前M帧在时域上连续,且当前帧的前M帧包括与当前帧紧邻的前一帧,M为正整数;或当前帧的立体声信号与当前帧的前S帧的立体声信号的幅度的比值,当前帧的前S帧在时域上连续,且当前帧的前S帧包括与当前帧紧邻的前一帧,S为正整数。
可选地,处理器820还用于:确定当前帧的残差信号的初始编码模式;根据当前帧的残差信号的编码模式的指示信息,以及当前帧的残差信号的初始编码模式,确定当前帧的残差信号的编码模式。
可选地,处理器820获取的当前帧的残差信号的编码模式的指示信息包括当前帧的之前帧的残差信号的编码情况,当前帧的之前帧的残差信号的编码情况用于指示当前帧的前N帧的残差信号的编码模式;
处理器820具体用于:若初始编码模式和与当前帧紧邻的前一帧的残差信号的编码模式相同,确定当前帧的残差信号的编码模式为初始编码模式。
可选地,处理器820获取的当前帧的残差信号的编码模式的指示信息包括当前帧的之前帧的残差信号的编码情况,和/或,长时平滑参数更新方式标志值,当前帧的之前帧的残差信号的编码情况用于指示在当前帧之前连续编码了残差信号的帧的数量,以及当前帧的前N帧的残差信号的编码模式;
处理器820具体用于:若初始编码模式和与当前帧紧邻的前一帧的残差信号的编码模式不同,且前一帧的残差信号的编码模式指示对前一帧的残差信号进行编码,当满足第一条件时,确定当前帧的残差信号的编码模式为前一帧的残差信号的编码模式,其中,第一条件包括在当前帧之前连续编码了残差信号的帧的数量小于第一阈值。
可选地,第一条件还包括长时平滑参数更新方式标志值为0,以及前一帧的残差信号的编码模式未修改。
可选地,处理器820还用于:若不满足第一条件,确定当前帧的残差信号的编码模式为初始编码模式。
可选地,处理器820获取的当前帧的残差信号的编码模式的指示信息包括当前帧的之前帧的残差信号的编码情况,和/或,状态变化参数值,当前帧的之前帧的残差信号的编码情况用于指示在当前帧之前连续未编码残差信号的帧的数量,以及当前帧的前N帧的残差信号的编码模式;
处理器820具体用于:若初始编码模式和与当前帧紧邻的前一帧的残差信号的编码模式不同,且前一帧的残差信号的编码模式用于指示不对前一帧的残差信号进行编码,当满足第二条件时,确定当前帧的残差信号的编码模式为前一帧的残差信号的编码模式,其中,第二条件包括在当前帧之前连续未编码残差信号的帧的数量小于第一阈值。
可选地,第二条件还包括状态变化参数值大于或等于第二阈值,且小于或等于第三阈值。
可选地,处理器820还用于若不满足第二条件,确定当前帧的残差信号的编码模式为初始编码模式。
可选地,处理器820还用于:基于当前帧的残差信号的编码模式的指示信息,对当前帧的残差信号的编码模式进行修正。
可选地,处理器820获取的当前帧的残差信号的编码模式的指示信息包括当前帧的之前帧的残差信号的编码情况,当前帧的之前帧的残差信号的编码情况用于指示当前帧的前N帧的残差信号的编码模式;
处理器820具体用于:若当前帧的残差信号的编码模式和与当前帧紧邻的前一帧的残差信号的编码模式不同,且前一帧的残差信号的编码模未修改,确定当前帧的残差信号的编码模式指示对当前帧的残差信号进行编码。
可选地,处理器820具体用于:根据当前帧的下混信号的能量与当前帧的残差信号的能量,确定初始编码模式。
本申请实施例中不限定上述处理器820以及存储器810之间的具体连接介质。本申请实施例在图8中以存储器810和处理器820之间通过总线830连接,总线在图8中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,处理器可以为中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本申请实施例中,存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
应理解,本申请实施例中的立体声信号的编码方法可以由下图9至图14中的终端设备或者网络设备执行。另外,本申请实施例中的编码装置还可以设置在图9至图14中的终端设备或者网络设备中,具体地,本申请实施例中的编码装置可以是图9至图14中的终端设备或者网络设备中的立体声编码器。
如图9所示,在音频通信中,第一终端设备中的立体声编码器对采集到的立体声信号进行立体声编码,第一终端设备中的信道编码器可以对立体声编码器得到的码流再进行信道编码,接下来,第一终端设备信道编码后得到的数据通过第一网络设备和第二网络设备传输到第二网络设备。第二终端设备在接收到第二网络设备的数据之后,第二终端设备的信道解码器进行信道解码,得到立体声信号编码码流,第二终端设备的立体声解码器再通过解码恢复出立体声信号,由终端设备进行该立体声信号的回放。这样就在不同的终端设备完成了音频通信。
应理解,在图9中,第二终端设备也可以对采集到的立体声信号进行编码,最终通过第二网络设备和第二网络设备将最终编码得到的数据传输给第一终端设备,第一终端设备通过对数据进行信道解码和立体声解码得到立体声信号。
在图9中,第一网络设备和第二网络设备可以是无线网络通信设备或者有线网络通信设备。第一网络设备和第二网络设备之间可以通过数字信道进行通信。
图9中的第一终端设备或者第二终端设备可以执行本申请实施例的立体声信号的编解码方法,本申请实施例中的编码装置、解码装置可以分别是第一终端设备或者第二终端设备中的立体声编码器、立体声解码器。
在音频通信中,网络设备可以实现音频信号编解码格式的转码。如图10所示,如果网络设备接收到的信号的编解码格式为其它立体声解码器对应的编解码格式,那么,网络设备中的信道解码器对接收到的信号进行信道解码,得到其它立体声解码器对应的编码码流,其它立体声解码器对该编码码流进行解码,得到立体声信号,立体声编码器再对立体声信号进行编码,得到立体声信号的编码码流,最后,信道编码器再对立体声信号的编码码流进行信道编码,得到最终的信号(该信号可以传输给终端设备或者其它的网络设备)。应理解,图10中的立体声编码器对应的编解码格式与其它立体声解码器对应的编解码格式不同。假设其它立体声解码器对应的编解码格式为第一编解码格式,立体声编码器对应的编解码格式为第二编解码格式,那么在图10中,通过网络设备就实现了将音频信号由第一编解码格式转化为第二编解码格式。
类似的,如图11所示,如果网络设备接收到的信号的编解码格式与立体声解码器对应的编解码格式相同,那么,在网络设备的信道解码器进行信道解码得到立体声信号的编码码流之后,可以由立体声解码器对立体声信号的编码码流进行解码,得到立体声信号,接下来,再由其它立体声编码器按照其它的编解码格式对该立体声信号进行编码,得到其它立体声编码器对应的编码码流,最后,信道编码器再对其它立体声编码器对应的编码码流进行信道编码,得到最终的信号(该信号可以传输给终端设备或者其它的网络设备)。与图10中的情况相同,图11中的立体声解码器对应的编解码格式与其它立体声编码器对应的编解码格式也是不同的。如果其它立体声编码器对应的编解码格式为第一编解码格式,立体声解码器对应的编解码格式为第二编解码格式,那么在图11中,通过网络设备就实现了将音频信号由第二编解码格式转化为第一编解码格式。
在图10和图11中,其它立体声编解码器和立体声编解码器分别对应不同的编解码格式,因此,经过其它立体声编解码器和立体声编解码器的处理就实现了立体声信号编解码格式的转码。
还应理解,图10中的立体声编码器能够实现本申请实施例中的立体声信号的编码方法,图11中的立体声解码器能够实现本申请实施例的立体声信号的解码方法。本申请实施例中的编码装置可以是图10中的网络设备中的立体声编码器,本申请实施例中的解码装置可以是图11中的网络设备中的立体声解码器。另外,图10和图11中的网络设备具体可以是无线网络通信设备或者有线网络通信设备。
如图12所示,在音频通信中,第一终端设备中的多声道编码器中的立体声编码器对由采集到的多声道信号生成的立体声信号进行立体声编码,多声道编码器得到的码流包含立体声编码器得到的码流,第一终端设备中的信道编码器可以对多声道编码器得到的码流再进行信道编码,接下来,第一终端设备信道编码后得到的数据通过第一网络设备和第二网络设备传输到第二网络设备。第二终端设备在接收到第二网络设备的数据之后,第二终端设备的信道解码器进行信道解码,得到多声道信号的编码码流,多声道信号的编码码流包含了立体声信号的编码码流,第二终端设备的多声道解码器中的立体声解码器再通过解码恢复出立体声信号,多声道解码器根据恢复出立体声信号解码得到多声道信号,由第二终端设备进行该多声道信号的回放。这样就在不同的终端设备完成了音频通信。
应理解,在图12中,第二终端设备也可以对采集到的多声道信号进行编码(具体由第二终端设备中的多声道编码器中的立体声编码器对由采集到的多声道信号生成的立体声信号进行立体声编码,然后再由第二终端设备中的信道编码器对多声道编码器得到的码流进行信道编码),最终通过第二网络设备和第二网络设备传输给第一终端设备,第一终端设备通过信道解码和多声道解码得到多声道信号。
在图12中,第一网络设备和第二网络设备可以是无线网络通信设备或者有线网络通信设备。第一网络设备和第二网络设备之间可以通过数字信道进行通信。
图12中的第一终端设备或者第二终端设备可以执行本申请实施例的立体声信号的编解码方法。另外,本申请实施例中的编码装置可以是第一终端设备或者第二终端设备中的立体声编码器,本申请实施例中的解码装置可以是第一终端设备或者第二终端设备中的立体声解码器。
在音频通信中,网络设备可以实现音频信号编解码格式的转码。如图13所示,如果网络设备接收到的信号的编解码格式为其它多声道解码器对应的编解码格式,那么,网络设备中的信道解码器对接收到的信号进行信道解码,得到其它多声道解码器对应的编码码流,其它多声道解码器对该编码码流进行解码,得到多声道信号,多声道编码器再对多声道信号进行编码,得到多声道信号的编码码流,其中多声道编码器中的立体声编码器对由多声道信号生成的立体声信号进行立体声编码得到立体声信号的编码码流,多声道信号的编码码流包含了立体声信号的编码码流,最后,信道编码器再对编码码流进行信道编码,得到最终的信号(该信号可以传输给终端设备或者其它的网络设备)。
类似的,如图14所示,如果网络设备接收到的信号的编解码格式与多声道解码器对应的编解码格式相同,那么,在网络设备的信道解码器进行信道解码得到多声道信号的编码码流之后,可以由多声道解码器对多声道信号的编码码流进行解码,得到多声道信号,其中多声道解码器中的立体声解码器对多声道信号的编码码流中的立体声信号的编码码流进行立体声解码,接下来,再由其它多声道编码器按照其它的编解码格式对该多声道信号进行编码,得到其它多声道编码器对应的多声道信号的编码码流,最后,信道编码器再对其它多声道编码器对应的编码码流进行信道编码,得到最终的信号(该信号可以传输给终端设备或者其它的网络设备)。
应理解,在图13和图14中,其它多声道编解码器和多声道编解码器分别对应不同的编解码格式。例如,在图13中,其它立体声解码器对应的编解码格式为第一编解码格式,多声道编码器对应的编解码格式为第二编解码格式,那么在图13中,通过网络设备就实现了将音频信号由第一编解码格式转化为第二编解码格式。类似地,在图14中,假设多声道解码器对应的编解码格式为第二编解码格式,其它立体声编码器对应的编解码格式为第一编解码格式,那么在图14中,通过网络设备就实现了将音频信号由第二编解码格式转化为第一编解码格式。因此,经过其它多声道编解码器和多声道编解码的处理就实现了音频信号编解码格式的转码。
还应理解,图13中的立体声编码器能够实现本申请中的立体声信号的编码方法,图14中的立体声解码器能够实现本申请中的立体声信号的解码方法。本申请实施例中的编码装置可以是图13中的网络设备中的立体声编码器,本申请实施例中的解码装置可以是图14中的网络设备中的立体声解码器。另外,图13和图14中的网络设备具体可以是无线网络通信设备或者有线网络通信设备。
本申请还提供了一种芯片,所述芯片包括处理器与通信接口,所述通信接口用于与外部器件进行通信,所述处理器用于执行本申请实施例的立体声信号的编码方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行本申请实施例的立体声信号的编码方法。
可选地,作为一种实现方式,所述芯片集成在终端设备或者网络设备上。
本申请提供了一种计算机可读存储介质,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行本申请实施例的立体声信号的编码方法的指令。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD))、或者半导体介质(例如,SSD)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (28)

1.一种立体声信号的编码方法,其特征在于,包括:
获取当前帧的残差信号的编码模式的指示信息,所述指示信息包括所述当前帧的之前帧的残差信号的编码情况,所述当前帧的立体声信号的长时平滑参数更新方式标志值,或所述当前帧的立体声信号相对于所述之前帧的立体声信号的状态变化参数值中的至少一个;
根据获取的所述当前帧的残差信号的编码模式的指示信息,确定所述当前帧的残差信号的编码模式,所述编码模式用于指示是否对所述当前帧的残差信号进行编码。
2.根据权利要求1所述的方法,其特征在于,所述当前帧的之前帧的残差信号的编码情况用于指示以下情况中的至少一种:
在所述当前帧之前连续编码了残差信号的帧的数量,在所述当前帧之前连续未编码残差信号的帧的数量,或所述当前帧的前N帧的残差信号的编码模式,所述当前帧的前N帧在时域上连续,且所述当前帧的前N帧包括与所述当前帧紧邻的前一帧,所述N为正整数。
3.根据权利要求1或2所述的方法,其特征在于,所述状态变化参数值包括:
所述当前帧的立体声信号与所述当前帧的前M帧的立体声信号的能量的比值,所述当前帧的前M帧在时域上连续,且所述当前帧的前M帧包括与所述当前帧紧邻的前一帧,所述M为正整数;或
所述当前帧的立体声信号与所述当前帧的前S帧的立体声信号的幅度的比值,所述当前帧的前S帧在时域上连续,且所述当前帧的前S帧包括与所述当前帧紧邻的前一帧,所述S为正整数。
4.根据权利要求1或2所述的方法,其特征在于,在所述根据获取的所述当前帧的残差信号的编码模式的指示信息确定所述当前帧的残差信号的编码模式之前,所述方法还包括:
确定所述当前帧的残差信号的初始编码模式;
所述根据获取的所述当前帧的残差信号的编码模式的指示信息,确定所述当前帧的残差信号的编码模式包括:
根据所述当前帧的残差信号的编码模式的指示信息,以及所述当前帧的残差信号的初始编码模式,确定所述当前帧的残差信号的编码模式。
5.根据权利要求4所述的方法,其特征在于,所述当前帧的残差信号的编码模式的指示信息包括所述当前帧的之前帧的残差信号的编码情况,所述当前帧的之前帧的残差信号的编码情况用于指示所述当前帧的前N帧的残差信号的编码模式;
所述根据所述当前帧的残差信号的编码模式的指示信息,以及所述当前帧的残差信号的初始编码模式,确定所述当前帧的残差信号的编码模式,包括:
若所述初始编码模式和与所述当前帧紧邻的前一帧的残差信号的编码模式相同,确定所述当前帧的残差信号的编码模式为所述初始编码模式。
6.根据权利要求4所述的方法,其特征在于,所述当前帧的残差信号的编码模式的指示信息包括所述当前帧的之前帧的残差信号的编码情况,和/或,所述长时平滑参数更新方式标志值,所述当前帧的之前帧的残差信号的编码情况用于指示在所述当前帧之前连续编码了残差信号的帧的数量,以及所述当前帧的前N帧的残差信号的编码模式;
所述根据所述当前帧的残差信号的编码模式的指示信息,以及所述当前帧的残差信号的初始编码模式,确定所述当前帧的残差信号的编码模式,包括:
若所述初始编码模式和与所述当前帧紧邻的前一帧的残差信号的编码模式不同,且所述前一帧的残差信号的编码模式指示对所述前一帧的残差信号进行编码,当满足第一条件时,确定所述当前帧的残差信号的编码模式为所述前一帧的残差信号的编码模式,其中,所述第一条件包括在所述当前帧之前连续编码了残差信号的帧的数量小于第一阈值。
7.根据权利要求6所述的方法,其特征在于,所述第一条件还包括所述长时平滑参数更新方式标志值为0,以及所述前一帧的残差信号的编码模式未修改。
8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
若不满足所述第一条件,确定所述当前帧的残差信号的编码模式为所述初始编码模式。
9.根据权利要求4所述的方法,其特征在于,所述当前帧的残差信号的编码模式的指示信息包括所述当前帧的之前帧的残差信号的编码情况,和/或,所述状态变化参数值,所述当前帧的之前帧的残差信号的编码情况用于指示在所述当前帧之前连续未编码残差信号的帧的数量,以及所述当前帧的前N帧的残差信号的编码模式;
所述根据所述当前帧的残差信号的编码模式的指示信息,以及所述当前帧的残差信号的初始编码模式,确定所述当前帧的残差信号的编码模式,包括:
若所述初始编码模式和与所述当前帧紧邻的前一帧的残差信号的编码模式不同,且所述前一帧的残差信号的编码模式指示不对所述前一帧的残差信号进行编码,当满足第二条件时,确定所述当前帧的残差信号的编码模式为所述前一帧的残差信号的编码模式,其中,所述第二条件包括在所述当前帧之前连续未编码残差信号的帧的数量小于第一阈值。
10.根据权利要求9所述的方法,其特征在于,所述第二条件还包括所述状态变化参数值大于或等于第二阈值,且小于或等于第三阈值。
11.根据权利要求9或10所述的方法,其特征在于,所述方法还包括:
若不满足所述第二条件,确定所述当前帧的残差信号的编码模式为所述初始编码模式。
12.根据权利要求5至7或9或10中任一项所述的方法,其特征在于,所述方法还包括:
基于所述当前帧的残差信号的编码模式的指示信息,对所述当前帧的残差信号的编码模式进行修正。
13.根据权利要求12所述的方法,其特征在于,所述当前帧的残差信号的编码模式的指示信息包括所述当前帧的之前帧的残差信号的编码情况,所述当前帧的之前帧的残差信号的编码情况用于指示所述当前帧的前N帧的残差信号的编码模式;
所述基于所述当前帧的残差信号的编码模式的指示信息,对所述当前帧的残差信号的编码模式进行修正,包括:
若所述当前帧的残差信号的编码模式和与所述当前帧紧邻的前一帧的残差信号的编码模式不同,且所述前一帧的残差信号的编码模式未修改,确定所述当前帧的残差信号的编码模式指示对所述当前帧的残差信号进行编码。
14.根据权利要求5至7或9或10或13中任一项所述的方法,其特征在于,所述确定当前帧的所述残差信号的初始编码模式,包括:
根据所述当前帧的下混信号的能量与所述当前帧的残差信号的能量,确定所述初始编码模式。
15.一种编码装置,其特征在于,包括处理器和存储器,所述存储器,用于存储程序指令;所述处理器,用于调用并执行所述存储器中存储的程序指令,当所述存储器中的程序被执行时,所述处理器用于:
获取当前帧的残差信号的编码模式的指示信息,所述指示信息包括所述当前帧的之前帧的残差信号的编码情况,所述当前帧的立体声信号的长时平滑参数更新方式标志值,或所述当前帧的立体声信号相对于所述之前帧的立体声信号的状态变化参数值中的至少一个;
根据获取的所述当前帧的残差信号的编码模式的指示信息,确定所述当前帧的残差信号的编码模式,所述编码模式用于指示是否对所述当前帧的残差信号进行编码。
16.根据权利要求15所述的装置,其特征在于,所述处理器获取的所述当前帧的之前帧的残差信号的编码情况用于指示以下情况中的至少一种:
在所述当前帧之前连续编码了残差信号的帧的数量,在所述当前帧之前连续未编码残差信号的帧的数量,或所述当前帧的前N帧的残差信号的编码模式,所述当前帧的前N帧在时域上连续,且所述当前帧的前N帧包括与所述当前帧紧邻的前一帧,所述N为正整数。
17.根据权利要求15或16所述的装置,其特征在于,所述处理器获取的所述状态变化参数值包括:
所述当前帧的立体声信号与所述当前帧的前M帧的立体声信号的能量的比值,所述当前帧的前M帧在时域上连续,且所述当前帧的前M帧包括与所述当前帧紧邻的前一帧,所述M为正整数;或
所述当前帧的立体声信号与所述当前帧的前S帧的立体声信号的幅度的比值,所述当前帧的前S帧在时域上连续,且所述当前帧的前S帧包括与所述当前帧紧邻的前一帧,所述S为正整数。
18.根据权利要求15或16所述的装置,其特征在于,所述处理器还用于:
确定所述当前帧的残差信号的初始编码模式;
根据所述当前帧的残差信号的编码模式的指示信息,以及所述当前帧的残差信号的初始编码模式,确定所述当前帧的残差信号的编码模式。
19.根据权利要求18所述的装置,其特征在于,所述处理器获取的所述当前帧的残差信号的编码模式的指示信息包括所述当前帧的之前帧的残差信号的编码情况,所述当前帧的之前帧的残差信号的编码情况用于指示所述当前帧的前N帧的残差信号的编码模式;
所述处理器具体用于:
若所述初始编码模式和与所述当前帧紧邻的前一帧的残差信号的编码模式相同,确定所述当前帧的残差信号的编码模式为所述初始编码模式。
20.根据权利要求18所述的装置,其特征在于,所述处理器获取的所述当前帧的残差信号的编码模式的指示信息包括所述当前帧的之前帧的残差信号的编码情况,和/或,所述长时平滑参数更新方式标志值,所述当前帧的之前帧的残差信号的编码情况用于指示在所述当前帧之前连续编码了残差信号的帧的数量,以及所述当前帧的前N帧的残差信号的编码模式;
所述处理器具体用于:
若所述初始编码模式和与所述当前帧紧邻的前一帧的残差信号的编码模式不同,且所述前一帧的残差信号的编码模式指示对所述前一帧的残差信号进行编码,当满足第一条件时,确定所述当前帧的残差信号的编码模式为所述前一帧的残差信号的编码模式,其中,所述第一条件包括在所述当前帧之前被连续编码了残差信号的帧的数量小于第一阈值。
21.根据权利要求20所述的装置,其特征在于,所述第一条件还包括所述长时平滑参数更新方式标志值为0,以及所述前一帧的残差信号的编码模式未修改。
22.根据权利要求20或21所述的装置,其特征在于,所述处理器还用于:
若不满足所述第一条件,确定所述当前帧的残差信号的编码模式为所述初始编码模式。
23.根据权利要求18所述的装置,其特征在于,所述处理器获取的所述当前帧的残差信号的编码模式的指示信息包括所述当前帧的之前帧的残差信号的编码情况,和/或,所述状态变化参数值,所述当前帧的之前帧的残差信号的编码情况用于指示在所述当前帧之前连续未编码残差信号的帧的数量,以及所述当前帧的前N帧的残差信号的编码模式;
所述处理器具体用于:
若所述初始编码模式和与所述当前帧紧邻的前一帧的残差信号的编码模式不同,且所述前一帧的残差信号的编码模式指示不对所述前一帧的残差信号进行编码,当满足第二条件时,确定所述当前帧的残差信号的编码模式为所述前一帧的残差信号的编码模式,其中,所述第二条件包括在所述当前帧之前连续未编码残差信号的帧的数量小于第一阈值。
24.根据权利要求23所述的装置,其特征在于,所述第二条件还包括所述状态变化参数值大于或等于第二阈值,且小于或等于第三阈值。
25.根据权利要求23或24所述的装置,其特征在于,所述处理器还用于:
若不满足所述第二条件,确定所述当前帧的残差信号的编码模式为所述初始编码模式。
26.根据权利要求19至21或23或24中任一项所述的装置,其特征在于,所述处理器还用于:
基于所述当前帧的残差信号的编码模式的指示信息,对所述当前帧的残差信号的编码模式进行修正。
27.根据权利要求26所述的装置,其特征在于,所述处理器获取的所述当前帧的残差信号的编码模式的指示信息包括所述当前帧的之前帧的残差信号的编码情况,所述当前帧的之前帧的残差信号的编码情况用于指示所述当前帧的前N帧的残差信号的编码模式;
所述处理器具体用于:
若所述当前帧的残差信号的编码模式和与所述当前帧紧邻的前一帧的残差信号的编码模式不同,且所述前一帧的残差信号的编码模未修改,确定所述当前帧的残差信号的编码模式指示对所述当前帧的残差信号进行编码。
28.根据权利要求19至21或23或24或27中任一项所述的装置,其特征在于,所述处理器具体用于:
根据所述当前帧的下混信号的能量与所述当前帧的残差信号的能量,确定所述初始编码模式。
CN201810549268.9A 2018-05-31 2018-05-31 立体声信号的编码方法和装置 Active CN110556118B (zh)

Priority Applications (9)

Application Number Priority Date Filing Date Title
CN201810549268.9A CN110556118B (zh) 2018-05-31 2018-05-31 立体声信号的编码方法和装置
JP2020566797A JP7252263B2 (ja) 2018-05-31 2019-05-29 ステレオ信号エンコード方法および装置
KR1020207035527A KR102578950B1 (ko) 2018-05-31 2019-05-29 스테레오 신호 인코딩 방법 및 장치
KR1020237031033A KR20230137473A (ko) 2018-05-31 2019-05-29 스테레오 신호 인코딩 방법 및 장치
SG11202011325PA SG11202011325PA (en) 2018-05-31 2019-05-29 Stereo signal encoding method and apparatus
BR112020024488-0A BR112020024488A2 (pt) 2018-05-31 2019-05-29 método de codificação de sinal estéreo, aparelho e meio de armazenamento legível por computador não transitório
EP19810874.8A EP3786947A4 (en) 2018-05-31 2019-05-29 METHOD AND DEVICE FOR CODING STEREO SIGNALS
PCT/CN2019/089099 WO2019228423A1 (zh) 2018-05-31 2019-05-29 立体声信号的编码方法和装置
US17/107,004 US11587572B2 (en) 2018-05-31 2020-11-30 Stereo signal encoding method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810549268.9A CN110556118B (zh) 2018-05-31 2018-05-31 立体声信号的编码方法和装置

Publications (2)

Publication Number Publication Date
CN110556118A CN110556118A (zh) 2019-12-10
CN110556118B true CN110556118B (zh) 2022-05-10

Family

ID=68698711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810549268.9A Active CN110556118B (zh) 2018-05-31 2018-05-31 立体声信号的编码方法和装置

Country Status (8)

Country Link
US (1) US11587572B2 (zh)
EP (1) EP3786947A4 (zh)
JP (1) JP7252263B2 (zh)
KR (2) KR20230137473A (zh)
CN (1) CN110556118B (zh)
BR (1) BR112020024488A2 (zh)
SG (1) SG11202011325PA (zh)
WO (1) WO2019228423A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110556116B (zh) * 2018-05-31 2021-10-22 华为技术有限公司 计算下混信号和残差信号的方法和装置
CN115346537A (zh) * 2021-05-14 2022-11-15 华为技术有限公司 一种音频编码、解码方法及装置
CN115376530A (zh) * 2021-05-17 2022-11-22 华为技术有限公司 三维音频信号编码方法、装置和编码器
CN115881138A (zh) * 2021-09-29 2023-03-31 华为技术有限公司 解码方法、装置、设备、存储介质及计算机程序产品
CN114365509B (zh) * 2021-12-03 2024-03-01 北京小米移动软件有限公司 一种立体声音频信号处理方法及设备/存储介质/装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350197A (zh) * 2007-07-16 2009-01-21 华为技术有限公司 立体声音频编/解码方法及编/解码器
CN101594186A (zh) * 2008-05-28 2009-12-02 华为技术有限公司 双通道信号编码中生成单通道信号的方法和装置
CN107731238A (zh) * 2016-08-10 2018-02-23 华为技术有限公司 多声道信号的编码方法和编码器

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003330497A (ja) * 2002-05-15 2003-11-19 Matsushita Electric Ind Co Ltd オーディオ信号の符号化方法及び装置、符号化及び復号化システム、並びに符号化を実行するプログラム及び当該プログラムを記録した記録媒体
JP2004325633A (ja) * 2003-04-23 2004-11-18 Matsushita Electric Ind Co Ltd 信号符号化方法、信号符号化プログラム及びその記録媒体
US7761303B2 (en) * 2005-08-30 2010-07-20 Lg Electronics Inc. Slot position coding of TTT syntax of spatial audio coding application
KR20100035121A (ko) * 2008-09-25 2010-04-02 엘지전자 주식회사 신호 처리 방법 및 이의 장치
JP4977157B2 (ja) * 2009-03-06 2012-07-18 株式会社エヌ・ティ・ティ・ドコモ 音信号符号化方法、音信号復号方法、符号化装置、復号装置、音信号処理システム、音信号符号化プログラム、及び、音信号復号プログラム
BR122019023924B1 (pt) * 2009-03-17 2021-06-01 Dolby International Ab Sistema codificador, sistema decodificador, método para codificar um sinal estéreo para um sinal de fluxo de bits e método para decodificar um sinal de fluxo de bits para um sinal estéreo
JP5581449B2 (ja) 2010-08-24 2014-08-27 ドルビー・インターナショナル・アーベー Fmステレオ無線受信機の断続的モノラル受信の隠蔽
FR2969805A1 (fr) * 2010-12-23 2012-06-29 France Telecom Codage bas retard alternant codage predictif et codage par transformee
CN104170007B (zh) * 2012-06-19 2017-09-26 深圳广晟信源技术有限公司 对单声道或立体声进行编码的方法
EP2987166A4 (en) * 2013-04-15 2016-12-21 Nokia Technologies Oy BESTIMMER FOR MULTI-CHANNEL AUDIOSIGNAL CODIER MODE
EP2830053A1 (en) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Multi-channel audio decoder, multi-channel audio encoder, methods and computer program using a residual-signal-based adjustment of a contribution of a decorrelated signal
CA2997334A1 (en) * 2015-09-25 2017-03-30 Voiceage Corporation Method and system for encoding left and right channels of a stereo sound signal selecting between two and four sub-frames models depending on the bit budget
CN110556117B (zh) 2018-05-31 2022-04-22 华为技术有限公司 立体声信号的编码方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350197A (zh) * 2007-07-16 2009-01-21 华为技术有限公司 立体声音频编/解码方法及编/解码器
CN101594186A (zh) * 2008-05-28 2009-12-02 华为技术有限公司 双通道信号编码中生成单通道信号的方法和装置
CN107731238A (zh) * 2016-08-10 2018-02-23 华为技术有限公司 多声道信号的编码方法和编码器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Experimental Study on Improved Parametric Stereo for Bit Rate Scalable Audio Coding;Ikhwana Elfitri;《2014 6th International Conference on Information Technology and Electrical Engineering》;20141007;第1-5页 *

Also Published As

Publication number Publication date
KR20210010493A (ko) 2021-01-27
EP3786947A1 (en) 2021-03-03
US20210082443A1 (en) 2021-03-18
WO2019228423A1 (zh) 2019-12-05
KR102578950B1 (ko) 2023-09-14
SG11202011325PA (en) 2020-12-30
JP7252263B2 (ja) 2023-04-04
BR112020024488A2 (pt) 2021-03-02
US11587572B2 (en) 2023-02-21
KR20230137473A (ko) 2023-10-04
CN110556118A (zh) 2019-12-10
EP3786947A4 (en) 2021-06-23
JP2021526239A (ja) 2021-09-30

Similar Documents

Publication Publication Date Title
CN110556118B (zh) 立体声信号的编码方法和装置
US8527282B2 (en) Method and an apparatus for processing a signal
US8972270B2 (en) Method and an apparatus for processing an audio signal
US8258849B2 (en) Method and an apparatus for processing a signal
CN108885876B (zh) 用于对多声道音频信号的参数编码和解码的空间化信息进行的优化编码和解码
EP2169666B1 (en) A method and an apparatus for processing a signal
US11978463B2 (en) Stereo signal encoding method and apparatus using a residual signal encoding parameter
US8346380B2 (en) Method and an apparatus for processing a signal
US11527253B2 (en) Stereo encoding method and stereo encoder
CN110556116B (zh) 计算下混信号和残差信号的方法和装置
CN112233682A (zh) 一种立体声编码方法、立体声解码方法和装置
US9070364B2 (en) Method and apparatus for processing audio signals
CN112151045B (zh) 一种立体声编码方法、立体声解码方法和装置
EP3762923A1 (en) Audio coding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant