CN107438181B - 一种音视频处理方法和装置 - Google Patents

一种音视频处理方法和装置 Download PDF

Info

Publication number
CN107438181B
CN107438181B CN201610363573.XA CN201610363573A CN107438181B CN 107438181 B CN107438181 B CN 107438181B CN 201610363573 A CN201610363573 A CN 201610363573A CN 107438181 B CN107438181 B CN 107438181B
Authority
CN
China
Prior art keywords
data
video data
audio
audio data
decoded
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
CN201610363573.XA
Other languages
English (en)
Other versions
CN107438181A (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.)
Erlu (Shenzhen) game development Co., Ltd
Original Assignee
Erlu (shenzhen) Game Development 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
Application filed by Erlu (shenzhen) Game Development Co Ltd filed Critical Erlu (shenzhen) Game Development Co Ltd
Priority to CN201610363573.XA priority Critical patent/CN107438181B/zh
Publication of CN107438181A publication Critical patent/CN107438181A/zh
Application granted granted Critical
Publication of CN107438181B publication Critical patent/CN107438181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L2021/02082Noise filtering the noise being echo, reverberation of the speech

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种音视频处理方法和装置。本发明涉及一种音视频编解码方法和装置,该方法包括以下步骤:接收远端音视频数据,并从远端音视频数据中获取待解码视频数据;从待解码视频数据中获取编码表;根据检索频率将所述编码表分割为预定数目的子码块;根据上下文获取当前块值;根据当前块值和子码块动态生成待解码视频数据的数据长度值;根据数据长度值对待解码视频数据进行CAVLC解码,以获取解码后的YUV格式的远端视频数据。上述的音视频编解码方法和装置,能够降低音视频编解码过程中的资源消耗和提高音视频编解码的效率。

Description

