CN103034147B - 媒体文件的播放处理方法、多处理器系统与设备 - Google Patents

媒体文件的播放处理方法、多处理器系统与设备 Download PDF

Info

Publication number
CN103034147B
CN103034147B CN201110301323.0A CN201110301323A CN103034147B CN 103034147 B CN103034147 B CN 103034147B CN 201110301323 A CN201110301323 A CN 201110301323A CN 103034147 B CN103034147 B CN 103034147B
Authority
CN
China
Prior art keywords
unit
storage unit
processor unit
external memory
decoded result
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
CN201110301323.0A
Other languages
English (en)
Other versions
CN103034147A (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.)
Spreadtrum Communications Shanghai Co Ltd
Original Assignee
Spreadtrum Communications Shanghai 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 Spreadtrum Communications Shanghai Co Ltd filed Critical Spreadtrum Communications Shanghai Co Ltd
Priority to CN201110301323.0A priority Critical patent/CN103034147B/zh
Publication of CN103034147A publication Critical patent/CN103034147A/zh
Application granted granted Critical
Publication of CN103034147B publication Critical patent/CN103034147B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明实施例公开了一种媒体文件的播放处理方法、多处理器系统与设备,其中,媒体文件的播放处理方法包括:利用第一处理器单元从外部存储单元的输入空间内读取至少一完整帧的媒体数据存储在交互存储单元中;利用第二处理器单元对交互存储单元中的媒体数据进行解码,并将解码得到的解码结果数据存储在所述交互存储单元中;利用第一处理器单元将交互存储单元中的解码结果数据搬移到所述外部存储单元的缓冲区中,并对缓冲区中的解码结果数据进行输出播放。本发明实施例可以充分利用系统资源,提高媒体文件的播放效果与多处理器系统的工作性能。

Description

