專利名稱:媒體文件的播放處理方法、多處理器系統(tǒng)與設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及媒體技術(shù),尤其是一種媒體文件的播放處理方法、多處理器系統(tǒng)與設(shè)備。
背景技術(shù):
現(xiàn)有技術(shù)中,專用的多媒體播放器,例如,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3 (Moving Picture Experts Group Audio Layer-3,以下簡(jiǎn)稱MP3)音頻播放器、MP4 視頻播放器等,均采用單一處理器對(duì)相應(yīng)的音頻、視頻等媒體文件進(jìn)行解碼、播放。但是,隨著通信技術(shù)的迅速發(fā)展,現(xiàn)有的專用多媒體播放器之外的電子產(chǎn)品,例如通信產(chǎn)品,大多支持對(duì)音頻、視頻等媒體文件的解碼與播放。在這類(lèi)電子產(chǎn)品中,媒體文件的解碼、播放功能附加在其它功能之上實(shí)現(xiàn),例如,在移動(dòng)終端中,音頻文件的解碼、播放功能附加在通信、視頻、圖像處理功能之上實(shí)現(xiàn)。在這類(lèi)電子產(chǎn)品中,通常包含多個(gè)處理器單元,例如,高級(jí)精簡(jiǎn)指令集機(jī)器(Advanced RISC Machines,以下簡(jiǎn)稱ARM)處理器單元與數(shù)字信號(hào)處理器(Digital Signal Processor,以下簡(jiǎn)稱DSP)單元。不同處理器單元具有不同的處理特點(diǎn),根據(jù)分工不同負(fù)責(zé)完成不同任務(wù)。例如,移動(dòng)終端中的DSP單元主要負(fù)責(zé)完成通信系統(tǒng)的核心算法,而ARM處理器單元主要負(fù)責(zé)完成控制及文件操作。在具有多個(gè)處理器單元的多處理器系統(tǒng)中,通常需要實(shí)現(xiàn)的功能多且復(fù)雜,而系統(tǒng)資源有限,這就需要對(duì)系統(tǒng)資源進(jìn)行優(yōu)化配置及復(fù)用,以達(dá)到對(duì)有限資源的最優(yōu)配置,最大程度的降低產(chǎn)品成本。例如,由于ARM處理器單元中的ARM7系列處理器單元具有較靈活的存儲(chǔ)訪問(wèn)功能及較豐富的流程控制指令,但缺乏強(qiáng)大的數(shù)據(jù)運(yùn)算能力,使用ARM7系列處理器單元進(jìn)行控制操作;由于DSP單元具有較強(qiáng)大的數(shù)據(jù)處理能力,但其流程控制及存儲(chǔ)訪問(wèn)功能受限,如無(wú)法訪問(wèn)外部存儲(chǔ)空間,因此DSP單元會(huì)有部分專屬內(nèi)部存儲(chǔ)器,使用DSP單元實(shí)現(xiàn)需要大量運(yùn)算的運(yùn)算功能。在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問(wèn)題多處理器系統(tǒng)中,仍然使用單一處理器單元,例如,僅使用ARM處理器單元或DSP單元,來(lái)對(duì)媒體文件進(jìn)行解碼、播放,由于各處理器單元在不同功能方面的性能優(yōu)劣不同,僅使用單一處理器單元對(duì)媒體文件進(jìn)行解碼、播放,影響了媒體文件的播放效果;并且,由于未充分利用多個(gè)處理器單元,無(wú)法充分發(fā)揮多個(gè)處理器單元的性能優(yōu)勢(shì),造成多個(gè)處理器單元的性能損失與系統(tǒng)資源浪費(fèi)。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例所要解決的一個(gè)技術(shù)問(wèn)題是提供一種媒體文件的播放處理方法、多處理器系統(tǒng)與設(shè)備,以在多處理器系統(tǒng)對(duì)媒體文件進(jìn)行解碼、播放時(shí),充分利用系統(tǒng)資源,提高媒體文件的播放效果與多處理器系統(tǒng)的工作性能。為解決上述技術(shù)問(wèn)題,根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供一種媒體文件的播放處理方法,包括
利用第一處理器單元從外部存儲(chǔ)單元的輸入空間內(nèi)讀取至少一完整幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元中;利用第二處理器單元對(duì)交互存儲(chǔ)單元中的媒體數(shù)據(jù)進(jìn)行解碼,并將解碼得到的解碼結(jié)果數(shù)據(jù)存儲(chǔ)在所述交互存儲(chǔ)單元中;利用第一處理器單元將交互存儲(chǔ)單元中的解碼結(jié)果數(shù)據(jù)搬移到所述外部存儲(chǔ)單元的緩沖區(qū)中,并對(duì)緩沖區(qū)中的解碼結(jié)果數(shù)據(jù)進(jìn)行輸出播放。根據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,提供一種多處理器系統(tǒng),包括第一處理器單元,用于從外部存儲(chǔ)單元的輸入空間內(nèi)讀取至少一完整幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元中,以及將交互存儲(chǔ)單元中的解碼結(jié)果數(shù)據(jù)搬移到所述外部存儲(chǔ)單元的緩沖區(qū)中,并對(duì)緩沖區(qū)中的解碼結(jié)果數(shù)據(jù)進(jìn)行輸出播放;第二存儲(chǔ)器單元,用于對(duì)交互存儲(chǔ)單元中的媒體數(shù)據(jù)進(jìn)行解碼,并將解碼得到的解碼結(jié)果數(shù)據(jù)存儲(chǔ)在所述交互存儲(chǔ)單元中;交互存儲(chǔ)單元,用于存儲(chǔ)媒體數(shù)據(jù),以及媒體數(shù)據(jù)的解碼結(jié)果數(shù)據(jù)。根據(jù)本發(fā)明實(shí)施例的又一個(gè)方面,提供一種設(shè)備,包括多處理器系統(tǒng)、外部存儲(chǔ)單元、文件系統(tǒng)處理單元與文件存儲(chǔ)單元,所述多處理器系統(tǒng)具體為本發(fā)明上述實(shí)施例提供的多處理器系統(tǒng);所述文件存儲(chǔ)單元,用于存儲(chǔ)媒體文件,所述媒體文件由媒體數(shù)據(jù)組成;所述外部存儲(chǔ)單元,包括輸入空間與緩沖區(qū),所述輸入空間用于存儲(chǔ)媒體數(shù)據(jù),所述緩沖區(qū)用于存儲(chǔ)媒體數(shù)據(jù)的解碼結(jié)果數(shù)據(jù);所述文件系統(tǒng)處理單元,用于響應(yīng)于多處理器系統(tǒng)中第一處理器單元的控制啟動(dòng);對(duì)外部存儲(chǔ)單元的輸入空間進(jìn)行監(jiān)控,響應(yīng)于外部存儲(chǔ)單元的輸入空間有空余,從文件存儲(chǔ)單元中讀取媒體數(shù)據(jù)并存儲(chǔ)在外部存儲(chǔ)單元的輸入空間內(nèi)?;诒景l(fā)明上述實(shí)施例提供的媒體文件的播放處理方法、多處理器系統(tǒng)與設(shè)備,由于多處理器系統(tǒng)中的每個(gè)處理器單元在不同功能方面的性能優(yōu)劣不同,充分發(fā)揮每個(gè)處理器單元的性能優(yōu)勢(shì),利用多個(gè)處理器單元配合實(shí)現(xiàn)對(duì)媒體文件的解碼、播放流程,例如,可以利用具有較靈活的存儲(chǔ)訪問(wèn)功能及較豐富的流程控制指令的處理器單元,如ARM7系列處理器單元,作為第一處理器單元,從外部存儲(chǔ)單元的輸入空間讀取媒體數(shù)據(jù)并存儲(chǔ)在第二處理器單元可訪問(wèn)的交互存儲(chǔ)單元中,利用具有較強(qiáng)大的數(shù)據(jù)處理能力的處理器,如DSP單元,作為第二處理器單元,對(duì)交互存儲(chǔ)單元中的媒體數(shù)據(jù)進(jìn)行解碼,并將解碼得到的解碼結(jié)果數(shù)據(jù)存儲(chǔ)在可訪問(wèn)的交互存儲(chǔ)單元中,然后由第一處理器單元進(jìn)行播放,充分發(fā)揮了第一處理器單元的靈活存儲(chǔ)訪問(wèn)功能及豐富流程控制指令功能與第二處理器單元的強(qiáng)大數(shù)據(jù)處理能力,與現(xiàn)有技術(shù)相比,提高了媒體文件的播放效果;充分發(fā)揮了多個(gè)處理器單元的性能優(yōu)勢(shì),充分利用了多處理器系統(tǒng)的系統(tǒng)資源,實(shí)現(xiàn)了對(duì)系統(tǒng)資源的優(yōu)化配置及復(fù)用,達(dá)到對(duì)有限資源的最優(yōu)配置,最大程度的降低產(chǎn)品成本,且提高了多處理器系統(tǒng)的工作性能。下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明媒體文件的播放處理方法一個(gè)實(shí)施例的流程圖。圖2為本發(fā)明媒體文件的播放處理方法另一個(gè)實(shí)施例的流程圖。圖3為本發(fā)明多處理器系統(tǒng)一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。圖4為本發(fā)明多處理器系統(tǒng)另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。圖5為本發(fā)明多處理器系統(tǒng)又一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。圖6為本發(fā)明設(shè)備一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。圖7為本發(fā)明設(shè)備另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖1為本發(fā)明媒體文件的播放處理方法一個(gè)實(shí)施例的流程圖。如圖1所示,該實(shí)施例媒體文件的播放處理方法包括101,利用第一處理器單元從外部存儲(chǔ)單元的輸入空間內(nèi)讀取至少一完整幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元中。根據(jù)本發(fā)明的一個(gè)具體實(shí)施例,其中的媒體數(shù)據(jù)具體可以是音頻數(shù)據(jù),也可以是視頻數(shù)據(jù),或者同時(shí)包括音頻和數(shù)據(jù)/或者視頻數(shù)據(jù)。具體地,從外部存儲(chǔ)單元的輸入空間內(nèi)讀取的可以是一個(gè)完整幀的媒體數(shù)據(jù),也可以是多個(gè)完整幀的媒體數(shù)據(jù),由于對(duì)每一個(gè)完整幀的媒體數(shù)據(jù)的處理均相同,為方便起見(jiàn),本發(fā)明各實(shí)施例中重點(diǎn)以每次讀取一個(gè)完整幀的媒體數(shù)據(jù)的實(shí)施例為例進(jìn)行說(shuō)明,對(duì)于一次讀取多個(gè)完整幀的媒體數(shù)據(jù)的實(shí)施例,本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明實(shí)施例可以參照實(shí)現(xiàn)。102,利用第二處理器單元對(duì)交互存儲(chǔ)單元中的媒體數(shù)據(jù)進(jìn)行解碼,并將解碼得到的解碼結(jié)果數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元中。示例性地,其中的解碼結(jié)果數(shù)據(jù)為脈沖編碼調(diào)制(Pulse Code Modulation,以下簡(jiǎn)稱PCM)數(shù)據(jù)。103,利用第一處理器單元將交互存儲(chǔ)單元中的解碼結(jié)果數(shù)據(jù)搬移到外部存儲(chǔ)單元的緩沖區(qū)中,并對(duì)緩沖區(qū)中的解碼結(jié)果數(shù)據(jù)進(jìn)行輸出播放。由于多處理器系統(tǒng)中的每個(gè)處理器單元在不同功能方面的性能優(yōu)劣不同,本發(fā)明上述實(shí)施例提供的媒體文件的播放處理方法,充分發(fā)揮每個(gè)處理器單元的性能優(yōu)勢(shì),利用多個(gè)處理器單元配合實(shí)現(xiàn)對(duì)媒體文件的解碼、播放流程,例如,可以利用具有較靈活的存儲(chǔ)訪問(wèn)功能及較豐富的流程控制指令的處理器單元,如ARM7系列處理器單元,作為第一處理器單元,從外部存儲(chǔ)單元的輸入空間讀取媒體數(shù)據(jù)并存儲(chǔ)在第二處理器單元可訪問(wèn)的交互存儲(chǔ)單元中,利用具有較強(qiáng)大的數(shù)據(jù)處理能力的處理器,如DSP單元,作為第二處理器單元,對(duì)交互存儲(chǔ)單元中的媒體數(shù)據(jù)進(jìn)行解碼,并將解碼得到的解碼結(jié)果數(shù)據(jù)存儲(chǔ)在可訪問(wèn)的交互存儲(chǔ)單元中,然后由第一處理器單元進(jìn)行播放,充分發(fā)揮了第一處理器單元的靈活存儲(chǔ)訪問(wèn)功能及豐富流程控制指令功能與第二處理器單元的強(qiáng)大數(shù)據(jù)處理能力,提高了媒體文件的播放效果;充分發(fā)揮了多個(gè)處理器單元的性能優(yōu)勢(shì),充分利用了多處理器系統(tǒng)的系統(tǒng)資源,實(shí)現(xiàn)了對(duì)系統(tǒng)資源的優(yōu)化配置及復(fù)用,達(dá)到對(duì)有限資源的最優(yōu)配置,最大程度的降低產(chǎn)品成本,且提高了多處理器系統(tǒng)的工作性能。根據(jù)本發(fā)明媒體文件的播放處理方法的另一個(gè)具體實(shí)施例,還可以包括如下操作利用第一處理器單元控制文件系統(tǒng)處理單元啟動(dòng);利用文件系統(tǒng)處理單元對(duì)外部存儲(chǔ)單元的輸入空間進(jìn)行監(jiān)控,響應(yīng)于外部存儲(chǔ)單元的輸入空間有空余,從文件存儲(chǔ)單元中讀取媒體數(shù)據(jù)并存儲(chǔ)在外部存儲(chǔ)單元的輸入空間內(nèi)。根據(jù)本發(fā)明媒體文件的播放處理方法的一個(gè)示例而非限制,圖1所示實(shí)施例的101可以通過(guò)如下方式實(shí)現(xiàn)利用第一處理器單元從外部存儲(chǔ)單元的輸入空間內(nèi)順序讀取媒體數(shù)據(jù)并進(jìn)行幀判定與定位,以從外部存儲(chǔ)單元的輸入空間讀取一個(gè)幀的媒體數(shù)據(jù);利用第一處理器單元對(duì)該一個(gè)幀的合法性與完整性進(jìn)行檢測(cè);響應(yīng)于該一個(gè)幀的合法性與完整性通過(guò)檢測(cè),則該一個(gè)幀為一個(gè)完整幀,利用第一處理器單元將該一個(gè)幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元中。由于媒體數(shù)據(jù)中可能存在錯(cuò)誤或者不同種類(lèi)的媒體數(shù)據(jù),通過(guò)對(duì)媒體數(shù)據(jù)進(jìn)行合法性檢測(cè)與完整性檢測(cè),在媒體數(shù)據(jù)通過(guò)合法性檢測(cè)與完整性檢測(cè)后再針對(duì)該媒體數(shù)據(jù)進(jìn)行后續(xù)操作,可以有效避免后續(xù)對(duì)錯(cuò)誤數(shù)據(jù)不必要的解碼處理占用多處理器系統(tǒng)的系統(tǒng)資源,提高系統(tǒng)資源的利用率。示例性地,由于每一個(gè)音頻幀或視頻幀的幀頭中都包括該幀的特征信息,可以基于該幀的特征信息對(duì)該幀進(jìn)行合法性檢測(cè),基于該幀與下一幀的特征信息對(duì)該幀進(jìn)行完整性檢測(cè)。具體地,可以通過(guò)如下方式對(duì)該一個(gè)幀的合法性進(jìn)行檢測(cè)檢測(cè)該一個(gè)幀的特征信息,例如音頻幀的采樣率、聲道、比特率、是否采用填充位、是否受保護(hù)等;由于在相應(yīng)的音頻或視頻壓縮標(biāo)準(zhǔn)中,對(duì)各特征信息都規(guī)定了特定的取值范圍,例如,規(guī)定MP3格式幀采樣率的取值范圍是8khz 48khz,檢測(cè)該一個(gè)幀的各特征信息是否都在特定的取值范圍內(nèi),例如,采樣率的值是否位于8khz 48khz范圍內(nèi);若該一個(gè)巾貞的各特征信息均位于特定的取值范圍內(nèi),則各項(xiàng)特征信息均合法,此時(shí),該一個(gè)幀通過(guò)合法性檢測(cè)。具體地,可以通過(guò)如下方式對(duì)該一個(gè)幀進(jìn)行完整性檢測(cè)通過(guò)該一個(gè)幀的幀頭與幀長(zhǎng)即可獲知下一幀的幀頭位置,確認(rèn)下一幀的幀頭位置是否存在相應(yīng)的同步頭,例如,對(duì)于MPEGl幀,確認(rèn)下一幀的幀頭位置是否存在12比特的同步字OxFFE ;若下一幀的幀頭位置存在相應(yīng)的同步頭,比較下一幀的特征信息與該一個(gè)幀的特征信息是否一致,例如,下一幀與該一個(gè)幀的采樣率是否一致。若下一幀的特征信息與該一個(gè)幀的特征信息一致,則該一個(gè)幀通過(guò)完整性檢測(cè)。根據(jù)本發(fā)明媒體文件的播放處理方法的又一個(gè)具體實(shí)施例,將一個(gè)幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元中之后,還可以利用第一處理器單元將對(duì)交互存儲(chǔ)單元的讀寫(xiě)權(quán)限從第一處理器單元切換到第二處理器單元,并向第二處理器單元發(fā)送解碼命令。示例性地,可以通過(guò)如下方式對(duì)交互存儲(chǔ)單元中的媒體數(shù)據(jù)進(jìn)行解碼利用第二處理器單元,根據(jù)解碼命令對(duì)交互存儲(chǔ)單元中的媒體數(shù)據(jù)進(jìn)行解碼,并在解碼過(guò)程中調(diào)用作為第三處理器單元的解碼加速單元進(jìn)行加速,進(jìn)一步提高解碼速度,實(shí)現(xiàn)更高的解碼性倉(cāng)泛。根據(jù)本發(fā)明媒體文件的播放處理方法的一個(gè)示例而非限制,利用第二處理器單元解碼得到解碼結(jié)果數(shù)據(jù)后,可以利用第二處理器單元向第一處理器單元發(fā)送是否正確解碼的解碼結(jié)果消息,具體將正確解碼得到的解碼結(jié)果數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元中;利用第一處理器單元將對(duì)交互存儲(chǔ)單元的讀寫(xiě)權(quán)限從第二處理器單元切換到第一處理器單元,以及響應(yīng)于正確解碼的解碼結(jié)果消息,執(zhí)行將交互存儲(chǔ)單元中的解碼結(jié)果數(shù)據(jù)搬移到外部存儲(chǔ)單元的緩沖區(qū)中的操作。根據(jù)本發(fā)明媒體文件的播放處理方法的再一個(gè)具體實(shí)施例,在本發(fā)明上述各實(shí)施例媒體文件的播放處理方法中,還可以在第一處理器單元對(duì)緩沖區(qū)中的解碼結(jié)果數(shù)據(jù)進(jìn)行輸出播放時(shí),利用第一處理器單元對(duì)外部存儲(chǔ)單元的緩沖區(qū)進(jìn)行監(jiān)控,響應(yīng)于緩沖區(qū)的剩余空間大于或等于一完整幀的解碼結(jié)果數(shù)據(jù)大小,開(kāi)始執(zhí)行從外部存儲(chǔ)單元的輸入空間內(nèi)讀取下一完整幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元中的操作。當(dāng)緩沖區(qū)的剩余空間已滿,不足以存儲(chǔ)下一完整幀的解碼結(jié)果數(shù)據(jù)時(shí),則不進(jìn)行讀取下一完整幀的媒體數(shù)據(jù)的操作,直到監(jiān)測(cè)到緩沖區(qū)的剩余空間大于一完整幀的解碼結(jié)果數(shù)據(jù)大小時(shí),再開(kāi)始執(zhí)行讀取下一完整幀的媒體數(shù)據(jù)的操作。圖2為本發(fā)明媒體文件的播放處理方法另一個(gè)實(shí)施例的流程圖,該實(shí)施例適用于對(duì)音頻文件或視頻文件的播放處理,尤其適用于對(duì)音頻文件的播放處理情況。如圖2所示,該實(shí)施例媒體文件的播放處理方法包括201,文件系統(tǒng)處理單元響應(yīng)于第一處理器單元的控制啟動(dòng)后,對(duì)外部存儲(chǔ)單元的輸入空間進(jìn)行監(jiān)控,并判斷外部存儲(chǔ)單元的輸入空間是否有空余。響應(yīng)于外部存儲(chǔ)單元的輸入空間有空余,執(zhí)行202。否則,若外部存儲(chǔ)單元的輸入空間沒(méi)有空余,不執(zhí)行本實(shí)施例的后續(xù)流程。202,文件系統(tǒng)處理單元從文件存儲(chǔ)單元中讀取媒體數(shù)據(jù)并存儲(chǔ)在外部存儲(chǔ)單元的輸入空間內(nèi)。其中的媒體數(shù)據(jù)具體可以是音頻數(shù)據(jù),也可以是視頻數(shù)據(jù),或者同時(shí)包括音頻和數(shù)據(jù)/或者視頻數(shù)據(jù)。由于文件存儲(chǔ)單元的數(shù)據(jù)讀取速度較慢,文件系統(tǒng)處理單元將與媒體數(shù)據(jù)的解碼過(guò)程同步,不斷監(jiān)測(cè)外部存儲(chǔ)單元中用于存放待解碼媒體數(shù)據(jù)的輸入空間的空余,并不斷填充待解碼媒體數(shù)據(jù),以避免文件存儲(chǔ)單元數(shù)據(jù)讀取速度較慢的問(wèn)題,滿足媒體數(shù)據(jù)解碼的實(shí)時(shí)性要求。203,第一處理器單元從外部存儲(chǔ)單元的輸入空間內(nèi)順序讀取媒體數(shù)據(jù)并進(jìn)行幀判定與定位,從外部存儲(chǔ)單元的輸入空間讀取一個(gè)幀的媒體數(shù)據(jù)。204,第一處理器單元對(duì)該一個(gè)幀的合法性與完整性進(jìn)行檢測(cè)。響應(yīng)于該一個(gè)幀的合法性與完整性通過(guò)檢測(cè),則該一個(gè)幀為一個(gè)完整幀,執(zhí)行205。否則,若該一個(gè)幀的合法性和/或完整性未通過(guò)檢測(cè),不執(zhí)行本實(shí)施例的后續(xù)流程,或者也可以丟棄該一個(gè)幀的媒體數(shù)據(jù),然后返回執(zhí)行203,讀取下一個(gè)幀的媒體數(shù)據(jù)。205,第一處理器單元將該一個(gè)幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元中。206,第一處理器單元將對(duì)交互存儲(chǔ)單元的讀寫(xiě)權(quán)限從第一處理器單元切換到第二處理器單元,并向第二處理器單元發(fā)送解碼命令。示例性地,可以預(yù)設(shè)第一處理器單元對(duì)交互存儲(chǔ)單元具有初始讀寫(xiě)權(quán)限。207,第二處理器單元根據(jù)解碼命令對(duì)交互存儲(chǔ)單元中的媒體數(shù)據(jù)進(jìn)行解碼,并在解碼過(guò)程中調(diào)用作為第三處理器單元的解碼加速單元進(jìn)行加速。例如,根據(jù)IS0/IEC 13818-7標(biāo)準(zhǔn)規(guī)定,對(duì)于高級(jí)音頻編碼(Advanced AudioCoding,以下簡(jiǎn)稱AAC)格式的音頻數(shù)據(jù),可以依次通過(guò)熵解碼(也稱為哈夫曼解碼或無(wú)噪解碼)、反量化、聯(lián)合立體聲處理、知覺(jué)噪聲替換(以下簡(jiǎn)稱PNS)、瞬時(shí)噪聲整形(以下簡(jiǎn)稱TNS)、反離散余弦變換(Inverse Modified Discrete Cosine Transform,以下簡(jiǎn)稱IMDCT)、頻段復(fù)制(以下簡(jiǎn)稱SBR),來(lái)實(shí)現(xiàn)解碼。208,得到解碼結(jié)果數(shù)據(jù)后,第二處理器單元根據(jù)是否對(duì)媒體數(shù)據(jù)進(jìn)行了正確解碼,向第一處理器單元發(fā)送是否正確解碼的解碼結(jié)果消息,例如,通過(guò)中斷模式向第一處理器單元發(fā)送是否正確解碼的解碼結(jié)果消息,并在對(duì)媒體數(shù)據(jù)進(jìn)行了正確解碼時(shí),將正確解碼得到的解碼結(jié)果數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元中。示例性地,由于在解碼過(guò)程可能會(huì)出現(xiàn)解碼異常情況,例如,熵解碼異常,當(dāng)出現(xiàn)解碼異常情況時(shí),第二處理器單元可以通過(guò)中斷模式向第一處理器單元發(fā)送解碼錯(cuò)誤的解碼結(jié)果消息,并不存儲(chǔ)解碼結(jié)果數(shù)據(jù)。第一處理器單元收到解碼錯(cuò)誤的解碼結(jié)果消息后,可以返回執(zhí)行203的操作,從外部存儲(chǔ)單元的輸入空間讀取下一個(gè)幀的媒體數(shù)據(jù),并進(jìn)行后續(xù)處理。209,響應(yīng)于第二處理器單元發(fā)送的解碼結(jié)果消息,第一處理器單元將對(duì)交互存儲(chǔ)單元的讀寫(xiě)權(quán)限從第二處理器單元切換到第一處理器單元,響應(yīng)于該解碼結(jié)果消息為正確解碼的解碼結(jié)果消息,將交互存儲(chǔ)單元中的解碼結(jié)果數(shù)據(jù)搬移到外部存儲(chǔ)單元的緩沖區(qū)中。210,第一處理器單元對(duì)緩沖區(qū)中的解碼結(jié)果數(shù)據(jù)進(jìn)行輸出播放,并對(duì)外部存儲(chǔ)單元的緩沖區(qū)進(jìn)行監(jiān)控,識(shí)別緩沖區(qū)的剩余空間是否大于或等于一完整幀的解碼結(jié)果數(shù)據(jù)大小。響應(yīng)于緩沖區(qū)的剩余空間大于或等于一完整幀的解碼結(jié)果數(shù)據(jù)大小,返回執(zhí)行203的操作,從外部存儲(chǔ)單元的輸入空間內(nèi)讀取下一完整幀的媒體數(shù)據(jù)。否則,若緩沖區(qū)的剩余空間小于一完整幀的解碼結(jié)果數(shù)據(jù)大小,不執(zhí)行本實(shí)施例的后續(xù)流程。圖3為本發(fā)明多處理器系統(tǒng)一個(gè)實(shí)施例的結(jié)構(gòu)不意圖。該實(shí)施例的多處理器系統(tǒng)可用于執(zhí)行本發(fā)明上述各媒體文件的播放處理方法流程的相應(yīng)操作。如圖3所示,其包括第一處理器單元301、第二存儲(chǔ)器單元302與交互存儲(chǔ)單元303。第一處理器單元301,用于從外部存儲(chǔ)單元的輸入空間內(nèi)讀取至少一完整幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元303中,以及將交互存儲(chǔ)單元303中的解碼結(jié)果數(shù)據(jù)搬移到外部存儲(chǔ)單元的緩沖區(qū)中,并對(duì)緩沖區(qū)中的解碼結(jié)果數(shù)據(jù)進(jìn)行輸出播放。根據(jù)本發(fā)明的一個(gè)具體實(shí)施例,其中的媒體數(shù)據(jù)具體可以是音頻數(shù)據(jù),也可以是視頻數(shù)據(jù),或者同時(shí)包括音頻和數(shù)據(jù)/或者視頻數(shù)據(jù)。示例性地,第一處理器單元301具體可以采用ARM處理器中的ARM7系列處理器單元實(shí)現(xiàn),由于具有較靈活的存儲(chǔ)訪問(wèn)功能及豐富的流程控制指令,采用ARM7系列處理器單元實(shí)現(xiàn)第一處理器單元301,可以提高多處理器系統(tǒng)的工作性能。第二處理器單元302,用于對(duì)交互存儲(chǔ)單元303中的媒體數(shù)據(jù)進(jìn)行解碼,并將解碼得到的解碼結(jié)果數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元303中。示例性地,第二處理器單元302具體可以采用DSP單元實(shí)現(xiàn),由于DSP單元具有較強(qiáng)大的數(shù)據(jù)處理能力,利用DSP單元實(shí)現(xiàn)第二處理器單元302,可以提高媒體數(shù)據(jù)的解碼速度與效率,提高媒體數(shù)據(jù)的正確解碼率。交互存儲(chǔ)單元303,用于存儲(chǔ)媒體數(shù)據(jù),以及媒體數(shù)據(jù)的解碼結(jié)果數(shù)據(jù)。由于多處理器系統(tǒng)中的每個(gè)處理器單元在不同功能方面的性能優(yōu)劣不同,本發(fā)明上述實(shí)施例提供的多處理器系統(tǒng)充分發(fā)揮每個(gè)處理器單元的性能優(yōu)勢(shì),利用多個(gè)處理器單元配合實(shí)現(xiàn)對(duì)媒體文件的解碼、播放流程,例如,可以利用具有較靈活的存儲(chǔ)訪問(wèn)功能及較豐富的流程控制指令的處理器,如ARM7系列處理器單元,作為第一處理器單元,從外部存儲(chǔ)單元的輸入空間讀取媒體數(shù)據(jù)并存儲(chǔ)在第二處理器單元可訪問(wèn)的交互存儲(chǔ)單元中,利用具有較強(qiáng)大的數(shù)據(jù)處理能力的處理器,如DSP單元,作為第二處理器單元,對(duì)交互存儲(chǔ)單元中的媒體數(shù)據(jù)進(jìn)行解碼,并將解碼得到的解碼結(jié)果數(shù)據(jù)存儲(chǔ)在可訪問(wèn)的交互存儲(chǔ)單元中,然后由第一處理器單元進(jìn)行播放,充分發(fā)揮了第一處理器單元的靈活存儲(chǔ)訪問(wèn)功能及豐富流程控制指令功能與第二處理器單元的強(qiáng)大數(shù)據(jù)處理能力,提高了媒體文件的播放效果;充分發(fā)揮了多個(gè)處理器單元的性能優(yōu)勢(shì),充分利用了多處理器系統(tǒng)的系統(tǒng)資源,實(shí)現(xiàn)了對(duì)系統(tǒng)資源的優(yōu)化配置及復(fù)用,達(dá)到對(duì)有限資源的最優(yōu)配置,最大程度的降低產(chǎn)品成本,且提高了多處理器系統(tǒng)的工作性能。根據(jù)本發(fā)明的多處理器系統(tǒng)的另一個(gè)具體實(shí)施例,圖3所示實(shí)施例的多處理器系統(tǒng)中,第一處理器單元301具體包括播放單元401、控制單元402與解析單元403,第二處理器單元302包括解碼單元404,如圖4所示,為本發(fā)明多處理器系統(tǒng)另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。其中,解析單元403,用于響應(yīng)于控制單元402的啟動(dòng)控制命令,從外部存儲(chǔ)單元的輸入空間內(nèi)讀取一完整幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元303中,并向控制單元402發(fā)送解析完成消息??刂茊卧?02,用于向解析單元403發(fā)送啟動(dòng)控制命令;以及響應(yīng)于解析單元403發(fā)送的解析完成消息,向解碼單元404發(fā)送解碼命令;響應(yīng)于解碼單元404發(fā)送的正確解碼的解碼結(jié)果消息,將交互存儲(chǔ)單元303中的解碼結(jié)果數(shù)據(jù)搬移到外部存儲(chǔ)單元的緩沖區(qū)中,并向播放單元401發(fā)送播放命令。解碼單元404,用于根據(jù)控制單元402發(fā)送的解碼命令,對(duì)交互存儲(chǔ)單元303中的媒體數(shù)據(jù)進(jìn)行解碼,向控制單元404發(fā)送是否正確解碼的解碼結(jié)果消息,并將正確解碼得到的解碼結(jié)果數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元303中。播放單元401,用于根據(jù)控制單元402發(fā)送的播放命令,對(duì)外部存儲(chǔ)單元的緩沖區(qū)中的解碼結(jié)果數(shù)據(jù)進(jìn)行輸出播放。根據(jù)本發(fā)明多處理器系統(tǒng)的一個(gè)示例而非限制,圖4所示的實(shí)施例中,解析單元403從外部存儲(chǔ)單元的輸入空間內(nèi)讀取一完整幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元303中時(shí),具體從外部存儲(chǔ)單元的輸入空間內(nèi)順序讀取媒體數(shù)據(jù)并進(jìn)行幀判定與定位,以從外部存儲(chǔ)單元的輸入空間讀取一個(gè)幀的媒體數(shù)據(jù);對(duì)該一個(gè)幀的合法性與完整性進(jìn)行檢測(cè);響應(yīng)于該一個(gè)幀的合法性與完整性通過(guò)檢測(cè),則該一個(gè)幀為一個(gè)完整幀,將該一個(gè)幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元303中。根據(jù)本發(fā)明多處理器系統(tǒng)的一個(gè)示例而非限制,圖4所示的實(shí)施例中,控制單元402,還用于響應(yīng)于解析單元403發(fā)送的解析完成消息,將對(duì)交互存儲(chǔ)單元303的讀寫(xiě)權(quán)限從第一處理器單元301切換到第二處理器單元302,以及響應(yīng)于解碼單元404發(fā)送的解碼結(jié)果消息,將對(duì)交互存儲(chǔ)單元303的讀寫(xiě)權(quán)限從第二處理器單元302切換到第一處理器單元301。根據(jù)本發(fā)明多處理器系統(tǒng)的一個(gè)示例而非限制,圖4所示的實(shí)施例中,控制單元402,還用于識(shí)別解碼單元404發(fā)送的解碼結(jié)果消息是否為正確解碼的解碼結(jié)果消息,響應(yīng)于解碼結(jié)果消息為正確解碼的解碼結(jié)果消息,開(kāi)始執(zhí)行將交互存儲(chǔ)單元303中的解碼結(jié)果數(shù)據(jù)搬移到外部存儲(chǔ)單元的緩沖區(qū)中的操作。根據(jù)本發(fā)明的多處理器系統(tǒng)的又一個(gè)具體實(shí)施例,解碼單元404還用于在對(duì)交互存儲(chǔ)單元303中的媒體數(shù)據(jù)進(jìn)行解碼的過(guò)程中,調(diào)用第三處理器單元304進(jìn)行加速。如圖5所示,為本發(fā)明多處理器系統(tǒng)又一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,該實(shí)施例中,多處理器系統(tǒng)還包括第三處理器單元304,用于作為解碼加速單元,對(duì)解碼單元404的解碼過(guò)程進(jìn)行加速,進(jìn)一步提高多處理器系統(tǒng)的解碼速度,實(shí)現(xiàn)更高的解碼性能。示例性地,第三處理器單元304可以使用適用于不同媒體數(shù)據(jù)格式的專屬硬件單元或?qū)龠\(yùn)算加速處理單元實(shí)現(xiàn),例如,采用一個(gè)通用離散余弦變換(Discrete CosineTransformation,以下簡(jiǎn)稱DCT)的硬件加速單元實(shí)現(xiàn),使用硬件加速單元實(shí)現(xiàn),一方面可以不消耗第二處理器單元302的性能資源,另一方面可以提高多處理器系統(tǒng)的解碼的整體性能,同時(shí)可以適用于各種媒體數(shù)據(jù)格式。另外,根據(jù)本發(fā)明的多處理器系統(tǒng)的再一個(gè)具體實(shí)施例,在圖4或圖5所示各實(shí)施例的多處理器系統(tǒng)中,控制單元402,還可以用于在播放單元401對(duì)外部存儲(chǔ)單元的緩沖區(qū)中的解碼結(jié)果數(shù)據(jù)進(jìn)行輸出播放時(shí),對(duì)外部存儲(chǔ)單元的緩沖區(qū)進(jìn)行監(jiān)控,響應(yīng)于緩沖區(qū)的剩余空間大于或等于一完整幀的解碼結(jié)果數(shù)據(jù)大小,開(kāi)始執(zhí)行向解析單元403發(fā)送啟動(dòng)控制命令的操作,以便解析單元403從外部存儲(chǔ)單元的輸入空間內(nèi)讀取下一完整幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元303中。圖6為本發(fā)明設(shè)備一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。該實(shí)施例的設(shè)備可用于實(shí)現(xiàn)本發(fā)明上述各媒體文件的播放處理方法實(shí)施例的流程。如圖6所示,其包括多處理器系統(tǒng)1、外部存儲(chǔ)單元2、文件系統(tǒng)處理單元3與文件存儲(chǔ)單元4,其中的多處理器系統(tǒng)I具體可以采用本發(fā)明圖3至圖5所示任一實(shí)施例提供的多處理器系統(tǒng)實(shí)現(xiàn),圖6僅示出了采用圖5所示其中一個(gè)實(shí)施例結(jié)構(gòu)的示例,對(duì)于多處理器系統(tǒng)I采用其它實(shí)施例時(shí)的結(jié)構(gòu),各單元之間的連接關(guān)系相同,不再贅述。文件存儲(chǔ)單元4用于存儲(chǔ)媒體文件,該媒體文件由媒體數(shù)據(jù)組成。外部存儲(chǔ)單元2包括輸入空間與緩沖區(qū),其中,輸入空間用于存儲(chǔ)媒體數(shù)據(jù),緩沖區(qū)用于存儲(chǔ)媒體數(shù)據(jù)的解碼結(jié)果數(shù)據(jù)。文件系統(tǒng)處理單元3用于響應(yīng)于多處理器系統(tǒng)I中的第一處理器單元301的控制啟動(dòng);對(duì)外部存儲(chǔ)單元2的輸入空間進(jìn)行監(jiān)控,響應(yīng)于外部存儲(chǔ)單元2的輸入空間有空余,從文件存儲(chǔ)單元4中讀取媒體數(shù)據(jù)并存儲(chǔ)在外部存儲(chǔ)單元2的輸入空間內(nèi)。由于多處理器系統(tǒng)中的每個(gè)處理器單元在不同功能方面的性能優(yōu)劣不同,本發(fā)明上述實(shí)施例提供的設(shè)備包括了上述實(shí)施例的多處理器系統(tǒng),充分發(fā)揮每個(gè)處理器單元的性能優(yōu)勢(shì),利用多個(gè)處理器單元配合實(shí)現(xiàn)對(duì)媒體文件的解碼、播放流程,例如,可以利用具有較靈活的存儲(chǔ)訪問(wèn)功能及較豐富的流程控制指令的處理器,如ARM7系列處理器單元,作為第一處理器單元,從外部存儲(chǔ)單元的輸入空間讀取媒體數(shù)據(jù)并存儲(chǔ)在第二處理器單元可訪問(wèn)的交互存儲(chǔ)單元中,利用具有較強(qiáng)大的數(shù)據(jù)處理能力的處理器,如DSP單元,作為第二處理器單元,對(duì)交互存儲(chǔ)單元中的媒體數(shù)據(jù)進(jìn)行解碼,并將解碼得到的解碼結(jié)果數(shù)據(jù)存儲(chǔ)在可訪問(wèn)的交互存儲(chǔ)單元中,然后由第一處理器單元進(jìn)行播放,充分發(fā)揮了第一處理器單元的靈活存儲(chǔ)訪問(wèn)功能及豐富流程控制指令功能與第二處理器單元的強(qiáng)大數(shù)據(jù)處理能力,提高了媒體文件的播放效果;充分發(fā)揮了多個(gè)處理器單元的性能優(yōu)勢(shì),充分利用了多處理器系統(tǒng)的系統(tǒng)資源,實(shí)現(xiàn)了對(duì)系統(tǒng)資源的優(yōu)化配置及復(fù)用,達(dá)到對(duì)有限資源的最優(yōu)配置,最大程度的降低產(chǎn)品成本,且提高了多處理器系統(tǒng)的工作性能。示例性地,上述實(shí)施例多處理器系統(tǒng)I中的第一處理器單元301或者該第一處理器單元301中的控制單元402,具體可以直接將交互存儲(chǔ)單元303中的解碼結(jié)果數(shù)據(jù)搬移到外部存儲(chǔ)單元2的緩沖區(qū)中,也可以通過(guò)直接存儲(chǔ)器存取(Direct Memory Access,以下簡(jiǎn)稱DMA)單元將交互存儲(chǔ)單元303中的解碼結(jié)果數(shù)據(jù)搬移到外部存儲(chǔ)單元2的緩沖區(qū)中。如圖7所示,為本發(fā)明設(shè)備另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,與圖6所示的實(shí)施例相比,該實(shí)施例中還包括DMA單元5,用于根據(jù)第一處理器單元301或者控制單元402的搬移控制命令,將交互存儲(chǔ)單元303中的解碼結(jié)果數(shù)據(jù)搬移到外部存儲(chǔ)單元2的緩沖區(qū)中。本領(lǐng)域普通技術(shù)人員可以理解本發(fā)明上述各實(shí)施例多處理器系統(tǒng)與設(shè)備中的構(gòu)成單元可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件實(shí)現(xiàn)。并且,本發(fā)明上述各實(shí)施例多處理器系統(tǒng)與設(shè)備的構(gòu)成單元并不一定是實(shí)現(xiàn)本發(fā)明實(shí)施例所必須或僅限的,例如,設(shè)備還可以根據(jù)實(shí)際需求設(shè)置顯示器、鍵盤(pán)與其它外設(shè)等。另外,多處理器系統(tǒng)的構(gòu)成單元還可以根據(jù)實(shí)際需求分布于設(shè)備的其它構(gòu)成單元中,多處理器系統(tǒng)中各構(gòu)成單元的設(shè)置位置也可以根據(jù)實(shí)際需求調(diào)整,例如,外部存儲(chǔ)單元與第一處理器單元可以獨(dú)立設(shè)置也可以一體設(shè)置,可以設(shè)置在第一處理器單元中,也可以設(shè)置在第一處理器單元之外。多處理器系統(tǒng)的構(gòu)成單元中,可以多個(gè)構(gòu)成單元合并為一個(gè)單元實(shí)現(xiàn),也可以一個(gè)構(gòu)成單元拆分為多個(gè)子單元實(shí)現(xiàn)。另夕卜,多處理器系統(tǒng)的構(gòu)成單元之間、以及多處理器系統(tǒng)的構(gòu)成單元與設(shè)備的其它構(gòu)成單元之間的連接關(guān)系,僅表示基于本發(fā)明的一個(gè)信息流向關(guān)系示例,不限制為物理連接關(guān)系,并且也不一定是實(shí)現(xiàn)本發(fā)明實(shí)施例所必須或僅限的。本說(shuō)明書(shū)中各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同或相似的部分相互參見(jiàn)即可。對(duì)于多處理器系統(tǒng)、設(shè)備實(shí)施例而言,由于其與方法實(shí)施例相應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
本發(fā)明實(shí)施例利用多個(gè)處理器單元配合實(shí)現(xiàn)對(duì)媒體文件的解碼、播放流程,充分利用了第一處理器單元的靈活存儲(chǔ)訪問(wèn)功能及豐富流程控制指令功能與第二處理器單元的強(qiáng)大數(shù)據(jù)處理能力,提高了媒體文件的播放效果;充分發(fā)揮了多個(gè)處理器單元的性能優(yōu)勢(shì),充分利用了多處理器系統(tǒng)的系統(tǒng)資源,實(shí)現(xiàn)了對(duì)系統(tǒng)資源的優(yōu)化配置及復(fù)用,達(dá)到對(duì)有限資源的最優(yōu)配置,最大程度的降低產(chǎn)品成本,且提高了多處理器系統(tǒng)的工作性能。本發(fā)明的描述是為了示例和描述起見(jiàn)而給出的,而并不是無(wú)遺漏的或者將本發(fā)明限于所公開(kāi)的形式。很多修改和變化對(duì)于本領(lǐng)域的普通技術(shù)人員而言是顯然的。選擇和描述實(shí)施例是為了更好說(shuō)明本發(fā)明的原理和實(shí)際應(yīng)用,并且使本領(lǐng)域的普通技術(shù)人員能夠理解本發(fā)明從而設(shè)計(jì)適于特定用途的帶有各種修改的各種實(shí)施例。
權(quán)利要求
1.一種媒體文件的播放處理方法,其特征在于,包括 利用第一處理器單元從外部存儲(chǔ)單元的輸入空間內(nèi)讀取至少一完整幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元中; 利用第二處理器單元對(duì)交互存儲(chǔ)單元中的媒體數(shù)據(jù)進(jìn)行解碼,并將解碼得到的解碼結(jié)果數(shù)據(jù)存儲(chǔ)在所述交互存儲(chǔ)單元中; 利用第一處理器單元將交互存儲(chǔ)單元中的解碼結(jié)果數(shù)據(jù)搬移到所述外部存儲(chǔ)單元的緩沖區(qū)中,并對(duì)緩沖區(qū)中的解碼結(jié)果數(shù)據(jù)進(jìn)行輸出播放。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括 利用第一處理器單元控制文件系統(tǒng)處理單元啟動(dòng); 利用文件系統(tǒng)處理單元對(duì)外部存儲(chǔ)單元的輸入空間進(jìn)行監(jiān)控,響應(yīng)于外部存儲(chǔ)單元的輸入空間有空余,從文件存儲(chǔ)單元中讀取媒體數(shù)據(jù)并存儲(chǔ)在外部存儲(chǔ)單元的輸入空間內(nèi)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,從外部存儲(chǔ)單元的輸入空間內(nèi)讀取一完整幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元中包括 利用第一處理器單元從外部存儲(chǔ)單元的輸入空間內(nèi)順序讀取媒體數(shù)據(jù)并進(jìn)行幀判定與定位,以從外部存儲(chǔ)單元的輸入空間讀取一個(gè)幀的媒體數(shù)據(jù); 利用第一處理器單元對(duì)所述一個(gè)幀的合法性與完整性進(jìn)行檢測(cè); 響應(yīng)于所述一個(gè)幀的合法性與完整性通過(guò)檢測(cè),所述一個(gè)幀為一個(gè)完整幀,利用所述第一處理器單元將所述一個(gè)幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元中。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,將所述一個(gè)幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元中之后,利用第一處理器單元將對(duì)交互存儲(chǔ)單元的讀寫(xiě)權(quán)限從第一處理器單元切換到第二處理器單元,并向第二處理器單元發(fā)送解碼命令。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,對(duì)交互存儲(chǔ)單元中的媒體數(shù)據(jù)進(jìn)行解碼包括 利用第二處理器單元根據(jù)所述解碼命令對(duì)交互存儲(chǔ)單元中的媒體數(shù)據(jù)進(jìn)行解碼,并在解碼過(guò)程中調(diào)用作為第三處理器單元的解碼加速單元進(jìn)行加速。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,解碼得到解碼結(jié)果數(shù)據(jù)后,還利用第二處理器單元向第一處理器單元發(fā)送是否正確解碼的解碼結(jié)果消息,并具體將正確解碼得到的解碼結(jié)果數(shù)據(jù)存儲(chǔ)在所述交互存儲(chǔ)單元中; 利用第一處理器單元將對(duì)交互存儲(chǔ)單元的讀寫(xiě)權(quán)限從第二處理器單元切換到第一處理器單元,以及響應(yīng)于正確解碼的解碼結(jié)果消息,執(zhí)行所述將交互存儲(chǔ)單元中的解碼結(jié)果數(shù)據(jù)搬移到所述外部存儲(chǔ)單元的緩沖區(qū)中的操作。
7.根據(jù)權(quán)利要求1至6任意一項(xiàng)所述的方法,其特征在于,還包括 對(duì)緩沖區(qū)中的解碼結(jié)果數(shù)據(jù)進(jìn)行輸出播放時(shí),利用第一處理器單元對(duì)所述外部存儲(chǔ)單元的緩沖區(qū)進(jìn)行監(jiān)控,響應(yīng)于緩沖區(qū)的剩余空間大于或等于一完整幀的解碼結(jié)果數(shù)據(jù)大小,執(zhí)行所述從外部存儲(chǔ)單元的輸入空間內(nèi)讀取下一完整幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元中的操作。
8.根據(jù)權(quán)利要求1至6任意一項(xiàng)所述的方法,其特征在于,所述媒體數(shù)據(jù)包括音頻數(shù)據(jù)和/或者視頻數(shù)據(jù)。
9.一種多處理器系統(tǒng),其特征在于,包括第一處理器單元,用于從外部存儲(chǔ)單元的輸入空間內(nèi)讀取至少一完整幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元中,以及將交互存儲(chǔ)單元中的解碼結(jié)果數(shù)據(jù)搬移到所述外部存儲(chǔ)單元的緩沖區(qū)中,并對(duì)緩沖區(qū)中的解碼結(jié)果數(shù)據(jù)進(jìn)行輸出播放; 第二處理器單元,用于對(duì)交互存儲(chǔ)單元中的媒體數(shù)據(jù)進(jìn)行解碼,并將解碼得到的解碼結(jié)果數(shù)據(jù)存儲(chǔ)在所述交互存儲(chǔ)單元中; 交互存儲(chǔ)單元,用于存儲(chǔ)媒體數(shù)據(jù),以及媒體數(shù)據(jù)的解碼結(jié)果數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的多處理器系統(tǒng),其特征在于,所述第一處理器單元包括播放單元、控制單元與解析單元,所述第二處理器單元包括解碼單元; 所述解析單元,用于響應(yīng)于控制單元的啟動(dòng)控制命令,從外部存儲(chǔ)單元的輸入空間內(nèi)讀取一完整幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元中,并向控制單元發(fā)送解析完成消息; 所述控制單元,用于向所述解析單元發(fā)送啟動(dòng)控制命令;以及響應(yīng)于解析單元發(fā)送的解析完成消息,向解碼單元發(fā)送解碼命令;響應(yīng)于解碼單元發(fā)送的正確解碼的解碼結(jié)果消息,將交互存儲(chǔ)單元中的解碼結(jié)果數(shù)據(jù)搬移到所述外部存儲(chǔ)單元的緩沖區(qū)中,并向播放單元發(fā)送播放命令; 所述解碼單元,用于根據(jù)所述解碼命令,對(duì)交互存儲(chǔ)單元中的媒體數(shù)據(jù)進(jìn)行解碼,向控制單元發(fā)送是否正確解碼的解碼結(jié)果消息,并將正確解碼得到的解碼結(jié)果數(shù)據(jù)存儲(chǔ)在所述交互存儲(chǔ)單元中; 所述播放單元,用于根據(jù)所述播放命令,對(duì)緩沖區(qū)中的解碼結(jié)果數(shù)據(jù)進(jìn)行輸出播放。
11.根據(jù)權(quán)利要求10所述的多處理器系統(tǒng),其特征在于,所述解析單元從外部存儲(chǔ)單元的輸入空間內(nèi)讀取一完整幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元中時(shí),具體從外部存儲(chǔ)單元的輸入空間內(nèi)順序讀取媒體數(shù)據(jù)并進(jìn)行幀判定與定位,從外部存儲(chǔ)單元的輸入空間讀取一個(gè)幀的媒體數(shù)據(jù);對(duì)所述一個(gè)幀的合法性與完整性進(jìn)行檢測(cè);響應(yīng)于所述一個(gè)幀的合法性與完整性通過(guò)檢測(cè),所述一個(gè)幀為一個(gè)完整幀,將所述一個(gè)幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元中。
12.根據(jù)權(quán)利要求10所述的多處理器系統(tǒng),其特征在于,所述控制單元,還用于響應(yīng)于解析單元發(fā)送的解析完成消息,將對(duì)交互存儲(chǔ)單元的讀寫(xiě)權(quán)限從第一處理器單元切換到第二處理器單元,以及響應(yīng)于解碼單元發(fā)送的解碼結(jié)果消息,將對(duì)交互存儲(chǔ)單元的讀寫(xiě)權(quán)限從第二處理器單元切換到第一處理器單元。
13.根據(jù)權(quán)利要求10所述的多處理器系統(tǒng),其特征在于,所述控制單元,還用于識(shí)別所述解碼結(jié)果消息是否為正確解碼的解碼結(jié)果消息,響應(yīng)于所述解碼結(jié)果消息為正確解碼的解碼結(jié)果消息,開(kāi)始執(zhí)行所述將交互存儲(chǔ)單元中的解碼結(jié)果數(shù)據(jù)搬移到所述外部存儲(chǔ)單元的緩沖區(qū)中的操作。
14.根據(jù)權(quán)利要求10所述的多處理器系統(tǒng),其特征在于,所述解碼單元還用于在對(duì)交互存儲(chǔ)單元中的媒體數(shù)據(jù)進(jìn)行解碼的過(guò)程中,調(diào)用第三處理器單元過(guò)程進(jìn)行加速; 所述多處理器系統(tǒng)還包括第三處理器單元,用于作為解碼加速單元,對(duì)所述解碼單元的解碼進(jìn)行加速。
15.根據(jù)權(quán)利要求10至14任意一項(xiàng)所述的多處理器系統(tǒng),其特征在于,所述控制單元,還用于在所述播放單元對(duì)緩沖區(qū)中的解碼結(jié)果數(shù)據(jù)進(jìn)行輸出播放時(shí),對(duì)所述外部存儲(chǔ)單元的緩沖區(qū)進(jìn)行監(jiān)控,響應(yīng)于緩沖區(qū)的剩余空間大于或等于一完整幀的解碼結(jié)果數(shù)據(jù)大小,開(kāi)始執(zhí)行向所述解析單元發(fā)送啟動(dòng)控制命令的操作,以便所述解析單元從外部存儲(chǔ)單元的輸入空間內(nèi)讀取下一完整幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元中。
16.根據(jù)權(quán)利要求15所述的多處理器系統(tǒng),其特征在于,所述媒體數(shù)據(jù)包括音頻數(shù)據(jù)和/或視頻數(shù)據(jù)。
17.一種設(shè)備,包括多處理器系統(tǒng)、外部存儲(chǔ)單元、文件系統(tǒng)處理單元與文件存儲(chǔ)單元,其特征在于,所述多處理器系統(tǒng)具體為權(quán)利要求9至16任意一項(xiàng)所述的多處理器系統(tǒng); 所述文件存儲(chǔ)單元用于存儲(chǔ)媒體文件,所述媒體文件由媒體數(shù)據(jù)組成; 所述外部存儲(chǔ)單元包括輸入空間與緩沖區(qū),所述輸入空間用于存儲(chǔ)媒體數(shù)據(jù),所述緩沖區(qū)用于存儲(chǔ)媒體數(shù)據(jù)的解碼結(jié)果數(shù)據(jù); 所述文件系統(tǒng)處理單元用于響應(yīng)于多處理器系統(tǒng)中第一處理器單元的控制啟動(dòng);對(duì)外部存儲(chǔ)單元的輸入空間進(jìn)行監(jiān)控,響應(yīng)于外部存儲(chǔ)單元的輸入空間有空余,從文件存儲(chǔ)單元中讀取媒體數(shù)據(jù)并存儲(chǔ)在外部存儲(chǔ)單元的輸入空間內(nèi)。
18.根據(jù)權(quán)利要求17所述的設(shè)備,其特征在于,所述多處理器系統(tǒng)中的第一處理器單元或者該第一處理器單元中的控制單元,具體通過(guò)直接存儲(chǔ)器存取DMA單元將交互存儲(chǔ)單元中的解碼結(jié)果數(shù)據(jù)搬移到所述外部存儲(chǔ)單元的緩沖區(qū)中; 所述設(shè)備還包括DMA單元,用于根據(jù)第一處理器單元或者控制單元的搬移控制命令,將交互存儲(chǔ)單元中的解碼結(jié)果數(shù)據(jù)搬移到所述外部存儲(chǔ)單元的緩沖區(qū)中。
全文摘要
本發(fā)明實(shí)施例公開(kāi)了一種媒體文件的播放處理方法、多處理器系統(tǒng)與設(shè)備,其中,媒體文件的播放處理方法包括利用第一處理器單元從外部存儲(chǔ)單元的輸入空間內(nèi)讀取至少一完整幀的媒體數(shù)據(jù)存儲(chǔ)在交互存儲(chǔ)單元中;利用第二處理器單元對(duì)交互存儲(chǔ)單元中的媒體數(shù)據(jù)進(jìn)行解碼,并將解碼得到的解碼結(jié)果數(shù)據(jù)存儲(chǔ)在所述交互存儲(chǔ)單元中;利用第一處理器單元將交互存儲(chǔ)單元中的解碼結(jié)果數(shù)據(jù)搬移到所述外部存儲(chǔ)單元的緩沖區(qū)中,并對(duì)緩沖區(qū)中的解碼結(jié)果數(shù)據(jù)進(jìn)行輸出播放。本發(fā)明實(shí)施例可以充分利用系統(tǒng)資源,提高媒體文件的播放效果與多處理器系統(tǒng)的工作性能。
文檔編號(hào)G05B19/042GK103034147SQ20111030132
公開(kāi)日2013年4月10日 申請(qǐng)日期2011年9月29日 優(yōu)先權(quán)日2011年9月29日
發(fā)明者李曇, 張本好, 徐晶明, 吳晟, 林福輝 申請(qǐng)人:展訊通信(上海)有限公司