一种音视频处理方法和装置
技术领域
本发明涉及通信技术领域,特别是涉及一种音视频处理方法和装置。
背景技术
移动智能终端信息的交互传递,依赖的是网络的数据传输,由文字到图片再到语音视频,所传递的数据大小以指数级的倍率增长,对网络的要求越来越高。由于第三代及第四代移动通信技术(分别简称3G和4G)的普及,为移动终端传递较大体积的数据提供了基础。3G下行速度峰值理论可达3.6Mbit/s(一说2.8Mbit/s),上行速度峰值也可达384kbit/s。因此如果把语音视频数据控制在这个范围内,即可满足在移动终端之间进行语音视频交互的要求。
在移动终端实现即时的音视频交互需要解决对音视频处理的几个重要问题,第一是软件层高性能的音视频编解码,要保证不能有太大的CPU占用。第二是音视频解码的效率问题,以保证视频的连续性。
发明内容
基于此,有必要针对上述技术问题,提供一种音视频处理方法和装置,其能够降低音视频编解码过程中的资源消耗和提高音视频编解码的效率。
一种音视频处理方法,包括以下步骤:
从编码后的视频数据中获取待解码视频数据;
从所述待解码视频数据中获取编码表;
根据检索频率将所述编码表分割为预定数目的子码块;
根据上下文获取当前块值;
根据所述当前块值和所述子码块动态生成所述待解码视频数据的数据长度值;
根据所述数据长度值对所述待解码视频数据进行CAVLC解码,以获取解码后的YUV格式的视频数据。
在其中一个实施例中,还包括:将所述解码后的YUV格式的视频数据转换为RGB格式的贴图,并在固定位置以预定频率显示所述贴图,其中,所述将所述解码后的YUV格式的视频数据转换为RGB格式的贴图的步骤包括:
将每个像素点的浮点型YUV分量数据转换成整型YUV分量数据;
根据所述整型YUV分量数据计算当前像素点的R、G、B三个颜色通道的偏移值;
分别将所述R、G、B三个颜色通道的偏移值进行移位运算,获取移位后的R、G、B三个颜色通道的偏移值;
分别将所述移位后的R、G、B三个颜色通道的偏移值和RGB基准色值进行线性运算,获取R、G、B三个颜色通道值。
在其中一个实施例中,在所述从编码后的视频数据中获取待解码视频数据的步骤之前还包括:
采集音频数据和视频数据;
对所述音频数据进行编码,获取编码后的音频数据,对所述视频数据进行编码,获取所述编码后的视频数据;
发送所述编码后的音频数据和视频数据。
在其中一个实施例中,在所述对所述音频数据进行编码的步骤之前,还包括:
对所述音频数据进行回音消除,获取回声消除后的音频数据;
对所述回声消除后的音频数据进行静音检测,以获取滤除静音数据帧的音频数据;
对所述滤除静音数据帧的音频数据进行降噪处理,以获取滤除背景噪音后的音频数据。
在其中一个实施例中,所述对所述音频数据进行回音消除的步骤包括:
计算所述音频数据的声音延迟时间;
根据所述声音延迟时间对所述音频数据进行回声消除,以获取回声消除后的音频数据。
一种音视频处理装置,包括:
待解码视频数据获取模块,从编码后的视频数据中获取待解码视频数据;
编码表获取模块,用于从所述待解码视频数据中获取编码表;
分割模块,用于根据检索频率将所述编码表分割为预定数目的子码块;
当前块值计算模块,用于根据上下文获取当前块值;
数据长度值计算模块,用于根据所述当前块值和所述子码块动态生成所述待解码视频数据的数据长度值;
视频解码模块,用于根据所述数据长度值对所述待解码视频数据进行CAVLC解码,以获取解码后的YUV格式的视频数据。
在其中一个实施例中,还包括:
显示模块,用于将所述解码后的YUV格式的视频数据转换为RGB格式的贴图,并在固定位置以预定频率显示所述贴图;
所述显示模块还用于,将每个像素点的浮点型YUV分量数据转换成整型YUV分量数据;根据所述整型YUV分量数据计算当前像素点的R、G、B三个颜色通道的偏移值;分别将所述R、G、B三个颜色通道的偏移值进行移位运算,获取移位后的R、G、B三个颜色通道的偏移值;分别将所述移位后的R、G、B三个颜色通道的偏移值和RGB基准色值进行线性运算,获取R、G、B三个颜色通道值。
在其中一个实施例中,还包括:
采集模块,用于采集音频数据和视频数据;
编码模块,用于对所述音频数据进行编码,获取编码后的音频数据,并对所述视频数据进行编码,获取编码后的视频数据;
发送模块,用于发送所述编码后的音频数据和视频数据。
在其中一个实施例中,还包括:
预处理模块,用于对所述音频数据进行回音消除,获取回声消除后的音频数据;对所述回声消除后的音频数据进行静音检测,以获取滤除静音数据帧的音频数据;对所述滤除静音数据帧的音频数据进行降噪处理,以获取滤除背景噪音后的音频数据。
在其中一个实施例中,所述预处理模块还用于:计算所述音频数据的声音延迟时间;根据所述声音延迟时间对所述音频数据进行回声消除,以获取回声消除后的音频数据。
上述实施例的音视频处理方法和装置,将获取的整个编码表根据检索频率分割成预定数目的子码块,根据所述当前块值和所述子码块动态生成所述待解码视频数据的数据长度值;根据数据长度值对待解码视频数据进行CAVLC解码,以获取解码后的YUV格式的远端视频数据,降低了码字的检索次数,提高了视频解码效率,降低视频解码过程中的资源消耗,从而提高了整个音视频编解码效率并降低了音视频编解码过程中的资源消耗。
附图说明
图1为一个实施例中的一种音视频处理方法的流程图;
图2为一个实施例中的将YUV格式的视频数据转换为RGB格式的贴图的流程图;
图3为另一个实施例的音视频处理方法的部分流程图;
图4为一个实施例的对音频数据进行预处理的流程图;
图5为一个实施例中的音视频处理方法应用场景示意图;
图6为一个实施例中的一种音视频处理装置的结构框图;
图7为另一个实施例中的一种音视频处理装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下通过实施例,并结合附图,对本发明音视频处理方法和装置的具体实施方式进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,本发明实施例的音视频处理方法适用于H.264编码格式的视频数据。
在一些实施例中,如图1所示,提出一种音视频处理方法,该方法包括以下步骤:
步骤102,从编码后的视频数据中获取待解码视频数据。
在本实施例中,接收服务器发送的编码后的视频数据,将编码后的视频数据进行解压缩,得到YUV格式的待解码视频数据。
步骤104,从待解码视频数据中获取编码表。
在本实施例中,从上述步骤102获取的待解码视频数据中读取coeff_token编码码流。
步骤106,根据检索频率将编码表分割为预定数目的子码块。
在本实施例中,检索频率是指拖尾系数个数(TrailingOnes)和非零系数(TotalCoeff)个数在解码中出现的次数概率。分割是根据拖尾系数个数(TrailingOnes)和非零系数(TotalCoeff)各自出现频率的高低来对coeff_token编码表进行分割,频率高的进行小块分割,频率低的进行大块分割。
将coeff_token编码表分割为预定数目的子码块。在本实施例中预定数目可以为9,还可以为其他数目,这里不一一举例。
步骤108,根据上下文获取当前块值。
当前块值(Number Current,nC)是通过编码表的上下文将原编码矩阵分割成4*4的预定数目的子码块后,相邻两个码块之间的非零系数个数来计算出来的。例如假定当前块的左侧块和上方块的非零系数的个数分别是nA和nB,计算参数nC如下:若左侧块和上方块都存在,则nC=(nA+nB+1)>>1;若只存在左侧块,则nC=nA;若只存在上方块,则nC=nB;若左侧块和上方块都存不在,则nC=0。
步骤110,根据当前块值和子码块动态生成待解码视频数据的数据长度值。
在本实施例中,将上述步骤208获取的nC值和子码块关联起来,动态生成待解码视频数据的数据长度值。后续根据该数据长度值在分割的子码块中进行对应解码。
例如,nC=1,即nC值为1时,生成的解码数据长度值为2。通过计算出的nC找到匹配的子码块,从待解码视频数据中读取2个bit数据M。当M!=0时,根据M值选择对应的解码非零系数和拖尾系数;当M==0时,更改读取的解码长度为6,若6个bit数据为非零,则找到对应的码表读取解码非零系数和拖尾系数,若为0,则选择指定的0码块,读取解码非零系数和拖尾系数。
步骤112,根据数据长度值对待解码视频数据进行CAVLC解码,以获取解码后的YUV格式的视频数据。
在本实施例中,根据获取的数据长度值,进行CAVLC解码即初始化所有的系数幅值从待解码视频数据中读取标志位码字,然后查找码字存储表,解码出非零系数和拖尾系数,继而解码非零系数个数(TotalCoeff)、拖尾系数个数(TrailingOnes)、解码拖尾系数符号(trailing_ones_sign_flag)、解码非零系数幅值以及解码最后一个非零系数前零的数目(total_zeros)和非零系数前零的个数(run_before),最终获取解码后的YUV格式的视频数据。
上述实施例的音视频处理方法,将获取的整个编码表根据检索频率分割成预定数目的子码块,根据当前块值和子码块动态生成待解码视频数据的数据长度值;根据数据长度值对待解码视频数据进行CAVLC解码,以获取解码后的YUV格式的视频数据,降低了码字的检索次数,提高了整个解码效率,降低解码过程中的资源消耗。
在一个实施例中,还包括:将解码后的YUV格式的视频数据转换为RGB格式的贴图,并在固定位置以预定频率显示该贴图。由于移动终端的平台限制,H.264格式的视频数据解码后获取的YUV数据流在移动终端上显示效率不高。因此需要对YUV数据流显示进行优化,即将解码后的YUV格式的视频数据转换为RGB格式的贴图。在一个实施例中,可以采用完全查表法将YUV格式的视频数据转换为RGB格式的贴图。在另一个实施例中,还可以采用整点运算或者汇编指令的方式将将YUV格式的视频数据转换为RGB格式的贴图,这里不再赘述。
通常YUV分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。
与RGB类似,YUV也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,YUV码流的存储格式其实与其采样的方式密切相关,主流的采样方式有三种,YUV4:4:4,YUV4:2:2,YUV4:2:0。从YUV码流中还原每个像素点的YUV值,因为只有正确地还原了每个像素点的YUV值,才能通过YUV与RGB的转换公式提取出每个像素点的RGB值,然后显示出来。在下面的实施例中,以YUV420格式的YUV视频数据为例,详细地描述转换为RGB格式的贴图的过程。
如图2所示,将YUV420格式的视频数据转换为RGB格式的贴图的步骤包括:
步骤202,将每个像素点的浮点型YUV分量数据转换成整型YUV分量数据。
在本实施例中,可以通过将每个像素点的浮点型YUV分量数据提升整数倍的方式,转换成整型YUV分量数据。
步骤204,根据整型YUV分量数据计算当前像素点的R、G、B三个颜色通道的偏移值。
在某个像素点,R、G、B三个颜色通道的偏移值根据当前整型YUV分量数据值计算出来,其计算公式为:
offset_R=Y+V0
offset_G=Y-U1-V1
offset_B=Y+U2
其中,offset_R,offset_G和offset_B分别为R、G、B三个颜色通道的偏移值;Y为YUV420数据中的Y分量;U1由H.264格式的视频数据解码得到的YUV420数据中第2个像素的U分量;U2为由H.264格式的视频数据解码得到的YUV420数据中第3像素的U分量;V0为由H.264格式的视频数据码解码得到的YUV420数据中第1素的V分量;V1为由H.264格式的视频数据码解码得到的YUV420数据中第2个像素的V分量。
步骤206,分别将R、G、B三个颜色通道的偏移值进行移位运算,获取移位后的R、G、B三个颜色通道的偏移值。
在本实施例中,分别将R、G、B三个颜色通道的偏移值进行右移预定位数,获取移位后的R、G、B三个颜色通道的偏移值。例如,分别将R、G、B三个颜色通道的偏移值进行右移18位,其计算公式如下:
offset_R=(Y+V0)>>18
offset_G=(Y-U1-V1)>>18
offset_B=(Y+U2)>>18
步骤208,分别将移位后的R、G、B三个颜色通道的偏移值和RGB颜色基准值进行线性运算,获取R、G、B三个颜色通道值。
在本实施例中,分别将移位后的R、G、B三个颜色通道的偏移值和RGB基准色值进行线性运算的计算公式如下:
R=YUVtable[Referene+offset_R];
G=YUVtable[Referene+offset_G];
B=YUVtable[Referene+offset_B];
其中,YUVtable为一维YUV色表值,Referene为RGB基准色值,offset_R,offset_G和offset_B分别为移位后的R、G、B三个颜色通道的偏移值。
在本实施例中,通过上述步骤202至步骤208对完全查表法进行优化,对每个YUV分量的数据进行分配,将RGB的各分量值分化为表格,且将表格优化为一个一维数组,针对每个像素点的RGB值进行独立解析。使得YUV数据转换为RGB的效率提高,从而提高视频显示效率,降低整个解码过程中的内存占用和CPU的占用,解决了YUV码流在移动终端上显示效率低的问题,节省了显示过程中的内存、处理器占用的容量。
可以理解,YUV444和YUV422格式的视频数据也可以按照上述方法转换为RGB格式的贴图。
在一个实施例中,如图3所示,在从编码后的视频数据中获取待解码的视频数据的步骤之前,该方法还包括:
步骤302,采集音频数据和视频数据。
根据预先定义的音频数据的采样率和码率,视频数据的分辨率,码率等参数采集音频数据和视频数据。
在一些实施例中,利用麦克风录制音频数据。以iOS系统为例,录制采用AudioQueue录制音频。需要注意的是,录制音频的过程中将先进入音频录制队列再返回音频数据,该过程会产生时间差。回音消除时如果不考虑该时间差,会影响回音消除的效果,不但可能消除不了回音,还会额外增加声音的底噪,引起变声,尖锐等不可测的声音变化。在本实施例中,返回录制的音频数据为PCM格式的二进制数据。
在一些实施例中,可以调用移动终端的摄像头采集视频数据。以手机为例,选择前置或后置摄像头,以每秒8次的频率采集视频数据,并将获取到的视频数据存储为YUV420格式。
步骤304,对音频数据进行编码,获取编码后的音频数据;对视频数据进行编码,获取编码后的视频数据。
在本实施例中,将上述音频数据以SPEEX标准进行编码,获取编码后的音频数据。对视频数据进行编码,以获取编码后的视频数据。在本实施例中,将采集的视频数据以H.264标准进行编码,获取编码后的视频数据。
步骤306,发送编码后的音频数据和视频数据。
将编码后的音频数据和编码后的视频数据在网络传输层进行protobuf封装成音视频数据包,并将音视频数据包发送至服务器。
在一个实施例中,如图4所示,在对音频数据进行编码的步骤之前,还包括对音频数据进行预处理,具体包括:
步骤402,对音频数据进行回音消除,获取回声消除后的音频数据。
对音频数据进行回音消除的处理过程与播放音频数据的过程相关。对音频数据进行回音消除的具体步骤包括:
(1)计算音频数据的声音延迟时间。
音频数据的声音延迟时间是指发送端发送的音频数据与接收端的接收音频数据之间的声音延迟时间。发送端是指采集音视频并发送的移动终端,亦称为近端移动终端。接收端是指接收音视频并播放的移动终端,亦称为远端移动终端。
在本实施例中,计算音频数据之间的时间延迟,需要获取4个时间点的值。这4个时间点分别为远端音频帧的播放时间、远端音频帧进入播放队列的时间、近端音频帧进入录制队列的时间和取出录制的近端音频帧的捕捉时间。
近端音频数据与远端音频数据的声音延迟时间的计算公式为:(a-b)+(c-d)。其中,a为远端音频帧的播放时间,b为远端音频帧进入播放队列的时间,c为近端音频进入录制队列的时间,d为取出录制的近端音频帧的捕捉时间。上述公式中提到的a、b两个值,保证了传递给回声消除算法的近端音频数据和远端音频数据的同步。如果稍有不同步,后续的回声消除中的自适应滤波器就会发散,从而导致消除回音失败。
在本实施例中,根据声音延迟时间,利用webrtc算法对音频数据进行回声消除,以获取回声消除后的音频数据。当然,还可以采取其他回声消除的算法消除回声,这里不再一一列举。
步骤404,对回声消除后的音频数据进行静音检测,以获取滤除静音数据帧的音频数据。
在一个实施例中,对所述回声消除后的音频数据进行静音检测的步骤包括:
(1)判断音频数据的每帧当前数据帧是否为静音帧,如果是,则执行步骤(2),反之,则不作任何处理。
(2)当前数据帧为静音帧时,则滤除当前数据帧,以获取滤除静音数据帧的音频数据。
如果当前数据帧为静音帧,即将该数据帧抛弃以达到提高运算效率和节省流量的目的。
步骤406,对滤除静音数据帧的音频数据进行降噪处理,以获取滤除背景噪音后的音频数据。
需要说明的是,对音频数据进行数据预处理的处理顺序为回音消除->静音检测->降噪处理。该顺序尤为重要,如果先进行静音检测(VAD或NS),可能会影响回音消除的效果。同样如果先进行降噪处理,可能会影响静音检测的判断。如果实施例中没有进行播放音频数据,则会自动跳过回音消除的处理。
上述对音频数据进行预处理的方法,在软件层面解决了回音消除的问题,满足移动终端的需求。并且,改善了手持移动终端在开放扬声器下的通话效果,扩大了使用场景。
上述音视频处理方法,由于降低了码字的检索次数,从而提高视频解码效率,降低了资源消耗。并且,通过采用合适的方法将YUV格式的视频数据转换为RGB格式的贴图,提高了YUV码流的显示效率,节省了显示过程中的内存及处理器占用的容量,有利于实现移动终端的交互。
进一步地,在对音频数据进行编码之前,采用上述方法对音视频数据依次进行回音消除、静音检测及降噪处理,有利于保证声音的连续性及声音和视频的同步性。
以下以一个移动终端的应用场景对上述音视频处理方法进一步说明。下述的“近端”和“远端”为相对的概念,指对等通信的至少两个移动终端。所述的至少两个移动终端的操作系统可以相同也可以不同,所述的操作系统包括如iOS、Android、Windows、塞班等的至少两种。如图5所示,近端移动终端将近端采集的音视频数据发送至服务器缓存,并从服务器接收来自远端移动终端的远端的音视频数据,远端移动终端将远端采集的音视频数据发送至服务器缓存,并从服务器接收来自近端移动终端的音视频数据,以实现交互。近端移动终端与服务器之间,远端移动终端与服务器之间均可以通过无线网络连接。
步骤702,采集音频数据和视频数据。
请参阅图5,采集近端移动终端的音频数据和视频数据。
步骤704,对音频数据进行回音消除,获取回声消除后的音频数据;对回声消除后的音频数据进行静音检测,以获取滤除静音数据帧的音频数据;对滤除静音数据帧的音频数据进行降噪处理,以获取滤除背景噪音后的音频数据。
步骤706,对滤除背景噪音后的音频数据进行编码,获取编码后的音频数据;对视频数据进行编码,获取编码后的视频数据。
步骤708,发送编码后的音频数据和视频数据。
将编码后的音频数据和视频数据发送至服务器中。
步骤710,对编码后的音频数据进行解码。
从服务器中接收编码后的音频数据和编码后的视频数据,并对编码后的音频数据进行解码。
步骤712,从编码后的视频数据中获取待解码视频数据。
步骤714,从待解码视频数据中获取编码表。
步骤716,根据检索频率将编码表分割为预定数目的子码块。
步骤718,根据上下文获取当前块值。
步骤720,根据当前块值和子码块动态生成待解码视频数据的数据长度值。
步骤722,根据数据长度值对待解码视频数据进行CAVLC解码,以获取解码后的YUV格式的视频数据。
优选地,将解码后的YUV格式的视频数据转换为RGB格式的贴图,并在固定位置以预定频率显示该贴图。
步骤724,播放音视频。
远端移动终端播放音视频。
上述的近端移动终端作为音频数据和视频数据的发送端。可以理解,远端移动终端也可以作为音视频数据的发送端,近端移动终端作为音视频数据的接收端,以实现音视频数据在移动终端中的交互。
在一个实施例中,如图6所示,提出了一种音视频处理装置600,包括:待解码视频数据获取模块602、编码表获取模块604、分割模块606、当前块值计算模块608、数据长度值计算模块610和视频解码模块612。
待解码视频数据获取模块602,用于从编码后的视频数据中获取待解码视频数据。编码表获取模块604用于从待解码视频数据中获取编码表。分割模块606用于根据检索频率将编码表分割为预定数目的子码块。当前块值计算模块608,用于根据上下文获取当前块值。数据长度值计算模块610用于根据当前块值和子码块动态生成待解码视频数据的数据长度值。视频解码模块612用于根据数据长度值对待解码视频数据进行CAVLC解码,以获取解码后的YUV格式的视频数据。
在一个实施例中,如图7所示,音视频处理装置600还包括:显示模块614。显示模块614用于将解码后的YUV格式的视频数据转换为RGB格式的贴图,并在固定位置以预定频率显示所述贴图。
显示模块614还用于,将每个像素点的浮点型YUV分量数据转换成整型YUV分量数据;根据所述整型YUV分量数据计算当前像素点的R、G、B三个颜色通道的偏移值;分别将R、G、B三个颜色通道的偏移值进行移位运算,获取移位后的R、G、B三个颜色通道的偏移值;分别将所述移位后的R、G、B三个颜色通道的偏移值和RGB基准色值进行线性运算,获取R、G、B三个颜色通道值。
在一个实施例中,如图7所示,音视频处理装置600还包括:采集模块616、编码模块618和发送模块620。
采集模块616用于采集音频数据和视频数据。编码模块618用于对音频数据进行编码,获取编码后的音频数据,并对视频数据进行编码,获取编码后的视频数据。发送模块620用于发送编码后的音频数据和视频数据。
在一个实施例中,音视频处理装置600还包括:预处理模块622。预处理模块622用于对音频数据进行回音消除,获取回声消除后的音频数据;对回声消除后的音频数据进行静音检测,以获取滤除静音数据帧的音频数据;对滤除静音数据帧的音频数据进行降噪处理,以获取滤除背景噪音后的音频数据。
在一个实施例中,如图7所示,预处理模块622还用于:计算音频流的声音延迟时间;根据声音延迟时间对近端音频数据进行回声消除,以获取回声消除后的近端音频数据。
本实施例的音视频处理装置600用于实现前述的音视频处理方法,因此音视频处理装置600中的具体实施可参见前文中音视频处理方法的实施例部分,在此不再累述。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种音视频处理方法,其特征在于,包括以下步骤:
从编码后的视频数据中获取待解码视频数据;
从所述待解码视频数据中获取编码表;
根据检索频率将所述编码表分割为预定数目的子码块;所述检索频率是指拖尾系数个数和非零系数个数在解码中出现的次数概率;其中,所述根据检索频率将所述编码表分割为预定数目的子码块,包括:根据拖尾系数个数和非零系数个数各自出现频率的高低来对所述编码表进行分割,频率高的进行小块分割,频率低的进行大块分割;
根据上下文获取当前块值;所述当前块值是通过所述编码表的上下文将原编码矩阵分割成预定数目的子码块后,相邻两个码块之间的非零系数个数来计算出来的;
根据所述当前块值和所述子码块动态生成所述待解码视频数据的数据长度值;
根据所述数据长度值对所述待解码视频数据进行CAVLC解码,以获取解码后的YUV格式的视频数据。
2.根据权利要求1所述的方法,其特征在于,还包括:将所述解码后的YUV格式的视频数据转换为RGB格式的贴图,并在固定位置以预定频率显示所述贴图,其中,所述将所述解码后的YUV格式的视频数据转换为RGB格式的贴图的步骤包括:
将每个像素点的浮点型YUV分量数据转换成整型YUV分量数据;
根据所述整型YUV分量数据计算当前像素点的R、G、B三个颜色通道的偏移值;
分别将所述R、G、B三个颜色通道的偏移值进行移位运算,获取移位后的R、G、B三个颜色通道的偏移值;
分别将所述移位后的R、G、B三个颜色通道的偏移值和RGB基准色值进行线性运算,获取R、G、B三个颜色通道值。
3.根据权利要求1所述的方法,其特征在于,在所述从编码后的视频数据中获取待解码视频数据的步骤之前还包括:
采集音频数据和视频数据;
对所述音频数据进行编码,获取编码后的音频数据,对所述视频数据进行编码,获取所述编码后的视频数据;
发送所述编码后的音频数据和视频数据。
4.根据权利要求3所述的方法,其特征在于,在所述对所述音频数据进行编码的步骤之前,还包括:
对所述音频数据进行回音消除,获取回声消除后的音频数据;
对所述回声消除后的音频数据进行静音检测,以获取滤除静音数据帧的音频数据;
对所述滤除静音数据帧的音频数据进行降噪处理,以获取滤除背景噪音后的音频数据。
5.根据权利要求4所述的方法,其特征在于,所述对所述音频数据进行回音消除的步骤包括:
计算所述音频数据的声音延迟时间;
根据所述声音延迟时间对所述音频数据进行回声消除,以获取回声消除后的音频数据。
6.一种音视频处理装置,其特征在于,包括:
待解码视频数据获取模块,从编码后的视频数据中获取待解码视频数据;
编码表获取模块,用于从所述待解码视频数据中获取编码表;
分割模块,用于根据检索频率将所述编码表分割为预定数目的子码块;所述检索频率是指拖尾系数个数和非零系数个数在解码中出现的次数概率;其中,所述根据检索频率将所述编码表分割为预定数目的子码块,包括:根据拖尾系数个数和非零系数个数各自出现频率的高低来对所述编码表进行分割,频率高的进行小块分割,频率低的进行大块分割;
当前块值计算模块,用于根据上下文获取当前块值;所述当前块值是通过所述编码表的上下文将原编码矩阵分割成预定数目的子码块后,相邻两个码块之间的非零系数个数来计算出来的;
数据长度值计算模块,用于根据所述当前块值和所述子码块动态生成所述待解码视频数据的数据长度值;
视频解码模块,用于根据所述数据长度值对所述待解码视频数据进行CAVLC解码,以获取解码后的YUV格式的视频数据。
7.根据权利要求6所述的装置,其特征在于,还包括:
显示模块,用于将所述解码后的YUV格式的视频数据转换为RGB格式的贴图,并在固定位置以预定频率显示所述贴图;
所述显示模块还用于,将每个像素点的浮点型YUV分量数据转换成整型YUV分量数据;根据所述整型YUV分量数据计算当前像素点的R、G、B三个颜色通道的偏移值;分别将所述R、G、B三个颜色通道的偏移值进行移位运算,获取移位后的R、G、B三个颜色通道的偏移值;分别将所述移位后的R、G、B三个颜色通道的偏移值和RGB基准色值进行线性运算,获取R、G、B三个颜色通道值。
8.根据权利要求6所述的装置,其特征在于,还包括:
采集模块,用于采集音频数据和视频数据;
编码模块,用于对所述音频数据进行编码,获取编码后的音频数据,并对所述视频数据进行编码,获取编码后的视频数据;
发送模块,用于发送所述编码后的音频数据和视频数据。
9.根据权利要求8所述的装置,其特征在于,还包括:
预处理模块,用于对所述音频数据进行回音消除,获取回声消除后的音频数据;对所述回声消除后的音频数据进行静音检测,以获取滤除静音数据帧的音频数据;对所述滤除静音数据帧的音频数据进行降噪处理,以获取滤除背景噪音后的音频数据。
10.根据权利要求9所述的装置,其特征在于,所述预处理模块还用于:计算所述音频数据的声音延迟时间;根据所述声音延迟时间对所述音频数据进行回声消除,以获取回声消除后的音频数据。
CN201610363573.XA 2016-05-27 2016-05-27 一种音视频处理方法和装置 Active CN107438181B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610363573.XA CN107438181B (zh) 2016-05-27 2016-05-27 一种音视频处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610363573.XA CN107438181B (zh) 2016-05-27 2016-05-27 一种音视频处理方法和装置

