CN108122558A - 一种latm aac音频流的实时转容实现方法及装置 - Google Patents

一种latm aac音频流的实时转容实现方法及装置 Download PDF

Info

Publication number
CN108122558A
CN108122558A CN201711407746.4A CN201711407746A CN108122558A CN 108122558 A CN108122558 A CN 108122558A CN 201711407746 A CN201711407746 A CN 201711407746A CN 108122558 A CN108122558 A CN 108122558A
Authority
CN
China
Prior art keywords
audio
aac
latm
frame
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711407746.4A
Other languages
English (en)
Other versions
CN108122558B (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.)
Shenzhen State Micro Technology Co Ltd
Original Assignee
Shenzhen State Micro Technology 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 Shenzhen State Micro Technology Co Ltd filed Critical Shenzhen State Micro Technology Co Ltd
Priority to CN201711407746.4A priority Critical patent/CN108122558B/zh
Publication of CN108122558A publication Critical patent/CN108122558A/zh
Application granted granted Critical
Publication of CN108122558B publication Critical patent/CN108122558B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/173Transcoding, i.e. converting between two coded representations avoiding cascaded coding-decoding
    • 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/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4394Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4398Processing of audio elementary streams involving reformatting operations of audio signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

本发明属于音频转换领域,公开了一种LATM AAC音频流的实时转容实现方法及装置。所述的方法包括:步骤1.接收并处理音频数据流,读取音频帧数据;步骤2.判断所述音频帧数据头部是否为LATM AAC数据格式,若是则跳转至步骤3.若不是则直接跳转至步骤5;步骤3.分析所述音频帧数据并获取LATM AAC音频帧核心参数和音频负载数据;步骤4.根据获取的所述LATM AAC音频帧核心参数和音频负载数据,形成ADTS AAC音频帧;步骤5.将音频帧输出。本发明有效的实现了对传输码流中的LATM AAC音频的判断,容器解析以及到ADTS AAC的转容处理,使得音频解码库能够很好的支持LATM AAC音频流,降低了系统集成成本。

Description