媒体文件的播放处理方法、多处理器系统与设备
技术领域
本发明涉及媒体技术,尤其是一种媒体文件的播放处理方法、多处理器系统与设备。
背景技术
现有技术中,专用的多媒体播放器,例如,动态影像专家压缩标准音频层面3(MovingPictureExpertsGroupAudioLayer-3,以下简称:MP3)音频播放器、MP4视频播放器等,均采用单一处理器对相应的音频、视频等媒体文件进行解码、播放。
但是,随着通信技术的迅速发展,现有的专用多媒体播放器之外的电子产品,例如通信产品,大多支持对音频、视频等媒体文件的解码与播放。在这类电子产品中,媒体文件的解码、播放功能附加在其它功能之上实现,例如,在移动终端中,音频文件的解码、播放功能附加在通信、视频、图像处理功能之上实现。在这类电子产品中,通常包含多个处理器单元,例如,高级精简指令集机器(AdvancedRISCMachines,以下简称:ARM)处理器单元与数字信号处理器(DigitalSignalProcessor,以下简称:DSP)单元。不同处理器单元具有不同的处理特点,根据分工不同负责完成不同任务。例如,移动终端中的DSP单元主要负责完成通信系统的核心算法,而ARM处理器单元主要负责完成控制及文件操作。在具有多个处理器单元的多处理器系统中,通常需要实现的功能多且复杂,而系统资源有限,这就需要对系统资源进行优化配置及复用,以达到对有限资源的最优配置,最大程度的降低产品成本。例如,由于ARM处理器单元中的ARM7系列处理器单元具有较灵活的存储访问功能及较丰富的流程控制指令,但缺乏强大的数据运算能力,使用ARM7系列处理器单元进行控制操作;由于DSP单元具有较强大的数据处理能力,但其流程控制及存储访问功能受限,如无法访问外部存储空间,因此DSP单元会有部分专属内部存储器,使用DSP单元实现需要大量运算的运算功能。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
多处理器系统中,仍然使用单一处理器单元,例如,仅使用ARM处理器单元或DSP单元,来对媒体文件进行解码、播放,由于各处理器单元在不同功能方面的性能优劣不同,仅使用单一处理器单元对媒体文件进行解码、播放,影响了媒体文件的播放效果;并且,由于未充分利用多个处理器单元,无法充分发挥多个处理器单元的性能优势,造成多个处理器单元的性能损失与系统资源浪费。
发明内容
本发明实施例所要解决的一个技术问题是:提供一种媒体文件的播放处理方法、多处理器系统与设备,以在多处理器系统对媒体文件进行解码、播放时,充分利用系统资源,提高媒体文件的播放效果与多处理器系统的工作性能。
为解决上述技术问题,根据本发明实施例的一个方面,提供一种媒体文件的播放处理方法,包括:
利用第一处理器单元从外部存储单元的输入空间内读取至少一完整帧的媒体数据存储在交互存储单元中;
利用第二处理器单元对交互存储单元中的媒体数据进行解码,并将解码得到的解码结果数据存储在所述交互存储单元中;
利用第一处理器单元将交互存储单元中的解码结果数据搬移到所述外部存储单元的缓冲区中,并对缓冲区中的解码结果数据进行输出播放。
根据本发明实施例的另一个方面,提供一种多处理器系统,包括:
第一处理器单元,用于从外部存储单元的输入空间内读取至少一完整帧的媒体数据存储在交互存储单元中,以及将交互存储单元中的解码结果数据搬移到所述外部存储单元的缓冲区中,并对缓冲区中的解码结果数据进行输出播放;
第二存储器单元,用于对交互存储单元中的媒体数据进行解码,并将解码得到的解码结果数据存储在所述交互存储单元中;
交互存储单元,用于存储媒体数据,以及媒体数据的解码结果数据。
根据本发明实施例的又一个方面,提供一种设备,包括多处理器系统、外部存储单元、文件系统处理单元与文件存储单元,所述多处理器系统具体为本发明上述实施例提供的多处理器系统;
所述文件存储单元,用于存储媒体文件,所述媒体文件由媒体数据组成;
所述外部存储单元,包括输入空间与缓冲区,所述输入空间用于存储媒体数据,所述缓冲区用于存储媒体数据的解码结果数据;
所述文件系统处理单元,用于响应于多处理器系统中第一处理器单元的控制启动;对外部存储单元的输入空间进行监控,响应于外部存储单元的输入空间有空余,从文件存储单元中读取媒体数据并存储在外部存储单元的输入空间内。
基于本发明上述实施例提供的媒体文件的播放处理方法、多处理器系统与设备,由于多处理器系统中的每个处理器单元在不同功能方面的性能优劣不同,充分发挥每个处理器单元的性能优势,利用多个处理器单元配合实现对媒体文件的解码、播放流程,例如,可以利用具有较灵活的存储访问功能及较丰富的流程控制指令的处理器单元,如ARM7系列处理器单元,作为第一处理器单元,从外部存储单元的输入空间读取媒体数据并存储在第二处理器单元可访问的交互存储单元中,利用具有较强大的数据处理能力的处理器,如DSP单元,作为第二处理器单元,对交互存储单元中的媒体数据进行解码,并将解码得到的解码结果数据存储在可访问的交互存储单元中,然后由第一处理器单元进行播放,充分发挥了第一处理器单元的灵活存储访问功能及丰富流程控制指令功能与第二处理器单元的强大数据处理能力,与现有技术相比,提高了媒体文件的播放效果;充分发挥了多个处理器单元的性能优势,充分利用了多处理器系统的系统资源,实现了对系统资源的优化配置及复用,达到对有限资源的最优配置,最大程度的降低产品成本,且提高了多处理器系统的工作性能。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明媒体文件的播放处理方法一个实施例的流程图。
图2为本发明媒体文件的播放处理方法另一个实施例的流程图。
图3为本发明多处理器系统一个实施例的结构示意图。
图4为本发明多处理器系统另一个实施例的结构示意图。
图5为本发明多处理器系统又一个实施例的结构示意图。
图6为本发明设备一个实施例的结构示意图。
图7为本发明设备另一个实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明媒体文件的播放处理方法一个实施例的流程图。如图1所示,该实施例媒体文件的播放处理方法包括:
101,利用第一处理器单元从外部存储单元的输入空间内读取至少一完整帧的媒体数据存储在交互存储单元中。
根据本发明的一个具体实施例,其中的媒体数据具体可以是音频数据,也可以是视频数据,或者同时包括音频和数据/或者视频数据。
具体地,从外部存储单元的输入空间内读取的可以是一个完整帧的媒体数据,也可以是多个完整帧的媒体数据,由于对每一个完整帧的媒体数据的处理均相同,为方便起见,本发明各实施例中重点以每次读取一个完整帧的媒体数据的实施例为例进行说明,对于一次读取多个完整帧的媒体数据的实施例,本领域技术人员根据本发明实施例可以参照实现。
102,利用第二处理器单元对交互存储单元中的媒体数据进行解码,并将解码得到的解码结果数据存储在交互存储单元中。
示例性地,其中的解码结果数据为脉冲编码调制(PulseCodeModulation,以下简称:PCM)数据。
103,利用第一处理器单元将交互存储单元中的解码结果数据搬移到外部存储单元的缓冲区中,并对缓冲区中的解码结果数据进行输出播放。
由于多处理器系统中的每个处理器单元在不同功能方面的性能优劣不同,本发明上述实施例提供的媒体文件的播放处理方法,充分发挥每个处理器单元的性能优势,利用多个处理器单元配合实现对媒体文件的解码、播放流程,例如,可以利用具有较灵活的存储访问功能及较丰富的流程控制指令的处理器单元,如ARM7系列处理器单元,作为第一处理器单元,从外部存储单元的输入空间读取媒体数据并存储在第二处理器单元可访问的交互存储单元中,利用具有较强大的数据处理能力的处理器,如DSP单元,作为第二处理器单元,对交互存储单元中的媒体数据进行解码,并将解码得到的解码结果数据存储在可访问的交互存储单元中,然后由第一处理器单元进行播放,充分发挥了第一处理器单元的灵活存储访问功能及丰富流程控制指令功能与第二处理器单元的强大数据处理能力,提高了媒体文件的播放效果;充分发挥了多个处理器单元的性能优势,充分利用了多处理器系统的系统资源,实现了对系统资源的优化配置及复用,达到对有限资源的最优配置,最大程度的降低产品成本,且提高了多处理器系统的工作性能。
根据本发明媒体文件的播放处理方法的另一个具体实施例,还可以包括如下操作:
利用第一处理器单元控制文件系统处理单元启动;
利用文件系统处理单元对外部存储单元的输入空间进行监控,响应于外部存储单元的输入空间有空余,从文件存储单元中读取媒体数据并存储在外部存储单元的输入空间内。
根据本发明媒体文件的播放处理方法的一个示例而非限制,图1所示实施例的101可以通过如下方式实现:
利用第一处理器单元从外部存储单元的输入空间内顺序读取媒体数据并进行帧判定与定位,以从外部存储单元的输入空间读取一个帧的媒体数据;
利用第一处理器单元对该一个帧的合法性与完整性进行检测;
响应于该一个帧的合法性与完整性通过检测,则该一个帧为一个完整帧,利用第一处理器单元将该一个帧的媒体数据存储在交互存储单元中。
由于媒体数据中可能存在错误或者不同种类的媒体数据,通过对媒体数据进行合法性检测与完整性检测,在媒体数据通过合法性检测与完整性检测后再针对该媒体数据进行后续操作,可以有效避免后续对错误数据不必要的解码处理占用多处理器系统的系统资源,提高系统资源的利用率。
示例性地,由于每一个音频帧或视频帧的帧头中都包括该帧的特征信息,可以基于该帧的特征信息对该帧进行合法性检测,基于该帧与下一帧的特征信息对该帧进行完整性检测。具体地,可以通过如下方式对该一个帧的合法性进行检测:检测该一个帧的特征信息,例如音频帧的采样率、声道、比特率、是否采用填充位、是否受保护等;由于在相应的音频或视频压缩标准中,对各特征信息都规定了特定的取值范围,例如,规定MP3格式帧采样率的取值范围是8khz~48khz,检测该一个帧的各特征信息是否都在特定的取值范围内,例如,采样率的值是否位于8khz~48khz范围内;若该一个帧的各特征信息均位于特定的取值范围内,则各项特征信息均合法,此时,该一个帧通过合法性检测。
具体地,可以通过如下方式对该一个帧进行完整性检测:通过该一个帧的帧头与帧长即可获知下一帧的帧头位置,确认下一帧的帧头位置是否存在相应的同步头,例如,对于MPEG1帧,确认下一帧的帧头位置是否存在12比特的同步字0xFFE;若下一帧的帧头位置存在相应的同步头,比较下一帧的特征信息与该一个帧的特征信息是否一致,例如,下一帧与该一个帧的采样率是否一致。若下一帧的特征信息与该一个帧的特征信息一致,则该一个帧通过完整性检测。
根据本发明媒体文件的播放处理方法的又一个具体实施例,将一个帧的媒体数据存储在交互存储单元中之后,还可以利用第一处理器单元将对交互存储单元的读写权限从第一处理器单元切换到第二处理器单元,并向第二处理器单元发送解码命令。
示例性地,可以通过如下方式对交互存储单元中的媒体数据进行解码:利用第二处理器单元,根据解码命令对交互存储单元中的媒体数据进行解码,并在解码过程中调用作为第三处理器单元的解码加速单元进行加速,进一步提高解码速度,实现更高的解码性能。
根据本发明媒体文件的播放处理方法的一个示例而非限制,利用第二处理器单元解码得到解码结果数据后,可以利用第二处理器单元向第一处理器单元发送是否正确解码的解码结果消息,具体将正确解码得到的解码结果数据存储在交互存储单元中;利用第一处理器单元将对交互存储单元的读写权限从第二处理器单元切换到第一处理器单元,以及响应于正确解码的解码结果消息,执行将交互存储单元中的解码结果数据搬移到外部存储单元的缓冲区中的操作。
根据本发明媒体文件的播放处理方法的再一个具体实施例,在本发明上述各实施例媒体文件的播放处理方法中,还可以在第一处理器单元对缓冲区中的解码结果数据进行输出播放时,利用第一处理器单元对外部存储单元的缓冲区进行监控,响应于缓冲区的剩余空间大于或等于一完整帧的解码结果数据大小,开始执行从外部存储单元的输入空间内读取下一完整帧的媒体数据存储在交互存储单元中的操作。当缓冲区的剩余空间已满,不足以存储下一完整帧的解码结果数据时,则不进行读取下一完整帧的媒体数据的操作,直到监测到缓冲区的剩余空间大于一完整帧的解码结果数据大小时,再开始执行读取下一完整帧的媒体数据的操作。
图2为本发明媒体文件的播放处理方法另一个实施例的流程图,该实施例适用于对音频文件或视频文件的播放处理,尤其适用于对音频文件的播放处理情况。如图2所示,该实施例媒体文件的播放处理方法包括:
201,文件系统处理单元响应于第一处理器单元的控制启动后,对外部存储单元的输入空间进行监控,并判断外部存储单元的输入空间是否有空余。响应于外部存储单元的输入空间有空余,执行202。否则,若外部存储单元的输入空间没有空余,不执行本实施例的后续流程。
202,文件系统处理单元从文件存储单元中读取媒体数据并存储在外部存储单元的输入空间内。
其中的媒体数据具体可以是音频数据,也可以是视频数据,或者同时包括音频和数据/或者视频数据。
由于文件存储单元的数据读取速度较慢,文件系统处理单元将与媒体数据的解码过程同步,不断监测外部存储单元中用于存放待解码媒体数据的输入空间的空余,并不断填充待解码媒体数据,以避免文件存储单元数据读取速度较慢的问题,满足媒体数据解码的实时性要求。
203,第一处理器单元从外部存储单元的输入空间内顺序读取媒体数据并进行帧判定与定位,从外部存储单元的输入空间读取一个帧的媒体数据。
204,第一处理器单元对该一个帧的合法性与完整性进行检测。响应于该一个帧的合法性与完整性通过检测,则该一个帧为一个完整帧,执行205。否则,若该一个帧的合法性和/或完整性未通过检测,不执行本实施例的后续流程,或者也可以丢弃该一个帧的媒体数据,然后返回执行203,读取下一个帧的媒体数据。
205,第一处理器单元将该一个帧的媒体数据存储在交互存储单元中。
206,第一处理器单元将对交互存储单元的读写权限从第一处理器单元切换到第二处理器单元,并向第二处理器单元发送解码命令。
示例性地,可以预设第一处理器单元对交互存储单元具有初始读写权限。
207,第二处理器单元根据解码命令对交互存储单元中的媒体数据进行解码,并在解码过程中调用作为第三处理器单元的解码加速单元进行加速。
例如,根据ISO/IEC13818-7标准规定,对于高级音频编码(AdvancedAudioCoding,以下简称:AAC)格式的音频数据,可以依次通过熵解码(也称为:哈夫曼解码或无噪解码)、反量化、联合立体声处理、知觉噪声替换(以下简称:PNS)、瞬时噪声整形(以下简称:TNS)、反离散余弦变换(InverseModifiedDiscreteCosineTransform,以下简称:IMDCT)、频段复制(以下简称:SBR),来实现解码。
208,得到解码结果数据后,第二处理器单元根据是否对媒体数据进行了正确解码,向第一处理器单元发送是否正确解码的解码结果消息,例如,通过中断模式向第一处理器单元发送是否正确解码的解码结果消息,并在对媒体数据进行了正确解码时,将正确解码得到的解码结果数据存储在交互存储单元中。
示例性地,由于在解码过程可能会出现解码异常情况,例如,熵解码异常,当出现解码异常情况时,第二处理器单元可以通过中断模式向第一处理器单元发送解码错误的解码结果消息,并不存储解码结果数据。第一处理器单元收到解码错误的解码结果消息后,可以返回执行203的操作,从外部存储单元的输入空间读取下一个帧的媒体数据,并进行后续处理。
209,响应于第二处理器单元发送的解码结果消息,第一处理器单元将对交互存储单元的读写权限从第二处理器单元切换到第一处理器单元,响应于该解码结果消息为正确解码的解码结果消息,将交互存储单元中的解码结果数据搬移到外部存储单元的缓冲区中。
210,第一处理器单元对缓冲区中的解码结果数据进行输出播放,并对外部存储单元的缓冲区进行监控,识别缓冲区的剩余空间是否大于或等于一完整帧的解码结果数据大小。响应于缓冲区的剩余空间大于或等于一完整帧的解码结果数据大小,返回执行203的操作,从外部存储单元的输入空间内读取下一完整帧的媒体数据。否则,若缓冲区的剩余空间小于一完整帧的解码结果数据大小,不执行本实施例的后续流程。
图3为本发明多处理器系统一个实施例的结构示意图。该实施例的多处理器系统可用于执行本发明上述各媒体文件的播放处理方法流程的相应操作。如图3所示,其包括第一处理器单元301、第二存储器单元302与交互存储单元303。
第一处理器单元301,用于从外部存储单元的输入空间内读取至少一完整帧的媒体数据存储在交互存储单元303中,以及将交互存储单元303中的解码结果数据搬移到外部存储单元的缓冲区中,并对缓冲区中的解码结果数据进行输出播放。根据本发明的一个具体实施例,其中的媒体数据具体可以是音频数据,也可以是视频数据,或者同时包括音频和数据/或者视频数据。
示例性地,第一处理器单元301具体可以采用ARM处理器中的ARM7系列处理器单元实现,由于具有较灵活的存储访问功能及丰富的流程控制指令,采用ARM7系列处理器单元实现第一处理器单元301,可以提高多处理器系统的工作性能。
第二处理器单元302,用于对交互存储单元303中的媒体数据进行解码,并将解码得到的解码结果数据存储在交互存储单元303中。
示例性地,第二处理器单元302具体可以采用DSP单元实现,由于DSP单元具有较强大的数据处理能力,利用DSP单元实现第二处理器单元302,可以提高媒体数据的解码速度与效率,提高媒体数据的正确解码率。
交互存储单元303,用于存储媒体数据,以及媒体数据的解码结果数据。
由于多处理器系统中的每个处理器单元在不同功能方面的性能优劣不同,本发明上述实施例提供的多处理器系统充分发挥每个处理器单元的性能优势,利用多个处理器单元配合实现对媒体文件的解码、播放流程,例如,可以利用具有较灵活的存储访问功能及较丰富的流程控制指令的处理器,如ARM7系列处理器单元,作为第一处理器单元,从外部存储单元的输入空间读取媒体数据并存储在第二处理器单元可访问的交互存储单元中,利用具有较强大的数据处理能力的处理器,如DSP单元,作为第二处理器单元,对交互存储单元中的媒体数据进行解码,并将解码得到的解码结果数据存储在可访问的交互存储单元中,然后由第一处理器单元进行播放,充分发挥了第一处理器单元的灵活存储访问功能及丰富流程控制指令功能与第二处理器单元的强大数据处理能力,提高了媒体文件的播放效果;充分发挥了多个处理器单元的性能优势,充分利用了多处理器系统的系统资源,实现了对系统资源的优化配置及复用,达到对有限资源的最优配置,最大程度的降低产品成本,且提高了多处理器系统的工作性能。
根据本发明的多处理器系统的另一个具体实施例,图3所示实施例的多处理器系统中,第一处理器单元301具体包括播放单元401、控制单元402与解析单元403,第二处理器单元302包括解码单元404,如图4所示,为本发明多处理器系统另一个实施例的结构示意图。
其中,解析单元403,用于响应于控制单元402的启动控制命令,从外部存储单元的输入空间内读取一完整帧的媒体数据存储在交互存储单元303中,并向控制单元402发送解析完成消息。
控制单元402,用于向解析单元403发送启动控制命令;以及响应于解析单元403发送的解析完成消息,向解码单元404发送解码命令;响应于解码单元404发送的正确解码的解码结果消息,将交互存储单元303中的解码结果数据搬移到外部存储单元的缓冲区中,并向播放单元401发送播放命令。
解码单元404,用于根据控制单元402发送的解码命令,对交互存储单元303中的媒体数据进行解码,向控制单元404发送是否正确解码的解码结果消息,并将正确解码得到的解码结果数据存储在交互存储单元303中。
播放单元401,用于根据控制单元402发送的播放命令,对外部存储单元的缓冲区中的解码结果数据进行输出播放。
根据本发明多处理器系统的一个示例而非限制,图4所示的实施例中,解析单元403从外部存储单元的输入空间内读取一完整帧的媒体数据存储在交互存储单元303中时,具体从外部存储单元的输入空间内顺序读取媒体数据并进行帧判定与定位,以从外部存储单元的输入空间读取一个帧的媒体数据;对该一个帧的合法性与完整性进行检测;响应于该一个帧的合法性与完整性通过检测,则该一个帧为一个完整帧,将该一个帧的媒体数据存储在交互存储单元303中。
根据本发明多处理器系统的一个示例而非限制,图4所示的实施例中,控制单元402,还用于响应于解析单元403发送的解析完成消息,将对交互存储单元303的读写权限从第一处理器单元301切换到第二处理器单元302,以及响应于解码单元404发送的解码结果消息,将对交互存储单元303的读写权限从第二处理器单元302切换到第一处理器单元301。
根据本发明多处理器系统的一个示例而非限制,图4所示的实施例中,控制单元402,还用于识别解码单元404发送的解码结果消息是否为正确解码的解码结果消息,响应于解码结果消息为正确解码的解码结果消息,开始执行将交互存储单元303中的解码结果数据搬移到外部存储单元的缓冲区中的操作。
根据本发明的多处理器系统的又一个具体实施例,解码单元404还用于在对交互存储单元303中的媒体数据进行解码的过程中,调用第三处理器单元304进行加速。如图5所示,为本发明多处理器系统又一个实施例的结构示意图,该实施例中,多处理器系统还包括第三处理器单元304,用于作为解码加速单元,对解码单元404的解码过程进行加速,进一步提高多处理器系统的解码速度,实现更高的解码性能。
示例性地,第三处理器单元304可以使用适用于不同媒体数据格式的专属硬件单元或专属运算加速处理单元实现,例如,采用一个通用离散余弦变换(DiscreteCosineTransformation,以下简称:DCT)的硬件加速单元实现,使用硬件加速单元实现,一方面可以不消耗第二处理器单元302的性能资源,另一方面可以提高多处理器系统的解码的整体性能,同时可以适用于各种媒体数据格式。
另外,根据本发明的多处理器系统的再一个具体实施例,在图4或图5所示各实施例的多处理器系统中,控制单元402,还可以用于在播放单元401对外部存储单元的缓冲区中的解码结果数据进行输出播放时,对外部存储单元的缓冲区进行监控,响应于缓冲区的剩余空间大于或等于一完整帧的解码结果数据大小,开始执行向解析单元403发送启动控制命令的操作,以便解析单元403从外部存储单元的输入空间内读取下一完整帧的媒体数据存储在交互存储单元303中。
图6为本发明设备一个实施例的结构示意图。该实施例的设备可用于实现本发明上述各媒体文件的播放处理方法实施例的流程。如图6所示,其包括多处理器系统1、外部存储单元2、文件系统处理单元3与文件存储单元4,其中的多处理器系统1具体可以采用本发明图3至图5所示任一实施例提供的多处理器系统实现,图6仅示出了采用图5所示其中一个实施例结构的示例,对于多处理器系统1采用其它实施例时的结构,各单元之间的连接关系相同,不再赘述。
文件存储单元4用于存储媒体文件,该媒体文件由媒体数据组成。
外部存储单元2包括输入空间与缓冲区,其中,输入空间用于存储媒体数据,缓冲区用于存储媒体数据的解码结果数据。
文件系统处理单元3用于响应于多处理器系统1中的第一处理器单元301的控制启动;对外部存储单元2的输入空间进行监控,响应于外部存储单元2的输入空间有空余,从文件存储单元4中读取媒体数据并存储在外部存储单元2的输入空间内。
由于多处理器系统中的每个处理器单元在不同功能方面的性能优劣不同,本发明上述实施例提供的设备包括了上述实施例的多处理器系统,充分发挥每个处理器单元的性能优势,利用多个处理器单元配合实现对媒体文件的解码、播放流程,例如,可以利用具有较灵活的存储访问功能及较丰富的流程控制指令的处理器,如ARM7系列处理器单元,作为第一处理器单元,从外部存储单元的输入空间读取媒体数据并存储在第二处理器单元可访问的交互存储单元中,利用具有较强大的数据处理能力的处理器,如DSP单元,作为第二处理器单元,对交互存储单元中的媒体数据进行解码,并将解码得到的解码结果数据存储在可访问的交互存储单元中,然后由第一处理器单元进行播放,充分发挥了第一处理器单元的灵活存储访问功能及丰富流程控制指令功能与第二处理器单元的强大数据处理能力,提高了媒体文件的播放效果;充分发挥了多个处理器单元的性能优势,充分利用了多处理器系统的系统资源,实现了对系统资源的优化配置及复用,达到对有限资源的最优配置,最大程度的降低产品成本,且提高了多处理器系统的工作性能。
示例性地,上述实施例多处理器系统1中的第一处理器单元301或者该第一处理器单元301中的控制单元402,具体可以直接将交互存储单元303中的解码结果数据搬移到外部存储单元2的缓冲区中,也可以通过直接存储器存取(DirectMemoryAccess,以下简称:DMA)单元将交互存储单元303中的解码结果数据搬移到外部存储单元2的缓冲区中。如图7所示,为本发明设备另一个实施例的结构示意图,与图6所示的实施例相比,该实施例中还包括DMA单元5,用于根据第一处理器单元301或者控制单元402的搬移控制命令,将交互存储单元303中的解码结果数据搬移到外部存储单元2的缓冲区中。
本领域普通技术人员可以理解:本发明上述各实施例多处理器系统与设备中的构成单元可以通过软件实现,也可以通过硬件实现。并且,本发明上述各实施例多处理器系统与设备的构成单元并不一定是实现本发明实施例所必须或仅限的,例如,设备还可以根据实际需求设置显示器、键盘与其它外设等。另外,多处理器系统的构成单元还可以根据实际需求分布于设备的其它构成单元中,多处理器系统中各构成单元的设置位置也可以根据实际需求调整,例如,外部存储单元与第一处理器单元可以独立设置也可以一体设置,可以设置在第一处理器单元中,也可以设置在第一处理器单元之外。多处理器系统的构成单元中,可以多个构成单元合并为一个单元实现,也可以一个构成单元拆分为多个子单元实现。另外,多处理器系统的构成单元之间、以及多处理器系统的构成单元与设备的其它构成单元之间的连接关系,仅表示基于本发明的一个信息流向关系示例,不限制为物理连接关系,并且也不一定是实现本发明实施例所必须或仅限的。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于多处理器系统、设备实施例而言,由于其与方法实施例相应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例利用多个处理器单元配合实现对媒体文件的解码、播放流程,充分利用了第一处理器单元的灵活存储访问功能及丰富流程控制指令功能与第二处理器单元的强大数据处理能力,提高了媒体文件的播放效果;充分发挥了多个处理器单元的性能优势,充分利用了多处理器系统的系统资源,实现了对系统资源的优化配置及复用,达到对有限资源的最优配置,最大程度的降低产品成本,且提高了多处理器系统的工作性能。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