Publications (2)

Publication Number Publication Date
CN107438181A CN107438181A (zh) 2017-12-05
CN107438181B true CN107438181B (zh) 2019-12-06

Family

ID=60454517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610363573.XA Active CN107438181B (zh) 2016-05-27 2016-05-27 一种音视频处理方法和装置

Country Status (1)

Country Link
CN (1) CN107438181B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112489671B (zh) * 2020-12-18 2024-04-16 深圳市潮流网络技术有限公司 回声数据消除方法及装置、终端设备、存储介质
CN114420111B (zh) * 2022-03-31 2022-06-17 成都启英泰伦科技有限公司 一种基于一维假设的语音向量距离计算方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101370138A (zh) * 2007-08-17 2009-02-18 中国科学院计算技术研究所 一种h.264标准cavlc残差系数的解码方法
CN102377994A (zh) * 2010-08-05 2012-03-14 富士通株式会社 上下文自适应可变长度编码方法和系统
CN102547260A (zh) * 2010-12-22 2012-07-04 联芯科技有限公司 基于上下文自适应的可变长编码的解码方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120121024A1 (en) * 2009-10-30 2012-05-17 Samsung Electronics Co., Ltd. Method and apparatus for parallel entropy encoding and parallel entropy decoding based on decoding rate

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101370138A (zh) * 2007-08-17 2009-02-18 中国科学院计算技术研究所 一种h.264标准cavlc残差系数的解码方法
CN102377994A (zh) * 2010-08-05 2012-03-14 富士通株式会社 上下文自适应可变长度编码方法和系统
CN102547260A (zh) * 2010-12-22 2012-07-04 联芯科技有限公司 基于上下文自适应的可变长编码的解码方法及系统