一种LATM AAC音频流的实时转容实现方法及装置
技术领域
本发明属于音频转换领域,具体涉及一种LATM AAC音频流的实时转容实现方法及装置。
背景技术
随着高清节目的普及,在MPEG2-TS(用于音效、影像与资料的传输流)实时传输流中针对音视频内容采取HEVC和AAC(Advanced Audio Coding,高级音频编码)格式变得流行普及。AAC是一种高压缩比的音频压缩编码算法,AAC音频压缩编码标准是目前应用最广泛的低码率音频编码标准,相对于MP2、MP3、AC3等音频编码标准来说,在相同质量下码率更低,有效地节约了传输带宽。在移动多媒体广播、互联网流媒体、IPTV等领域的应用中,AAC的音频编码技术得到越来越多的采用。
音频部分采用AAC可以以较高的压缩率获取优秀的音质和多声道的支持。在MPEG2码流传输中,早期技术采用ADTS(Audio Data Transport Stream,音频数据传输流)封装的AAC比较多,随着MPEG4的普及,MPEG4 AAC中定义的LATM(Low-overhead MPEG-4 AudioTrans-port Multiplex,低开销音频传输复用)封装的AAC被复用到MPEG2-TS传输码流中。LATM AAC相比较于ADTS AAC有更小的头部开销,越来越多的内容提供商采用LATM AAC制作节目,但是考虑到在有些解码库不能直接解析支持(如MacOs AudioQueue框架),基于此现状本专利针对LATM AAC格式进行转容成传统的ADTS AAC处理,使得LATM AAC能被更好的解码支持。
一般的音视频播放器采用的是采用解复用得到音视频数据、在对音视频分别解码、渲染的流程设计,针对来自USB Dongle的实时MPEG2-TS音视频流的处理,经过解复用,解码,渲染。对于LATM AAC音频处理也是按照此过程来处理,解复用得到LATM AAC音频帧序列,再将LATM AAC音频帧序列直接进行解码和渲染输出。
但现有的技术存在着以下不足之处:
一般音视频播放器在处理实时MPEG2-TS的码流中的LATM AAC音频帧序列时,都是基于音频解码库/框架能够原生支持,比如MacOs AudioQueue框架只能支持ADTS AAC封装格式的音频帧,若需要能够解码,只能用第三方解码库来实现,这样让工程的实现变得复杂,甚至可能产生额外的费用。
发明内容
针对现有技术中存在的问题,本发明的主要目的在于提供一种LATM AAC音频流的实时转容实现方法、装置以及一种实时处理MPEG-2视频流的处理系统。本专利有效的实现了对MPEG2-TS实时前端传输码流中的LATM AAC音频的判断,容器解析以及转换到ADTS AAC的转容处理,用最小的系统开销,使得AAC音频解码库能够很好的支持LATM AAC音频流,从而达到上述目的。
本发明公开了一种LATM AAC音频流的实时转容实现方法,所述方法包括如下步骤:
步骤1:接收并处理音频数据流,读取音频帧数据;
步骤2:判断所述音频帧数据头部是否为LATM AAC数据格式,若是则跳转至步骤3;若不是则直接跳转至步骤5;
步骤3:分析所述音频帧数据并获取LATM AAC音频帧核心参数和音频负载(Payload)数据;
步骤4:根据获取的所述LATM AAC音频帧核心参数和音频负载数据,按照ADTS数据帧格式组建ADTS AAC音频帧帧头和原始数据块(Raw Data Block),形成ADTS AAC音频帧;
步骤5:将音频帧输出。
优选地,所述步骤1具体包含以下步骤:
步骤11:接收处理后的音频数据流;
步骤12:对接收的音频数据流进行缓冲平滑处理;
步骤13:读取缓存中的一帧音频帧数据。
优选地,所述步骤2具体包含以下步骤:
步骤21:判断所述音频帧数据头部同步字节是否为0x2B7;若是则当前音频帧为LATMAAC音频格式,跳转至步骤3;若不是,则当前音频帧不是LATM AAC格式,直接跳转至步骤8。
优选地,所述步骤3具体包含以下步骤:
步骤31:对所述音频帧数据中的音频复合数据元(Audio Mux Element)进行容器分析,并读取其中的useSameStreamMux标志位;
步骤32:判断useSameStreamMux标志位是否为0,若为0,则跳转至步骤33;若为1,则直接参考前向音频帧获取到的音频核心参数,然后跳转至步骤34;
步骤33:获取LATM AAC音频帧核心参数;
步骤34:读取LATM AAC音频帧的音频负载(Payload)数据。
优选地,所述步骤33具体包含以下步骤:
步骤331:读取音频流复合配置信息以及音频特征配置(Audio Specific Config)信息容器数据,并解析出LATM AAC音频帧核心参数。
优选地,所述LATM AAC音频帧核心参数包括:音频类型(AudioObjectType),采样率(SampleRate),通道数(ChannelConfiguration)。
优选地,所述步骤4具体包含以下步骤:
步骤41:将获取的音频类型、采样率、通道数分别填入ADTS AAC音频帧帧头的固定头部(ADTS Fixed Header)部分的音频编码类型(Profile Object Type)、采样率索引(Sampling Frequence Index)和通道配置(Channel Configuration)字段;
步骤42:将所述音频负载数据填入ADTS AAC音频帧的原始数据块;
步骤43:将ADTS AAC音频帧帧头中的固定头部和可变头部(ADTS Variable Header)的其他数据参数,按照ADTS规格书中的固定值进行对应赋值,从而形成一个符合ADTS AAC封装格式的音频帧。
优选地,所述步骤5具体包含以下步骤:
步骤51:将音频帧按照AudioQueue解码框架进行解码输出。
优选地,所述音频数据流为MPEG2-TS或MPEG4传输流。
除此以外,本发明还公开了一种LATM AAC音频流的实时转容实现装置,所述装置包括:
接收模块,用于接收并处理音频数据流,读取音频帧数据;
头部识别模块,用于识别所述音频帧数据头部是否为LATM AAC数据格式,若是则将所述音频帧数据传输至分析模块;若不是则将所述音频帧数据传输至输出模块;
分析模块,用于分析所述音频帧数据并获取LATM AAC音频帧核心参数和音频负载(Payload)数据;
重组模块,用于根据获取的所述LATM AAC音频帧核心参数和音频负载数据,按照ADTS数据帧格式组建ADTS AAC音频帧帧头和原始数据块(Raw Data Block),形成ADTS AAC音频帧;
输出模块,用于将音频帧输出。
优选地,所述接收模块包括:
第一接收模块,用于接收处理后的音频数据流;
第一缓存模块,用于对第一接收模块接收的音频数据流进行缓冲处理;
第四读取模块,用于读取第一缓存模块中一帧音频帧数据。
优选地,所述头部识别模块具体通过判断所述音频帧数据头部同步字节是否为0x2B7来判断当前音频帧是否为LATM AAC音频格式。
优选地,所述分析模块包括:
第一读取模块,用于对所述音频帧数据中的音频复合数据元(Audio Mux Element)进行容器分析,并读取其中的useSameStreamMux标志位;
第一判断模块,用于判断useSameStreamMux标志位是否为0,若为0,则将所述音频帧数据传输至第二读取模块;若为1,则直接参考前向音频帧获取到的音频核心参数,然后将所述音频帧数据传输至第三读取模块;
第二读取模块,用于读取所述音频帧中的音频流复合配置信息以及音频特征配置(Audio Specific Config)信息容器数据,并解析出LATM AAC音频帧核心参数;
第三读取模块,用于读取LATM AAC音频帧的音频负载(Payload)数据。
优选地,所述LATM AAC音频帧核心参数包括:音频类型(AudioObjectType),采样率(SampleRate),通道数(ChannelConfiguration)。
优选地,所述重组模块包括:
第一重组模块,用于将获取的音频类型、采样率、通道数分别填入ADTS AAC音频帧帧头的固定头部(ADTS Fixed Header)部分的音频编码类型(Profile Object Type)、采样率索引(Sampling Frequence Index)和通道配置(Channel Configuration)字段;
第二重组模块,用于将所述音频负载数据填入ADTS AAC音频帧的原始数据块;
第三重组模块,用于将ADTS AAC音频帧帧头中的固定头部和可变头部(ADTS VariableHeader)的其他数据参数,按照ADTS规格书中的固定值进行对应赋值,从而形成一个符合ADTS AAC封装格式的音频帧。
优选地,所述输出模块为AudioQueue输出模块,用于将音频帧按照AudioQueue解码框架进行解码输出。
特别地,本发明还公开了一种实时处理MPEG-2视频流的处理系统,其包括上述的LATM AAC音频流的实时转容实现装置,所述系统还包括:
实时MPEG-2流控制模块,用于负责接收实时节目传输流,并将接收到的传输流进行解密处理后,推向MPEG-2解复用模块;
MPEG-2解复用模块,用于将传输流进行分离处理,得到当前播放节目的音频ES流和视频ES流;
音频ES流缓存处理单元,用于负责音频ES流的缓冲及平滑处理,同时获取解复用后音频显示时间戳PTS,结合音频数据的播放进度,提供该音频显示时间戳PTS作为主同步时间单位给到同步时钟任务模块;
视频ES流缓存处理单元,用于负责所述视频ES流的缓冲及平滑处理,同时获取解复用后视频帧显示时间戳PTS,用于音视频同步的参考时间;
音频播放控制任务模块,用于负责AudioQueue的播放控制,并对AudioQueue的异常情况诊断及修复控制;
同步时钟任务模块,用于根据获取的音频显示时间戳PTS和视频帧显示时间戳PTS计算同步时间基准,并负责向外部提供音视频的同步时钟;
视频帧数据解码单元,用于对压缩的视频图像数据进行解码处理,得到原始图像数据;
LATM AAC音频流的实时转容实现装置,用于解析判断音频流是否为LATM AAC 格式,并针对LATM AAC音频流做解析和转换到ADTS AAC音频流的转容处理;
Audio Queue音频处理框架,用于音频数据的解析、解码、及播放输出处理;
视频帧图像缓存及输出控制模块,用于缓存解码后的原始图像数据,并从同步时钟任务模块获取同步时钟,比较判断当前缓存原始图像数据是否需要输出显示处理,控制播放速率及对缓存区原始图像数据进行反馈处理,以配合音频数据进行同步播放输出。
优选地,所述视频帧图像缓存及输出控制模块,还用于对原始图像数据和对应的视频帧显示时间戳PTS进行管理及检索。
优选地,所述音频播放控制任务模块,还用于结合音频显示时间戳PTS和视频帧显示时间戳PTS及播放进度,计算出主同步时间参考基准给到同步时钟任务模块;
同步时钟任务模块,还用于时间基准的校验更新处理,同步时钟的切换及同步时钟的异常处理。
优选地,所述节目传输流从网络端口或USB端口获取的实时节目传输流。
本发明具有以下显著效果:
本发明针对MPEG2-TS传输码流中的LATM AAC不能被一些解码库原生支持,做出如下改善:
1. 在音频帧序列解码之前,增加实现LATM AAC容器头的自动识别处理机制。
2. 通过对LATM音频帧进行逐层解析,分别对帧中包含的音频复合数据元(AudioMuxElement),音频流复合配置信息(StreamMuxConfig),音频特征配置信息(AudioSpecificConfig),音频负载(Payload)等信息进行参数解析,解析出LATM音频帧的核心参数,比如音频类型,采样率,音频通道数,音频负载。
3. 根据得到的AAC音频参数和负载,按照ADTS AAC音频帧格式重新组建ADTS音频帧,通过流程控制,完成LATM AAC音频帧系列到ADTS AAC音频帧序列的转换,使得音频解码库(如MacOs AudioQueue框架)可以直接解码输出,间接地完成对LATM的支持。
4. 本发明有效的实现了对MPEG2-TS实时前端传输码流中的LATM AAC音频的判断,容器解析以及到ADTS AAC的转容处理,使得AAC音频解码库能够很好的支持LATM AAC音频流,降低了系统集成的成本。
附图说明
图1为根据ISO144963-3规范剖析的ADTS AAC音频帧的结构图;
图2为根据ISO144963-3规范剖析的LATM/LOAS AAC音频帧的结构图;
图3为本发明实施例的LATM AAC音频流的实时转容实现方法流程图;
图4为本发明实施例的LATM AAC音频流的实时转容实现装置结构图;
图5为本发明转容实现装置中的接收模块的结构图;
图6为本发明转容实现装置中的分析模块的结构图;
图7为本发明实施例的实时处理MPEG-2视频流的处理系统结构图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下为缩略语和关键术语的定义或解释:
Usb Dongle: 一种通过usb接口提供MPEG2-TS的设备。
AudioQueue: MacX音频处理框架。
MPEG2-TS:MPEG2-TS是一用于音效、影像与资料的传输流。
LATM:Low-overhead MPEG-4 Audio Transport Multiplex, AAC音频的一种封装格式。
ADTS:Audio Data Transport Stream,AAC音频的一种封装格式。
LOAS:Low Overhead Audio Stream,等同于LATM音频数据帧。
PTS:Presentation Time Stamp,音频或视频帧显示时间戳,主要用于音视频的同步控制。
Audio Mux Element:音频复合数据元
Stream Mux Config:音频流复合配置信息
Audio Specific Config:音频特征配置信息
LOAS Syncword: LOAS同步字
Frame length: 帧长度
Use same stream Mux: 使用相同的流复用
Stream Mux Config: 音频流复合配置信息
Payload length info: 负载长度信息
Raw data block: 原始数据块
Audio mux version: 音频复用版本
All streams same framing: 全流同帧
Num sub frames: 子帧数目
Num program: 复用节目数
Num layer: 复用层数
Frame length type帧长度类型
LATM buffer fullness: LATM缓存度
Copyright ID Bit:复制权ID比特
Private Bit:隐私字节
ADTS的全称为“Audio Data Transport Stream”(音频数据传输流),最早在MPEG-2AAC中定义,MPEG-4 AAC继续把ADTS作为一种封装格式。ADTS格式封装的音频压缩码流适合网络传输,MPEG-2 TS流采用ADTS作为AAC音频码流的封装格式之一。
ADTS封装格式的码流以帧为单位,一个ADTS帧由帧头、帧净荷组成。帧头包含固定帧头、可变帧头,其中定义了音频采样率、音频声道数、帧长度等关键信息,用于帧净荷数据的解析与解码,其具体帧结构参数如图1所示。帧净荷主要由原始帧组成,可以包含1至4个原始帧。
LATM的全称为“Low-overhead MPEG-4 Audio Trans-port Multiplex” (低开销音频传输复用),是MPEG-4 AAC制定的一种高效率的码流传输方式,MPEG-2 TS 流也采用LATM作为AAC音频码流的封装格式之一。LATM格式也以帧为单位,主要由音频特征配置信息(AudioSpecificConfig)与音频负载组成。音频特征配置信息描述了一个LATM帧的信息,音频负载主要由负载长度信息(PayloadLengthInfo)和负载净荷(PayloadMux)组成,其具体帧结构参数如图2所示。
音频负载由若干子帧组成,每个子帧由负载长度信息和负载净荷组成,与ADTS帧净荷一样,音频负载主要包含原始帧数据。负载净荷可以复用多个节目的音频流,每个节目可以有多层音频流,由一个或多个原始帧组成,由于每个原始帧没有起始信息,需要负载长度信息来描述负载净荷中各原始帧的长度。
本发明公开的LATM AAC音频流的实时转容实现方法具体如图3所示,所述方法包括如下步骤:
步骤1:接收并处理音频数据流,读取音频帧数据;
步骤2:判断所述音频帧数据头部是否为LATM AAC数据格式,若是则跳转至步骤3;若不是则直接跳转至步骤5;
步骤3:分析所述音频帧数据并获取LATM AAC音频帧核心参数和音频负载(Payload)数据;
步骤4:根据获取的所述LATM AAC音频帧核心参数和音频负载数据,按照ADTS数据帧格式组建ADTS AAC音频帧帧头和原始数据块(Raw Data Block),形成ADTS AAC音频帧;
步骤5:将音频帧输出。
优选地,所述步骤1具体包含以下步骤:
步骤11:接收处理后的音频数据流;
步骤12:对接收的音频数据流进行缓冲平滑处理;
步骤13:读取缓存中的一帧音频帧数据。
优选地,所述步骤2具体包含以下步骤:
步骤21:判断所述音频帧数据头部同步字节是否为0x2B7;若是则当前音频帧为LATMAAC音频格式,跳转至步骤3;若不是,则当前音频帧不是LATM AAC格式,直接跳转至步骤8。
优选地,所述步骤3具体包含以下步骤:
步骤31:对所述音频帧数据中的音频复合数据元(Audio Mux Element)进行容器分析,并读取其中的useSameStreamMux标志位;
步骤32:判断useSameStreamMux标志位是否为0,若为0,则跳转至步骤33;若为1,则直接参考前向音频帧获取到的音频核心参数,然后跳转至步骤34;
步骤33:获取LATM AAC音频帧核心参数;
步骤34:读取LATM AAC音频帧的音频负载(Payload)数据。
优选地,所述步骤33具体包含以下步骤:
步骤331:读取音频流复合配置信息以及音频特征配置(Audio Specific Config)信息容器数据,并解析出LATM AAC音频帧核心参数。
优选地,所述LATM AAC音频帧核心参数包括:音频类型(AudioObjectType),采样率(SampleRate),通道数(ChannelConfiguration)。
优选地,所述步骤4具体包含以下步骤:
步骤41:将获取的音频类型、采样率、通道数分别填入ADTS AAC音频帧帧头的固定头部(ADTS Fixed Header)部分的音频编码类型(Profile Object Type)、采样率索引(Sampling Frequence Index)和通道配置(Channel Configuration)字段;
步骤42:将所述音频负载数据填入ADTS AAC音频帧的原始数据块;
步骤43:将ADTS AAC音频帧帧头中的固定头部和可变头部(ADTS Variable Header)的其他数据参数,按照ADTS规格书中的固定值进行对应赋值,从而形成一个符合ADTS AAC封装格式的音频帧。
优选地,所述步骤5具体包含以下步骤:
步骤51:将音频帧按照AudioQueue解码框架进行解码输出。
优选地,所述音频数据流为MPEG2-TS或MPEG4传输流。
除此以外,本发明还公开了一种LATM AAC音频流的实时转容实现装置,具体如图4-6所示,所述装置包括:
接收模块11,用于接收并处理音频数据流,读取音频帧数据;
头部识别模块12,用于识别所述音频帧数据头部是否为LATM AAC数据格式,若是则将所述音频帧数据传输至分析模块;若不是则将所述音频帧数据传输至输出模块;
分析模块13,用于分析所述音频帧数据并获取LATM AAC音频帧核心参数和音频负载(Payload)数据;
重组模块14,用于根据获取的所述LATM AAC音频帧核心参数和音频负载数据,按照ADTS数据帧格式组建ADTS AAC音频帧帧头和原始数据块(Raw Data Block),形成ADTS AAC音频帧;
输出模块15,用于将音频帧输出。
优选地,所述接收模块包括:
第一接收模块21,用于接收处理后的音频数据流;
第一缓存模块22,用于对第一接收模块接收的音频数据流进行缓冲处理;
第四读取模块23,用于读取第一缓存模块中一帧音频帧数据。
优选地,所述头部识别模块12具体通过判断所述音频帧数据头部同步字节是否为0x2B7来判断当前音频帧是否为LATM AAC音频格式。
优选地,所述分析模块包括:
第一读取模块31,用于对所述音频帧数据中的音频复合数据元(Audio Mux Element)进行容器分析,并读取其中的useSameStreamMux标志位;
第一判断模块32,用于判断useSameStreamMux标志位是否为0,若为0,则将所述音频帧数据传输至第二读取模块;若为1,则直接参考前向音频帧获取到的音频核心参数,然后将所述音频帧数据传输至第三读取模块;
第二读取模块33,用于读取所述音频帧中的音频流复合配置信息以及音频特征配置(Audio Specific Config)信息容器数据,并解析出LATM AAC音频帧核心参数;
第三读取模块34,用于读取LATM AAC音频帧的音频负载(Payload)数据。
优选地,所述LATM AAC音频帧核心参数包括:音频类型(AudioObjectType),采样率(SampleRate),通道数(ChannelConfiguration)。
优选地,所述重组模块14包括:
第一重组模块,用于将获取的音频类型、采样率、通道数分别填入ADTS AAC音频帧帧头的固定头部(ADTS Fixed Header)部分的音频编码类型(Profile Object Type)、采样率索引(Sampling Frequence Index)和通道配置(Channel Configuration)字段;
第二重组模块,用于将所述音频负载数据填入ADTS AAC音频帧的原始数据块;
第三重组模块,用于将ADTS AAC音频帧帧头中的固定头部和可变头部(ADTS VariableHeader)的其他数据参数,按照ADTS规格书中的固定值进行对应赋值,从而形成一个符合ADTS AAC封装格式的音频帧。
优选地,所述输出模块15为AudioQueue输出模块,用于将音频帧按照AudioQueue解码框架进行解码输出。
特别地,本发明还公开了一种实时处理MPEG-2视频流的处理系统,具体如图7所示,其包括上述的LATM AAC音频流的实时转容实现装置,所述系统还包括:
实时MPEG-2流控制模块1,用于负责接收实时节目传输流,并将接收到的传输流进行解密处理后,推向MPEG-2解复用模块;
MPEG-2解复用模块2,用于将传输流进行分离处理,得到当前播放节目的音频ES流和视频ES流;
音频ES流缓存处理单元3,用于负责音频ES流的缓冲及平滑处理,同时获取解复用后音频显示时间戳PTS,结合音频数据的播放进度,提供该音频显示时间戳PTS作为主同步时间单位给到同步时钟任务模块;
视频ES流缓存处理单元4,用于负责所述视频ES流的缓冲及平滑处理,同时获取解复用后视频帧显示时间戳PTS,用于音视频同步的参考时间;
音频播放控制任务模块5,用于负责AudioQueue的播放控制,并对AudioQueue的异常情况诊断及修复控制;
同步时钟任务模块7,用于根据获取的音频显示时间戳PTS和视频帧显示时间戳PTS计算同步时间基准,并负责向外部提供音视频的同步时钟;
视频帧数据解码单元6,用于对压缩的视频图像数据进行解码处理,得到原始图像数据;
LATM AAC音频流的实时转容实现装置8,用于解析判断音频流是否为LATM AAC 格式,并针对LATM AAC音频流做解析和转换到ADTS AAC音频流的转容处理;
Audio Queue音频处理框架9,用于音频数据的解析、解码、及播放输出处理;
视频帧图像缓存及输出控制模块10,用于缓存解码后的原始图像数据,并从同步时钟任务模块获取同步时钟,比较判断当前缓存原始图像数据是否需要输出显示处理,控制播放速率及对缓存区原始图像数据进行反馈处理,以配合音频数据进行同步播放输出。
优选地,所述视频帧图像缓存及输出控制模块,还用于对原始图像数据和对应的视频帧显示时间戳PTS进行管理及检索。
优选地,所述音频播放控制任务模块,还用于结合音频显示时间戳PTS和视频帧显示时间戳PTS及播放进度,计算出主同步时间参考基准给到同步时钟任务模块。
同步时钟任务模块,还用于时间基准的校验更新处理,同步时钟的切换及同步时钟的异常处理。
优选地,所述节目传输流从网络端口或USB端口获取的实时节目传输流。
本发明中,所提到的对LATM AAC转容到ADTS AAC格式,具有普适性,能够解决各平台下音频解码库不支持LATM AAC音频流问题提供改善和解决方案。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (21)