Claims (15)

1.一种媒体文件的播放处理方法,其特征在于,包括:
利用第一处理器单元从外部存储单元的输入空间内读取至少一完整帧的媒体数据存储在交互存储单元中;
利用第一处理器单元将对交互存储单元的读写权限从第一处理器单元切换到第二处理器单元,并向第二处理器单元发送解码命令;
利用第二处理器单元对交互存储单元中的媒体数据进行解码,在得到解码结果数据后,向第一处理器单元发送是否正确解码的解码结果消息,并将正确解码得到的解码结果数据存储在所述交互存储单元中;
利用第一处理器单元将对交互存储单元的读写权限从第二处理器单元切换到第一处理器单元,以及响应于正确解码的解码结果消息,将交互存储单元中的解码结果数据搬移到所述外部存储单元的缓冲区中,并对缓冲区中的解码结果数据进行输出播放。
2.根据权利要求1所述的方法,其特征在于,还包括:
利用第一处理器单元控制文件系统处理单元启动;
利用文件系统处理单元对外部存储单元的输入空间进行监控,响应于外部存储单元的输入空间有空余,从文件存储单元中读取媒体数据并存储在外部存储单元的输入空间内。
3.根据权利要求1所述的方法,其特征在于,从外部存储单元的输入空间内读取一完整帧的媒体数据存储在交互存储单元中包括:
利用第一处理器单元从外部存储单元的输入空间内顺序读取媒体数据并进行帧判定与定位,以从外部存储单元的输入空间读取一个帧的媒体数据;
利用第一处理器单元对所述一个帧的合法性与完整性进行检测;
响应于所述一个帧的合法性与完整性通过检测,所述一个帧为一个完整帧,利用所述第一处理器单元将所述一个帧的媒体数据存储在交互存储单元中。
4.根据权利要求1所述的方法,其特征在于,对交互存储单元中的媒体数据进行解码包括:
利用第二处理器单元根据所述解码命令对交互存储单元中的媒体数据进行解码,并在解码过程中调用作为第三处理器单元的解码加速单元进行加速。
5.根据权利要求1至4任意一项所述的方法,其特征在于,还包括:
对缓冲区中的解码结果数据进行输出播放时,利用第一处理器单元对所述外部存储单元的缓冲区进行监控,响应于缓冲区的剩余空间大于或等于一完整帧的解码结果数据大小,执行所述从外部存储单元的输入空间内读取下一完整帧的媒体数据存储在交互存储单元中的操作。
6.根据权利要求1至4任意一项所述的方法,其特征在于,所述媒体数据包括音频数据和/或者视频数据。
7.一种多处理器系统,其特征在于,包括:
第一处理器单元,用于从外部存储单元的输入空间内读取至少一完整帧的媒体数据存储在交互存储单元中,将对交互存储单元的读写权限从第一处理器单元切换到第二处理器单元,并向第二处理器单元发送解码命令;以及响应于接收到第二处理器单元发送的是否正确解码的解码结果消息,将对交互存储单元的读写权限从第二处理器单元切换到第一处理器单元;以及响应于正确解码的解码结果消息,以及将交互存储单元中的解码结果数据搬移到所述外部存储单元的缓冲区中,并对缓冲区中的解码结果数据进行输出播放;
第二处理器单元,用于对交互存储单元中的媒体数据进行解码,在得到解码结果数据后,向第一处理器单元发送是否正确解码的解码结果消息,并将正确解码得到的解码结果数据存储在所述交互存储单元中;
交互存储单元,用于存储媒体数据,以及媒体数据的解码结果数据。
8.根据权利要求7所述的多处理器系统,其特征在于,所述第一处理器单元包括播放单元、控制单元与解析单元,所述第二处理器单元包括解码单元;
所述解析单元,用于响应于控制单元的启动控制命令,从外部存储单元的输入空间内读取一完整帧的媒体数据存储在交互存储单元中,并向控制单元发送解析完成消息;
所述控制单元,用于向所述解析单元发送启动控制命令;以及响应于解析单元发送的解析完成消息,将对交互存储单元的读写权限从第一处理器单元切换到第二处理器单元,并向解码单元发送解码命令;响应于解码单元发送的解码结果消息,将对交互存储单元的读写权限从第二处理器单元切换到第一处理器单元;以及响应于所述解码结果消息为正确解码的解码结果消息,将交互存储单元中的解码结果数据搬移到所述外部存储单元的缓冲区中,并向播放单元发送播放命令;
所述解码单元,用于根据所述解码命令,对交互存储单元中的媒体数据进行解码,向控制单元发送是否正确解码的解码结果消息,并将正确解码得到的解码结果数据存储在所述交互存储单元中;
所述播放单元,用于根据所述播放命令,对缓冲区中的解码结果数据进行输出播放。
9.根据权利要求8所述的多处理器系统,其特征在于,所述解析单元从外部存储单元的输入空间内读取一完整帧的媒体数据存储在交互存储单元中时,具体从外部存储单元的输入空间内顺序读取媒体数据并进行帧判定与定位,从外部存储单元的输入空间读取一个帧的媒体数据;对所述一个帧的合法性与完整性进行检测;响应于所述一个帧的合法性与完整性通过检测,所述一个帧为一个完整帧,将所述一个帧的媒体数据存储在交互存储单元中。
10.根据权利要求8所述的多处理器系统,其特征在于,所述控制单元,还用于识别所述解码结果消息是否为正确解码的解码结果消息,响应于所述解码结果消息为正确解码的解码结果消息,开始执行所述将交互存储单元中的解码结果数据搬移到所述外部存储单元的缓冲区中的操作。
11.根据权利要求8所述的多处理器系统,其特征在于,所述解码单元还用于在对交互存储单元中的媒体数据进行解码的过程中,调用第三处理器单元过程进行加速;
所述多处理器系统还包括第三处理器单元,用于作为解码加速单元,对所述解码单元的解码进行加速。
12.根据权利要求8至11任意一项所述的多处理器系统,其特征在于,所述控制单元,还用于在所述播放单元对缓冲区中的解码结果数据进行输出播放时,对所述外部存储单元的缓冲区进行监控,响应于缓冲区的剩余空间大于或等于一完整帧的解码结果数据大小,开始执行向所述解析单元发送启动控制命令的操作,以便所述解析单元从外部存储单元的输入空间内读取下一完整帧的媒体数据存储在交互存储单元中。
13.根据权利要求12所述的多处理器系统,其特征在于,所述媒体数据包括音频数据和/或视频数据。
14.一种设备,包括多处理器系统、外部存储单元、文件系统处理单元与文件存储单元,其特征在于,所述多处理器系统具体为权利要求7至13任意一项所述的多处理器系统;
所述文件存储单元用于存储媒体文件,所述媒体文件由媒体数据组成;
所述外部存储单元包括输入空间与缓冲区,所述输入空间用于存储媒体数据,所述缓冲区用于存储媒体数据的解码结果数据;
所述文件系统处理单元用于响应于多处理器系统中第一处理器单元的控制启动;对外部存储单元的输入空间进行监控,响应于外部存储单元的输入空间有空余,从文件存储单元中读取媒体数据并存储在外部存储单元的输入空间内。
15.根据权利要求14所述的设备,其特征在于,所述多处理器系统中的第一处理器单元或者该第一处理器单元中的控制单元,具体通过直接存储器存取DMA单元将交互存储单元中的解码结果数据搬移到所述外部存储单元的缓冲区中;
所述设备还包括DMA单元,用于根据第一处理器单元或者控制单元的搬移控制命令,将交互存储单元中的解码结果数据搬移到所述外部存储单元的缓冲区中。
CN201110301323.0A 2011-09-29 2011-09-29 媒体文件的播放处理方法、多处理器系统与设备 Active CN103034147B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110301323.0A CN103034147B (zh) 2011-09-29 2011-09-29 媒体文件的播放处理方法、多处理器系统与设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110301323.0A CN103034147B (zh) 2011-09-29 2011-09-29 媒体文件的播放处理方法、多处理器系统与设备

