【技术实现步骤摘要】
流媒体文件的解码处理方法与装置、播放设备
本专利技术涉及多媒体技术,尤其是流媒体文件的解码处理方法与装置、播放设备。
技术介绍
现有技术中,通常通过如下方式制作流媒体文件:通过视频编码器对视频数据与字幕进行压缩编码,形成视频的连续码流,也称为视频基本码流(ElementaryStream,以下简称:ES),同时,通过音频编码器对音频数据进行压缩编码,形成音频的连续码流,也称为音频ES;通过打包器,分别根据需要将音、视频ES分成长度不等的数据段,并加上包头后按照一定的格式进行打包封装,形成音、视频打包基本码流(PacketElementaryStream,以下简称:PES),每个PES包头携带了流标识(StreamIdentifiers,以下简称:SID)、显示时间戳(presentationtimestamp,以下简称:PTS)与解码时间戳(DecodeTimeStamp,以下简称:DTS);通过复用器,将音频PES与视频PES复用在一起,按照预设规则进行排序并建立索引,再加上系统时钟后打包形成流媒体文件的封装码流,具体的封装格式包括RealNetworks公司开发的流媒体视频文件格式(RealMedia,以下简称:RM)、音频视频交错格式(AudioVideoInterleaved,以下简称:AVI)、Apple公司开发的一种音频和视频文件格式(QuickTime)影片格式(MOV)、动态图像专家组(MovingPicturesExpertsGroup,以下简称:MPG或MPEG)等。如图1所示,为现有技术流媒体文件的一个制作流程示意图。图2为现有技术流 ...
【技术保护点】
一种流媒体文件的解码处理方法,其特征在于,包括:读取流媒体文件码流,并识别读取到的流媒体文件码流为基本码流或封装码流,所述流媒体文件码流包括音频文件码流和/或视频文件码流;响应于流媒体文件码流为基本码流,基于当前帧的相关信息而非解复用单元提供的码流信息,对当前帧数据进行解码,得到流媒体数据,所述流媒体数据包括音频数据或者视频数据。
【技术特征摘要】
1.一种流媒体文件的解码处理方法,其特征在于,包括:读取流媒体文件码流,并识别读取到的流媒体文件码流为基本码流或封装码流,所述流媒体文件码流包括音频文件码流和/或视频文件码流;响应于流媒体文件码流为基本码流,从基本码流中检测当前帧的相关信息,利用帧检测单元,基于当前帧与下一帧的特征信息对当前帧进行完整性检测;响应于当前帧通过完整性检测,基于当前帧的相关信息确定当前帧数据;其中,当前帧的相关信息包括当前帧的同步头起始位置、帧长与特征信息;对当前帧数据进行解码,得到流媒体数据,所述流媒体数据包括音频数据或者视频数据。2.根据权利要求1所述的方法,其特征在于,响应于流媒体文件码流为封装码流,对封装码流进行解复用,分离出音频打包基本码流PES与视频PES,分别对音频PES与视频PES进行拆包、解封装,得到音频帧与视频帧,并提取音频帧与视频帧的特征信息;分别根据音频帧与视频帧的特征信息对音频帧与视频帧进行解码,得到音频数据与视频数据。3.根据权利要求1所述的方法,其特征在于,从基本码流中检测当前帧的相关信息包括:利用帧检测单元,从基本码流的当前位置进行同步头检测,获取当前帧的同步头在比特流中的起始位置;由所述同步头起始位置确定当前帧的帧头并进行解析,获取当前帧的特征信息;基于当前帧的特征信息对当前帧进行合法性检测;响应于当前帧通过合法性检测,根据当前帧的特征信息确定当前帧的帧长。4.根据权利要求3所述的方法,其特征在于,对当前帧数据进行解码包括:利用帧解码单元,接收当前帧的特征信息;根据当前帧的特征信息中的循环冗余码校验CRC标识,对当前帧数据进行错误校验;对当前帧数据进行解码。5.根据权利要求3所述的方法,其特征在于,对当前帧数据进行解码包括:利用帧解码单元,接收当前帧的同步头起始位置信息;根据当前帧的同步头起始位置检测当前帧的特征信息;根据当前帧的特征信息中的CRC标识,对当前帧数据进行错误校验;对当前帧数据进行解码。6.根据权利要求4或5所述的方法,其特征在于,基于当前帧的相关信息确定当前帧数据之后,还包括:将帧检测单元确定的当前帧数据,与检测得到的当前帧的相关信息或相关信息中的同步头起始位置信息发送给帧解码单元。7.根据权利要求1至5任意一项所述的方法,其特征在于,读取流媒体文件码流,并识别读取到流媒体文件码流为基本码流或封装码流包括:利用文件读取单元,响应于控制单元的读取控制命令,对外部存储单元的输入空间进行监控,响应于外部存储单元的输入空间有空余,从文件存储单元读取流媒体文件码流并存储在外部存储单元的输入空间内,识别读取到流媒体文件码流为基本码流或封装码流,并向控制单元返回识别结果消息;利用控制单元,根据所述识别结果消息,响应于流媒体文件码流为基本码流,向帧检测单元发送检测命令;具体利用帧检测单元,根据所述检测命令从基本码流中检测当前帧的相关信息,并基于当前帧的相关信息确定当前帧数据。8.根据权利要求7所述的方法,其特征在于,利用控制单元,根据所述识别结果消息,响应于流媒体文件码流为封装码流,向解复用单元发送解复用命令;具体利用解复用单元,根据所述解复用命令对封装码流进行解复用,分离出音频PES与视频PES,分别对音频PES与视频PES进行拆包、解封装,得到音频帧与视频帧,并提取音频帧与视频帧的特征信息;将音频帧与视频帧及其特征信息发送给控制单元;利用控制单元,向帧解码单元发送解码命令、音频帧与视频帧,所述解码命令中包括音频帧与视频帧的特征信息;具体利用帧解码单元,根据解码命令对音频帧与视频帧进行解码,得到音频数据与视频数据。9.根据权利要求8所述的方法,其特征在于,还包括:利用帧解码单元,将解码得到的音频数据与视频数据存储在外部存储单元的缓冲区中,并向控制单元返回正确解码的解码结果消息;利用控制单元,响应于所述解码结果消息,向播放单元发送播放命令;利用播放单元,根据所述播放命令,对缓冲区中的音频数据与视频数据进行输出播放。10.根据权利要求7所述的方法,其特征在于,基于当前帧的相关信息确定当前帧数据之后,还包括:利用帧检测单元,将确定的当前帧数据,与检测得到的当前帧的相关信息或相关信息中的同步头起始位置信息发送给控制单元;利用控制单元,向帧解码单元发送解码命令与当前帧数据,所述解码命令包括当前帧的相关信息或相关信息中的同步头起始位置信息;具体利用帧解码单元,根据解码命令对当前帧数据进行解码。11.根据权利要求10所述的方法,其特征在于,还包括:利用帧解码单元,将解码得到的流媒体数据存储在外部存储单元的缓冲区中,并向控制单元返回正确解码的解码结果消息;利用控制单元,响应于解码结果消息,向播放单元发送播放命令;利用播放单元,根据所述播放命令,对缓冲区中的流媒体数据进行输出播放。12.根据权利要求7所述的方法,其特征在于,基于当前帧的相关信息确定当前帧数据之后,还包括:利用帧检测单元,将当前帧数据存储在交互存储单元中,并向控制单元发送检测完成消息,所述检测完成消息中包括当前帧的相关信息或相关信息中的同步头起始位置信息;利用控制单元,响应于检测完成消息,向帧解码单元发送解码命令,所述解码命令中包括当前帧的相关信息或相关信息中的同步头起始位置信息;具体利用帧解码单元,根据解码命令,对交互存储单元中的当前帧数据进行解码。13.根据权利要求12所述的方法,其特征在于,还包括:利用帧解码单元,将解码得到的流媒体数据存储在所述交互存储单元中,并向控制单元返回正确解码的解码结果消息;利用控制单元,响应于解码结果消息,将交互存储单元中的流媒体数据搬移到所述外部存储单元的缓冲区中,并向播放单元发送播放命令;利用播放单元,根据所述播放命令,对缓冲区中的流媒体数据进行输出播放。14.根据权利要求12所述的方法,其特征在于,利用控制单元,根据所述识别结果消息,响应于流媒体文件码流为封装码流,向解复用单元发送解复用命令;具体利用解复用单元,根据所述解复用命令对封装码流进行解复用,分离出音频PES与视频PES,分别对音频PES与视频PES进行拆包、解封装,得到音频帧与视频帧并存储在交互存储单元中,并提取音频帧与视频帧的特征信息;向控制单元发送解复用完成消息,所述解复用完成消息中包括音频帧与视频帧的特征信息;利用控制单元,向帧解码单元发送解码命令,所述解码命令中包括音频帧与视频帧的特征信息;具体利用帧解码单元,根据解码命令,对交互存储单元中的音频帧与视频帧进行解码,得到音频数据与视频数据。15.根据权利要求14所述的方法,其特征在于,还包括:利用帧解码单元,将音频数据与视频数据存储在所述交互存储单元中,并向控制单元返回正确解码的解码结果消息;利用控制单元,响应于所述解码结果消息,将交互存储单元中的音频数据与视频数据搬移到所述外部存储单元的缓冲区中,并向播放单元发送播放命令;利用播放单元,根据所述播放命令,对缓冲区中的音频数据与视频数据进行输出播放。16.一种流媒体文件的解码处理装置,其特征在于,包括:文件读取单元,用于读取流媒体文件码流,并识别读取到流媒体文件码流为基本码流或封装码流,所述流媒体文件码流包括音频文件码流和/或视频文件码流;帧检测单元,用于响应于流媒体文件码流为基本码流,从基本码流中检测当前帧的相关信息,基于当前帧与下一帧的特征信息对当前帧进行完整性检测;以及响应于当前帧通过完整性检测,基于当前帧的相关信息确定当前帧数据;其中,当前帧的相关信息包括当前帧的同步...
【专利技术属性】
技术研发人员:李昙,张本好,徐晶明,吴晟,林福辉,
申请(专利权)人:展讯通信上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。