Also Published As

Publication number Publication date
CN107438181A (zh) 2017-12-05

Similar Documents

Publication Publication Date Title
US10972722B2 (en) Image processing device and image processing method
US10659792B2 (en) Image processing device and method
US10855984B2 (en) Image processing apparatus and method
US10652546B2 (en) Image processing device and image processing method
CN107566848B (zh) 编解码的方法及装置
CN102857751B (zh) 一种视频编解码方法和装置
US20130077883A1 (en) Image processing apparatus and method
CN1777284B (zh) 图像编码方法、图像解码方法以及其装置
US20130077672A1 (en) Image processing apparatus and method
USRE49321E1 (en) Picture coding method, picture decoding method, picture coding apparatus, picture decoding apparatus, and program thereof
US10110916B2 (en) Encoding device and encoding method
CN107438181B (zh) 一种音视频处理方法和装置
WO2013073328A1 (ja) 画像処理装置及び画像処理方法
KR100472457B1 (ko) 차등 영상 압축 방법 및 그 장치
WO2024078066A1 (zh) 视频解码方法、视频编码方法、装置、存储介质及设备
JP2006005572A (ja) 画像符号化装置

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20191111

Address after: 801, building E1, TCL Science Park, No. 1001, Zhongshan Garden Road, Shuguang community, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Erlu (Shenzhen) game development Co., Ltd

Address before: 518057, 9B-C, D3, international E City, TCL Industrial Park, No. 1001, Zhongshan Garden Road, Shenzhen, Guangdong, China

Applicant before: Boya Online Game Development (Shenzhen) Co., Ltd.

GR01 Patent grant
GR01 Patent grant