Publications (2)

Publication Number Publication Date
CN103034147A CN103034147A (zh) 2013-04-10
CN103034147B true CN103034147B (zh) 2015-11-25

Family

ID=48021131

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110301323.0A Active CN103034147B (zh) 2011-09-29 2011-09-29 媒体文件的播放处理方法、多处理器系统与设备

Country Status (1)

Country Link
CN (1) CN103034147B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109544439B (zh) * 2018-10-23 2021-06-08 百富计算机技术(深圳)有限公司 一种基于多核处理器的解码方法、终端设备及存储介质
CN109669527A (zh) * 2018-12-18 2019-04-23 Oppo广东移动通信有限公司 数据处理方法和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1825964A (zh) * 2005-02-07 2006-08-30 美国博通公司 片上处理视频数据的方法和系统
US7103431B1 (en) * 1999-08-25 2006-09-05 Sanyo Electric Co., Ltd. Audio player
CN2867449Y (zh) * 2005-12-27 2007-02-07 株洲南车时代电气股份有限公司 应用于铁道机车的语音录音装置
CN101009836A (zh) * 2007-01-31 2007-08-01 浙江大学 基于双处理器的嵌入式视频播放装置
CN201993752U (zh) * 2011-03-03 2011-09-28 河南电力试验研究院 用于电能质量监测装置的双核处理器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3642142B2 (ja) * 1997-02-20 2005-04-27 松下電器産業株式会社 映像処理装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103431B1 (en) * 1999-08-25 2006-09-05 Sanyo Electric Co., Ltd. Audio player
CN1825964A (zh) * 2005-02-07 2006-08-30 美国博通公司 片上处理视频数据的方法和系统
CN2867449Y (zh) * 2005-12-27 2007-02-07 株洲南车时代电气股份有限公司 应用于铁道机车的语音录音装置
CN101009836A (zh) * 2007-01-31 2007-08-01 浙江大学 基于双处理器的嵌入式视频播放装置
CN201993752U (zh) * 2011-03-03 2011-09-28 河南电力试验研究院 用于电能质量监测装置的双核处理器

