專利名稱:一種兼容式環繞聲算法的制作方法
技術領域:
本發明涉及一種兼容式環繞聲算法。
現行兼容式環繞聲專利只有一種專利號為98117867.7“兼容AC-3和MPEG-2的音頻編解碼器及其算法”,該技術方案在利用DSP芯片實現AC-3和MPEG-2主動識別編解碼。但AC-3、MPEG-2本身算法在同一個產品是同一個面目,即AC-3編碼不能應用于MPEG-2編碼,MPEG-2編碼不能應用于AC-3編碼。
本發明的目的在于提供一種至少能兼容兩種編碼的兼容式環繞聲算法。
為了達到上述目的,本發明的兼容式環繞聲算法中至少有一聲道是原編碼,為共用通道,其數字聲音量化采用梯形線性PCM編碼量化;左右聲道聲音數據有兩層,第一層為規定層,第二層為自定義層;第一層分成強度壓縮方式、波形壓縮方式、隱含指令MPEG方式或隱含指令PCM方式。
由于采用了上述方案,本發明的兼容式環繞聲算法;利用原沒有數字多聲道的兩個數字通道,發展成為數字多聲道環繞聲,其中至少有一通道和原方式兼容,這樣在播放聲音時,即使沒有本方案的解壓縮裝置時,仍可提供至少一聲道輸出,在有本方案的解壓縮裝置時,在左右通道共同作用下,可提供環繞聲或其它多聲道輸出,極大地提高了原媒體性能,又方便了原用戶,同時還可將原媒體動態范圍從16bit提高到22bitPCM格式以上。
下面結合附圖詳細描述本方案的實施方式。
圖1為梯形線性PCM編碼量化的格式圖;圖2為指令布置圖;圖3為聲道布置和聲道關系代碼圖;圖4為MPEG層比特流數據格式圖。
本發明的算法中至少有一通道,如左聲道為共用通道,可采用PCM或MPEG表示,因此,當沒有本發明的解碼器時,可重放一個聲道,與本發明的解壓縮裝置同時使用時,可提供環繞聲或其它多聲道。其數字聲音量化由原來的線性PCM編碼量化改用梯形線性PCM編碼量化,就是在表達聲音信號值的比特中,用一部分比特位表示數值,另一部分比特位表示權值,格式如圖1所示。在數值比特中處在同一權值下每比特量化是相同的;在權值中每比特是按梯形從低到高表達的,并設最高權值為相應PCM最高位的比特值的1.5倍。因此16位“梯形線性PCM”編碼可以表達24PCM動態范圍,并且弱聲音量化度有所提高。如采用梯形線性PCM編碼的媒體,應在媒體種類上進行標識。其算法流程如下a1-7.模擬信號輸入,1路至7路輸入;b1-7模擬信號24bitPCM量化,高位量化過程;c1-724bitPCM通過數位處理成16bit梯形線性編碼,低位變換過程,其中權值8位;c′1-623bitPCM通過數位處理成15bit梯形線性編碼,其中權值8位。
當左聲道采用PCM表示時,右聲道的壓縮共分兩層,第一層為硬性規定層,第二層為自定義層。第一層根據媒體性質和所表現效果又分成三種方式,第一種方式為“PCM隱含指令方式”,層數代碼為1111,連續存放在PCM編碼最低位,并超前數據一個指令位;第二種方式為“相對強度值壓縮方式”,層數代碼為100,連續存放在PCM編碼最低位第三種方式為“波形壓縮方式”,層數代碼為110,連續存放在PCM編碼最低位。上述層數和數據比特流如圖2所示,T為時間方向。用此比特流中最低位表示層數,但第一種方式聲道位直接放在PCM最低位并跟在代碼之后,并用一位比特分隔,比特位值為0。聲道布置和聲道關系代碼如圖3所示第一層中聲道代碼000表示重低音出現,001表示中置音和前左右聲出現,其中真實數據位為零表示中置聲,010表示前左和后右聲道,011表示前右和后左聲道,100表示前左和后左,101表示前右和后右,110表示后中置聲和后左右聲道,其中真實數據位為零表示后中置聲。第一層遵循以下原則1.左聲道數據盡量在媒體左通道位置并定位于定聲道狀態;2.壓縮數據聲道盡量處于媒體右通道位置并定位于動聲道狀態;第一層第一種方式數據左右通道皆去掉最低位,并采用PCM數據或梯形線性PCM數據格式。第二、第三種方式比特流中數據按下列排序真實數據初值→壓縮數值→間隔位→壓縮長度→間隔位→強度或波形形式→末位值→間隔位→重復數。
排列次序是每列比特按時間先后列成串行形式,并按上述表示方法來表示壓縮數據,用下述方法表示壓縮記錄方法真實數據初值首位用以表示數據真值開始,1表示開始,0表示無真值,真值數據初值長度同左聲道長度一樣,因此要占用第二列數據比特中三位,放在最高比特中三位。在第一層中,若用強度方法壓縮,真實數據初值表示同左聲道強度的差值;若用波形方法壓縮,真實數據表示波形開始的初值。壓縮數值在強度壓縮中表示強度趨向值,用1表示升高,用0表示降低,0、1或1、O相間出現表示不變值。壓縮數值在波形壓縮中表示波形模擬值,用1表示升高,用0表示降低,0、1或1、0相交出現表示不變值。壓縮長度用于表示上述數據在時域上長度,數值每增加1表示時域上增加一個取樣值。波形方式在波形壓縮中表示是正弦、余弦、脈沖或其它,分別用01、10、11、00二位表示,其它值為待定值,末位值表示在算法中強度或波形結束值。間隔位用0000四位表示,若有數據出據0000時,則在第三個0后加1,解碼時再去掉,當然真實數據初值不在此列。重復數表示在上述數據中重復個數,是提高壓縮措施,每增加數值1表示重復一次。上述壓縮形式是建立在人耳聽覺的掩蓋效應上,即取強去弱,超前掩蓋或滯后掩蓋,外加本發明的共用通道相對影射,因為共用左通道具有真實波形(采用PCM或梯形線性PCM時)或較真實波形(采用MPEG時)對比進行計算,無需再進行離散余弦變換或子頻帶變換,只需取一段數據進行強度或波形模擬即可。在效果上具有保真度高和壓縮率高特點。在補插數值上利用三角函數公式的正弦、余弦、補始角、相角、幅度、常數求解,同時亦大大提高波形壓縮的數據。其算法流程如下d所有通道數據同步儲存;e根據媒體選擇PCM格式;f根據用戶需要選擇隱含指令PCM方式,否則去g′g根據柒個通道選出兩個或一個主通道,Lp=L+0.25jc+ajs;Rp=R+0.25jc-ajs兩聲道按上式計算,并彈出隱含指令;h同步輸出數據并把指令超前放在最低位;g′若柒個通道數據關聯較大,即選擇相對強度壓縮方式壓縮其它聲道數據并彈出相應指令;若柒個通道數據關聯不大,即選擇波形壓縮方式壓縮,并用三角函數和波形走向進行模擬并彈出相應指令;
h′同步輸出數據并把指令放在PCM格式的低位。
式中Lp為左通道信息量,L為兩聲道中處于左向的信息,c為兩通道中處于中間聲信息,若無則為零,Rp為右通道信息量,R為兩聲道中處于右向的信息,s為兩聲道是處于后面聲信息,若無則為O,a為0.25至0.5之間系數,需視制作時情況而定,j為復數,在上述式中等于90°。
當聲音數據采用MPEG等其它方式記錄時,左通道采用習慣方式記錄,右通道則采用MPEG比特流數據中附加數據位的位置放著隱含聲道指令,如圖4所示的位置。若信息量大則選用上述的相對強度壓縮方式或波形壓縮方式,聲道布置和聲道代碼同樣如圖3所示。其流程如下i左通道根據媒體性質選用相應的格式,右通道根據信息量大小進行相應的方式壓縮,并彈出聲道指令入附加數據位或指定信息位;k同步輸出。
本發明的算法還可采用以下方式左聲道為共用通道,存放共用聲音數據,并且存放形式為原習慣媒體所采用形式,因此可包含上述壓縮數據或隱含指令數據的聲道,其存在形式為PCM、MPEG、DVB格式,其數據包為原習慣媒體所用方式,或采用本發明所提供的方式。只要采用本發明算法的解碼器,即可用二個數字通道還原多聲道或真實環繞聲。本算法建議左右聲道聲音數據有兩層,第一層為規定層,第二層為自定義層,以留有更進一步發展余地。在模擬采樣過程中,為了進一步提高后面數字壓縮率和效果,模擬采樣的第一層可選用如下公式Lp=L+0.25jc+ajs;Rp=R+0.25jc-ajs上述兩式有選擇配合下面算式中聲道分配,可營選出豐富多彩多聲道環繞聲效果。需要注意的是,上述兩式并非杜比模擬環繞聲所采用的公式。該算法流程如下a′1-7原始模擬信號輸入;a″1-7由a′1-7通過Lp=L+0.25jc+ajs,Rp=R+0.25jc-ajs變換并有選擇而成。
本發明的解壓縮,根據媒體性質,尋找指令進行相反過程,流程如下L同步聲音數據輸入,尋找媒體格式,若是MPEG格式,則按下面進行,否則按N進行;M根據MPEG格式進行解壓,并尋找隱含聲道指令,把解壓數據彈到相應聲道中去;N尋找PCM中壓縮代碼指令,若是方式1,則按以下進行,否則按P進行;O尋找方式1中聲道數據,并把聲道數據彈到相應聲道中去;P若是方式2代碼,尋找出數據中強度差值、強度趨向值、強度時域值和強度重復值、強度末位值,并和左聲道數據解壓成新的聲道數據,并根據隱含聲道指令中具體聲道,把解壓聲音數據彈到相應聲道中去。若是方式3代碼,則按下面進行;Q找出方式3中波形開始的初值、波形模擬值、波形時間長度、波形從屬形態、波形重復值、波形末尾值、和三角函數公式,合成具體波形,并彈到隱含聲道值所表示的聲道中去;R同左聲道同步數據輸出;S根據媒體格式是采用了梯形線性PCM編碼,則進行變換成普通PCM編碼,否則直接到T;T數模變換,1-7聲道聲音輸出。
權利要求
1.一種兼容式環繞聲算法,其特征在于它至少有一聲道是原編碼,為共用通道,其數字聲音量化采用梯形線性PCM編碼量化左右聲道聲音數據有兩層,第一層為規定層,第二層為自定義層;第一層分成強度壓縮方式、波形壓縮方式、隱含指令MPEG方式或隱含指令PCM方式。
2.根據權利要求1所述的一種兼容式環繞聲算法,其特征在于所述梯形線性PCM編碼量化,在表達聲音信號值的比特中,用一部分比特位表示數值,另一部分比特位表示權值;在數值比特中處在同一權值下每比特量化是相同的,在權值中每比特是按梯形從低到高表達的;其算法流程為a1-7模擬信號輸入,1路至7路輸入;b1-7模擬信號24bitPCM量化,高位量化過程;c1-724bitPCM通過數位處理成16bit梯形線性編碼,低位變換過程,其中權值8位;c′1-623bitPCM通過數位處理成15bit梯形線性編碼,其中權值8位。
3.根據權利要求2所述的一種兼容式環繞聲算法,其特征在于所述權值的最高值為相應PCM最高位的比特值的1.5倍。
4.根據權利要求1所述的一種兼容式環繞聲算法,其特征在于所述強度壓縮方式、波形壓縮方式、隱含指令PCM的流程為d所有通道數據同步儲存;e根據媒體選擇PCM格式;f根據用戶需要選擇隱含指令PCM方式,否則去g′g根據柒個通道選出兩個或一個主通道,Lp=L+0.25jc+ajs;Rp=R+0.25jc-ajs兩聲道按上式計算,并彈出隱含指令;h同步輸出數據并把指令超前放在最低位;g′若柒個通道數據關聯較大,即選擇相對強度壓縮方式壓縮其它聲道數據并彈出相應指令,若柒個通道數據關聯不大,即選擇波形壓縮方式壓縮;并用三角函數和波形走向進行模擬并彈出相應指令;h′同步輸出數據并把指令放在PCM格式的低位式中Lp為左通道信息量,L為兩聲道中處于左向的信息,c為兩通道中處于中間聲信息,若無則為零,Rp為右通道信息量,R為兩聲道中處于右向的信息,s為兩聲道是處于后面聲信息,若無則為0,a為0.25至0.5之間系數,需視制作時情況而定,j為復數,在上述式中等于90°。
5.根據權利要求4所述的一種兼容式環繞聲算法,其特征在于相對強度壓縮方式和波形壓縮方式的比特流中數據按下列排序真實數據初值→壓縮數值→間隔位→壓縮長度→間隔位→強度或波形形式→末位值→間隔位→重復數
6.根據權利要求5所述的一種兼容式環繞聲算法,其特征在于壓縮記錄方法為真實數據初值首位用以表示數據真值開始,1表示開始,0表示無真值,真值數據初值長度同左聲道長度一樣,放在最高比特中三位;在第一層中,若用強度方法壓縮,真實數據初值表示同左聲道強度的差值;若用波形方法壓縮,真實數據表示波形開始的初值;壓縮數值在強度壓縮中表示強度趨向值,用1表示升高,用0表示降低,0、1或1、0相間出現表示不變值壓縮數值在波形壓縮中表示波形模擬值,用1表示升高,用0表示降低,0、1或1、0相交出現表示不變值;壓縮長度用于表示上述數據在時域上長度,數值每增加1表示時域上增加一個取樣值;波形方式在波形壓縮中表示是正弦、余弦、脈沖或其它,分別用01、10、11、00二位表示,其它值為待定值,末位值表示在算法中強度或波形結束值;間隔位用0000四位表示,若有數據出據0000時,則在第三個0后加1,解碼時再去掉;重復數表示在上述數據中重復個數,是提高壓縮措施,每增加數值1表示重復一次。
7.根據權利要求1所述的一種兼容式環繞聲算法,其特征在于所述隱含指令MPEG方式的算法流程為i左通道根據媒體性質選用相應方法壓縮,右通道根據信息量大小進行壓縮,并彈出聲道指令入附加數據位或指定信息位;k同步輸出。
全文摘要
本發明提出了一種隱含編碼指令并兼容CD、VCD、DVD、DVB中的PCM、MPEG等數字雙聲道編碼標準的多聲道環繞聲算法方案,它至少有一聲道與原聲道兼容,其數字聲音量化采用梯形線性PCM編碼量化;左右聲道聲音數據有兩層,第一層為規定層,第二層為自定義層;第一層分成強度壓縮方式、波形壓縮方式、隱含指令MPEG方式或隱含指令PCM方式。使用本發明的產品在沒有本發明算法的解碼器情況下,左(L)通道聲音信息也可重放出來,甚至部分層數右(R)通道聲音信息也能重放,若通過本發明的算法解碼器,則可播出多聲道環繞聲,并且環繞聲的動態范圍比原方式編碼還高。
文檔編號H04N7/48GK1286574SQ00117448
公開日2001年3月7日 申請日期2000年9月27日 優先權日2000年9月27日
發明者梁曉 申請人:梁曉