[發明專利]一種編碼生成AAC文件的方法有效
| 申請號: | 201611079228.X | 申請日: | 2016-11-30 |
| 公開(公告)號: | CN106782573B | 公開(公告)日: | 2020-04-24 |
| 發明(設計)人: | 王斌 | 申請(專利權)人: | 北京酷我科技有限公司 |
| 主分類號: | G10L19/00 | 分類號: | G10L19/00 |
| 代理公司: | 北京國標律師事務所 11753 | 代理人: | 姚克楓 |
| 地址: | 100080 北京市海淀區農大*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 編碼 生成 aac 文件 方法 | ||
本發明涉及一種編碼生成AAC文件的方法,包括如下步驟:步驟1,幀數據處理:按4096個字節的大小將待處理的原始數據分割成若干個4096個字節大小的標準數據塊,將最后不足4096個字節大小的非標數據塊保存起來;步驟2,編碼處理:將標準數據塊發送給AAC編碼算法處理;步驟3,當新的待處理的原始數據到來時,將步驟1保存的非標數據塊,拼接在新的待處理的原始數據的起始部分,并再次執行步驟1、2;以此類推,實現將整個任意大小的數據塊按一幀大小分批編碼成完整的AAC格式文件。本發明,在編碼生成AAC格式的音頻文件時,將每次送來的任意大小數據自動組成一幀,以防止數據丟失導致編碼后AAC文件有雜音。
技術領域
本發明涉及數字音頻編解碼算法領域,具體說是一種編碼生成AAC文件的方法。尤指自動組幀編碼生成AAC文件的方法。
背景技術
在音頻處理過程中,很多種情況下需要把原始的PCM格式音頻文件(PCM就是WAV,一般情況下,一幀PCM是由2048次采樣組成的)編碼成AAC格式音頻文件(簡稱AAC文件),而在AAC編碼格式中要求一幀音頻數據必須有1024個sample(采樣點),如果是雙聲道的音頻數據,那么一幀音頻數據必須有1024*2*2(4096)個字節,如果編碼成AAC格式音頻文件過程中產生了小于一幀音頻數據的情況,例如一幀雙聲道的音頻數據小于4096個字節,則編碼算法將丟棄該幀音頻數據,這樣一來,在實際應用中,每次傳給編碼算法的數據塊如果不能被4096整除,則將導致每編碼一個大小不能被4096整除的PCM數據塊,都將有小于一幀的PCM數據被丟棄,最終導致生成的AAC文件不完整,聽起來有雜音。具體情況有以下幾種:
情況1,大于4096字節的數據塊:編碼算法會將其分成若干個等于4096字節的數據塊進行編碼,將剩余的小于4096字節的數據塊丟棄掉;
情況2,小于4096字節的數據塊,編碼算法直接丟棄掉;
情況3,等于4096字節的數據塊,編碼算法直接編碼。
由于現有技術中編碼成AAC格式音頻文件時,通常只能預先定義4096個字節的空間,每次給編碼算法傳遞固定大小的一幀數據,而實際應用當中很多情景下要處理的數據塊并非都是4096的整數倍,因此使用起來局限性非常大。
發明內容
針對現有技術中存在的缺陷,本發明的目的在于提供一種編碼生成AAC文件的方法,在編碼生成AAC格式的音頻文件時,將每次送來的任意大小數據自動組成一幀,以防止數據丟失導致編碼后AAC文件有雜音。
為達到以上目的,本發明采取的技術方案是:
一種編碼生成AAC文件的方法,其特征在于,包括如下步驟:
步驟1,幀數據處理:按4096個字節的大小將待處理的原始數據分割成若干個4096個字節大小的標準數據塊,
將最后不足4096個字節大小的非標數據塊保存起來;
步驟2,編碼處理:將標準數據塊發送給AAC編碼算法處理;
步驟3,當新的待處理的原始數據到來時,將步驟1保存的非標數據塊,拼接在新的待處理的原始數據的起始部分,并再次執行步驟1、2;
以此類推,實現將整個任意大小的數據塊按一幀大小分批編碼成完整的AAC格式文件。
在上述技術方案的基礎上,步驟1中,將非標數據塊保存在內存中。
在上述技術方案的基礎上,步驟3中,當沒有新的待處理的原始數據到來,則丟棄保存起來的非標數據塊。
在上述技術方案的基礎上,待處理的原始數據為PCM數據時,PCM數據以任意大于4096字節的數據塊分批處理。
在上述技術方案的基礎上,任意大于4096字節的數據塊通過隨機算法生成。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京酷我科技有限公司,未經北京酷我科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611079228.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種電鍍盲孔的方法及裝置
- 下一篇:一種音頻數字轉換模塊及轉換方法