Also Published As

Publication number Publication date
CN103034147A (zh) 2013-04-10

Similar Documents

Publication Publication Date Title
CN109257646B (zh) 视频处理方法、装置、电子设备及计算机可读介质
US9055066B2 (en) Apparatus and method for providing a game service in cloud computing environment
JP5537726B2 (ja) マルチメディアファイルの制御過程に高速な応答を実現する方法及び放送装置
CN101834608B (zh) 一种多通道编解码器运行方法及装置
WO2009025684A1 (en) Method and system for preventing corruption of hard disk drive file system
CN103327021A (zh) 一种多设备互动方法及相关设备、系统
CN103034147B (zh) 媒体文件的播放处理方法、多处理器系统与设备
CN101521782A (zh) 一种快进退浏览视频的方法、系统及多媒体设备
CN101202875A (zh) 生成并播放重放文件的方法以及应用该方法的装置
CN103037211A (zh) 流媒体文件的解码处理方法与装置、播放设备
US20100134914A1 (en) Hard disk sector/track remapping for transparent wear leveling
CN103841451A (zh) 多媒体播放方法、装置及终端
CN101009836B (zh) 基于双处理器的嵌入式视频播放装置
CN101361050B (zh) 数据传输装置和数据传输方法
CN103730148B (zh) 音频播放方法及装置
CN102811383A (zh) 一种基于机顶盒的视频文件播放方法及装置
CN112689194B (zh) 功能机视频配乐方法、装置、终端设备及存储介质
US9014259B2 (en) Apparatus and method for sequentially parsing bitstreams based on removal of emulation prevention byte
CN105657540B (zh) 一种适配安卓系统的视频解码方法及其装置
CN103747249A (zh) 一种音视频解码方法及安卓移动终端
CN106899757A (zh) 音视频文件的播放控制方法、装置及终端设备
CN105516548A (zh) 一种文件预读方法及装置
KR101362788B1 (ko) 멀티미디어 파일 구조, 그를 이용한 멀티미디어 파일생성/실행 방법 및 장치
CN111757168B (zh) 音频解码方法、装置、存储介质及设备
CN117435532B (zh) 基于视频硬件加速接口的拷贝方法、装置及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20170214