1.一种LATM AAC音频流的实时转容实现方法,其特征在于,所述方法包括如下步骤:
步骤1:接收并处理音频数据流,读取音频帧数据;
步骤2:判断所述音频帧数据头部是否为LATM AAC数据格式,若是则跳转至步骤3;若不是则直接跳转至步骤5;
步骤3:分析所述音频帧数据并获取LATM AAC音频帧核心参数和音频负载(Payload)数据;
步骤4:根据获取的所述LATM AAC音频帧核心参数和音频负载数据,按照ADTS数据帧格式组建ADTS AAC音频帧帧头和原始数据块(Raw Data Block),形成ADTS AAC音频帧;
步骤5:将音频帧输出。
2.根据权利要求1所述的LATM AAC音频流的实时转容实现方法,其特征在于,所述步骤1具体包含以下步骤:
步骤11:接收处理后的音频数据流;
步骤12:对接收的音频数据流进行缓冲平滑处理;
步骤13:读取缓存中的一帧音频帧数据。
3.根据权利要求1所述的LATM AAC音频流的实时转容实现方法,其特征在于,所述步骤2具体包含以下步骤:
步骤21:判断所述音频帧数据头部同步字节是否为0x2B7;若是则当前音频帧为LATMAAC音频格式,跳转至步骤3;若不是,则当前音频帧不是LATM AAC格式,直接跳转至步骤8。
4.根据权利要求1所述的LATM AAC音频流的实时转容实现方法,其特征在于,所述步骤3具体包含以下步骤:
步骤31:对所述音频帧数据中的音频复合数据元(Audio Mux Element)进行容器分析,并读取其中的useSameStreamMux标志位;
步骤32:判断useSameStreamMux标志位是否为0,若为0,则跳转至步骤33;若为1,则直接参考前向音频帧获取到的音频核心参数,然后跳转至步骤34;
步骤33:获取LATM AAC音频帧核心参数;
步骤34:读取LATM AAC音频帧的音频负载(Payload)数据。
5.根据权利要求4所述的LATM AAC音频流的实时转容实现方法,其特征在于,所述步骤33具体包含以下步骤:
步骤331:读取音频流复合配置信息以及音频特征配置(Audio Specific Config)信息容器数据,并解析出LATM AAC音频帧核心参数。
6.根据权利要求1所述的LATM AAC音频流的实时转容实现方法,其特征在于,所述LATMAAC音频帧核心参数包括:音频类型(AudioObjectType),采样率(SampleRate),通道数(ChannelConfiguration)。
7.根据权利要求6所述的LATM AAC音频流的实时转容实现方法,其特征在于,所述步骤4具体包含以下步骤:
步骤41:将获取的音频类型、采样率、通道数分别填入ADTS AAC音频帧帧头的固定头部(ADTS Fixed Header)部分的音频编码类型(Profile Object Type)、采样率索引(Sampling Frequence Index)和通道配置(Channel Configuration)字段;
步骤42:将所述音频负载数据填入ADTS AAC音频帧的原始数据块;
步骤43:将ADTS AAC音频帧帧头中的固定头部和可变头部(ADTS Variable Header)的其他数据参数,按照ADTS规格书中的固定值进行对应赋值,从而形成一个符合ADTS AAC封装格式的音频帧。
8.根据权利要求1所述的LATM AAC音频流的实时转容实现方法,其特征在于,所述步骤5具体包含以下步骤:
步骤51:将音频帧按照AudioQueue解码框架进行解码输出。
9.根据权利要求1-8中任意一项所述的LATM AAC音频流的实时转容实现方法,其特征在于:所述音频数据流为MPEG2-TS或MPEG4传输流。
10.一种LATM AAC音频流的实时转容实现装置,其特征在于,所述装置包括:
接收模块,用于接收并处理音频数据流,读取音频帧数据;
头部识别模块,用于识别所述音频帧数据头部是否为LATM AAC数据格式,若是则将所述音频帧数据传输至分析模块;若不是则将所述音频帧数据传输至输出模块;
分析模块,用于分析所述音频帧数据并获取LATM AAC音频帧核心参数和音频负载(Payload)数据;
重组模块,用于根据获取的所述LATM AAC音频帧核心参数和音频负载数据,按照ADTS数据帧格式组建ADTS AAC音频帧帧头和原始数据块(Raw Data Block),形成ADTS AAC音频帧;
输出模块,用于将音频帧输出。
11.根据权利要求10所述的LATM AAC音频流的实时转容实现装置,其特征在于,所述接收模块包括:
第一接收模块,用于接收处理后的音频数据流;
第一缓存模块,用于对第一接收模块接收的音频数据流进行缓冲处理;
第四读取模块,用于读取第一缓存模块中一帧音频帧数据。
12.根据权利要求10所述的LATM AAC音频流的实时转容实现装置,其特征在于,所述头部识别模块具体通过判断所述音频帧数据头部同步字节是否为0x2B7来判断当前音频帧是否为LATM AAC音频格式。
13.根据权利要求10所述的LATM AAC音频流的实时转容实现装置,其特征在于,所述分析模块包括:
第一读取模块,用于对所述音频帧数据中的音频复合数据元(Audio Mux Element)进行容器分析,并读取其中的useSameStreamMux标志位;
第一判断模块,用于判断useSameStreamMux标志位是否为0,若为0,则将所述音频帧数据传输至第二读取模块;若为1,则直接参考前向音频帧获取到的音频核心参数,然后将所述音频帧数据传输至第三读取模块;
第二读取模块,用于读取所述音频帧中的音频流复合配置信息以及音频特征配置(Audio Specific Config)信息容器数据,并解析出LATM AAC音频帧核心参数;
第三读取模块,用于读取LATM AAC音频帧的音频负载(Payload)数据。
14.根据权利要求10所述的LATM AAC音频流的实时转容实现装置,其特征在于,所述LATM AAC音频帧核心参数包括:音频类型(AudioObjectType),采样率(SampleRate),通道数(ChannelConfiguration)。
15.根据权利要求10所述的LATM AAC音频流的实时转容实现装置,其特征在于,所述重组模块包括:
第一重组模块,用于将获取的音频类型、采样率、通道数分别填入ADTS AAC音频帧帧头的固定头部(ADTS Fixed Header)部分的音频编码类型(Profile Object Type)、采样率索引(Sampling Frequence Index)和通道配置(Channel Configuration)字段;
第二重组模块,用于将所述音频负载数据填入ADTS AAC音频帧的原始数据块;
第三重组模块,用于将ADTS AAC音频帧帧头中的固定头部和可变头部(ADTS VariableHeader)的其他数据参数,按照ADTS规格书中的固定值进行对应赋值,从而形成一个符合ADTS AAC封装格式的音频帧。
16.根据权利要求10所述的LATM AAC音频流的实时转容实现装置,其特征在于,所述输出模块为AudioQueue输出模块,用于将音频帧按照AudioQueue解码框架进行解码输出。
17.根据权利要求10-16中任意一项所述的LATM AAC音频流的实时转容实现装置,其特征在于,所述音频数据流为MPEG2-TS或MPEG4传输流。
18.一种实时处理MPEG-2视频流的处理系统,其包括权利要求10-16中任意一项所述的LATM AAC音频流的实时转容实现装置,其特征在于,所述系统还包括:
实时MPEG-2流控制模块,用于负责接收实时节目传输流,并将接收到的传输流进行解密处理后,推向MPEG-2解复用模块;
MPEG-2解复用模块,用于将传输流进行分离处理,得到当前播放节目的音频ES流和视频ES流;
音频ES流缓存处理单元,用于负责音频ES流的缓冲及平滑处理,同时获取解复用后音频显示时间戳PTS,结合音频数据的播放进度,提供该音频显示时间戳PTS作为主同步时间单位给到同步时钟任务模块;
视频ES流缓存处理单元,用于负责所述视频ES流的缓冲及平滑处理,同时获取解复用后视频帧显示时间戳PTS,用于音视频同步的参考时间;
音频播放控制任务模块,用于负责AudioQueue的播放控制,并对AudioQueue的异常情况诊断及修复控制;
同步时钟任务模块,用于根据获取的音频显示时间戳PTS和视频帧显示时间戳PTS计算同步时间基准,并负责向外部提供音视频的同步时钟;
视频帧数据解码单元,用于对压缩的视频图像数据进行解码处理,得到原始图像数据;
LATM AAC音频流的实时转容实现装置,用于解析判断音频流是否为LATM AAC 格式,并针对LATM AAC音频流做解析和转换到ADTS AAC音频流的转容处理;
Audio Queue音频处理框架,用于音频数据的解析、解码、及播放输出处理;
视频帧图像缓存及输出控制模块,用于缓存解码后的原始图像数据,并从同步时钟任务模块获取同步时钟,比较判断当前缓存原始图像数据是否需要输出显示处理,控制播放速率及对缓存区原始图像数据进行反馈处理,以配合音频数据进行同步播放输出。
19.根据权利要求18所述的实时处理MPEG-2视频流的处理系统,其特征在于,所述视频帧图像缓存及输出控制模块,还用于对原始图像数据和对应的视频帧显示时间戳PTS进行管理及检索。
20.根据权利要求18所述的实时处理MPEG-2视频流的处理系统,其特征在于,所述音频播放控制任务模块,还用于结合音频显示时间戳PTS和视频帧显示时间戳PTS及播放进度,计算出主同步时间参考基准给到同步时钟任务模块;
同步时钟任务模块,还用于时间基准的校验更新处理,同步时钟的切换及同步时钟的异常处理。
21.根据权利要求18所述的实时处理MPEG-2视频流的处理系统,其特征在于,所述节目传输流从网络端口或USB端口获取的实时节目传输流。
CN201711407746.4A 2017-12-22 2017-12-22 一种latm aac音频流的实时转容实现方法及装置 Active CN108122558B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711407746.4A CN108122558B (zh) 2017-12-22 2017-12-22 一种latm aac音频流的实时转容实现方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711407746.4A CN108122558B (zh) 2017-12-22 2017-12-22 一种latm aac音频流的实时转容实现方法及装置

