欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

處理音頻幀的方法、解碼器電路和計(jì)算機(jī)程序產(chǎn)品的制作方法

文檔序號(hào):6754514閱讀:200來(lái)源:國(guó)知局
專利名稱:處理音頻幀的方法、解碼器電路和計(jì)算機(jī)程序產(chǎn)品的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及用于解壓縮所壓縮的音頻數(shù)據(jù)的方法、計(jì)算機(jī)程序產(chǎn)品和系統(tǒng)。
背景技術(shù)
圖1示出了一種與運(yùn)動(dòng)圖像專家組(MPEG)發(fā)布的關(guān)于音頻壓縮和解壓縮標(biāo)準(zhǔn)相關(guān)的音頻幀格式(即,一幀)。將會(huì)理解這里所使用的術(shù)語(yǔ)MPEG也指不同類型的壓縮和解壓縮。例如,MPEG1和MPEG2都是由運(yùn)動(dòng)圖像專家組發(fā)布的格式。
參考圖1,第一字段是用于識(shí)別音頻幀的開(kāi)始(或結(jié)束)的同步字。同步字的值為十二個(gè)等于“1”的連續(xù)二進(jìn)制數(shù)字(或比特)。同步字的值也能表示為十六進(jìn)制值0xFFF(1111 1111 1111),正如本領(lǐng)域技術(shù)人員所理解,這里“0x”表示以下數(shù)字是十六進(jìn)制格式。
同步字之后是幀頭,該幀頭包括識(shí)別字段ID(1)、層字段LAYER(2)、保護(hù)位字段PROTECTION BIT(1)、比特率索引字段BITRATE INDEX(4)、采樣頻率字段Fs(2)、填充位字段PADDING BIT(1)、專用比特字段PRIVATE BIT(1)、模式字段MODE(2)、模式擴(kuò)展字段MODE EXTENSION(2)、版權(quán)字段COPYRIGHT(1)、原始/復(fù)制字段ORIGINAL/COPY,和增強(qiáng)字段EMPHASIS(2)。括號(hào)中的數(shù)字表示包括在各個(gè)字段內(nèi)的比特?cái)?shù)。例如在萬(wàn)維網(wǎng)codeproject.com/audio/MPEGAudioInfo.asp上討論了MPEG音頻幀。這些字段在本領(lǐng)域中是熟知的,從而省略了對(duì)于這些字段的詳細(xì)解釋,并且在下文中僅討論域與本發(fā)明有關(guān)的字段。
采樣頻率字段Fs由兩個(gè)比特組成并表示一個(gè)采樣頻率。在MPEG層3的例子中,當(dāng)采樣頻率字段分別為00、01、10和11時(shí),可能的采樣頻率包括44.1KHz、48KHz、32KHz和保留頻率。
填充位字段PADDING BIT包括一個(gè)比特并表示在該幀中是否包括空數(shù)據(jù)。當(dāng)填充位字段(即,填充位)中數(shù)據(jù)的值是“0”時(shí),該幀沒(méi)有填充空數(shù)據(jù),但是如果填充位是“1”,則該幀填充有空數(shù)據(jù)。
在工作中,傳統(tǒng)的解碼器接收一系列音頻幀中的壓縮音頻數(shù)據(jù)(或“比特流”),并解碼各個(gè)數(shù)據(jù)以再現(xiàn)對(duì)應(yīng)的音頻信號(hào)。因此,傳統(tǒng)的解碼器搜索同步字以便從壓縮的音頻比特流中讀取信息。然而,同步字的值0xFFF可能在壓縮的音頻比特流中不是唯一的,其中壓縮的音頻比特流能夠包括其值與同步字(即,0xFFF)的值所相等的數(shù)據(jù)。所以,傳統(tǒng)的解碼器可能錯(cuò)誤地將數(shù)據(jù)檢測(cè)為有效的同步字,這可能增加同步字檢測(cè)的錯(cuò)誤率。
為解決這一類型的問(wèn)題,傳統(tǒng)的解碼器可參考填充位來(lái)幫助搜索有效的同步字。但是,如果填充位錯(cuò)誤(例如,被損壞或錯(cuò)誤地計(jì)算),那么傳統(tǒng)的解碼器則難以檢測(cè)有效的同步字。