Address after: 200127 room 3205F, building 707, Zhang Yang Road, Pudong New Area Free Trade Zone, Shanghai, China

Patentee after: Xin Xin Finance Leasing Co.,Ltd.

Address before: 201203 Shanghai city Zuchongzhi road Pudong New Area Zhangjiang hi tech park, Spreadtrum Center Building 1, Lane 2288

Patentee before: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

TR01 Transfer of patent right

Effective date of registration: 20170707

Address after: 100033 room 2062, Wenstin Executive Apartment, 9 Financial Street, Beijing, Xicheng District

Patentee after: Xin Xin finance leasing (Beijing) Co.,Ltd.

Address before: 200127 room 3205F, building 707, Zhang Yang Road, Pudong New Area Free Trade Zone, Shanghai, China

Patentee before: Xin Xin Finance Leasing Co.,Ltd.

TR01 Transfer of patent right
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20130410

Assignee: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Assignor: Xin Xin finance leasing (Beijing) Co.,Ltd.

Contract record no.: 2018990000163

Denomination of invention: Playing and processing method of media files, multiprocessor system and equipment

Granted publication date: 20151125

License type: Exclusive License

Record date: 20180626

TR01 Transfer of patent right

Effective date of registration: 20200305

Address after: 201203 Zuchongzhi Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai 2288