Publications (2)

Publication Number Publication Date
CN108122558A true CN108122558A (zh) 2018-06-05
CN108122558B CN108122558B (zh) 2020-12-29

Family

ID=62231282

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711407746.4A Active CN108122558B (zh) 2017-12-22 2017-12-22 一种latm aac音频流的实时转容实现方法及装置

Country Status (1)

Country Link
CN (1) CN108122558B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109587497A (zh) * 2018-12-13 2019-04-05 广州虎牙信息科技有限公司 Flv流的音频数据传输方法、装置和系统
CN110392276A (zh) * 2019-07-29 2019-10-29 湖南卡罗德音乐集团有限公司 一种基于rtmp协议同步传输midi的直播录播方法
CN113630643A (zh) * 2020-05-09 2021-11-09 中央电视台 媒体流收录方法、装置及计算机存储介质、电子设备
WO2022183841A1 (zh) * 2021-03-02 2022-09-09 北京沃东天骏信息技术有限公司 解码方法、装置和计算机可读存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1411280A (zh) * 2002-11-21 2003-04-16 北京中科大洋科技发展股份有限公司 一种制作和发送及接收广播式准视频点播节目的装置
CN1862970A (zh) * 2005-05-11 2006-11-15 松下电器产业株式会社 音频解码装置
KR100670449B1 (ko) * 2005-04-20 2007-01-16 엘지전자 주식회사 오디오 스트림 탐색 방법
CN100464586C (zh) * 2005-11-27 2009-02-25 海信集团有限公司 基于ip机顶盒的mpeg1文件实时播放的方法
CN101933337A (zh) * 2009-02-19 2010-12-29 松下电器产业株式会社 记录介质、再现装置、集成电路
CN101964187A (zh) * 2009-07-24 2011-02-02 晨星软件研发(深圳)有限公司 帧标题的自动检测方法
CN103888815A (zh) * 2014-03-13 2014-06-25 广州市花都区中山大学国光电子与通信研究院 一种音视频流实时分离处理及同步的方法及其系统
CN106063278A (zh) * 2013-11-21 2016-10-26 谷歌公司 使用子组块化来对媒体流进行代码转换
CN106537929A (zh) * 2014-05-28 2017-03-22 弗劳恩霍夫应用研究促进协会 数据处理器及用户控制数据至音频解码器和渲染器的传输
CN107104945A (zh) * 2010-06-04 2017-08-29 斯凯普爱尔兰科技控股公司 服务器辅助的视频会话

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1411280A (zh) * 2002-11-21 2003-04-16 北京中科大洋科技发展股份有限公司 一种制作和发送及接收广播式准视频点播节目的装置
KR100670449B1 (ko) * 2005-04-20 2007-01-16 엘지전자 주식회사 오디오 스트림 탐색 방법
CN1862970A (zh) * 2005-05-11 2006-11-15 松下电器产业株式会社 音频解码装置
CN100464586C (zh) * 2005-11-27 2009-02-25 海信集团有限公司 基于ip机顶盒的mpeg1文件实时播放的方法
CN101933337A (zh) * 2009-02-19 2010-12-29 松下电器产业株式会社 记录介质、再现装置、集成电路
CN101964187A (zh) * 2009-07-24 2011-02-02 晨星软件研发(深圳)有限公司 帧标题的自动检测方法
CN107104945A (zh) * 2010-06-04 2017-08-29 斯凯普爱尔兰科技控股公司 服务器辅助的视频会话
CN106063278A (zh) * 2013-11-21 2016-10-26 谷歌公司 使用子组块化来对媒体流进行代码转换
CN103888815A (zh) * 2014-03-13 2014-06-25 广州市花都区中山大学国光电子与通信研究院 一种音视频流实时分离处理及同步的方法及其系统
CN106537929A (zh) * 2014-05-28 2017-03-22 弗劳恩霍夫应用研究促进协会 数据处理器及用户控制数据至音频解码器和渲染器的传输

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109587497A (zh) * 2018-12-13 2019-04-05 广州虎牙信息科技有限公司 Flv流的音频数据传输方法、装置和系统
CN109587497B (zh) * 2018-12-13 2021-03-23 广州虎牙信息科技有限公司 Flv流的音频数据传输方法、装置和系统
CN110392276A (zh) * 2019-07-29 2019-10-29 湖南卡罗德音乐集团有限公司 一种基于rtmp协议同步传输midi的直播录播方法
CN110392276B (zh) * 2019-07-29 2021-06-22 湖南卡罗德音乐集团有限公司 一种基于rtmp协议同步传输midi的直播录播方法
CN113630643A (zh) * 2020-05-09 2021-11-09 中央电视台 媒体流收录方法、装置及计算机存储介质、电子设备
CN113630643B (zh) * 2020-05-09 2023-10-20 中央电视台 媒体流收录方法、装置及计算机存储介质、电子设备
WO2022183841A1 (zh) * 2021-03-02 2022-09-09 北京沃东天骏信息技术有限公司 解码方法、装置和计算机可读存储介质

