两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

處理音頻幀的方法、解碼器電路和計算機程序產品的制作方法

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

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


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