發(fā)明內(nèi)容
根據(jù)本發(fā)明的某些實(shí)施例能夠提供處理MPEG音頻幀的方法、解碼器電路和計(jì)算機(jī)程序產(chǎn)品。根據(jù)這些實(shí)施例,一種在包括若干MPEG音頻幀的MPEG壓縮音頻比特流中搜索同步字的方法包括,確定比特流中的第一數(shù)據(jù)的值是否等于同步字的值。根據(jù)從該第一數(shù)據(jù)起將比特流中分離的若干數(shù)據(jù)與同步字值比較至少一幀的長(zhǎng)度,從而能夠確定該第一數(shù)據(jù)是否為有效的同步字。
在根據(jù)本發(fā)明的某些實(shí)施例中,基于包括在與比特流相關(guān)幀頭中的比特率索引字段值和/或采樣頻率字段值來(lái)確定幀長(zhǎng)度。在根據(jù)本發(fā)明的某些實(shí)施例中,所述方法能夠進(jìn)一步包括在比特流中第一數(shù)據(jù)的位置上添加幀長(zhǎng)度,以索引到比特流中第二數(shù)據(jù)的步驟。該第二數(shù)據(jù)能夠與同步字的值相比較,緊隨第二數(shù)據(jù)的比特流中的第三數(shù)據(jù)能夠與同步字的值相比較。
在根據(jù)本發(fā)明的某些實(shí)施例中,所述方法進(jìn)一步包括如果第二數(shù)據(jù)等于同步字的值或第二數(shù)據(jù)不等于同步字的值,則確定第一數(shù)據(jù)為有效同步字的步驟。在根據(jù)本發(fā)明的某些實(shí)施例中,如果第二數(shù)據(jù)等于同步字的值,以及第三數(shù)據(jù)等于同步字的值或者第三數(shù)據(jù)不等于同步字的值,則確定第一數(shù)據(jù)是有效同步字。
在根據(jù)本發(fā)明的某些實(shí)施例中,所述方法進(jìn)一步包括如果第二數(shù)據(jù)不等于同步字的值以及第三數(shù)據(jù)等于同步字的值,則確定第一數(shù)據(jù)是有效同步字。在根據(jù)本發(fā)明的某些實(shí)施例中,一種在包括若干MPEG音頻幀的MPEG壓縮音頻比特流中搜索同步字的方法包括,將包括在比特流中的后續(xù)數(shù)據(jù)與同步字的值相比較,該后續(xù)數(shù)據(jù)與期望的同步字的偏移超過(guò)了一個(gè)MPEG音頻幀的長(zhǎng)度。
在根據(jù)本發(fā)明的某些實(shí)施例中,所述方法進(jìn)一步包括如果后續(xù)數(shù)據(jù)等于同步字的值,則確定期望的同步字為有效的同步字。如果后續(xù)數(shù)據(jù)不等于同步字的值,以及如果緊在后續(xù)數(shù)據(jù)之前的先前數(shù)據(jù)等于同步字的值,則能夠確定期望的同步字為有效的同步字。
在根據(jù)本發(fā)明的某些實(shí)施例中,根據(jù)包括在與比特流相關(guān)的幀頭中的比特率索引值和/或采樣頻率字段值確定該幀長(zhǎng)度。在根據(jù)本發(fā)明的某些實(shí)施例中,比較進(jìn)一步包括將該幀長(zhǎng)度添加到比特流中的期望同步字的位置中以索引到比特流中后續(xù)數(shù)據(jù),并比較隨后的數(shù)據(jù)和同步字的值。緊隨第二數(shù)據(jù)的比特流中的第三數(shù)據(jù)能夠與同步字的值相比較。
在根據(jù)本發(fā)明的某些實(shí)施例中,一種在包括若干音頻幀的MPEG壓縮音頻比特流中搜索同步字的方法包括,確定期望的同步字等于比特流中同步字的值,并基于包括在與比特流相關(guān)的幀頭中的比特率索引字段值和/或采樣頻率字段值來(lái)確定該幀長(zhǎng)度。能夠讀取與比特流內(nèi)的期望同步字偏移一個(gè)MPEG音頻幀長(zhǎng)度的后續(xù)數(shù)據(jù),并比較后續(xù)數(shù)據(jù)與同步字的值。如果后續(xù)數(shù)據(jù)等于同步字的值,則能夠確定期望的同步字為有效的同步字。如果后續(xù)數(shù)據(jù)不等于同步字的值且緊在后續(xù)數(shù)據(jù)之前的先前數(shù)據(jù)等于同步字的值,則能夠確定該期望的同步字為有效的同步字。
在根據(jù)本發(fā)明的某些實(shí)施例中,一種用于在包括若干MPEG音頻幀的MPEG壓縮音頻比特流中搜索同步字的解碼器電路包括,配置用于比較包含在比特流中的后續(xù)數(shù)據(jù)與同步字的值的解碼器電路,其中后續(xù)數(shù)據(jù)與期望的同步字偏移大于一個(gè)MPEG音頻幀長(zhǎng)度。
在根據(jù)本發(fā)明的某些實(shí)施例中,一種用于在包括若干MPEG音頻幀的MPEG壓縮音頻比特流中搜索同步字的計(jì)算機(jī)程序產(chǎn)品包括,其中嵌入計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可讀介質(zhì)。所述的計(jì)算機(jī)可讀程序產(chǎn)品能夠包括計(jì)算機(jī)可讀程序代碼,該計(jì)算機(jī)可讀程序代碼被配置用于確定比特流中的第一數(shù)據(jù)的值是否等于同步字的值。計(jì)算機(jī)可讀程序代碼還能夠被配置用于,從該第一數(shù)據(jù)起將比特流中分離的若干數(shù)據(jù)與同步字值比較至少一幀的長(zhǎng)度,以確定第一數(shù)據(jù)是否為有效的同步字。