Also Published As

Publication number Publication date
CN108122558B (zh) 2020-12-29

Similar Documents

Publication Publication Date Title
CN103931204B (zh) 媒体数据的网络流
EP1615422B1 (en) Method of synchronizing still picture with moving picture stream
RU2700405C2 (ru) Устройство передачи данных, способ передачи данных, приёмное устройство и способ приёма
US8483053B2 (en) Information processing device, information processing method, program, and data structure
CN108122558A (zh) 一种latm aac音频流的实时转容实现方法及装置
CN101710997A (zh) 基于mpeg-2系统实现视、音频同步的方法及系统
JP6908168B2 (ja) 受信装置、受信方法、送信装置および送信方法
CA2533221A1 (en) Video compression using a signal transmission chain comprising an information bus linking encoders and decoders
JP7310849B2 (ja) 受信装置および受信方法
CN108111872B (zh) 一种音频直播系统
CN102254560B (zh) 一种移动数字电视录像中的音频处理方法
EP2276192A2 (en) Method and apparatus for transmitting/receiving multi - channel audio signals using super frame
CN109040818A (zh) 直播时的音视频同步方法、存储介质、电子设备及系统
US20070058684A1 (en) Transparent methods for altering the video decoder frame-rate in a fixed-frame-rate audio-video multiplex structure
WO2015133250A1 (ja) 送信装置、送信方法、受信装置および受信方法
CN108702533B (zh) 发送装置、发送方法、接收装置和接收方法
JP2823806B2 (ja) 画像復号装置
KR100657096B1 (ko) 휴대 단말기의 오디오 및 비디오 동기화 장치 및 방법
JP2016076957A (ja) 送信装置、送信方法、受信装置および受信方法
CN113099291B (zh) 发送设备、发送方法、接收设备和接收方法
KR20070054269A (ko) 영상 재생장치에서 영상 프레임의 재생 방법 및 장치
US20110182367A1 (en) Media coding apparatus and media coding method
JP2000069438A (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
GR01 Patent grant
GR01 Patent grant