Patentee after: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Address before: 100033 room 2062, Wenstin administrative apartments, 9 Financial Street B, Xicheng District, Beijing.

Patentee before: Xin Xin finance leasing (Beijing) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200529

Address after: 361012 unit 05, 8 / F, building D, Xiamen international shipping center, No.97 Xiangyu Road, Xiamen area, China (Fujian) free trade zone, Xiamen City, Fujian Province

Patentee after: Xinxin Finance Leasing (Xiamen) Co.,Ltd.

Address before: 201203 Zuchongzhi Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai 2288

Patentee before: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

TR01 Transfer of patent right
EC01 Cancellation of recordation of patent licensing contract

Assignee: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Assignor: Xin Xin finance leasing (Beijing) Co.,Ltd.

Contract record no.: 2018990000163

Date of cancellation: 20210301

EC01 Cancellation of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20130410

Assignee: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Assignor: Xinxin Finance Leasing (Xiamen) Co.,Ltd.

Contract record no.: X2021110000010

Denomination of invention: Playing and processing method, multiprocessor system and equipment of media file

Granted publication date: 20151125

License type: Exclusive License

Record date: 20210317

EE01 Entry into force of recordation of patent licensing contract
TR01 Transfer of patent right

Effective date of registration: 20230710

Address after: 201203 Shanghai city Zuchongzhi road Pudong New Area Zhangjiang hi tech park, Spreadtrum Center Building 1, Lane 2288

Patentee after: SPREADTRUM COMMUNICATIONS (SHANGHAI) Co.,Ltd.

Address before: 361012 unit 05, 8 / F, building D, Xiamen international shipping center, 97 Xiangyu Road, Xiamen area, China (Fujian) pilot Free Trade Zone, Xiamen City, Fujian Province

Patentee before: Xinxin Finance Leasing (Xiamen) Co.,Ltd.

TR01 Transfer of patent right