圖1所示為通用的運(yùn)動(dòng)圖像專家組(MPEG)格式的音頻幀。
圖2的流程圖示例了用于根據(jù)本發(fā)明某些實(shí)施例的MPEG解碼器的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品的實(shí)施例。
圖3的流程圖示例了用于根據(jù)本發(fā)明某些實(shí)施例的MPEG解碼器的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品的實(shí)施例。
圖4A到4D的示意圖示例了根據(jù)本發(fā)明某些實(shí)施例的MPEG解碼器的示意性實(shí)施例。
圖5所示為根據(jù)本發(fā)明的某些實(shí)施例,按照比特率索引字段BITRATEINDEX的值和采樣頻率字段Fs的值而確定幀大小Nij的表格。
圖6是根據(jù)本發(fā)明某些實(shí)施例的解碼器電路的方框圖。
具體實(shí)施例方式
現(xiàn)在將參考示出了本發(fā)明示例性實(shí)施例的附圖在下文中更詳細(xì)地描述本發(fā)明。但是,可能以許多不同的形式來(lái)實(shí)施本發(fā)明,本發(fā)明不應(yīng)被理解為局限于這里所闡述的實(shí)施例;相反,提供了這些實(shí)施例以便更全面和徹底地公開(kāi)本發(fā)明,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō)這將更全面地表達(dá)本發(fā)明的范圍。在全文中相同的附圖標(biāo)記指代相同的元件。如本文所使用的術(shù)語(yǔ)“和/或”包括一個(gè)或更多相關(guān)所列條目的任一和全部組合。
將會(huì)理解盡管本文所用的術(shù)語(yǔ)第一和第二用來(lái)描述各種元件(element),但是這些元件不應(yīng)局限于這些術(shù)語(yǔ)。使用這些術(shù)語(yǔ)僅僅是為了區(qū)別不同的元件。因此,下文中討論的第一元件也能夠稱之為第二元件,同理,第二元件也可能稱之為第一元件,而不會(huì)背離本發(fā)明所公開(kāi)內(nèi)容的教導(dǎo)。
本文所使用的術(shù)語(yǔ)僅僅是為了描述特定的實(shí)施例,而并無(wú)意圖作為對(duì)本發(fā)明的限制。除非在上下文中明確指示,否則,如本文所使用的單數(shù)形式“a”、“an”和“the”還旨在包括有復(fù)數(shù)形式。還將會(huì)進(jìn)一步理解,當(dāng)在本說(shuō)明書中使用術(shù)語(yǔ)“包括”時(shí),它規(guī)定了所述的特征、整數(shù)、步驟、操作、元件和/或組件,但并不排除其中出現(xiàn)或添加一個(gè)或多個(gè)其它特征、整數(shù)、步驟、操作、元件、組件和/或組。
除非另有規(guī)定,否則這里使用的所有術(shù)語(yǔ)(包括技術(shù)和科學(xué)術(shù)語(yǔ))的含義與本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員所理解的普通含義相同。還將會(huì)理解,諸如在通用詞典中定義的術(shù)語(yǔ)應(yīng)當(dāng)解釋為其含義與它們?cè)谙嚓P(guān)領(lǐng)域的上下文中的含義相一致,并且除非在本文中明確規(guī)定,否則不能將其解釋為理想的或超越正式的含義。
正如本領(lǐng)域技術(shù)人員將會(huì)理解,本發(fā)明可以例如實(shí)施為方法、電路和/或計(jì)算機(jī)程序產(chǎn)品。所以,本發(fā)明可以完全采用軟件實(shí)施、硬件實(shí)施或組合軟件和硬件方面實(shí)施的形式。而且,本發(fā)明可采用在包含有嵌入到介質(zhì)中的計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品的形式??墒褂萌魏芜m當(dāng)?shù)挠?jì)算機(jī)可讀介質(zhì),其中包括硬盤、CD-ROM、光存儲(chǔ)器設(shè)備或磁存儲(chǔ)設(shè)備。
可將計(jì)算機(jī)程序代碼或執(zhí)行根據(jù)本發(fā)明的操作的“代碼”以面向編程的語(yǔ)言諸如JAVA、Smalltalk或者C++、JavaScript、Visual Basic、TSQL、Perl或以各種其它的編程語(yǔ)言寫入到一個(gè)對(duì)象中。本發(fā)明的軟件實(shí)施并不取決于利用一種特定的編程語(yǔ)言而實(shí)現(xiàn)。部分代碼完全可以在中間服務(wù)器所利用的一個(gè)或多個(gè)系統(tǒng)上執(zhí)行。
代碼完全可以在一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)上執(zhí)行,或者它可以部分在服務(wù)器上執(zhí)行以及部分在客戶端設(shè)備內(nèi)的一個(gè)客戶機(jī)上執(zhí)行,或者作為一個(gè)代理服務(wù)器在通信網(wǎng)絡(luò)的一個(gè)中間點(diǎn)上執(zhí)行。在后者的情況之下,客戶端設(shè)備可通過(guò)LAN或WAN(例如,內(nèi)部網(wǎng)絡(luò))連接到一個(gè)服務(wù)器,或者通過(guò)因特網(wǎng)(例如,經(jīng)由因特網(wǎng)服務(wù)提供商)進(jìn)行連接。本發(fā)明可以在各種類型的計(jì)算機(jī)網(wǎng)絡(luò)上使用各種協(xié)議來(lái)予以實(shí)施。
下文將參考根據(jù)本發(fā)明實(shí)施例的方法、系統(tǒng)和計(jì)算機(jī)產(chǎn)品的方框圖和流程圖示例對(duì)本發(fā)明進(jìn)行描述。應(yīng)該理解方框圖和流程圖中的每個(gè)方框及其方框的組合都能夠由計(jì)算機(jī)程序指令實(shí)現(xiàn)??梢詫⑦@些計(jì)算機(jī)程序指令提供給處理器電路、特殊用途計(jì)算機(jī)或其它可編程數(shù)據(jù)處理設(shè)備以產(chǎn)生一種機(jī)器,以便通過(guò)處理器電路和其它可編程數(shù)據(jù)處理設(shè)備執(zhí)行上述指令以實(shí)現(xiàn)方框圖和/或流程圖方塊中所規(guī)定的功能。
這些計(jì)算機(jī)程序指令可儲(chǔ)存在計(jì)算機(jī)可讀存儲(chǔ)器中,該存儲(chǔ)器以一種特定的方式指向計(jì)算機(jī)或其它可編程數(shù)據(jù)處理設(shè)備以進(jìn)行工作,以便存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括實(shí)現(xiàn)在方框圖和/或流程圖方塊中所規(guī)定功能的指令的制造物品。
該計(jì)算機(jī)程序指令可載入到處理器電路或者其它可編程數(shù)據(jù)處理設(shè)備中以產(chǎn)生一系列的操作步驟,這些步驟在計(jì)算機(jī)或者其它可編程設(shè)備上執(zhí)行以產(chǎn)生一種計(jì)算機(jī)實(shí)現(xiàn)的處理,以便在計(jì)算機(jī)或其它可編程設(shè)備上所執(zhí)行的指令提供用于實(shí)現(xiàn)方框圖和/或流程圖方塊中所規(guī)定的功能。
根據(jù)本發(fā)明的某些實(shí)施例,無(wú)需參照包含在幀頭中的填充位就能夠解碼MPEG音頻幀。例如,在根據(jù)本發(fā)明的某些實(shí)施例中,MPEG音頻幀的長(zhǎng)度可通過(guò)使用每幀中的大量采樣、幀的比特率以及音頻的采樣速率(可包含在MPEG音頻幀頭中)來(lái)確定。
與某些傳統(tǒng)的MPEG解碼器不同,根據(jù)本發(fā)明的某些實(shí)施例的解碼器可定位MPEG音頻幀內(nèi)的有效同步字,而不用參照包含在MPEG音頻幀頭中的填充位。例如,根據(jù)本發(fā)明的某些實(shí)施例的解碼器可檢測(cè)第一數(shù)據(jù)(它可能為有效同步字)并基于每幀的采樣數(shù)量、比特率和采樣速率通過(guò)一定量來(lái)索引到MPEG音頻比特流中以估計(jì)該第一數(shù)據(jù)是否為有效的同步字,從而提取第二數(shù)據(jù)(可能為下一個(gè)同步字)。如果第二數(shù)據(jù)的值與同步字的不相等,則估計(jì)緊在第二數(shù)據(jù)之前的數(shù)據(jù)以確定它的值是否等于同步字。如果在前數(shù)據(jù)的值等于同步字,則確定第一數(shù)據(jù)為有效的同步字,而如果在前數(shù)據(jù)的值與同步字不相等,則確定第一數(shù)據(jù)不是有效的同步字。
圖2的流程圖示例了用于根據(jù)本發(fā)明的某些實(shí)施例的MPEG解碼器的方法、系統(tǒng),和計(jì)算機(jī)程序產(chǎn)品的實(shí)施例。參考圖2,從MPEG音頻比特流中讀取這里稱之為期望同步字的第一數(shù)據(jù)(D0)(方框205),并測(cè)試它與等于同步字值的一個(gè)值(方框210)。在根據(jù)本發(fā)明的某些實(shí)施例中,同步字的值等于0xFFF。如果確定D0與同步字的值不相等,則為了估計(jì)而存取來(lái)自MPEG音頻比特流的下一個(gè)數(shù)據(jù)(方框205)。
但是,如果確定D0等于同步字的值(方框210),則在根據(jù)本發(fā)明的某些實(shí)施例中,能夠根據(jù)以下方程估計(jì)MPEG音頻幀的長(zhǎng)度(即,大小)((每幀采樣/8*比特率索引)/采樣頻率)將會(huì)理解用于確定一個(gè)估計(jì)MPEG音頻幀長(zhǎng)度的上述方程并不參照包括在MPEG音頻幀頭中的填充位(方框215)。在根據(jù)本發(fā)明的某些實(shí)施例中,MPEG音頻幀長(zhǎng)度基于一個(gè)表格來(lái)確定,在該表格中存儲(chǔ)了根據(jù)比特率索引和采樣頻率(Fs)而索引的不同MPEG音頻幀長(zhǎng)度,例如在圖5的表格中所示例。根據(jù)本發(fā)明所公開(kāi)內(nèi)容的教導(dǎo),對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō)其它確定估計(jì)的MPEG音頻幀長(zhǎng)度的技術(shù)將是顯而易見(jiàn)的。
解碼器電路能使用估計(jì)的MPEG音頻幀長(zhǎng)度索引到MPEG音頻比特流以存取第二數(shù)據(jù)Dn+1,以用于評(píng)價(jià)它為有效的同步字(方框220)。換句活說(shuō),解碼器電路能夠使用所估計(jì)的MPEG音頻幀長(zhǎng)度來(lái)存取可能為MPEG音頻幀比特流內(nèi)的下一有效同步字的數(shù)據(jù),這可能取決于包括在MPEG音頻幀中的數(shù)據(jù)被填充與否。將會(huì)理解,解碼器電路能夠以通用處理器電路、專用集成電路、數(shù)字信號(hào)處理器電路和/或任何類型的能夠解碼按照MPEG音頻幀格式化數(shù)據(jù)的處理電路而實(shí)施。圖6的方框圖示例了耦合到存儲(chǔ)器610的解碼器電路605,該存儲(chǔ)器能夠用于存儲(chǔ)來(lái)自MPEG音頻幀的至少部分比特流數(shù)據(jù)。
如果Dn+1的值等于同步字的值,則確定數(shù)據(jù)D0為有效同步字(方框240)。但是,如果Dn+1不等于同步字的值(方框225),則解碼器存取MPEG音頻比特流Dn中的前一字節(jié)(方框230)。如果Dn的值等于同步字的值(方框235),則估計(jì)D0為有效的同步字(方框240)。如果Dn的值不等于同步字的值(方框235),則確定D0不是有效的同步字,并且在方框205繼續(xù)處理。
圖3的流程圖示例了用于根據(jù)本發(fā)明的某些實(shí)施例的MPEG解碼器的方法、系統(tǒng),和計(jì)算機(jī)程序產(chǎn)品的實(shí)施例。在方框303中,所述的解碼器(未示出)接收經(jīng)編碼器(未示出)壓縮的音頻(或數(shù)據(jù))比特流(或壓縮的音頻數(shù)據(jù)),并從接收的比特流中讀取預(yù)定的第一數(shù)據(jù)D0。在方框305中,解碼器逐位地比較第一數(shù)據(jù)D0和同步字的值以確定他們是否彼此相等。如果第一數(shù)據(jù)D0與同步字的值不對(duì)應(yīng),則解碼器讀取比特流中相鄰的數(shù)據(jù)(即下一個(gè)數(shù)據(jù))。在方框307中,如果第一數(shù)據(jù)D0等于同步字的值,則解碼器參照查詢表(例如,存儲(chǔ)在存儲(chǔ)器或文件)中的幀大小,并將幀大小添加到比特流中第一數(shù)據(jù)D0的當(dāng)前位置上。在根據(jù)本發(fā)明的某些實(shí)施例中,通過(guò)組合包括在圖1中所示的MPEG音頻幀頭中的比特率索引BITRATE INDEX字段和采樣頻率字段Fs以確定該幀大小。
在方框309中,解碼器讀取位于與當(dāng)前位置相距所確定的幀大小的比特流中一個(gè)位置的第二數(shù)據(jù)Dn。如果第一數(shù)據(jù)D0等于同步字的值,則第二數(shù)據(jù)Dn為同步字的概率就可能相對(duì)高些。因此,如果比特率索引字段值和采樣頻率字段值中的至少一個(gè)不正確(例如,被損壞),則解碼器就可能錯(cuò)誤地搜索同步字,從而包括解碼器的再現(xiàn)系統(tǒng)停止工作或者不能正常地工作。
在方框311中,解碼器確定第二數(shù)據(jù)Dn是否等于同步字的值。在框313中,當(dāng)確定第二數(shù)據(jù)Dn等于同步字的值時(shí),解碼器讀取第三數(shù)據(jù)Dn+1。應(yīng)該理解第三數(shù)據(jù)Dn+1是在時(shí)間上和/或空間上與第二數(shù)據(jù)Dn相鄰的數(shù)據(jù)。此外,第三數(shù)據(jù)Dn+1用于確定第一數(shù)據(jù)D0是否為有效的同步字。
在第一數(shù)據(jù)D0是有效的同步字且已填充包括在第一數(shù)據(jù)D0中的音頻幀的情況下,第二數(shù)據(jù)Dn很有可能為用于控制解碼器的平均比特率的附加數(shù)據(jù),且第三數(shù)據(jù)Dn+1為有效的同步字。換句活說(shuō),如果Dn+1和D0都是有效的同步字,則Dn可能為作為填充位添加到MPEG音頻幀中的數(shù)據(jù)(用于提供平均比特率以便解碼器更始終如一地工作)。
在方框315中,解碼器判斷第三數(shù)據(jù)Dn+1是否為同步字。在方框319中,當(dāng)?shù)谌龜?shù)據(jù)Dn+1為同步字時(shí),解碼器則確定填充位等于“1”(方框317)且第一數(shù)據(jù)D0為有效的同步字。所以,解碼器可以執(zhí)行正常的解碼操作而不使用包括在MPEG音頻幀頭中的填充位。
在方框319中,當(dāng)?shù)谌龜?shù)據(jù)Dn+1不是同步字時(shí),解碼器則確定填充位等于“0”(方框323)以及第一數(shù)據(jù)D0為有效的同步字。所以,解碼器可以執(zhí)行正常的解碼操作而不使用包括在MPEG音頻幀頭中的填充位。
再次參考步驟311,如果確定第二數(shù)據(jù)Dn不是同步字,解碼器則從比特流中讀取第三數(shù)據(jù)Dn+1(方框325)。在方框327中,解碼器確定第三數(shù)據(jù)Dn+1是否對(duì)應(yīng)于同步字。在方框319中,當(dāng)解碼器確定第三數(shù)據(jù)Dn+1對(duì)應(yīng)于同步字時(shí),解碼器則確定填充位等于“1”(方框329)且第一數(shù)據(jù)D0為有效的同步字。然而,當(dāng)?shù)谌龜?shù)據(jù)Dn+1不是同步字時(shí),解碼器則確定第一數(shù)據(jù)D0不是有效的同步數(shù)據(jù)(方框327)且在方框303繼續(xù)處理與第一數(shù)據(jù)D0相鄰的數(shù)據(jù)。
如上所述,根據(jù)方框315和327的結(jié)果,能夠知道是否包括第一數(shù)據(jù)D0的MPEG音頻幀已經(jīng)被填充。例如,當(dāng)?shù)谌龜?shù)據(jù)Dn+1和同步字相互對(duì)應(yīng)時(shí),可以推定第二數(shù)據(jù)Dn為附加數(shù)據(jù)(即,填充數(shù)據(jù)),以便解碼器能夠以穩(wěn)定的比特率工作(方框317和329)。
圖3和4A示例了根據(jù)本發(fā)明的示意性實(shí)施例,在該實(shí)施例中解碼器不使用填充位即可確定MPEG音頻幀中的同步字。在方框305中,解碼器確定第一數(shù)據(jù)(D0=0xFFF1)是否為同步字的值0XFFF。由于第一數(shù)據(jù)(D0=0xFFF1)對(duì)應(yīng)于同步字的值0xFFF,解碼器根據(jù)組合從諸如在圖5中所示例的查詢表中所提取的比特率索引BITRATE INDEX字段的值和采樣頻率字段Fs的值來(lái)獲得幀大小Nij。具體而言,圖5所示的表為根據(jù)表格中的比特率索引BITRATEINDEX字段的值和采樣頻率字段Fs的值的二維索引所確定的幀大小Nij的值。這里,i大于1且小于16,且j大于1且小于4。例如在只讀存儲(chǔ)器(ROM)或其它類型的非易失性(或易失性)存儲(chǔ)器中,能夠?qū)嵤┐鎯?chǔ)用于執(zhí)行在包括若干音頻幀的壓縮音頻比特流中搜索同步字方法的程序的計(jì)算機(jī)可讀介質(zhì)。
在方框311中,解碼器確定與第一數(shù)據(jù)D0相距幀大小Nij的第二數(shù)據(jù)Dn=0xFFF2是否對(duì)應(yīng)于同步字。在方框315中,由于第二數(shù)據(jù)Dn=0xFFF2對(duì)應(yīng)于該同步字,解碼器則確定與第二數(shù)據(jù)Dn=0xFFF2相鄰的第三數(shù)據(jù)Dn+1=0xFFF3是否對(duì)應(yīng)于同步字。
由于第三數(shù)據(jù)Dn+1=0xFFF3對(duì)應(yīng)于同步字,解碼器則確定第一數(shù)據(jù)D0為有效的同步字。因此,確定第二數(shù)據(jù)Dn=0xFFF2為用于填充MPEG音頻幀以控制提供給解碼器的平均比特率的附加數(shù)據(jù)。所以,可以在方框317中推斷出與第一數(shù)據(jù)D0相關(guān)的填充位(即MPEG音頻幀頭中的PADDING BIT)是“1”。
參考圖3和4B,解碼器根據(jù)包括在圖5查詢表中的比特率索引字段值和采樣頻率字段值的組合,確定幀大小Nij,這是因?yàn)榈谝粩?shù)據(jù)D0=0xFFF1對(duì)應(yīng)于同步字0XFFF。在方框311中,解碼器確定與第一數(shù)據(jù)D0相距幀大小Nij的第二數(shù)據(jù)Dn=0xFFF2是否對(duì)應(yīng)于同步字。在方框315中,當(dāng)?shù)诙?shù)據(jù)Dn=0xFFF2等于同步字時(shí),解碼器確定第三數(shù)據(jù)Dn+1=0xFFF3是否等于同步字。在方框319中,由于第三數(shù)據(jù)Dn+1=0xFFF3不等于同步字,解碼器則確定第一數(shù)據(jù)D0為有效的同步字。因此,第二數(shù)據(jù)Dn是同步字的概率相對(duì)高。
參考圖3和4C,解碼器根據(jù)包括在圖5查詢表中的比特率索引字段值和采樣頻率字段值的組合,確定幀大小Nij,這是因?yàn)榈谝粩?shù)據(jù)D0=0xFFF1等于同步字0xFFF。在方框311中,解碼器確定第二數(shù)據(jù)Dn=0xFFD是否等于同步字。在方框327中,解碼器確定第三數(shù)據(jù)Dn+1=0xFFF2是否等于同步字,這是因?yàn)樵诜娇?11中的第二數(shù)據(jù)Dn=0xFFD不等于同步字。由于第三數(shù)據(jù)Dn+1=0xFFF2等于同步字,解碼器則確定第一數(shù)據(jù)D0為有效的同步字。因此,第二數(shù)據(jù)Dn=0xFFD為用于控制提供給解碼器的平均比特率的填充數(shù)據(jù)的概率相對(duì)高。在方框329中,在第二數(shù)據(jù)Dn=0xFFD是附加數(shù)據(jù)的情況下,可以推斷出相關(guān)的MPEG音頻幀填充位是“1”。
參考圖3和4D,由于第一數(shù)據(jù)D0=0xFFF1對(duì)應(yīng)于同步字0XFFF,解碼器從圖5的查詢表中推導(dǎo)出幀大小Nij。在方框311中,解碼器確定第二數(shù)據(jù)Dn=0xFFD是否對(duì)應(yīng)于同步字。在方框327中,由于第二數(shù)據(jù)Dn=0xFFD不對(duì)應(yīng)于同步字,解碼器確定第三數(shù)據(jù)Dn+1=0xFFE是否對(duì)應(yīng)于同步字。
由于第三數(shù)據(jù)Dn+1=0xFFE不對(duì)應(yīng)于同步字,解碼器確定第一數(shù)據(jù)D0=0xFFF1不是有效的同步字,而是具有與同步字0xFFF相同模式(例如,十二個(gè)“1”)的數(shù)據(jù),并為與第一數(shù)據(jù)D0=0xFFF1相鄰的數(shù)據(jù)執(zhí)行步驟303。換句活說(shuō),由于Dn+1和Dn都不等于該同步字,解碼器確定第一數(shù)據(jù)D0不是有效的同步字。
如上所述,根據(jù)本發(fā)明的某些實(shí)施例,能夠解碼MPEG音頻幀而不用參照包括在幀頭中的填充位。例如,在根據(jù)本發(fā)明的某些實(shí)施例中,能夠使用包括在MPEG音頻幀頭中的其他信息來(lái)確定所估計(jì)的MPEG音頻幀長(zhǎng)度。估計(jì)的MPEG音頻幀長(zhǎng)度能夠用于存取其后的數(shù)據(jù)以與一個(gè)同步字值進(jìn)行比較。與隨后比特流數(shù)據(jù)相比較的結(jié)果能夠用于確定MPEG音頻幀的實(shí)際長(zhǎng)度。
與某些傳統(tǒng)的MPEG解碼器所不同的是,根據(jù)本發(fā)明的某些實(shí)施例的解碼器可以定位MPEG音頻幀內(nèi)的有效同步字的位置而不用參照包括在MPEG音頻幀頭中的填充位。例如,根據(jù)本發(fā)明某些實(shí)施例的解碼器可以檢測(cè)第一數(shù)據(jù)(它可能是有效的同步字),并基于比特率索引和采樣頻率(包括在幀頭中)通過(guò)一定的量索引到MPEG音頻比特流中,來(lái)估計(jì)第一數(shù)據(jù)是否為有效的同步字以訪問(wèn)第二數(shù)據(jù)(可能為下一個(gè)同步字)。如果第二數(shù)據(jù)的值與同步字不相等,則估計(jì)緊在第二數(shù)據(jù)之前的數(shù)據(jù)以確定它的值是否等于同步字的值。如果在前的數(shù)據(jù)的值與同步字的值相等,則確定第一數(shù)據(jù)為有效的同步字,但是,如果在前數(shù)據(jù)不等于同步字,則確定第一數(shù)據(jù)不是有效的同步字。
如上所述,在壓縮音頻比特流中搜索同步字的方法,和存儲(chǔ)用于執(zhí)行根據(jù)本發(fā)明方法的程序的計(jì)算機(jī)可讀介質(zhì),能夠正確、快速地搜索同步字而無(wú)需讀取,并因此不依賴于填充位字段的完整性。
根據(jù)本發(fā)明公開(kāi)內(nèi)容的教導(dǎo),本領(lǐng)域普通技術(shù)人員可以作出很多改變和修改而不會(huì)背離本發(fā)明的精神和范圍。因此,必須理解所闡明的示例性實(shí)施例僅僅為了作為實(shí)例,和不應(yīng)該將其作為對(duì)以下權(quán)利要求所限定的發(fā)明的限制。因此,將要閱讀的以下權(quán)利要求不僅包括以文字所闡明的各個(gè)元件的組合,而且還包括實(shí)質(zhì)上以相同的方式獲得實(shí)質(zhì)上相同結(jié)果的用于執(zhí)行基本相同功能的全部等同元件。因此,對(duì)于所述權(quán)利要求應(yīng)該理解為它包括有具體示例和以上所述的、以及概念上等同的,還有包含本發(fā)明本質(zhì)思想的內(nèi)容。
權(quán)利要求
1.一種在包括若干MPEG音頻幀的MPEG壓縮音頻比特流中搜索同步字的方法,包括下列步驟確定比特流中的第一數(shù)據(jù)的值是否等于同步字的值;和根據(jù)從該第一數(shù)據(jù)起把比特流中分離的若干數(shù)據(jù)與同步字值比較至少一幀的長(zhǎng)度,從而確定第一數(shù)據(jù)是否為有效同步字。
2.根據(jù)權(quán)利要求1所述的方法,其中根據(jù)包括在與比特流相關(guān)的幀頭中的比特率索引字段值和/或采樣頻率字段的值以確定幀長(zhǎng)度。
3.根據(jù)權(quán)利要求2所述的方法,進(jìn)一步包括將該幀長(zhǎng)度添加到比特流中的第一數(shù)據(jù)的位置以索引到比特流中的第二數(shù)據(jù);和比較第二數(shù)據(jù)與同步字的值;和比較比特流中緊隨第二數(shù)據(jù)的第三數(shù)據(jù)與同步字的值。
4.根據(jù)權(quán)利要求3所述的方法,進(jìn)一步包括如果第二數(shù)據(jù)等于同步字的值或者第二數(shù)據(jù)不等于同步字的值,則確定第一數(shù)據(jù)為有效的同步字。
5.根據(jù)權(quán)利要求3所述的方法,進(jìn)一步包括如果第二數(shù)據(jù)等于同步字的值,以及第三數(shù)據(jù)等于同步字的值或者如果第三數(shù)據(jù)不等于同步字的值,則確定第一數(shù)據(jù)為有效同步字。
6.根據(jù)權(quán)利要求3所述的方法,進(jìn)一步包括如果第二數(shù)據(jù)不等于同步字的值且第三數(shù)據(jù)等于同步字的值,則確定第一數(shù)據(jù)為有效同步字。
7.一種用于在包括若干MPEG音頻幀的MPEG壓縮音頻比特流中搜索同步字的方法,包括下列步驟比較包括在比特流中的后續(xù)數(shù)據(jù)與同步字的值,所述的后續(xù)數(shù)據(jù)與期望的同步字的偏移量超過(guò)一個(gè)MPEG音頻幀的長(zhǎng)度。
8.根據(jù)權(quán)利要求7所述的方法,進(jìn)一步包括如果后續(xù)數(shù)據(jù)等于同步字的值,則確定期望的同步字為有效同步字;和如果后續(xù)數(shù)據(jù)不等于同步字的值,那么如果緊在后續(xù)數(shù)據(jù)之前的先前數(shù)據(jù)等于同步字的值,則確定期望的同步字為有效同步字。
9.根據(jù)權(quán)利要求7所述的方法,其中基于包括在與比特流相關(guān)的幀頭中的比特率索引字段的值和/或采樣頻率字段的值來(lái)確定該幀長(zhǎng)度。
10.根據(jù)權(quán)利要求7所述的方法,其中比較步驟包括將該幀長(zhǎng)度添加到比特流中期望同步字的位置上以索引到比特流中的后續(xù)數(shù)據(jù);比較后續(xù)數(shù)據(jù)與同步字的值;和比較在比特流中緊隨第二數(shù)據(jù)的第三數(shù)據(jù)與同步字的值。
11.一種在包括若干MPEG音頻幀的MPEG壓縮音頻比特流中搜索同步字的方法,包括下列步驟確定期望的同步字等于比特流中同步字的值;根據(jù)包括在與比特流相關(guān)的幀頭中的比特率索引字段的值和/或采樣頻率字段的值確定MPEG音頻幀長(zhǎng)度;讀取在比特流內(nèi)與期望同步字的偏移量等于MPEG音頻幀長(zhǎng)度的后續(xù)數(shù)據(jù);比較后續(xù)數(shù)據(jù)與同步字的值;如果后續(xù)數(shù)據(jù)等于同步字的值,確定期望同步字為有效同步字;和如果后續(xù)數(shù)據(jù)不等于同步字的值以及如果緊在后續(xù)數(shù)據(jù)之前的先前數(shù)據(jù)不等于同步字的值,則確定期望同步字為有效同步字。
12.一種在包括若干MPEG音頻幀的MPEG壓縮音頻比特流中搜索同步字的解碼器電路,包括配置用于比較包括在比特流中的后續(xù)數(shù)據(jù)與同步字值的解碼器電路,其中后續(xù)數(shù)據(jù)與期望同步字的偏移量超過(guò)一個(gè)MPEG音頻幀的長(zhǎng)度。
13.根據(jù)權(quán)利要求12所述的解碼器電路,其中如果后續(xù)數(shù)據(jù)等于同步字的值,解碼器電路進(jìn)一步配置用于確定期望的同步字為有效同步字,以及如果后續(xù)數(shù)據(jù)不等于同步字的值,那么如果緊在后續(xù)數(shù)據(jù)之前的先前數(shù)據(jù)等于同步字的值,則解碼器配置用于確定期望的同步字為有效同步字。
14.根據(jù)權(quán)利要求12所述的解碼器電路,其中幀長(zhǎng)度是基于包括在與比特流相關(guān)的幀頭中的比特率索引字段的值和/或采樣頻率字段的值予以確定的。
15.一種用于在包括若干MPEG音頻幀的MPEG壓縮音頻比特流中搜索同步字的計(jì)算機(jī)程序產(chǎn)品,它包括其中嵌入計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀程序產(chǎn)品包括配置用于確定比特流中第一數(shù)據(jù)的值是否等于同步字值的計(jì)算機(jī)可讀程序代碼;和配置用于根據(jù)從該第一數(shù)據(jù)起把比特流中分離的若干數(shù)據(jù)與同步字值比較至少一幀的長(zhǎng)度,從而確定該第一數(shù)據(jù)是否為有效同步字的計(jì)算機(jī)可讀程序代碼。
16.根據(jù)權(quán)利要求15所述的計(jì)算機(jī)程序產(chǎn)品,其中幀長(zhǎng)度是基于包括在與比特流相關(guān)的幀頭中的比特率索引字段值和/或采樣頻率字段值予以確定的。
17.根據(jù)權(quán)利要求16所述的計(jì)算機(jī)程序產(chǎn)品,進(jìn)一步包括配置用于在比特流的第一數(shù)據(jù)的位置添加幀長(zhǎng)度以索引到比特流中的第二數(shù)據(jù)的計(jì)算機(jī)可讀程序代碼;配置用于比較第二數(shù)據(jù)和同步字值的計(jì)算機(jī)可讀程序代碼;和配置用于比較緊隨第二數(shù)據(jù)的第三數(shù)據(jù)與同步字值的計(jì)算機(jī)可讀程序代碼。
18.根據(jù)權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,進(jìn)一步包括如果第二數(shù)據(jù)等于同步字的值或者如果第二數(shù)據(jù)不等于同步字的值,配置用于確定第一數(shù)據(jù)為有效同步字的計(jì)算機(jī)可讀程序代碼。
19.根據(jù)權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,進(jìn)一步包括如果第二數(shù)據(jù)等于同步字的值以及第三數(shù)據(jù)等于同步字的值或者如果第三數(shù)據(jù)不等于同步字的值,配置用于確定第一數(shù)據(jù)為有效同步字的計(jì)算機(jī)可讀程序代碼。
20.根據(jù)權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,進(jìn)一步包括如果第二數(shù)據(jù)不等于同步字的值和第三數(shù)據(jù)等于同步字的值,則配置用于確定第一數(shù)據(jù)為有效同步字的計(jì)算機(jī)可讀程序代碼。
21.一種用于在包括若干MPEG音頻幀的MPEG壓縮音頻比特流中搜索同步字的計(jì)算機(jī)程序產(chǎn)品,包括配置用于比較包括在比特流中的后續(xù)數(shù)據(jù)與同步字值的計(jì)算機(jī)可讀程序代碼,其中后續(xù)數(shù)據(jù)與期望同步字的偏移量超過(guò)一個(gè)MPEG音頻幀的長(zhǎng)度。
22.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)程序產(chǎn)品,進(jìn)一步包括如果后續(xù)數(shù)據(jù)等于同步字的值,配置用于確定期望同步字為有效同步字的計(jì)算機(jī)可讀程序代碼;和如果后續(xù)數(shù)據(jù)不等于同步字的值,那么如果緊在后續(xù)數(shù)據(jù)之前的先前數(shù)據(jù)等于同步字的值,則配置用于確定期望同步字為有效同步字的計(jì)算機(jī)可讀程序代碼。
23.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)程序產(chǎn)品,其中幀長(zhǎng)度是基于包括在與比特流相關(guān)的幀頭中的比特率索引字段值和/或采樣頻率字段值予以確定的。
24.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)程序產(chǎn)品,其中進(jìn)一步包括配置用于在比特流中的期望同步字的位置添加幀長(zhǎng)度以索引到比特流中后續(xù)數(shù)據(jù)的計(jì)算機(jī)可讀程序代碼;配置用于比較后續(xù)數(shù)據(jù)與同步字值的計(jì)算機(jī)可讀程序代碼;和配置用于比較緊隨比特流中第二數(shù)據(jù)的第三數(shù)據(jù)與同步字值的計(jì)算機(jī)可讀程序代碼。
25.一種用于在包括若干MPEG音頻幀的MPEG壓縮音頻比特流中搜索同步字的計(jì)算機(jī)程序產(chǎn)品,包括配置用于確定期望的同步字等于比特流中同步字值的計(jì)算機(jī)可讀程序代碼;配置用于根據(jù)包括在與比特流相關(guān)的幀頭中的比特率索引字段值和/或采樣頻率字段值,以確定MPEG幀長(zhǎng)度的計(jì)算機(jī)可讀程序代碼;配置用于讀取與比特流內(nèi)期望同步字的偏移量等于一個(gè)MPEG音頻幀長(zhǎng)度的后續(xù)數(shù)據(jù)的計(jì)算機(jī)可讀程序代碼;配置用于比較后續(xù)數(shù)據(jù)與同步字值的計(jì)算機(jī)可讀程序代碼;如果后續(xù)數(shù)據(jù)等于同步字的值,配置用于確定期望同步字為有效同步字的計(jì)算機(jī)可讀程序代;和如果后續(xù)數(shù)據(jù)不等于同步字的值以及如果緊在后續(xù)數(shù)據(jù)之前的數(shù)據(jù)等于同步字的值,配置用于確定期望的同步字為有效同步字的計(jì)算機(jī)可讀程序代碼。
全文摘要
在包括若干MPEG音頻幀的MPEG壓縮音頻比特流中搜索同步字的方法,該方法包括確定比特流中第一數(shù)據(jù)的值是否等于同步字的值。根據(jù)從該第一數(shù)據(jù)起把比特流中分離的若干數(shù)據(jù)與同步字值比較至少一幀的長(zhǎng)度,從而能夠確定該第一數(shù)據(jù)是否為有效同步字。
文檔編號(hào)G11B27/30GK1684522SQ200410103778
公開(kāi)日2005年10月19日 申請(qǐng)日期2004年11月25日 優(yōu)先權(quán)日2003年11月25日
發(fā)明者韓靖仁, 權(quán)尚澈, 金尚煜 申請(qǐng)人:三星電子株式會(huì)社
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
九龙城区| 三门县| 申扎县| 新建县| 闽侯县| 稻城县| 新竹市| 广德县| 海淀区| 岳池县| 西平县| 琼结县| 商都县| 高淳县| 亳州市| 潜山县| 荣昌县| 迭部县| 镇宁| 勃利县| 房产| 鄢陵县| 巩义市| 西青区| 文昌市| 漾濞| 东丰县| 安新县| 鄱阳县| 汉中市| 阿尔山市| 福海县| 铜山县| 南皮县| 太白县| 朔州市| 来宾市| 平湖市| 江安县| 行唐县| 河间市|