亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

浮點(diǎn)信號(hào)的編碼方法、解碼方法及其編碼器、解碼器的制作方法

文檔序號(hào):7516083閱讀:573來(lái)源:國(guó)知局
專利名稱:浮點(diǎn)信號(hào)的編碼方法、解碼方法及其編碼器、解碼器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及 一 種用于將承載聲音、音樂(lè)或圖像信息的浮點(diǎn)信號(hào)樣本 (sample)序列壓縮為更小信息量的碼而沒(méi)有失真的編碼方法、對(duì)應(yīng)的解碼方 法,其編碼裝置及其解碼裝置,即,浮點(diǎn)信號(hào)的編碼方法、解碼方法及其編 碼器、解碼器。
背景技術(shù)
作為用于壓縮聲音或圖像信息的方法,已知一種不涉及失真的無(wú)損編碼 方法。
可以通過(guò)組合高度壓縮的有損編碼和在有損編碼的再現(xiàn)信號(hào)與原始信號(hào) 之間的差別的無(wú)損壓縮來(lái)實(shí)現(xiàn)高度壓縮的無(wú)損數(shù)據(jù)壓縮。在專利文獻(xiàn)1中已 經(jīng)提出了這樣的組合壓縮方法。下面將簡(jiǎn)要描述在所述專利文獻(xiàn)中詳細(xì)說(shuō)明 的方法。
在編碼器中,幀形成部分連續(xù)地將數(shù)字輸入信號(hào)(也稱為輸入信號(hào)樣本序 列)分為幀,每個(gè)幀由例如1024個(gè)輸入信號(hào)樣本組成,并且在幀的基礎(chǔ)上有 損地壓縮編碼所述數(shù)字信號(hào)。這種編碼可以基于適合于輸入數(shù)字信號(hào)的任何 格式,并且可以通過(guò)解碼而以某個(gè)保真度來(lái)再現(xiàn)原始數(shù)字輸入信號(hào)。
例如,如果數(shù)字輸入信號(hào)是聲音信號(hào),則可以使用按照ITU-建議G.729 推薦的語(yǔ)音編碼。如果數(shù)字輸入信號(hào)是音樂(lè)信號(hào),則可以使用在MPEG-4中 使用的變換域加權(quán)交織向量量化(Twin VQ)編碼。對(duì)從有損壓縮編碼產(chǎn)生的碼 進(jìn)行本地解碼,并且產(chǎn)生用于表示本地解碼后的信號(hào)和原始數(shù)字信號(hào)之間的 差的差信號(hào)。但是,實(shí)際上,沒(méi)有本地解碼的必要,而是相反,其足以獲得 在原始數(shù)字信號(hào)和有損壓縮編碼期間產(chǎn)生的量化信號(hào)之間的差。差信號(hào)的幅 度通常比原始數(shù)字信號(hào)的幅度小得多。因此,與原始數(shù)字信號(hào)的無(wú)損壓縮編碼相比,可以通過(guò)差信號(hào)的無(wú)損壓縮編碼來(lái)減少信息量。
為了提高無(wú)損壓縮編碼的效率,對(duì)于每個(gè)都通過(guò)符號(hào)和幅度表示法(符號(hào) 和幅度的二進(jìn)制數(shù))來(lái)表示的幀中的差信號(hào)的所有樣本的序列,每個(gè)位置的比
特、即MSB、第二MSB、...和LSB中的每一個(gè)的比特沿著樣本序歹'J(即時(shí)間 序列)被鏈接,以形成相應(yīng)的比特序列。換句話說(shuō),變換比特排列(arrangement)。 為方便起見(jiàn),將由相同比特位置處的相鏈接的1024個(gè)比特組成的比特序列稱 為"同位(coordinate)比特序列"。另一方面,為方便起見(jiàn),將表示包括其符號(hào) 的每個(gè)樣本的幅度值的一個(gè)字的比特序列稱為"幅度比特序列"。差信號(hào)具有 小幅度,因此,最高有效比特、或者最高有效比特和隨后的多個(gè)比特常常是 全"0"。因此,借助于表示通過(guò)鏈接這種比特位置處的比特而形成的同位比 特序列,可以提高差信號(hào)的無(wú)損壓縮編碼效率。
對(duì)同位比特序列進(jìn)行無(wú)損壓縮編碼。作為無(wú)損壓縮編碼,可以使用熵編 碼,例如霍夫曼編碼和算術(shù)編碼,其利用其中連續(xù)出現(xiàn)相同符號(hào)(l或O)的序 列的出現(xiàn)或頻繁出現(xiàn)。
當(dāng)解碼時(shí),從無(wú)損壓縮編碼產(chǎn)生的碼被解碼,并且對(duì)解碼信號(hào)執(zhí)行比特 排列的逆變換。也就是說(shuō),對(duì)于每個(gè)幀,將同位比特序列變換為幅度比特序 列,并且依序再現(xiàn)所得到的差信號(hào)。另外,對(duì)從有損壓縮編碼產(chǎn)生的碼進(jìn)行 解碼,并且將解碼信號(hào)和再現(xiàn)的差信號(hào)一起求和,并隨后依序?qū)⒚總€(gè)幀的和 數(shù)信號(hào)(sum signal)鏈接到一起,從而再現(xiàn)原始數(shù)字信號(hào)序列。
此外,已知有多種無(wú)損編碼方法,用于不允許失真的音頻或視頻信息。 例如,在非專利文獻(xiàn)1中公開(kāi)了音樂(lè)信息的無(wú)損編碼方法。任何傳統(tǒng)方法都 是這樣的,其對(duì)從信號(hào)波形直接得到的PCM信號(hào)執(zhí)行壓縮編碼。
但是,在音樂(lè)錄音棚中,有時(shí)以浮點(diǎn)格式來(lái)記錄和存儲(chǔ)波形。浮點(diǎn)格式 中的任何值都被分離為符號(hào)、指數(shù)和尾數(shù)。例如,在圖37中所示的IEEE-754 標(biāo)準(zhǔn)浮點(diǎn)格式中,任何值都包括以有效值的降序排列的32個(gè)比特,其包括用 于符號(hào)的1比特、用于指數(shù)的8比特和用于尾數(shù)的23個(gè)比特。以S來(lái)表示符 號(hào)、以小數(shù)E來(lái)表示由用于指數(shù)的8比特表示的值、并且以M來(lái)表示尾數(shù)的 二進(jìn)制數(shù),則可以以符號(hào)和幅度二進(jìn)制表示法來(lái)表示浮點(diǎn)格式的值如下。
(-l)sxl.Mx2£-£。 (1)
按照IEEE-754標(biāo)準(zhǔn),Eo被定義為£0=27-1=127,使得表達(dá)式(1)中的"E-Eo" 可以是落入下面范圍內(nèi)的任何值-127$E-E0S128。
在此,定義當(dāng)E-E0=-127時(shí)所有的比特被設(shè)置為"0",而當(dāng)E-E『128時(shí) 所有的比特被設(shè)置為"1"。術(shù)語(yǔ)"E-E。=n"表示通過(guò)從由公式(l)表示的值的
整數(shù)部分的數(shù)字的數(shù)量(比特?cái)?shù)量)減去i而獲得的值,即,跟隨在最高有效"r 之后的比特的數(shù)量。
在通過(guò)浮點(diǎn)格式的數(shù)字信號(hào)序列表示聲音、音樂(lè)或圖像信息的情況下, 由"o"和"r組成的比特序列有可能因?yàn)楦↑c(diǎn)格式的特性而是隨機(jī)的。因 此,即使執(zhí)行上述比特排列變換,也不能期望熵壓縮編碼等提供高壓縮比。 而且,浮點(diǎn)格式的樣本序列與原始模擬波形大大不同,因此沒(méi)有從樣本之間 的相關(guān)性產(chǎn)生的冗余。因此,即使應(yīng)用在上述非專利文獻(xiàn)i中公開(kāi)的無(wú)損預(yù) 測(cè)編碼方法,也不能期望更高的壓縮比。
專利文獻(xiàn)1:日本申請(qǐng)Kokai公開(kāi)第2001-44847號(hào)
非專利文南史1: "Lossless Compression of Digital Audio" , Mat Hans ,
Ronald W. Schafer等,IEEE SIGNAL PROCESSING MAGAZINE, 2001年7
月,第21-32頁(yè)

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種用于浮點(diǎn)格式的信號(hào)樣本序列的無(wú)損編碼方法 和無(wú)損解碼方法及其裝置。 解決問(wèn)題的手段
本發(fā)明提供一種用于浮點(diǎn)格式的信號(hào)的無(wú)損編碼方法,包括以下步驟
(a) 將浮點(diǎn)格式的第 一信號(hào)樣本序列轉(zhuǎn)換為整數(shù)格式的第二信號(hào)樣本序
列;
(b) 無(wú)損壓縮所述整數(shù)格式的第二信號(hào)樣本序列,以產(chǎn)生第 一碼序列;
(c) 產(chǎn)生浮點(diǎn)格式的差信號(hào),其對(duì)應(yīng)于所述整數(shù)格式的第二信號(hào)樣本序列 和所述浮點(diǎn)格式的第 一信號(hào)樣本序列之間的差;
(d) 確定哪種編碼處理具有較高的壓縮效率第一編碼處理,其對(duì)所述浮 點(diǎn)格式的差信號(hào)的每個(gè)樣本中能夠取非零值的數(shù)字的比特序列進(jìn)行編碼,所 述數(shù)字由所述整數(shù)格式的第二信號(hào)樣本序列中的對(duì)應(yīng)樣本的絕對(duì)值確定,或 者第二編碼處理,其對(duì)所述差信號(hào)的所有數(shù)字進(jìn)行編碼;以及
(e) 如果所述確定的結(jié)果指示所述第一編碼處理,則通過(guò)所述第一編碼處
9理來(lái)對(duì)所述差信號(hào)進(jìn)行編碼以產(chǎn)生第二碼序列,或者如果所述確定的結(jié)果指 示所述第二編碼處理,則通過(guò)所述第二編碼處理來(lái)對(duì)所述差信號(hào)進(jìn)行編碼以 產(chǎn)生第二碼序列。
本發(fā)明還提供一種用于浮點(diǎn)格式的信號(hào)的無(wú)損編碼方法,包括以下步驟
(a) 在幀基礎(chǔ)上確定哪種壓縮具有較高的壓縮效率在幀基礎(chǔ)上的浮點(diǎn)格 式的第 一信號(hào)樣本序列的直接無(wú)損壓縮,或者整數(shù)值樣本序列和差信號(hào)的雙 信號(hào)分離壓縮;
(b) 如果所述確定的結(jié)果指示雙信號(hào)分離壓縮,則執(zhí)行雙信號(hào)分離壓縮, 步驟(b)包括以下步驟
(b-l)將第一信號(hào)樣本序列轉(zhuǎn)換為整數(shù)格式的第二信號(hào)樣本序列; (b-2)無(wú)損壓縮所述整數(shù)格式的第二信號(hào)樣本序列,以產(chǎn)生第一碼序列; (b-3)產(chǎn)生浮點(diǎn)格式的差信號(hào),其對(duì)應(yīng)于所述整數(shù)格式的第二信號(hào)樣本序 列和所述浮點(diǎn)格式的第 一信號(hào)樣本序列之間的差; (b-4)從所述浮點(diǎn)格式的差信號(hào)產(chǎn)生第二碼序列;
(c) 如果所述確定的結(jié)果指示直接無(wú)損壓縮,則直接無(wú)損壓縮所述第一信 號(hào)樣本序列,以產(chǎn)生第三碼序列;以及
(d) 產(chǎn)生輔助碼,其指示是執(zhí)行所述直接無(wú)損壓縮還是所述雙信號(hào)分離壓
縮;
其中,在所述步驟(b-l)中,通過(guò)小數(shù)部分的刪截來(lái)實(shí)現(xiàn)向所述整數(shù)格式 的第二信號(hào)樣本序列的轉(zhuǎn)換,并且 所述步驟(b-4)包括以下步驟
(b-4-l)確定哪個(gè)編碼處理具有較高的壓縮效率第一編碼處理,其對(duì)所 述浮點(diǎn)格式的差信號(hào)的每個(gè)樣本中能夠取非零值的數(shù)字的比特序列進(jìn)行編 碼,所述數(shù)字由所述整數(shù)格式的第二信號(hào)樣本序列中的對(duì)應(yīng)樣本的絕對(duì)值確 定,或者第二編碼處理,其對(duì)所述差信號(hào)的所有數(shù)字進(jìn)行編碼;以及
(b-4-2)如果所述確定的結(jié)果指示所述第一編碼處理,則通過(guò)所述第一編 碼處理來(lái)對(duì)所述差信號(hào)進(jìn)行編碼以產(chǎn)生第二碼序列,或者如果所述確定的結(jié) 果指示所述第二編碼處理,則通過(guò)所述第二編碼處理來(lái)對(duì)所述差信號(hào)進(jìn)行編 碼以產(chǎn)生第二碼序列。
本發(fā)明還提供一種用于浮點(diǎn)格式的信號(hào)的無(wú)損解碼方法,包括以下步驟
(a)根據(jù)輸入的輔助碼,確定輸入碼序列是通過(guò)單信號(hào)編碼還是雙信號(hào)編
10碼產(chǎn)生的碼序列;
(b) 如果所述確定的結(jié)果指示單信號(hào)編碼,則將輸入碼序列解碼和擴(kuò)展為
一個(gè)碼序列,以再現(xiàn)浮點(diǎn)格式的原始信號(hào)樣本序列;
(c) 如果所述確定的結(jié)果指示雙信號(hào)編碼,則將輸入碼序列分離為第 一碼
序列和第二碼序列;
(d) 解碼和擴(kuò)展所述第一碼序列,以產(chǎn)生整數(shù)格式的第一信號(hào)樣本序列;
(e) 從所述第二碼序列得到浮點(diǎn)格式的差信號(hào);
(f) 將所述整數(shù)格式的第 一信號(hào)樣本序列轉(zhuǎn)換為浮點(diǎn)格式的第二信號(hào)樣本 序列;以及
(g) 組合所述浮點(diǎn)格式的第二信號(hào)樣本序列和所述浮點(diǎn)格式的差信號(hào),以 再現(xiàn)浮點(diǎn)格式的原始信號(hào)樣本序列;
其中,所述步驟(e)包括以下步驟
根據(jù)所述整數(shù)格式的第一信號(hào)樣本序列或輸入輔助碼,確定使用第一擴(kuò) 展方法和第二擴(kuò)展方法中的哪一種來(lái)解碼和擴(kuò)展所述第二碼序列;以及
將所述第二碼序列解碼和擴(kuò)展為每個(gè)都包含能夠取非0值的多個(gè)數(shù)字的 比特序列,所述數(shù)字的數(shù)量由所述第一信號(hào)樣本序列的每個(gè)樣本的絕對(duì)值唯 一地確定,并且如果確定結(jié)果指示第一擴(kuò)展方法,則從通過(guò)解碼和擴(kuò)展產(chǎn)生 的比特序列組配所述差信號(hào),或者如果確定結(jié)果指示第二擴(kuò)展方法,則通過(guò) 第二擴(kuò)展方法將所述第二碼序列直接解碼和擴(kuò)展為所述差信號(hào)。
本發(fā)明還提供一種用于浮點(diǎn)格式的信號(hào)的無(wú)損解碼方法,包括以下步驟
(a) 解碼和擴(kuò)展第一碼序列,以產(chǎn)生整數(shù)格式的第一信號(hào)樣本序列;
(b) 根據(jù)所述第一信號(hào)樣本序列或輔助碼,確定使用第一擴(kuò)展方法和第二 擴(kuò)展方法中的哪一種來(lái)解碼和擴(kuò)展第二碼序列;
(c) 如果確定結(jié)果指示第一擴(kuò)展方法,則將所述第二碼序列解碼和擴(kuò)展為 每個(gè)都包含能夠取非0值的數(shù)字的比特序列,所述數(shù)字由所述第一信號(hào)樣本 序列中的對(duì)應(yīng)樣本的絕對(duì)值唯一地確定,并且將從解碼和擴(kuò)展產(chǎn)生的比特序 列組配為浮點(diǎn)格式的差信號(hào);
(d) 如果確定結(jié)果指示第二擴(kuò)展方法,則從所述第二碼序列產(chǎn)生浮點(diǎn)格式 的差信號(hào)的全部數(shù)字;
(e) 將所述整數(shù)格式的第 一信號(hào)樣本序列轉(zhuǎn)換為浮點(diǎn)格式的第二信號(hào)樣本 序列;以及
ii(f)組合所述浮點(diǎn)格式的第二信號(hào)樣本序列和所述浮點(diǎn)格式的差信號(hào),以
再現(xiàn)浮點(diǎn)格式的原始數(shù)字信號(hào)序列。
本發(fā)明還提供一種用于浮點(diǎn)格式的信號(hào)的無(wú)損編碼器,包括
第 一編碼部分,用于將所輸入的浮點(diǎn)格式的第 一信號(hào)樣本序列轉(zhuǎn)換為整
數(shù)格式的第二信號(hào)樣本序列,并且無(wú)損壓縮第二信號(hào)樣本序列;
差產(chǎn)生部分,產(chǎn)生對(duì)應(yīng)于所述整數(shù)格式的第二信號(hào)樣本序列和所述浮點(diǎn)
格式的第一信號(hào)樣本之間的差的、浮點(diǎn)格式的差信號(hào);
第二編碼部分,對(duì)所述浮點(diǎn)格式的差信號(hào)的所有數(shù)字進(jìn)行編碼; 第三編碼部分,對(duì)所述差信號(hào)的每個(gè)樣本中能夠取非0值的數(shù)字的比特
序列進(jìn)行編碼,所述數(shù)字由所述整數(shù)格式的信號(hào)樣本序列中的對(duì)應(yīng)樣本的絕
對(duì)值來(lái)確定;以及
確定或估計(jì)所述第二編碼部分和所述第三編碼部分的哪一個(gè)提供較高的
壓縮效率、并選擇和輸出來(lái)自所確定或估計(jì)的編碼部分的碼以提供較高壓縮
效率的部件。
本發(fā)明還提供一種用于浮點(diǎn)格式的信號(hào)的解碼器,包括 第一擴(kuò)展部分,解碼和擴(kuò)展輸入的第一碼序列,以產(chǎn)生整數(shù)格式的第一 信號(hào)樣本序列;
第二擴(kuò)展部分,將差信號(hào)中的輸入的第二碼序列解碼和擴(kuò)展為包含能夠 取非0值的數(shù)字的比特序列,所述數(shù)字由所述整數(shù)格式的第一信號(hào)樣本序列 的對(duì)應(yīng)樣本的絕對(duì)值來(lái)確定,并且第二擴(kuò)展部分將從解碼和擴(kuò)展產(chǎn)生的比特 序列組配為浮點(diǎn)格式的差信號(hào);
第三擴(kuò)展部分,將所述輸入的第二碼序列解碼和擴(kuò)展為所述浮點(diǎn)格式的
差信號(hào)的所有數(shù)字;
選擇部分,根據(jù)所述第一信號(hào)樣本序列或輸入的輔助碼來(lái)選擇所述第二
擴(kuò)展部分和所述第三擴(kuò)展部分之一;以及
組合部分,組合所述浮點(diǎn)格式的第 一信號(hào)樣本序列和從所選擇的所述第 二擴(kuò)展部分和所述第三擴(kuò)展部分之一接收的所述浮點(diǎn)格式的差信號(hào),以產(chǎn)生 浮點(diǎn)格式的第三信號(hào)樣本序列。
本發(fā)明的效果
根據(jù)本發(fā)明的第一方面,如果浮點(diǎn)格式的輸入信號(hào)樣本序列X的平均幅 度大于預(yù)定值,則直接對(duì)信號(hào)樣本序列X進(jìn)行無(wú)損編碼,而如果平均幅度等于或小于所述預(yù)定值,則將輸入信號(hào)樣本序列X分離為整數(shù)值樣本序列和差 信號(hào),并且分別對(duì)所述整數(shù)值樣本序列和差信號(hào)進(jìn)行編碼。因此,可以提高 編碼效率。
根據(jù)本發(fā)明的第二方面,在將浮點(diǎn)格式的輸入信號(hào)樣本序列x分離為被
分別編碼的整數(shù)值樣本序列Y和差信號(hào)Z的情況下,在壓縮效率方面將僅僅 對(duì)差信號(hào)中能夠取非0的比特進(jìn)行編碼的情況和直接對(duì)差信號(hào)進(jìn)行編碼的情 況進(jìn)行比較,并采用具有較高壓縮效率的所述碼之一。因此,可以進(jìn)一步提 高編碼效率。


圖l是根據(jù)本發(fā)明第一實(shí)施例的編碼器的功能圖2是用于圖解圖1所示的整數(shù)格式化部分12的操作的圖3是示出在圖1所示的整數(shù)格式化部分12中執(zhí)行的處理過(guò)程的流程
圖4示出在整數(shù)值的絕對(duì)值和表示該整數(shù)值的尾數(shù)的比特序列之間的對(duì)
應(yīng);
圖5示出整數(shù)值的絕對(duì)值、數(shù)字差信號(hào)的符號(hào)、指數(shù)和尾數(shù)之間的關(guān)系;
圖6是示出數(shù)字差信號(hào)序列的要壓縮編碼的部分的圖7是根據(jù)本發(fā)明第一實(shí)施例的解碼器的功能圖8示出圖1所示的編碼器的修改實(shí)施例;
圖9是根據(jù)本發(fā)明第二實(shí)施例的編碼器的功能圖IO是根據(jù)本發(fā)明第二實(shí)施例的解碼器的功能圖11是根據(jù)本發(fā)明第二實(shí)施例的編碼器的修改的功能圖12是根據(jù)本發(fā)明第三實(shí)施例的編碼器的功能圖13是根據(jù)本發(fā)明第三實(shí)施例的解碼器的功能圖14A是用于圖解將已經(jīng)從浮點(diǎn)信號(hào)得到的、浮點(diǎn)格式的輸入信號(hào)X轉(zhuǎn) 換為16比特整數(shù)值信號(hào)的過(guò)程的圖14B是用于圖解將已經(jīng)從24比特整數(shù)值信號(hào)得到的、浮點(diǎn)格式的輸 入信號(hào)X轉(zhuǎn)換為16比特整^t值信號(hào)的過(guò)程的圖14C是用于圖解將已經(jīng)從16比特整數(shù)值信號(hào)得到的、浮點(diǎn)格式的輸 入信號(hào)X轉(zhuǎn)換為16比特整數(shù)值信號(hào)的過(guò)程的圖;圖15A是示出在圖9A所示的情況中可以是非零的尾數(shù)的比特范圍的圖15B是示出在圖9B所示的情況中可以是非零的尾數(shù)的比特范圍的圖16是根據(jù)本發(fā)明第四實(shí)施例的編碼器的功能圖17是根據(jù)本發(fā)明第四實(shí)施例的解碼器的功能圖18是用于圖解通過(guò)在時(shí)間軸方向上掃描尾數(shù)的比特而對(duì)尾數(shù)進(jìn)行編
碼的過(guò)程的圖19示出執(zhí)行圖18所示的編碼的壓縮部分17的配置;
圖20示出可以解碼圖19所示的編碼的解碼器中的擴(kuò)展部分23的配置;
圖21是用于圖解在時(shí)間軸方向上掃描比特的另 一種方式的圖22是用于圖解在時(shí)間軸方向上掃描比特的另 一種方式的圖23是用于圖解在時(shí)間軸方向上掃描比特的另 一種方式的圖24是用于圖解在時(shí)間軸方向上掃描比特的方式的圖,其中每個(gè)由能夠
取非零的比特構(gòu)成的比特序列的LSB彼此對(duì)齊;
圖25示出根據(jù)本發(fā)明第六實(shí)施例的編碼器中的壓縮部分17的配置; 圖26示出根據(jù)本發(fā)明第六實(shí)施例的解碼器中的擴(kuò)展部分23的配置; 圖27示出根據(jù)本發(fā)明第七實(shí)施例的編碼器中的壓縮部分17的配置; 圖28示出根據(jù)本發(fā)明第七實(shí)施例的解碼器中的擴(kuò)展部分23的配置; 圖29是示出圖27所示的壓縮部分17的修改的圖; 圖30示出可以取代圖11所示的編碼器中的壓縮部分17和131而^f吏用的
機(jī)構(gòu);
圖31示出將圖10所示的解碼器中的擴(kuò)展部分23和231、選擇部分233 和輔助解碼部分234替換以便使解碼器適合于并入圖30所示的機(jī)構(gòu)的編碼器 的機(jī)構(gòu);
圖32示出浮點(diǎn)輸入和從浮點(diǎn)輸入的刪截(truncation)產(chǎn)生的整數(shù)值之間的
關(guān)系;
圖33示出浮點(diǎn)輸入和從浮點(diǎn)輸入的舍入(rounding)產(chǎn)生的整數(shù)值之間的
關(guān)系;
圖34示出浮點(diǎn)輸入和從浮點(diǎn)輸入的修改的舍入產(chǎn)生的整數(shù)值之間的關(guān)
系;
圖35示出圖11所示的編碼器的修改;
圖36示出了在其上實(shí)現(xiàn)本發(fā)明的計(jì)算機(jī)的配置;圖37示出按照IEEE-754的32比特浮點(diǎn)表示的格式。
具體實(shí)施例方式
雖然本發(fā)明也可以應(yīng)用到圖像信號(hào)、聲音信號(hào)等,但是將主要針對(duì)本發(fā) 明被應(yīng)用到音樂(lè)信號(hào)的實(shí)施例來(lái)進(jìn)行以下描述。另外,雖然可以使用各種浮 點(diǎn)格式,但是將在使用按照IEEE-754標(biāo)準(zhǔn)的32比特浮點(diǎn)格式的々支設(shè)下進(jìn)行 以下描述。
圖1是根據(jù)本發(fā)明實(shí)施例的編碼器的功能配置。根據(jù)此實(shí)施例的編碼器 包括分析和選"^部分100、單信號(hào)編碼部分120、雙信號(hào)編碼部分IIO、輔助 編碼部分103和輸出部分104。分析和選4奪部分100包括效率估計(jì)部分101 和選擇部分102。雙信號(hào)編碼部分110包括整數(shù)4各式化部分12、壓縮部分13 和17以及差產(chǎn)生部分14。
例如,信號(hào)源IO輸出具有32比特浮點(diǎn)格式的輸入數(shù)字信號(hào)樣本序列X 的形式的音樂(lè)信號(hào)樣本序列。通過(guò)對(duì)以24比特整數(shù)格式記錄的原始信號(hào)執(zhí)行 諸如變換、幅度調(diào)整、效果增加和混合之類的處理,并將具有作為處理結(jié)果 的小數(shù)(fractional)部分的所得到的信號(hào)轉(zhuǎn)換為浮點(diǎn)格式,來(lái)產(chǎn)生輸入信號(hào)樣本 序列X,或者,通過(guò)將以24比特整數(shù)格式記錄的原始信號(hào)轉(zhuǎn)換為32比特的 浮點(diǎn)格式,并且對(duì)所得到的信號(hào)執(zhí)行如上所述的這種處理,來(lái)產(chǎn)生輸入信號(hào) 樣本序列X。輸入信號(hào)樣本序列X被幀形成部分11劃分為幀,每個(gè)幀中包含 一定數(shù)量的樣本,例如1024個(gè)樣本。輸入信號(hào)樣本序列可以被劃分為超幀 (super-frame),每個(gè)超幀包含16至32個(gè)幀,或者每個(gè)所得到的幀可以被細(xì)分 為一半或四分之一。僅僅有必要的是,將輸入信號(hào)樣本序列劃分為一定數(shù)量 樣本的組,并且這種樣本組將被一般地稱為幀。
輸入信號(hào)樣本序列X被分析和選擇部分100分析,然后被傳遞給雙信號(hào) 編碼部分IIO和單信號(hào)編碼部分120中的任何一個(gè),所述雙信號(hào)編碼部分110 分別無(wú)損地壓縮編碼整數(shù)值和其誤差,所述單信號(hào)編碼部分120直接無(wú)損地 壓縮編碼輸入信號(hào)樣本序列X。在分析和選擇部分100中,例如,輸入信號(hào) 樣本序列X被輸入到效率估計(jì)部分101,在此,平均部分101a計(jì)算相關(guān)幀的 平均幅度,并且確定部分101b確定平均幅度是否等于或大于預(yù)定值,并且基 于確定結(jié)果來(lái)控制選擇部分102。如果平均幅度被確定為等于或大于預(yù)定值,則將所述幀的輸入信號(hào)樣本序列X提供給雙信號(hào)編碼部分110,或者如果平 均幅度被確定為小于預(yù)定值,則將所述幀的輸入信號(hào)樣本序列X提供給單信 號(hào)編碼部分120。
例如,如果用16比特二進(jìn)制數(shù)來(lái)表示輸入信號(hào)樣本序列X中的每個(gè)樣 本的整數(shù)部分,則被用作確定部分101b中的確定標(biāo)準(zhǔn)的預(yù)定值是8比特的值。 該預(yù)定值隨著上述整數(shù)值而改變,并且基于輸入信號(hào)樣本序列的特性而對(duì)其 進(jìn)行選擇,以便提高整個(gè)壓縮效率。
在雙信號(hào)編碼部分110中,浮點(diǎn)格式的信號(hào)樣本序列X被輸入到整數(shù)格 式化部分12,并在樣本的基礎(chǔ)上被轉(zhuǎn)換為整數(shù)格式的信號(hào)樣本序列Y。如上 所述,在上述示例中,常常通過(guò)諸如變換、幅度調(diào)整和效果增加之類的處理 來(lái)從24比特整數(shù)格式的原始信號(hào)得到數(shù)字信號(hào)樣本X,使得信號(hào)幅度通常不 會(huì)顯著變化。因此,整數(shù)格式化部分12可以僅僅通過(guò)舍入、刪截或上舍入小 數(shù)部分而將信號(hào)樣本序列X轉(zhuǎn)換為整數(shù)格式。
作為示例,將參照?qǐng)D2來(lái)說(shuō)明刪截。雖然整數(shù)格式的數(shù)字的數(shù)量可以是 16比特、20比特等,但是將在使用24比特整數(shù)格式的假設(shè)下進(jìn)行以下描述。
為了以浮點(diǎn)格式表示波形,可以進(jìn)行歸一化,使得將32768(=215)的整數(shù) 值歸一化為1.0,或者將2"的整數(shù)值歸一化為1.0。但是,這些情況與下述情 況區(qū)別僅在于指數(shù)的值,而不具有本質(zhì)區(qū)別。
例如,如果指數(shù)值E是147,則在其較高階一側(cè)臨近小數(shù)點(diǎn)的比特是從 尾數(shù)中的MSB起的第20(147-120=20)比特。如圖2A所示,在23比特的尾數(shù) M中的最高有效的20比特(MO對(duì)應(yīng)于跟隨在符號(hào)和幅度二進(jìn)制表示法中的整 數(shù)部分的最高有效的"1"之后的部分,并且尾數(shù)M中的剩余的3個(gè)最低有 效比特(M2)對(duì)應(yīng)于在小數(shù)點(diǎn)下的小數(shù)部分。在下面,部分M!將被稱為尾數(shù)M 的整數(shù)部分。因此,如圖2B所示,如果尾數(shù)M向最低有效比特位置移動(dòng)3 位,使得尾數(shù)的整數(shù)部分(M,)中的最低有效比特被定位在整個(gè)23比特的尾數(shù)
中的最低有效比特處,則發(fā)生小數(shù)點(diǎn)下的這三個(gè)比特(M2)的溢出,因此截去
這三個(gè)比特。然后,在已經(jīng)通過(guò)這種移位而使得未被占據(jù)的最高有效的三位 (在本示例中是"000")中的最低有效比特(即,從最低有效比特起的第21比 特)被設(shè)置為1,其對(duì)應(yīng)于表達(dá)式(l)中的"1.M"的'T,,由此提供被刪截的 整數(shù)值(見(jiàn)圖2C)?;蛘?,可以在移位之前在所述23比特中的最高有效比特之 前增加"1",并且可以將所得到的24比特移動(dòng)3位。
16此外,將所得到的整數(shù)值轉(zhuǎn)換為二的補(bǔ)碼表示法。即,浮點(diǎn)格式的每個(gè) 信號(hào)樣本序列X的符號(hào)比特S被按原樣用作最高有效比特,而對(duì)于其它23
比特,如果符號(hào)S是"0"(正),則按原樣使用圖2C所示的23比特,而如果 符號(hào)S是'T,(負(fù)),則將這23比特如圖2D所示邏輯反轉(zhuǎn),即將值"0"和
"1"互換,然后,向最低有效比特加"1"。作為最高有效比特,符號(hào)比特S 被按原樣使用。以這種方式,獲得以補(bǔ)碼表示法表示的24比特整數(shù)格式的信 號(hào)樣本序列Y,如圖2E所示。
已經(jīng)在尾數(shù)M包含對(duì)應(yīng)于小數(shù)部分的0或更多比特、并且將浮點(diǎn)才各式的 32比特?cái)?shù)字信號(hào)樣本轉(zhuǎn)換為整數(shù)格式的24比特?cái)?shù)字信號(hào)樣本的假設(shè)下一般 地進(jìn)行了上述描述。但是,例如,在混合24比特整數(shù)格式的多個(gè)原始信號(hào)以 進(jìn)行處理的情況下, 一個(gè)樣本可具有比可由24比特表示的最大值大得多的幅 度值。在E^150的這種情況下,作為例外處理,在上述示例中將指數(shù)E的值 固定到150(E=127+23=150),將例夕卜(exception)信號(hào)y提供給差產(chǎn)生部分14, 并將作為在其頂部增加了 "1"的尾數(shù)M的"1M"的最高有效23比特轉(zhuǎn)換 為二的補(bǔ)碼表示法,以產(chǎn)生24比特整數(shù)格式的信號(hào)樣本序列Y。
整數(shù)格式化部分12執(zhí)行例如圖3所示的處理。首先,檢查是否指數(shù)E 等于或大于150、即整數(shù)部分由23或更多比特構(gòu)成(S1)。如果整數(shù)部分由少 于23比特構(gòu)成,則數(shù)字計(jì)算部分12A確定尾數(shù)的整數(shù)部分的數(shù)字的數(shù)量 n(i^E-E。)并輸出結(jié)果(S2)。然后,將尾數(shù)M向最低有效位置移動(dòng)(23-n)位, 以使得發(fā)生小數(shù)部分溢出,并將"1"置于從所得到的由n比特構(gòu)成的整數(shù)部 分的最低有效比特來(lái)看的第(n+l)比特的位置(S3)。然后,將"0"置于在所述 第(n+l)比特之前的剩余比特位置,使得整個(gè)尾數(shù)由23比特構(gòu)成,并且基于 符號(hào)比特S,將所得到的23比特轉(zhuǎn)換為以二的補(bǔ)碼表示法表示的24比特整 數(shù)格式,由此產(chǎn)生整數(shù)格式的信號(hào)樣本Y(S4)。
具體地說(shuō),將符號(hào)比特S按原樣用作最高有效比特,而對(duì)于剩余的23 比特,如果符號(hào)S是"0"(正),則按原樣使用從步驟S3中的移位并向從最 低有效比特起的第(n+l)比特增加"1"而產(chǎn)生的整數(shù)部分的、從最低有效比 特到第23比特的比特,而如果符號(hào)S是"1"(負(fù)),則將從所述移位和增加
"1"產(chǎn)生的整數(shù)部分的、從最低有效比特到第23比特的比特反轉(zhuǎn),并向所 得到的23比特的最低有效比特加"1",以提供采用補(bǔ)碼表示法的值。如果在 步驟S1中指數(shù)E等于或大于150,則在步驟S5將指數(shù)E設(shè)置在150,然后
17在步驟S4從"1M"的最高有效的23比特產(chǎn)生整數(shù)格式的信號(hào)樣本Y。
在以上描述中,尾數(shù)M被移動(dòng)(23-n)位,以提供采用符號(hào)和幅度二進(jìn)制 表示法的24比特絕對(duì)值樣本?;蛘?,可以提取在圖2A中被示出為M,的尾 數(shù)M的最高有效的n個(gè)比特(i^E-Eo),在所述n個(gè)比特的前部增加T,以 產(chǎn)生圖2C所示的比特?cái)?shù)量(n+l),在所述(n+l)比特的前部增加(22-n)個(gè)"0" 以產(chǎn)生比特?cái)?shù)量23,并隨后在所述23比特的前部增加符號(hào)比特S,以產(chǎn)生比 特?cái)?shù)量24。
在壓縮部分13中,使用波形等的相關(guān)性、通過(guò)有效的無(wú)損壓縮方法,將 如上所述由整數(shù)格式化部分12產(chǎn)生的整數(shù)值信號(hào)樣本序列Y作為整數(shù)值壓 縮編碼,然后其作為碼序列Ca輸出。例如,如上述非專利文獻(xiàn)l中公開(kāi)的那 樣,通過(guò)確定在每個(gè)樣本的值和預(yù)測(cè)值(整數(shù)值)之間的差,如在"背景技術(shù)" 部分所述的那樣變換這種差的序列的比特排列,并隨后對(duì)所得到的序列、即 同位比特序列執(zhí)行熵編碼,可以實(shí)現(xiàn)壓縮部分13中的無(wú)損壓縮。也就是說(shuō), 整數(shù)值信號(hào)樣本序列Y接近從中得到來(lái)自信號(hào)源11的輸入信號(hào)樣本序列X 的原始模擬信號(hào)波形。因此,可以通過(guò)經(jīng)由預(yù)測(cè)或變換消除由于信號(hào)樣本之 間的相關(guān)性而導(dǎo)致的冗余來(lái)有效地?zé)o損壓縮編碼輸入信號(hào)樣本序列X。
差產(chǎn)生部分14產(chǎn)生差信號(hào)(誤差)Z,其指示在整數(shù)值信號(hào)樣本Y和對(duì)應(yīng) 的來(lái)自信號(hào)源11的浮點(diǎn)格式的輸入信號(hào)樣本X之間的差。在這個(gè)示例中,浮 點(diǎn)格式化部分15將整數(shù)值信號(hào)樣本Y再次轉(zhuǎn)換為浮點(diǎn)格式的信號(hào)樣本Y,, 并且加法部分16從浮點(diǎn)格式的原始輸入信號(hào)樣本X中減去所得到的浮點(diǎn)格 式的信號(hào)樣本Y,,由此產(chǎn)生浮點(diǎn)格式的差數(shù)字信號(hào)Z。
在整數(shù)格式的數(shù)字信號(hào)樣本由24比特構(gòu)成的情況下,浮點(diǎn)格式化部分 15可以將數(shù)字信號(hào)轉(zhuǎn)換為32比特浮點(diǎn)格式的輸入信號(hào),而沒(méi)有任何模糊或 例外。如上所述,浮點(diǎn)格式的原始信號(hào)樣本序列X的指數(shù)E有可能等于或小 于149,并且在這種情況下,指示在信號(hào)樣本序列Y,中的樣本和浮點(diǎn)格式的 原始輸入信號(hào)樣本序列X中的樣本之間的差的差信號(hào)樣本Z等于原始輸入信 號(hào)樣本序列X中的樣本的小數(shù)部分的值。
以上關(guān)于差產(chǎn)生部分14的描述僅僅意欲幫助理解本發(fā)明,并且實(shí)際上, 不必將整數(shù)值信號(hào)樣本序列Y轉(zhuǎn)換為浮點(diǎn)格式。輸入樣本序列X及其尾數(shù)的 整數(shù)部分的數(shù)字?jǐn)?shù)量n被輸入到差產(chǎn)生部分14,并且如果沒(méi)有提供例外信號(hào) y,則將在浮點(diǎn)格式的輸入樣本序列X中的每個(gè)樣本的尾數(shù)M的符號(hào)S、指數(shù)E和(23-n)個(gè)最低有效比特分別用作每個(gè)差信號(hào)樣本Z的尾數(shù)的符號(hào)S、指 數(shù)E和(23-n)個(gè)最低有效比特,并且將所述尾數(shù)的剩余的最高有效的n個(gè)比特 全部設(shè)置為"0"。所述尾數(shù)的整數(shù)部分的數(shù)字?jǐn)?shù)量n(『E-E。)等于跟隨在整數(shù) 值信號(hào)樣本序列Y中的對(duì)應(yīng)樣本的最高有效的"1"之后的數(shù)字?jǐn)?shù)量。由于 整數(shù)值信號(hào)樣本的比特長(zhǎng)度是固定的,因此當(dāng)確定在最高有效的"1"之前的 數(shù)字?jǐn)?shù)量時(shí),尾數(shù)的整數(shù)部分的數(shù)字?jǐn)?shù)量也被確定。也就是說(shuō),如果查明了 整數(shù)值信號(hào)樣本中的最高有效的"1"的位置,則也可以查明對(duì)應(yīng)的浮點(diǎn)信號(hào) 樣本的尾數(shù)的整數(shù)部分的數(shù)字?jǐn)?shù)量。如果提供了例外信號(hào)y,則差信號(hào)樣本Z 的符號(hào)由輸入樣本的符號(hào)S構(gòu)成,差信號(hào)樣本Z的指數(shù)被設(shè)置為E-150,并 且差信號(hào)樣本Z的尾數(shù)由輸入樣本序列X的尾數(shù)和信號(hào)樣本序列Y,之間的差 構(gòu)成。
壓縮部分17對(duì)浮點(diǎn)格式的對(duì)于整數(shù)值信號(hào)樣本序列Y和輸入樣本序列 X的每個(gè)樣本組合的差信號(hào)Z、即來(lái)自差產(chǎn)生部分14的浮點(diǎn)格式的差信號(hào)Z 執(zhí)行無(wú)損壓縮編碼,并輸出碼序列Cb。例如,壓縮部分17使用從整數(shù)格式 化部分12輸出的尾數(shù)的整數(shù)部分的數(shù)字?jǐn)?shù)量n,來(lái)僅僅對(duì)每個(gè)樣本可以取除 了 "0"以外的值的、浮點(diǎn)格式的差信號(hào)Z中的數(shù)字執(zhí)行無(wú)損壓縮編碼。浮點(diǎn) 格式的輸入樣本序列X中的每個(gè)樣本表示如下
X=l.Mx2n=Xw.XF
如果Xv^lM《其前部被加上"1"的Mt)指示采用二進(jìn)制表示法的整數(shù)部 分,并且X產(chǎn)Mp指示小數(shù)部分,則對(duì)應(yīng)于尾數(shù)M中的整數(shù)部分M!的比特和 對(duì)應(yīng)于小數(shù)部分(小數(shù)值)mf的比特彼此相關(guān),如圖4所示。在此圖中,尾數(shù) M被示出為包括在表達(dá)式(l)中的M的前部的一個(gè)比特的24比特值,并且為 方便起見(jiàn)示出了采用符號(hào)和幅度二進(jìn)制表示法的小數(shù)點(diǎn)Pd的位置。
當(dāng)整數(shù)部分的絕對(duì)值Xw是0時(shí),表達(dá)式(l)可以被分類為兩種情況 E-EQ=-127的情況;和-126^E-E^-l的情況。前一種情況是E=0的特殊情況, 其中,尾數(shù)M的所有23個(gè)比特"x23...Xl"枸成小數(shù)部分Mf,并且輸入信號(hào) 樣本序列X中的樣本的尾數(shù)的23個(gè)比特被定義為全"0"。在-126^E-E^-l 的情況中,尾數(shù)組成小數(shù)部分,但其所有比特不全是"0"。在任何情況下, 在E-Eo取負(fù)值的情況中,整數(shù)值信號(hào)樣本序列Y中的樣本的所有比特都是 "0",并且差信號(hào)Z與輸入信號(hào)樣本序列X中的樣本相同,使得浮點(diǎn)格式的 信號(hào)樣本序列X中的樣本的所有32個(gè)比特將被編碼。
19當(dāng)所述整數(shù)值的絕對(duì)值Xw是1時(shí),在比尾數(shù)M的第23比特高一比特 的位置處的比特'T,(以下稱為第24比特)表示整數(shù)值Xw,并且尾數(shù)M的 23比特"x23...Xl"表示小數(shù)部分Mf。
當(dāng)所述整數(shù)值的絕對(duì)值Xw是2至3時(shí),由第24比特"1"和第23比特
x23組成的兩個(gè)比特"1X23"表示整數(shù)值Xw,其中,比特x23表示尾數(shù)M中的
整數(shù)部分Mp而剩余的22比特"x22…x,"表示小數(shù)部分Mf。
當(dāng)絕對(duì)值Xw是4至7時(shí),由第24比特"1"、第23比特乂23和第22比 特x22組成的三個(gè)比特"lx23x22"表示整數(shù)值Xw,其中,比特"x23x22"表示 尾數(shù)M中的整數(shù)部分Mp而剩余的21比特"x21...xr表示小數(shù)部分Mf。
當(dāng)絕對(duì)值Xw是2"至2、1時(shí),由第24比特'T和比特"x23...x23-(k-2),, 組成的k個(gè)比特表示整數(shù)值Xw,其中,比特"x23x22...x23-(k-2),,表示尾數(shù)M 中的整數(shù)部分M!,而剩余的(23-k)比特"x23余o…x ,表示小數(shù)部分Mf。
由于通過(guò)從32比特浮點(diǎn)格式的輸入樣本序列X中減去從整數(shù)值信號(hào)樣 本序列Y轉(zhuǎn)換的32比特浮點(diǎn)格式的樣本序列Y,而產(chǎn)生差信號(hào)Z,因此差信 號(hào)Z如圖5所示。在對(duì)應(yīng)于E-Eo取負(fù)值的上述情況的絕對(duì)值Xw是0的情況 下,差信號(hào)Z的符號(hào)S、指數(shù)E和尾數(shù)M全部與輸入樣本X的那些相同。
在所述整數(shù)值的絕對(duì)值Xw是1的情況下,樣本序列Y,中的樣本的符號(hào) S和指數(shù)E與樣本序列X中的對(duì)應(yīng)樣本的那些相同,并且所述樣本的尾數(shù)M 是0。在這種情況下,也執(zhí)行指數(shù)的相減。因此,差信號(hào)Z的符號(hào)S和指數(shù)E 總是與樣本序列X中的對(duì)應(yīng)樣本的那些、即分別為0和0相同,并且差信號(hào) Z的尾數(shù)M與樣本序列X中的樣本的尾數(shù)M相同。
在整數(shù)值Xw是2至3的情況中,樣本Y,的符號(hào)S和指數(shù)E與樣本X的 那些相同,而對(duì)于樣本Y,的尾數(shù)M,其第23比特x23與樣本X的尾數(shù)M的 相同,并且構(gòu)成其小數(shù)部分"x22...Xl"的比特全部是"0"。因此,差信號(hào)的 符號(hào)S和指數(shù)E總是O,尾數(shù)M中的最高有效比特(第23比特)總是0,并且, 構(gòu)成小數(shù)部分"x22...Xl"的剩余比特與樣本X的各個(gè)對(duì)應(yīng)比特相同,并根據(jù) 樣本X而變化。
類似地,在樣本X的整數(shù)值Xw是2k"到2k-l的情況下,差信號(hào)Z的符 號(hào)S和指數(shù)E總是O,而對(duì)于其尾數(shù)M,對(duì)應(yīng)于樣本X的尾數(shù)M的整數(shù)部分 的最高有效(k-l)比特"x23...x23.(k-2),,總是0,并且剩余的23-(k-l)比特 "x23.(k.i)...xr與樣本X的尾數(shù)M的各個(gè)對(duì)應(yīng)比特相同,并根據(jù)樣本X而變
20化。以這種方式,根據(jù)整數(shù)格式的信號(hào)樣本序列Y的整數(shù)值的范圍、即整數(shù)
值的數(shù)字?jǐn)?shù)量n+l,確定可以是非0的差信號(hào)Z的數(shù)字?jǐn)?shù)量h(h=23-n)。
由于這種關(guān)系,壓縮部分17使用從整數(shù)格式化部分12輸入的尾數(shù)的整 數(shù)部分的數(shù)字?jǐn)?shù)量n,來(lái)僅僅對(duì)浮點(diǎn)格式的差信號(hào)Z中可以是非0的最低有 效的h(h-23-n)比特執(zhí)行無(wú)損壓縮編碼。也就是說(shuō),如果尾數(shù)的整數(shù)部分的數(shù) 字?jǐn)?shù)量n是O,則對(duì)指數(shù)E和尾數(shù)M的所有比特進(jìn)行無(wú)損壓縮編碼,而如果 數(shù)字?jǐn)?shù)量n不是0(n#0),則僅對(duì)尾數(shù)M的最低有效的h(1^23-n)比特進(jìn)行無(wú)損 壓縮編碼。由以上描述將理解可以通過(guò)向差產(chǎn)生部分14輸入輸入信號(hào)樣本 X和尾數(shù)的整數(shù)部分的數(shù)字?jǐn)?shù)量n來(lái)產(chǎn)生差信號(hào)Z。
如上所述,當(dāng)輸入信號(hào)樣本序列X中的樣本的表達(dá)式(l)中的E-Eo的值 是從-127到0時(shí),差信號(hào)Z與輸入信號(hào)樣本X相同。因此,壓縮部分17將 輸入信號(hào)樣本X的32個(gè)比特編碼為差信號(hào)Z。當(dāng)E-EQ的值是1到22時(shí),在 差信號(hào)樣本序列2(=21,22,23,...)如圖6所示的情況下,例如,除了 n^)的情況 之外,僅對(duì)由可以是非0的比特構(gòu)成的部分Mo進(jìn)行編碼??梢酝ㄟ^(guò)可以是 非0的h比特的諸如霍夫曼編碼之類的熵編碼、或通過(guò)全部比特的通用編碼, 來(lái)實(shí)現(xiàn)可以是非0的比特的編碼。也就是說(shuō),僅僅圖6的陰影部分可以被適 當(dāng)?shù)胤纸M為樣本或幀,并在樣本的基礎(chǔ)上或在幀的基礎(chǔ)上被簡(jiǎn)單地?zé)o損壓縮 編碼,例如被熵編碼。由于包含能夠取非0的比特的每個(gè)樣本的部分Md的 數(shù)字?jǐn)?shù)量(比特?cái)?shù)量)h被確定為h=(23-n),因此即使每個(gè)幀中的所有部分MD 被編碼為一系列比特序列,也可以根據(jù)在每個(gè)樣本中能夠取非0的比特?cái)?shù)量 h來(lái)再次分離在解碼器一側(cè)解碼的這一系列的比特序列。
作為整數(shù)格式的信號(hào)樣本序列Y的編碼結(jié)果,在碼Ca中包含符號(hào)S, 因此,當(dāng)對(duì)差信號(hào)Z進(jìn)行編碼時(shí),沒(méi)有必要編碼和發(fā)送符號(hào)S。另外,由于 可以在接收機(jī)一側(cè)從跟隨在整數(shù)值信號(hào)樣本序列Y中的每個(gè)樣本的、除符號(hào) 比特以外的最高有效的"I"之后的比特?cái)?shù)量n來(lái)確定n^E-Eo),因此不必發(fā) 送比特?cái)?shù)量n。
差信號(hào)Z有時(shí)具有大量跟隨在小數(shù)點(diǎn)之后的數(shù)字,并且在這種情況下, 可能降低編碼效率。因此,在圖l所示的實(shí)施例中,將從差信號(hào)Z中能夠取 非0的比特的編碼得到的碼序列的信息量與不被編碼的、能夠取非0的比特 的信息量進(jìn)行比較,并且如果后一信息量更小,則可以將能夠取非O的比特 輸出為碼序列Cb而不被編碼。或者,在對(duì)其所有比特進(jìn)行編碼的情況和不執(zhí)行編碼的情況之間,比較差信號(hào)樣本Z的信息量,并且可以選擇較小信息量 的差信號(hào)Z。
如上所述,在浮點(diǎn)格式的信號(hào)樣本序列X的尾數(shù)E保持E2150的例外情 況中,整數(shù)格式化部分12向差產(chǎn)生部分14提供例外信號(hào)y,其指示指數(shù)E 被固定為150,并且差產(chǎn)生部分14產(chǎn)生浮點(diǎn)格式的差信號(hào)Z,其指數(shù)由固定 指數(shù)值150和信號(hào)樣本序列X中的樣本的指數(shù)E之間的差(E-150)構(gòu)成,并且 其尾數(shù)由尾數(shù)M中的差構(gòu)成。壓縮部分17無(wú)損地壓縮編碼差信號(hào)Z,并輸 出所得到的碼序列Cb。
如圖l所示,在單信號(hào)編碼部分120中,浮點(diǎn)格式的輸入信號(hào)樣本序列 X在壓縮部分121中被直接無(wú)損壓縮編碼,并且從其輸出為碼序列Cc。可以 通過(guò)例如8比特通用編碼來(lái)實(shí)現(xiàn)無(wú)損壓縮編碼。分析和選擇部分100中的輔 助編碼部分103對(duì)關(guān)于選擇了雙信號(hào)編碼部分110和單信號(hào)編碼部分120的 哪一個(gè)的輔助信息進(jìn)行編碼,并將該信息作為輔助碼Cd輸出。將碼序列Ca 和Cb以及輔助碼Cd、或者碼序列Cc和輔助碼Cd從輸出部分104輸出,以
將其發(fā)送或記錄在記錄介質(zhì)中。
圖7示出了與圖1所示的編碼器相關(guān)的j艮據(jù)本發(fā)明的解碼器的實(shí)施例。
在輸入端201處輸入碼序列,并且輔助碼提取部分202從碼序列的每個(gè) 幀提取輔助碼Cd。根據(jù)輔助碼Cd來(lái)控制分離部分203。如果輔助碼Cd指示 雙信號(hào)編碼,則分離部分203分離經(jīng)由輸入端201接收的碼序列Ca和Cb, 并向雙信號(hào)解碼部分210傳送所述碼序列,或者如果輔助碼Cd指示單信號(hào)編 碼,則分離部分203將碼序列Cc從經(jīng)由輸入端接收的碼序列分離,并向單信 號(hào)解碼部分220傳送碼序列Cc。
輸入雙信號(hào)解碼部分210的輸入碼序列Ca在擴(kuò)展部分21中^C無(wú)損地?cái)U(kuò) 展解碼。這一無(wú)損擴(kuò)展解碼對(duì)應(yīng)于圖1所示的壓縮部分13中執(zhí)行的無(wú)損壓縮 編碼,并用于執(zhí)行無(wú)損壓縮編碼的逆處理。因此,這種無(wú)損擴(kuò)展解碼產(chǎn)生24 比特整數(shù)格式的數(shù)字信號(hào)樣本序列Y。另外,擴(kuò)展部分21中的數(shù)字?jǐn)?shù)量計(jì)算 部分21A將在每個(gè)擴(kuò)展解碼的樣本中跟隨在最高有效的"1"之后的數(shù)字?jǐn)?shù) 量n確定為浮點(diǎn)格式的對(duì)應(yīng)數(shù)字信號(hào)的尾數(shù)的整數(shù)部分的數(shù)字?jǐn)?shù)量n,并輸 出數(shù)字?jǐn)?shù)量n。該數(shù)字?jǐn)?shù)量n被輸入到擴(kuò)展部分23。
擴(kuò)展部分23無(wú)損地?cái)U(kuò)展解碼輸入碼序列Cb。這種無(wú)損擴(kuò)展解碼對(duì)應(yīng)于 在圖1所示的壓縮部分17中執(zhí)行的無(wú)損壓縮編碼。因此,在擴(kuò)展部分23中,組配(assembly)部分23A根據(jù)數(shù)字?jǐn)?shù)量n,將擴(kuò)展解碼后的比特的序列組配為 對(duì)于每個(gè)樣本的32比特浮點(diǎn)格式的差(誤差)數(shù)字信號(hào),并將所得到的數(shù)字信 號(hào)作為差信號(hào)Z輸出。
根據(jù)從擴(kuò)展部分21提供的幀中的第一樣本的數(shù)字?jǐn)?shù)量n,如果第一樣本 的比特?cái)?shù)量n不保持n-O,則組配部分23A從由擴(kuò)展部分23擴(kuò)展解碼的比特 序列的23比特尾數(shù)M提取最低有效的h(h-23-n)比特,并將所提取的h比特 組配為32比特浮點(diǎn)格式的差信號(hào)zp其由圖6所示的第一樣本21的陰影部分 構(gòu)成。將符號(hào)S的1比特和指數(shù)E的8比特全部設(shè)置為0,并且構(gòu)成對(duì)應(yīng)于 圖6示出的整數(shù)部分的尾數(shù)M的部分Mi的所有比特設(shè)置為0。對(duì)于下一個(gè) 樣本,根據(jù)數(shù)字?jǐn)?shù)量n(n邦),從擴(kuò)展解碼后的比特序列提取h(h-23-n)比特, 以形成32比特浮點(diǎn)格式的差信號(hào)Z。類似地,圖6示出的樣本序列z2、 z3、... 被連續(xù)組配和輸出。如果它保持n=0,則從擴(kuò)展解碼后的比特序列中提取指 數(shù)E的8比特和尾數(shù)M的23比特,并將其組配為浮點(diǎn)格式的數(shù)字信號(hào)。解 碼后的差信號(hào)Z的符號(hào)比特S總是O,除了『0的情況之外,其指數(shù)E的比 特總是O,其尾數(shù)M的最低有效的h(h-23-n)比特可以是非0的,并且其尾數(shù) M的剩余比特總是O。因此,在嚴(yán)格的意義上,所述差信號(hào)不是采用浮點(diǎn)表 示法。但是,在本說(shuō)明書中,將所述差信號(hào)稱為浮點(diǎn)格式的差信號(hào)。
浮點(diǎn)格式化部分22將來(lái)自擴(kuò)展部分21的24比特整數(shù)格式的信號(hào)樣本序 列Y轉(zhuǎn)換為32比特浮點(diǎn)格式的單樣本序列Y,。組合部分24將信號(hào)樣本序列 Y,中的樣本與來(lái)自擴(kuò)展部分23的浮點(diǎn)格式的各個(gè)差信號(hào)Z組合,以再現(xiàn)浮點(diǎn) 格式的信號(hào)樣本序列X。所再現(xiàn)的信號(hào)樣本序列X中的每個(gè)樣本的符號(hào)與信 號(hào)樣本序列Y,中的對(duì)應(yīng)樣本的符號(hào)相同、即與解碼后的整數(shù)格式的信號(hào)樣本 序列Y中的對(duì)應(yīng)樣本的符號(hào)相同。除了 n=0的情況之外,樣本序列X中的每 個(gè)樣本的指數(shù)E與信號(hào)樣本序列Y'中的對(duì)應(yīng)樣本的指數(shù)E相同,樣本序列X 中的每個(gè)樣本的尾數(shù)M的最高有效的n(n-23-h)比特與信號(hào)樣本序列Y,中的 對(duì)應(yīng)樣本的尾數(shù)M的最高有效的n比特相同,并且樣本序列X中的每個(gè)樣本 的剩余的最低有效的h(h-23-n)比特與差信號(hào)Z的最低有效的h比特相同。
通過(guò)對(duì)應(yīng)于在圖1所示的壓縮部分121中執(zhí)行的壓縮處理的無(wú)損擴(kuò)展解 碼處理,將輸入到單信號(hào)解碼部分220的碼序列Cc直接解碼為浮點(diǎn)格式的原 始信號(hào)樣本序列X。
幀組合部分205將由雙信號(hào)解碼部分210和單信號(hào)解碼部分220解碼的
23浮點(diǎn)格式的信號(hào)樣本序列X依序組合為浮點(diǎn)格式的信號(hào)樣本序列。 P奮改的實(shí)施例]
圖8示出了圖1所示的編碼器的修改的實(shí)施例。該編碼器不使用圖1所 示的分析和選擇部分100。在這種情況下,雙信號(hào)編碼部分110和單信號(hào)編
碼部分120均對(duì)輸入信號(hào)樣本序列X進(jìn)行編碼,并分別將碼序列Ca和Cb以 及碼序列Cc輸入分析和選4奪部分100,,在分析和選擇部分IOO,中,通過(guò)效 率計(jì)算部分100c來(lái)計(jì)算每個(gè)幀的壓縮效率。例如,對(duì)于每組碼序列Ca和Cb 以及碼序列Cc,計(jì)算相關(guān)幀的總碼長(zhǎng)度,并且比較和確定部分100d將總碼 長(zhǎng)度相互比較,并將較短總碼長(zhǎng)度的碼序列確定為以較高效率壓縮的碼序列。 確定結(jié)果被傳送給輔助編碼部分103,并且輔助編碼部分產(chǎn)生碼Cd。另外, 根據(jù)比較結(jié)果來(lái)控制輸出部分,并且輸出部分選擇性地輸出碼集(code set)(Ca, Cb,Cd)或碼集(Cc,Cd)。剩余的配置與圖l所示的配置相同,因此將省略對(duì)其 的進(jìn)一步描述。如圖中的虛線所示,可以任選地按原樣輸出差信號(hào)Z,并且 可以輸出其壓縮效率最高的碼集(Ca, Cb, Cd)、 (Ca, Z, Cd)和(Cc, Cd)之一。作 為適合于圖8所示的解碼器,可以按原樣使用圖7所示的解碼器。
在圖1所示的編碼器中,如果壓縮部分17直接無(wú)損地壓縮編碼浮點(diǎn)格式 的差信號(hào)Z,則圖7所示的解碼器中的擴(kuò)展部分23不使用數(shù)字?jǐn)?shù)量n,并直 接解碼浮點(diǎn)格式的差信號(hào)Z。在執(zhí)行這種直接無(wú)損壓縮編碼和解碼的情況下, 整數(shù)格式化部分12可以不僅通過(guò)刪截還可以通過(guò)舍入和上舍入來(lái)執(zhí)行整數(shù) 格式化。
有時(shí)有這樣的情況,其中,為方便起見(jiàn),原始的24比特或16比特的整 數(shù)值PCM信號(hào)被轉(zhuǎn)換為浮點(diǎn)數(shù),以形成要編碼的序列,而不是使用普通浮點(diǎn) 數(shù)信號(hào)來(lái)產(chǎn)生要編碼的序列。在這種特殊浮點(diǎn)序列的情況下,上面參照第一 實(shí)施例描述的可以是非O的比特消失。因此,來(lái)自差產(chǎn)生部分14的浮點(diǎn)格式 的差(誤差)信號(hào)Z的符號(hào)S、指數(shù)E和尾數(shù)M全部是0,并且不必發(fā)送差信 號(hào)Z。在這種情況下,例如,使用兩個(gè)比特作為輔助信息,并且僅僅需要通 知解碼器如果這兩個(gè)比特是"00",則表示原始數(shù)字信號(hào)是16比特整數(shù)值 信號(hào)樣本,如果這兩個(gè)比特是"01",則表示原始數(shù)字信號(hào)是24比特整數(shù)值 信號(hào)樣本,而如果這兩個(gè)比特是"10",則表示原始數(shù)字信號(hào)是除了上述信號(hào) 樣本以外的信號(hào)樣本。為此,在從壓縮部分17輸出的碼序列Ca的前部增加
242比特的輔助信息。只有在前兩種情況下所述2比特的輔助碼作為碼序列Cb 輸出、或者在后一情況下輔助碼與碼序列Cb —起輸出,才可以實(shí)現(xiàn)有效壓縮。 [第二實(shí)施例]
根據(jù)本發(fā)明的第二實(shí)施例,浮點(diǎn)格式的信號(hào)樣本序列X總是被轉(zhuǎn)換為整 數(shù)格式的信號(hào)樣本序列Y。但是,通過(guò)被期望提供較高壓縮效率的兩種無(wú)損 壓縮編碼處理之一來(lái)對(duì)浮點(diǎn)格式的差信號(hào)Z進(jìn)行編碼。具體地說(shuō), 一種是如 參照第一實(shí)施例描述的那樣、根據(jù)整數(shù)格式的信號(hào)樣本序列Y中的每個(gè)樣本 的數(shù)字?jǐn)?shù)量來(lái)僅僅對(duì)浮點(diǎn)格式的差信號(hào)中能夠取非0的比特進(jìn)行無(wú)損編碼的 處理。另一種是直接對(duì)浮點(diǎn)格式的差信號(hào)進(jìn)行無(wú)損壓縮編碼的處理。
圖9示出了根據(jù)第二實(shí)施例的編碼器的功能配置。在該圖中,用與圖1 中的附圖標(biāo)號(hào)相同的附圖標(biāo)號(hào)來(lái)表示對(duì)應(yīng)于圖1示出的部分的部分,并且將 避免對(duì)其描述的重復(fù)(這同樣適用于其它實(shí)施例)。在第二實(shí)施例中,為了對(duì)差 信號(hào)Z進(jìn)行編碼,提供了壓縮部分17,其使用整數(shù)值樣本中跟隨在最高有 效的"1"之后的數(shù)字?jǐn)?shù)量n;以及壓縮部分131,其直接地?zé)o損壓縮編碼浮 點(diǎn)格式的差信號(hào)Z。尾數(shù)M的整數(shù)部分的數(shù)字?jǐn)?shù)量n(整數(shù)值樣本中跟隨在最 高有效的'T,之后的數(shù)字?jǐn)?shù)量)被從整數(shù)格式化部分12輸入分析部分132。 確定部分132a將數(shù)字?jǐn)?shù)量n與參考值相比較,并且根據(jù)比較結(jié)果來(lái)控制選擇 部分133。差信號(hào)Z的尾數(shù)M的最高有效的n比特是"0",并且當(dāng)數(shù)字?jǐn)?shù)量 n增大時(shí),壓縮部分17的壓縮效率增大。因此,如果數(shù)字?jǐn)?shù)量n等于或大于 參考值,則向壓縮部分17提供差信號(hào)Z,或者如果數(shù)字?jǐn)?shù)量n小于參考值, 則向壓縮部分131提供差信號(hào)Z。然后,將對(duì)應(yīng)于由壓縮部分17或131無(wú)損 壓縮編碼的差信號(hào)Z的碼序列Cb或Cb,輸入到輸出部分104。
如果數(shù)字?jǐn)?shù)量n大,即如果幅度大,則如上面參照?qǐng)D5所述,每個(gè)差信 號(hào)樣本Z中能夠取非0的比特?cái)?shù)量h(-23-n)小,因此,可以有效地壓縮差信 號(hào)Z。另一方面,如果數(shù)字?jǐn)?shù)量n小,即如果幅度小,則差信號(hào)Z中能夠取 非0的比特?cái)?shù)量h大,因此,更有利的是使用壓縮部分131,其例如通過(guò)典 型的8比特通用編碼來(lái)無(wú)損壓縮編碼浮點(diǎn)格式的差信號(hào)Z。例如,在每個(gè)差 信號(hào)樣本的23比特尾數(shù)的前部(或后部)加上一個(gè)比特"0",以形成24比特的 比特序列,所述比特序列被劃分為3個(gè)碼元(即編碼單位),每個(gè)碼元包含8 比特,并且每個(gè)8比特碼元被壓縮編碼?;蛘?,可以在8比特的基礎(chǔ)上僅僅 分離在每個(gè)差信號(hào)樣本的尾數(shù)中能夠取非0的比特。如果所述比特的數(shù)量不能被8整除,則向比特序列添加所需數(shù)量的比特"0",將所得到的比特序列 劃分為8比特的碼元,并且對(duì)每個(gè)碼元進(jìn)行壓縮編碼。例如,如果在樣本的
尾數(shù)中能夠取非0的比特?cái)?shù)量是11,則向所述比特序列添加5個(gè)比特"0", 并將所得到的比特序列劃分為兩個(gè)8比特碼元。
例如,如果整數(shù)格式的數(shù)字信號(hào)樣本序列Y的幅度長(zhǎng)度是16比特,則 在確定部分132a中使用的參考值是10。與在第一實(shí)施例中的確定部分101b 中使用的預(yù)定值一樣,根據(jù)各種條件來(lái)確定參考值,以便實(shí)現(xiàn)高壓縮效率。
可以對(duì)每個(gè)樣本進(jìn)行在壓縮部分17和131之間的選擇?;蛘撸梢赃@樣 的方式來(lái)對(duì)于每個(gè)幀進(jìn)行選擇分析部分132中的平均部分132b對(duì)于每個(gè)幀 中的整數(shù)格式的信號(hào)樣本計(jì)算跟隨在最高有效的"1"之后的平均數(shù)字?jǐn)?shù)量n, 并且如果該平均數(shù)等于或大于參考值,則選擇壓縮部分17,或者如果該平均 數(shù)小于參考值,則選擇壓縮部分131。在對(duì)于每個(gè)樣本執(zhí)行在壓縮部分17和 131之間的選擇的情況中,例如,壓縮部分17耦接輸入幀中的每個(gè)所選樣本 中能夠取非O的比特,并且執(zhí)行所耦接的比特的熵編碼。由于可以從在解碼 器一側(cè)解碼的整數(shù)格式的信號(hào)樣本來(lái)確定數(shù)字?jǐn)?shù)量n,因此即使當(dāng)基于數(shù)字 數(shù)量n來(lái)執(zhí)行在壓縮部分17和131之間的選擇時(shí),也不必發(fā)送指示已經(jīng)選擇 了壓縮部分17和131中的哪一個(gè)的輔助碼。
圖IO示出了與圖9所示的編碼器相關(guān)聯(lián)的解碼器的實(shí)施例,其中,用與 圖7中相同的附圖標(biāo)號(hào)來(lái)表示對(duì)應(yīng)于圖7所示的解碼器的那些部分的部分。 被分離部分203分離的碼序列Ca總是被輸入到擴(kuò)展部分21,并被解碼和擴(kuò) 展為整數(shù)格式的信號(hào)樣本序列Y。為了擴(kuò)展碼序列Cb,除了擴(kuò)展部分23之 外,還提供了擴(kuò)展部分231。
將在來(lái)自擴(kuò)展部分21的整數(shù)格式的數(shù)字信號(hào)樣本中跟隨在最高有效的 "1"之后的數(shù)字?jǐn)?shù)量n輸入到分析部分232。分析部分232被配置為與圖9 所示的分析部分132相同。確定部分232a將數(shù)字?jǐn)?shù)量n與參考值相比較,并 且控制選擇部分233,以便如果數(shù)字?jǐn)?shù)量n等于或大于參考值,則向擴(kuò)展 部分23提供碼序列Cb,而如果數(shù)字?jǐn)?shù)量n小于參考值,則向擴(kuò)展部分231 提供碼序列Cb。如上面參照第一實(shí)施例所述,擴(kuò)展部分23從解碼和擴(kuò)展后 的比特序列中提取能夠取非0的h比特,所述數(shù)量h通過(guò)數(shù)字?jǐn)?shù)量n來(lái)確定, 并且,組配部分23a將所提取的比特組配為浮點(diǎn)格式的差信號(hào)Z。
擴(kuò)展部分231通過(guò)對(duì)應(yīng)于在圖9所示的壓縮部分131中執(zhí)行的處理的解碼和擴(kuò)展處理,將碼序列Cb直接解碼并擴(kuò)展為浮點(diǎn)格式的差信號(hào)Z。在圖9 所示的分析部分132使用數(shù)字?jǐn)?shù)量n的平均數(shù)的情況下,分析部分232中的 平均部分232b計(jì)算與參考值相比較的數(shù)字?jǐn)?shù)量n的平均數(shù)。根據(jù)比較結(jié)果, 控制選擇部分233來(lái)向擴(kuò)展部分23或231提供碼序列Cb。如在參照?qǐng)D7所 述的情況中那樣,擴(kuò)展部分23將碼序列Cb解碼為由能夠取非0的比特組成 的比特序列。從該比特序列,使用數(shù)字?jǐn)?shù)量n來(lái)再現(xiàn)差信號(hào)的尾數(shù),然后, 組配浮點(diǎn)格式的差信號(hào)Z。
如上所述,在本實(shí)施例中,雖然差信號(hào)Z是浮點(diǎn)格式的,但是由編碼器 中的差產(chǎn)生部分14產(chǎn)生的浮點(diǎn)格式的差信號(hào)Z的指數(shù)和符號(hào)的所有比特都是 "0"。因此,指數(shù)和符號(hào)不被發(fā)送給解碼器,并且該解碼器從由擴(kuò)展部分23 解碼的能夠取非0的比特組配差信號(hào)Z的尾數(shù),并隨后通過(guò)向所述尾數(shù)添加 由"0"比特構(gòu)成的指數(shù)和符號(hào)比特"0"來(lái)組配浮點(diǎn)格式的差信號(hào)Z。
擴(kuò)展部分231接收碼序列Cb作為碼序列Cb,,并執(zhí)行作為在圖9所示的 壓縮部分131中執(zhí)行的編碼的逆處理的解碼處理,從而直接形成差信號(hào)Z。 加法器24對(duì)這些差信號(hào)Z的任何一個(gè)與對(duì)應(yīng)于整數(shù)格式的樣本Y的浮點(diǎn)格 式的樣本Y,求和,從而形成浮點(diǎn)格式的信號(hào)樣本X。
圖11示出了圖9所示的實(shí)施例的修改,其中,用與圖9中相同的附圖標(biāo) 號(hào)來(lái)表示對(duì)應(yīng)于圖9的那些部分的部分。在此修改的實(shí)施例中,取代使用圖 9所示的分析部分132和選擇部分133的是,在壓縮部分17和131中執(zhí)行壓 縮編碼,確定哪個(gè)壓縮部分可以實(shí)現(xiàn)具有較高壓縮效率的編碼,并且輸出由 較高壓縮效率的壓縮部分產(chǎn)生的碼。具體地說(shuō),可以通過(guò)壓縮部分17和131 二者來(lái)無(wú)損地壓縮編碼差信號(hào)Z,可以將所得到的碼序列Cb和Cb,輸入到分 析和選擇部分134,效率計(jì)算部分134a和確定部分134b可以確定壓縮部分 17和131的哪一個(gè)可以對(duì)于相關(guān)幀以較高的壓縮效率對(duì)差信號(hào)Z進(jìn)行編碼, 并且,可以從輸出部分104輸出較高壓縮效率的碼序列,作為碼序列Cb。在 這種情況下,必須從輔助編碼部分103輸出輔助碼Ce,所述輔助碼Ce指示 壓縮部分17和131的哪一個(gè)已經(jīng)產(chǎn)生了碼序列Cb。
適合于圖11所示的編碼器的解碼器是圖IO所示的解碼器,其中去除了 分析部分232并提供了由虛線示出的輔助解碼部分234。輔助解碼部分234 將由分離部分203分離的輔助碼Ce解碼,并且根據(jù)解碼結(jié)果,控制選擇部分
27233向擴(kuò)展部分23或231提供碼序列Cb。剩佘的操作與被適配為用于圖9 示出的編碼器的解碼器的才喿作相同。
圖11所示的分析和選纟奪部分134以及輔助編碼部分103可以被添加到如 圖9所示配置的編碼器中,使得有可能在基于數(shù)字?jǐn)?shù)量n的確定和基于壓縮 效率的確定之間進(jìn)行選4奪,并且,除了分析部分232之外,還可以在圖10所 示的解碼器中提供輔助解碼部分234,使得可以使用所述確定方法的任何一 種。但是,在編碼器和解碼器中必須使用對(duì)應(yīng)的確定方法。
本發(fā)明的第三實(shí)施例是圖1所示的第一實(shí)施例和圖9所示的第二實(shí)施例 的組合。圖12示出了根據(jù)第三實(shí)施例的編碼器的功能配置。在該圖中,對(duì)應(yīng) 于圖1、 8、 9和11所示的那些部分的部分用與那些圖中相同的附圖標(biāo)號(hào)來(lái)表 示,并且將避免對(duì)其描述的重復(fù)。按照這個(gè)實(shí)施例,根據(jù)由選擇部分102和 133進(jìn)行的選擇的組合,選擇并輸出碼序列集(Ca, Cb, Cd)、 (Ca, Cb,, Cd)和(Cc, Cd)中的任何一個(gè)。
可以通過(guò)按照與如圖11示出的實(shí)施例中的虛線所示相同的方式來(lái)另外 提供圖8示出的壓縮部分121、并通過(guò)分析和選擇部分134選擇具有最高壓 縮效率的碼序列集之一,來(lái)進(jìn)行從這三個(gè)碼序列集中的選擇。
圖13中示出了根據(jù)第三實(shí)施例的解碼器。在該圖中,用相同的附圖標(biāo)號(hào) 來(lái)表示對(duì)應(yīng)于圖7和圖10中示出的那些部分的部分,并且將省略對(duì)其的重復(fù) 描述。
在上面參照?qǐng)D1、 8、 9、 11和12描述的實(shí)施例中,例如,壓縮部分17 可以配置為對(duì)每個(gè)幀,沿時(shí)間軸方向?qū)牟钚盘?hào)Z提取的比特序列執(zhí)行無(wú) 損壓縮編碼。在下面,將參照?qǐng)D18來(lái)描述這種編碼方法。
圖18示出了一個(gè)幀由1024個(gè)樣本組成的情況。另外,對(duì)于每個(gè)樣本編 號(hào)i(i=0到1023),示出了在輸入信號(hào)樣本序列X中的樣本的尾數(shù)M的n比特 整數(shù)部分的整數(shù)值(n-E-Eo)、及其h比特小數(shù)部分的比特序列。如在第一實(shí)施 例中參照?qǐng)D6所述的那樣,每個(gè)差信號(hào)樣本Z的尾數(shù)M的整數(shù)部分的最高有 效的n比特全部是"0",并且小數(shù)部分的最低有效的h一23-n)比特是可以為 非O的比特。在圖18所示的編碼方法中,差信號(hào)的尾數(shù)的最低有效的h比特 被排列為它們各自的最高有效比特MSB彼此對(duì)齊,在時(shí)間軸方向上提取其每 一個(gè)定位在每個(gè)樣本中沿幅度方向的比特位置j處的比特,以形成比特序列 Ej,并對(duì)該比特序列Ej進(jìn)行編碼。
小數(shù)部分的比特長(zhǎng)度h(-23-n)隨著樣本而變化。因此,在時(shí)間軸方向上 掃描沿幅度方向的比特位置j(j=0到hmax-l; hm狄表示在相關(guān)幀中的樣本的小 數(shù)部分的最大比特長(zhǎng)度)處的比特時(shí),如果遇到在比特位置j處沒(méi)有比特的樣 本,則跳過(guò)該樣本。可以按照下面所述來(lái)確定是否跳過(guò)樣本i:在樣本i的沿 幅度方向的比特位置j處,將該樣本的小數(shù)部分的比特長(zhǎng)度h與值j相比較, 并且如果h^j,則提取該比特位置處的比特,而如果h〈j,則跳過(guò)該樣本,并 且進(jìn)行對(duì)于下一樣本(i+l)的相同確定。
例如,在時(shí)間軸方向上掃描從MSB起的比特位置j、17處的比特時(shí),其 小數(shù)部分的比特長(zhǎng)度h是23-6=17的樣本i=0具有在比特位置j處的最低有效 比特。但是,其小數(shù)部分的比特長(zhǎng)度是23-8=15的樣本i-l不具有跟隨在第 15MSB之后(或比特位置j^4)的比特。因此,跳過(guò)樣本i^。所提取的第15 比特對(duì)于所述幀被分組,以形成比特序列E16,并且對(duì)比特序列E16進(jìn)行熵 編碼。對(duì)其它比特位置j的每個(gè)扭J亍相同的處理。作為熵編碼,因?yàn)榭梢圆攀?br> 34供分層(layering),所以算術(shù)編碼或Golomb編碼是有益的。
在解碼器一側(cè),可以從每個(gè)解碼后的整數(shù)值信號(hào)樣本Y中的、跟隨在最 高有效的"1"之后的比特的數(shù)量n來(lái)確定整數(shù)部分的數(shù)字?jǐn)?shù)量n,因此,可 以確定在所述幀中每個(gè)差信號(hào)Z的尾數(shù)的小數(shù)部分的比特長(zhǎng)度h(=23-n)。因 此,對(duì)于每個(gè)解碼后的比特序列Ej,依序掃描幀中的樣本i的比特,并且將 沿幅度方向的比特位置j與每個(gè)樣本的比特長(zhǎng)度h相比較。如果j^h,則可以 通過(guò)向比特位置(i, j)分配在比特序列Ej中的比特的值來(lái)再現(xiàn)圖18所示的尾 數(shù)的小數(shù)部分。然后,在每個(gè)樣本的小數(shù)部分的前部,可以添加與所述樣本 相關(guān)聯(lián)的n個(gè)比特"0",從而再現(xiàn)差信號(hào)的23比特的尾數(shù)M。
圖19示出了應(yīng)用了圖18所示的編碼方法的、圖1、 8、 9、 11和12所示 的壓縮部分17的功能配置。壓縮部分17從差產(chǎn)生部分14(例如,參見(jiàn)圖1) 接收差信號(hào)Z的樣本z。-z啦3的一個(gè)幀,并將它們各自的整數(shù)部分的數(shù)字?jǐn)?shù)量 no-riK)23存儲(chǔ)在存儲(chǔ)部分17B中。根據(jù)每個(gè)樣本i的數(shù)字?jǐn)?shù)量ni,控制部分17C 將除了最高有效的n比特之外的、輸入差信號(hào)Zj的尾數(shù)的h比特整數(shù)部分 (h-23-n)置于緩沖器17A中。這樣,獲得了如圖18所示的尾數(shù)的整數(shù)部分的 陣列。然后,控制部分17C在時(shí)間軸方向上掃描沿幅度方向的比特位置j(=0 到hma-l)處的樣本,提取滿足h^j的關(guān)系的比特以形成比特序列Ej,并且向 編碼部分17D提供比特序列Ej。緩沖器17A、存儲(chǔ)部分17B和控制部分17C 構(gòu)成比特序列產(chǎn)生部件。編碼部分17D無(wú)損地壓縮編碼比特序列Ej,并輸出 碼Cb。
圖20示出了充當(dāng)與圖19所示的壓縮部分17相關(guān)聯(lián)的差信號(hào)解碼部件 的、圖7、 10和13所示的擴(kuò)展部分23的功能配置。解碼部分23D將所接收 的碼Cb解碼以再現(xiàn)比特序列Ej。另一方面,從數(shù)字計(jì)算部分21A(例如,參 見(jiàn)圖7)接收的、 一個(gè)幀的整數(shù)部分的數(shù)字的數(shù)量11()-111()23被存儲(chǔ)在存儲(chǔ)部分 23B中,并且控制部分23C將從比特序列Ej提取的一個(gè)比特分配給每個(gè)比特 位置(i, j),對(duì)于所述比特位置(i, j),滿足關(guān)于每個(gè)樣本的小數(shù)部分的數(shù)字?jǐn)?shù) 量h^23-rii)的關(guān)系h^j,并且,控制部分23C在緩沖器23A中存儲(chǔ)所得到的 比特排列,并對(duì)所有樣本重復(fù)相同的處理,從而再現(xiàn)圖18所示的小數(shù)部分的 比特陣列。 一旦完成了一個(gè)幀的所有比特序列Ej(j=0到lvax-l)的比特排列, 控制部分23C就在緩沖器23A中每個(gè)樣本i的小數(shù)部分的前部增加ni個(gè)比特 "0",以再現(xiàn)差信號(hào)的尾數(shù),并且向組合部分24(圖7)提供差信號(hào)Z。緩沖器
3523A、存儲(chǔ)部分23B和控制部分23C構(gòu)成重建部件。
在圖18所示的差信號(hào)的尾數(shù)的編碼中,沿時(shí)間軸方向?qū)⒈忍匚恢胘處的 比特分組為比特序列Ej,并對(duì)比特序列Ej進(jìn)行編碼。下面,將描述另一種掃 描比特位置的方法。在圖21中,在幀的方向上,在沿幅度方向的預(yù)定比特長(zhǎng) 度上,按照比特位置j+l處的比特的第一個(gè)跟隨在比特位置j處的比特的最后 一個(gè)之后這樣的方式,來(lái)連續(xù)地掃描和收集比特,從而產(chǎn)生多個(gè)比特序列E2,、
E,8,等。因此,比特序列Ej的數(shù)量小于小數(shù)部分的最大比特?cái)?shù)量hmax。此外,
在此比特掃描中,跳過(guò)滿足關(guān)系hi<j的任何比特位置。此外,在這種比特掃
描方法的情況中,可以根據(jù)h尸23來(lái)確定每個(gè)樣本i的小數(shù)部分的數(shù)字?jǐn)?shù)量。 因此,在解碼器一側(cè),可以通過(guò)按照與上面所述相同的方式來(lái)分配比特序列 Ej中的比特來(lái)再現(xiàn)小數(shù)部分的比特排列。
圖22示出了另一種比特掃描方法。按照?qǐng)D21所示的方法,按照比特位 置j+l處的比特的第一個(gè)跟隨在比特位置j處的比特的最后一個(gè)之后這樣的方 式,來(lái)執(zhí)行在幀方向上的、在沿幅度方向的多個(gè)比特長(zhǎng)度上的連續(xù)比特掃描。 然而,根據(jù)圖22所示的方法,在多個(gè)比特長(zhǎng)度上的幅度方向上、從其MSB 開(kāi)始掃描樣本i的比特,使得樣本i+l中的多個(gè)比特長(zhǎng)度中的第一比特跟隨在 樣本i中的多個(gè)比特長(zhǎng)度中的最后一個(gè)比特之后。重復(fù)這樣的掃描,直到到 達(dá)幀中的最后樣本為止。同樣,在這個(gè)示例中,跳過(guò)滿足條件hi<j的任何比 特位置。
圖23是用于圖解在圖18所示的比特掃描中的例外操作的圖。在刪截使 整數(shù)部分為O的情況下,即在E-E。的值為負(fù)的情況下,必須編碼和發(fā)送包括 指數(shù)的所有32比特。因此,如圖23所示,在樣本i二3的整數(shù)部分是0(即n=0) 的情況下,圖1所示的壓縮部分17在尾數(shù)的比特掃描中不考慮樣本i二3,并 且對(duì)樣本i=3單獨(dú)進(jìn)行編碼。
在輸入信號(hào)樣本序列X是從整數(shù)格式轉(zhuǎn)換的浮點(diǎn)格式的信號(hào)樣本序列、 并且原始整數(shù)值的數(shù)字?jǐn)?shù)量與刪截后的整數(shù)值的數(shù)字?jǐn)?shù)量不同的情況下,也 就是說(shuō),在從24比特整數(shù)值信號(hào)樣本序列直接轉(zhuǎn)換的浮點(diǎn)格式的信號(hào)樣本序 列通過(guò)如參照?qǐng)D14B和15B所述的刪截而被編碼為16比特整數(shù)值信號(hào)樣本 序列的情況下,差信號(hào)的尾數(shù)的小數(shù)部分的最高有效的8比特可以是非0的, 盡管剩余的比特是O。如果通過(guò)例如圖23所示的方法來(lái)將這種輸入信號(hào)樣本 序列X編碼,則比特序列Eo至E7可以是非0的,盡管隨后的比特序列Eg至E^全是"0",使得可以實(shí)現(xiàn)高效編碼。將容易理解,如果使用圖21和22所
示的方法,則可以類似地實(shí)現(xiàn)高效編碼。
如根據(jù)需要在音頻信號(hào)處理中執(zhí)行的那樣,例如,如果將24比特的整數(shù) 值信號(hào)樣本增加1.5倍(fold)(或二進(jìn)制表示法中的1.1倍),則所得到的信號(hào)樣 本被轉(zhuǎn)換為浮點(diǎn)格式的信號(hào),并且所得到的信號(hào)通過(guò)刪截而被編碼為16比特 的整數(shù)值信號(hào),將24比特整數(shù)值信號(hào)樣本增加1.5倍使至少第一小數(shù)字置是 可以為非0的比特。具體地說(shuō),在圖14B所示的樣本X的尾數(shù)Mx中、跟隨 在小數(shù)點(diǎn)Pd之后的第一位置可以是非O的。因此,可以是非0的差信號(hào)的尾 數(shù)Mz的比特向最低有效比特位置增加1比特到9比特。同樣,在這種情況下, 跟隨在這9比特之后的比特全部是"0",使得可以使用圖18、 21、 22和23 所示的方法來(lái)實(shí)現(xiàn)高效編碼。此外,如果所有的比特不都是O,則非O(即"1") 的發(fā)生頻率可隨著數(shù)字位置變化,并且在這種情況下,可以對(duì)所述變化適當(dāng) 地應(yīng)用無(wú)損編碼。
在任何情況下,在從MSB —側(cè)計(jì)數(shù)的差信號(hào)的尾數(shù)的小數(shù)部分中能夠 取非0的數(shù)字的數(shù)量是相等的,因此可以實(shí)現(xiàn)高效壓縮編碼。
已經(jīng)在將所述方法應(yīng)用到圖1所示的第一實(shí)施例的假設(shè)下描述了圖18 至23中示出的尾數(shù)編碼方法。但是,所述方法可以被應(yīng)用到如參照?qǐng)D14A 至17所述的通過(guò)刪截來(lái)形成16比特整數(shù)值的情況。在這種情況下,圖16所 示的壓縮部分17被如圖19所示重新配置,并且圖17所示的擴(kuò)展部分23被 如圖20所示重新配置。
另夕卜,可以根據(jù)小數(shù)部分的數(shù)字?jǐn)?shù)量來(lái)重新布置樣本以進(jìn)行掃描。例如, 將小數(shù)部分由23個(gè)數(shù)字構(gòu)成的樣本分組在一起,然后將小數(shù)部分由22個(gè)數(shù) 字構(gòu)成的樣本分組在一起,并且以相同的方式將具有由更少數(shù)量的數(shù)字組成 的小數(shù)部分的樣本分組在一起??梢砸晕ㄒ坏姆绞絹?lái)實(shí)現(xiàn)樣本的逆向布置, 而不需要任何附加信息,使得可以簡(jiǎn)單地管理要掃描的樣本的數(shù)量。
在圖18所示的示例中,通過(guò)在時(shí)間軸方向上掃描在每個(gè)幀中的差信號(hào)Z 的樣本z的尾數(shù)M中能夠取非O的比特,產(chǎn)生比特序列Ej,每個(gè)樣本包含能 夠取非0的h比特,并且每個(gè)樣本的h比特的MSB與其它樣本的MSB對(duì)齊。 但是,如圖24所示,可以執(zhí)行類似的掃描,并且每個(gè)樣本的能夠取非0的h 比特的LSB與其它樣本的LSB對(duì)齊。在這種情況下,可以如圖19所示相同 地配置壓縮部分17,并且^U5U多改控制部分控制掃描的方式。另外,可以如圖20所示相同地配置解碼器中的擴(kuò)展解碼部分23。
圖25示出了在上述圖1、 8、 9、 11和12中示出的編碼器中的壓縮部分 17的另一實(shí)施例。在這個(gè)實(shí)施例中,通過(guò)布置包含能夠取非0的比特的小數(shù) 部分并且其LSB彼此對(duì)齊而形成整數(shù)值樣本序列,并且通過(guò)在樣本序列方向 上消除冗余來(lái)執(zhí)行壓縮編碼。如圖25中所示,壓縮部分17包括小數(shù)部分提 取部分17E、幀內(nèi)(in-frame)平均部分17F、減法器17G以及編碼部分17D1 和17D2。小數(shù)部分提取部分17E提取由從差產(chǎn)生部分14接收的每個(gè)差信號(hào) 樣本Z的尾數(shù)M的最低有效的h比特(1^23-n)組成的小數(shù)部分,作為一個(gè)整 數(shù)值樣本F。幀內(nèi)平均部分17F計(jì)算每個(gè)幀的所提取的整數(shù)值樣本的平均Fave, 并且編碼部分17Dl對(duì)平均Fave進(jìn)行編碼,并輸出所得到的碼序列Cbl。減法
器17G將平均Fave和每個(gè)整數(shù)值樣本F之間的差確定為誤差樣本AF,并且,
編碼部分17D2對(duì)誤差樣本AF進(jìn)行預(yù)測(cè)編碼,對(duì)預(yù)測(cè)誤差進(jìn)行無(wú)損壓縮編碼, 并輸出所得到的碼序列Cb2。預(yù)測(cè)參數(shù)可作為輔助信息而單獨(dú)發(fā)送,或者可 被自適應(yīng)地更新,并在編碼器和解碼器之間保持一致性。
圖26示出了與圖25所示的編碼器相關(guān)聯(lián)的解碼器中的解碼和擴(kuò)展部分 23的配置。這一配置可被應(yīng)用到圖7、 10或13所示的解碼器中的擴(kuò)展部分 23。根據(jù)這個(gè)實(shí)施例,擴(kuò)展部分23包括擴(kuò)展器23B和23C、加法器23D以 及組配部分23A。擴(kuò)展器23B擴(kuò)展解碼所接收的碼序列Cbl,并輸出每個(gè)幀 的平均Fave。擴(kuò)展器23C擴(kuò)展解碼所接收的碼序列Cb2以確定預(yù)測(cè)誤差,執(zhí) 行預(yù)測(cè)解碼并輸出誤差樣本AF。加法器23D對(duì)平均Fave和誤差樣本AF求和 以再現(xiàn)整數(shù)值樣本F。組配部分23A使用來(lái)自數(shù)字計(jì)算部分21A的數(shù)字?jǐn)?shù)量 n而從整數(shù)值樣本F組配差信號(hào)Z。
如果分別用圖25所示的壓縮部分17和圖26所示的擴(kuò)展部分23來(lái)代替 圖16所示的壓縮部分17和圖17所示的擴(kuò)展部分23,則這個(gè)實(shí)施例可以凈皮 應(yīng)用到圖16和圖17所示的實(shí)施例。
圖27示出了根據(jù)第七實(shí)施例的壓縮部分的配置,其被應(yīng)用到圖1、 8、 9、 11和12示出的壓縮部分17。圖18到23示出了對(duì)通過(guò)利用各種掃描方法掃 描能夠取非0的比特的陣列而產(chǎn)生的比特序列進(jìn)行編碼的方法。但是,根據(jù) 第七實(shí)施例,選擇所述多種掃描方法中最佳的一種來(lái)對(duì)所輸出的比特序列進(jìn)行編碼。
如圖19中的情況所示,存儲(chǔ)部分17B存儲(chǔ)從整數(shù)格式化部分12(例如,
參見(jiàn)圖l)接收的差信號(hào)樣本的數(shù)字?jǐn)?shù)量n(nQ、 n,、 n2..... n1()23)。然后,在
控制部分17C的控制下,在差信號(hào)Z的尾數(shù)M中可以是非0的最低有效的 h(二23-n)比特被存儲(chǔ)在緩沖器17A1、 17A2和17A3中。在每個(gè)緩沖器中,存 儲(chǔ)所述比特,并且每個(gè)差信號(hào)Z的MSB與其它差信號(hào)Z的MSB對(duì)齊,例如 如圖18所示。在控制部分17C的控制下,在時(shí)間軸的方向上,對(duì)于沿幅度方 向的每個(gè)比特位置,掃描存儲(chǔ)在緩沖器17A1中的比特陣列中的比特,以產(chǎn) 生比特序列Ejl,如圖18所示。在時(shí)間軸方向上,在沿幅度方向的每個(gè)預(yù)定 比特長(zhǎng)度內(nèi),掃描存儲(chǔ)在緩沖器17A2中的比特陣列中的比特,以產(chǎn)生比特 序列Ej2,例如如圖21所示。在幅度方向上,在沿每個(gè)樣本的幅度方向的每 個(gè)預(yù)定比特長(zhǎng)度內(nèi),掃描存儲(chǔ)在緩沖器17A3中的比特陣列中的比特,以產(chǎn) 生比特序列Ej3。
對(duì)于每個(gè)幀,控制部分17C根據(jù)"1"的計(jì)數(shù),確定通過(guò)所述掃描方法 產(chǎn)生的每個(gè)比特序列Ej中的比特的值的偏移,確定每種掃描方法的比特"1" 的偏移程度,確定哪種掃描方法提供最高的偏移程度(或最低的熵),然后向選 擇部分17E提供選擇信號(hào)SL,所述選擇信號(hào)SL指明對(duì)應(yīng)于具有最高偏移程 度的掃描方法的緩沖器中的比特序列Ej。在編碼部分17D中對(duì)所選擇的比特 序列進(jìn)行編碼,并且輸出所得到的碼序列Cb。
通過(guò)下面的公式來(lái)表示對(duì)應(yīng)于幀中的比特"1"的偏移的熵 》畫mj(kj/m》log2(kj/mj)+( 1 -(kj/mj))log2( 1 -(kj—))) (2) 其中,"mj"表示每個(gè)比特序列Ej中的比特?cái)?shù)量,并且"k"表示比特序列中 的"1"的數(shù)量。"27是指所有可能的"j"值的和(即比特序列的數(shù)量)。當(dāng)
比特"r的偏移增大時(shí),熵減小。熵取決于如何掃描幀的比特陣列或者如何 將比特陣列劃分為比特序列。因此,根據(jù)第七實(shí)施例,針對(duì)每個(gè)幀選擇用于
能夠取非0的比特的最佳掃描方法。
圖28示出了被適配用于圖27所示的壓縮部分17的、圖7、 10和13所 示的壓縮部分23的配置。除了另外提供解碼部分23E以外,與圖20所示的 擴(kuò)展部分23相同地配置擴(kuò)展部分23。解碼部分23E將輔助碼Ce解碼以再現(xiàn) 選擇信號(hào)SL,并向控制部分23C提供選擇信號(hào)SL。根據(jù)對(duì)應(yīng)于所提供的控 制信號(hào)的掃描方法和數(shù)字?jǐn)?shù)量,控制部分23C按照再現(xiàn)各個(gè)樣本的能夠取非0的比特序列這樣的方式,將從解碼部分23D輸出的比特序列Ej存儲(chǔ)到緩沖 器23A中。然后,在每個(gè)樣本的能夠取非0的hj比特的前部增加ni個(gè)比特"0", 以形成尾數(shù)M,并且輸出尾數(shù)M,作為差信號(hào)Z。
圖29示出了圖27所示的壓縮部分的修改,其中,分別通過(guò)編碼部分 17D1、 17D2和17D3對(duì)來(lái)自緩沖器17A1、 17A2和17A3的比特序列Ejl、 Ej2和Ej3進(jìn)行編碼。分析部分17G確定哪個(gè)輸出碼具有最小信息量,并且不 僅向選擇部分17F還向編碼部分17E提供指定輸出碼的選擇信號(hào)SL,以獲得 碼Ce。選擇部分17E將由選擇信號(hào)指定的最小信息量的碼序列作為碼序列 Cb而與碼Ce—起輸出。作為與圖29所示的壓縮部分17相關(guān)聯(lián)的解碼器中 的擴(kuò)展部分23,可以按原樣使用圖28所示的擴(kuò)展部分23。
取代圖11所示的壓縮部分17和131,可以4吏用圖30所示的配置。該配 置包括可變比特壓縮部分17-1、可變比特提取部分17-2、尾數(shù)壓縮部分131-1 和尾數(shù)提取部分131-2??勺儽忍貕嚎s部分17-1根據(jù)數(shù)字?jǐn)?shù)量n從差信號(hào)Z 的尾數(shù)M中提取和壓縮編碼能夠取非0的11(=23-11)比特(可變比特),并輸出 碼Cb??勺儽忍靥崛〔糠?7-2從差信號(hào)Z的尾數(shù)M中提取包含能夠取非0 的h比特的比特序列MD,并輸出該比特序列而不進(jìn)行處理。尾數(shù)壓縮部分 131-1壓縮編碼差信號(hào)Z的尾數(shù)M,并輸出碼Cm。尾數(shù)提取部分131-2提取 差信號(hào)Z的尾數(shù)M,并輸出尾數(shù)M而不進(jìn)行處理。效率估計(jì)部分134計(jì)算 Cb、 MD、 Cm、 M和Z的每一個(gè)的信息量,并確定它們中具有最小信息量的 一個(gè)。指定所確定的那個(gè)的選擇信號(hào)SL被輔助編碼部分103編碼,并且所得 到的碼Ce被提供給輸出部分104。輸出部分104選擇由選擇信號(hào)SL指定的 Cb、 MD、 Cm、 M和Z之一,并將其作為碼Cb與碼Ce—起輸出。
圖31示出了與圖30所示的配置相關(guān)聯(lián)并且可以代替圖IO所示的解碼器 中的擴(kuò)展部分23和231、選擇部分233以及輔助解碼部分234而使用的配置。 在此,分析部分232不是必需的。在圖31中,解碼部分234將碼Ce解碼為 選擇信號(hào)SL,并且,根據(jù)選擇信號(hào)SL,控制選擇部分233。具體地說(shuō),根據(jù) 選擇信號(hào)SL,作為輸入碼Cb,可變比特序列的壓縮碼Cb被提供給解碼部分 23,可變比特序歹'J(能夠取非0的比特的序列)MD被提供給組配部分23a,尾 數(shù)M的壓縮碼Cm被提供給解碼部分231,或者按原樣輸出尾數(shù)M。解碼部 分23將碼序列Cb解碼以產(chǎn)生由能夠取非0的比特組成的比特序列MD,并 向組配部分23a提供比特序列MD。根據(jù)數(shù)字?jǐn)?shù)量n,組配部分23a在比特序
40列Md的前部増加I1個(gè)比特"0",以再現(xiàn)尾數(shù)M。 P務(wù)改的實(shí)施例]
在圖5中,通過(guò)刪截、即按照整數(shù)值的絕對(duì)值盡可能小這樣的方式,將
輸入的浮點(diǎn)信號(hào)樣本序列x中的每個(gè)樣本轉(zhuǎn)換為整數(shù)值。但是,如果使得從
浮點(diǎn)格式化部分15的轉(zhuǎn)換產(chǎn)生的浮點(diǎn)信號(hào)樣本序列Y'中的每個(gè)樣本的指數(shù) 等于輸入的浮點(diǎn)信號(hào)樣本序列X中的對(duì)應(yīng)樣本的指數(shù),則可以使用舍入來(lái)代 替刪截。如圖32所示,刪截分別將從0到1、從1到2、...、以及從8到9
連續(xù)變化的輸入浮點(diǎn)值改變?yōu)檎麛?shù)值O、 1、 2.....和9。因此,通過(guò)從輸入
浮點(diǎn)值減去所述整數(shù)值而產(chǎn)生的誤差信號(hào)、即差信號(hào)Z的尾數(shù)總是負(fù)的。另 一方面,如圖33所示,舍入分別將從0到0.5、從0.5到1.5、從1.5到2.5、...、 以及從8.5到9.5連續(xù)變化的輸入浮點(diǎn)值改變?yōu)檎麛?shù)值0、 1、 2、...、和9。 因此,通過(guò)從輸入浮點(diǎn)值減去再次從整數(shù)值轉(zhuǎn)換的浮點(diǎn)值而產(chǎn)生的誤差信號(hào)、 即差信號(hào)Z可以是負(fù)的。在整數(shù)格式化中,如果在2的冪的值中出現(xiàn)上舍入, 則從整數(shù)值樣本序列再次轉(zhuǎn)換的浮點(diǎn)數(shù)字信號(hào)樣本序列Y,中的每個(gè)樣本的指 數(shù)與在輸入浮點(diǎn)數(shù)字信號(hào)樣本序列X中的對(duì)應(yīng)樣本的指數(shù)不同,并且每個(gè)樣 本的尾數(shù)與輸入浮點(diǎn)信號(hào)樣本序列X中的對(duì)應(yīng)樣本的尾數(shù)完全不同。這對(duì)于 壓縮是不利的。
因此,如下所述來(lái)修改舍入。如圖34所示,分別將從0到1、從1到2、 乂人2至J 2.5、 /人2.5至,J 4、 乂人4至U 4.5、 乂人4.5至'j 5.5、 /人5.5至'J 6.5、 乂人6.5 8、 從8到9.5等連續(xù)變化的輸入浮點(diǎn)值改變?yōu)檎麛?shù)值0、 1、 2、 3、 4、 5、 6、 7、 8、 9等。也就是說(shuō),如圖中的箭頭所示,如果尾數(shù)M的n比特的整數(shù)部分 Mj取值2的冪之前的2n-l,則執(zhí)行刪截而不是舍入。否則,執(zhí)行舍入。盡管 另外需要1比特來(lái)指示用于指明誤差信號(hào)(差信號(hào))Z是正還是負(fù)的符號(hào),但是 因?yàn)楸簧崛氲臉颖镜恼`差等于或小于0.5,所以尾數(shù)的最大數(shù)字?jǐn)?shù)量減少1比 特。因此,包括符號(hào)比特的尾數(shù)的數(shù)字?jǐn)?shù)量與刪截的情況相同。然而,當(dāng)整 數(shù)部分M!取值211、即2的冪時(shí),誤差的尾數(shù)的數(shù)字?jǐn)?shù)量可以減小1,而當(dāng)整 數(shù)部分M!取值2。-1時(shí),只有當(dāng)誤差為正時(shí)才發(fā)生一直到1的誤差。因此,必 須專門處理這兩種情況。
也就是說(shuō),在每個(gè)差信號(hào)樣本Z中能夠取非0的比特的前部增加符號(hào)比 特,并且如果整數(shù)部分M!取值2n-l,則將指定能夠取非O的比特?cái)?shù)量h的碼 增加到所述比特上,并將所得到的比特序列壓縮編碼,并且,解碼器解碼和
41擴(kuò)展碼序列Cb,并將所得到的比特序列分離為子序列,其每一個(gè)包含多個(gè)比 特,所述比特的數(shù)量是從整數(shù)部分的比特?cái)?shù)量n確定的能夠取非0的比特?cái)?shù) 量h與符號(hào)比特的1比特的總和。如果整數(shù)部分M!取值2n-l,則符號(hào)比特、 指定能夠取非0的比特?cái)?shù)量h的碼的比特?cái)?shù)量、以及通過(guò)所述碼指定的比特
數(shù)量h被分離,以確定差信號(hào)Z的一個(gè)樣本。在僅對(duì)能夠取非0的比特進(jìn)行 編碼的情況下,當(dāng)幅度增大時(shí),效率提高。當(dāng)幅度增大時(shí),整數(shù)部分取值2"-l 的次數(shù)、即例外處理發(fā)生的次數(shù)減少,使得可以整個(gè)地提高壓縮效率。
使用上述修改的舍入可以使得浮點(diǎn)輸入和整數(shù)部分之間的誤差能量 (errorenergy)低于在使用刪截情況下的誤差能量,因此可以提高整數(shù)部分序列 的預(yù)測(cè)效率。另外,因?yàn)橹挥心軌蛉》?的比特必須被編碼,所以可以提高 通過(guò)壓縮部分17進(jìn)行的差信號(hào)Z的壓縮的效率。
例如,如圖3中的交錯(cuò)的長(zhǎng)短虛線所示,在步驟S2之后,確定輸入的浮 點(diǎn)信號(hào)樣本序列X的整數(shù)部分M!是否是211-1。例如,確定尾數(shù)M的最高有 效的n一E-E。)比特是否全是"1"。如果所有比特都是"1",則意味著整數(shù)部 分M!取在2的冪之前的值,處理繼續(xù)進(jìn)行到步驟S3,在此執(zhí)行刪截。如果 最高有效的E-E。比特不全是"1",則處理繼續(xù)進(jìn)行到步驟S6,在此執(zhí)行通過(guò) 修改的舍入進(jìn)行的整數(shù)格式化。
^多改的實(shí)施例]
在圖9所示的第二實(shí)施例中,根據(jù)由分析部分132進(jìn)行的確定,在由壓 縮部分17進(jìn)行的壓縮編碼和由壓縮部分131進(jìn)行的壓縮編碼之間進(jìn)行選擇。 為了實(shí)現(xiàn)正確的選擇,如圖ll所示,壓縮部分17和131均執(zhí)行編碼,并且 采用所得到的具有更高壓縮效率的碼之一。雖然由壓縮部分131進(jìn)行的壓縮 編碼是準(zhǔn)確的,但是差信號(hào)Z的直接壓縮編碼需要較大的處理量和處理時(shí)間。 因此,可以使用下述方法。
例如,作為在字節(jié)(8比特)的基礎(chǔ)上估計(jì)通用編碼效率的方法,存在一種 計(jì)算每個(gè)字節(jié)的熵的方法。誤差信號(hào)、即浮點(diǎn)格式的差信號(hào)Z被當(dāng)作在8比 特的基礎(chǔ)上范圍從0到28-1的整數(shù)值y,從一個(gè)幀內(nèi)的整數(shù)值y的出現(xiàn)次數(shù) L(y)建立直方圖,并且將次數(shù)L(y)除以所述幀中的字節(jié)數(shù)量B,以確定密度 函數(shù)p(y)。
p(y)=L(y)/B (3) 根據(jù)此密度函數(shù)p(y),確定平均熵H(p(y))。
42<formula>formula see original document page 43</formula>產(chǎn)o
通用編碼會(huì)有可能將1字節(jié)的數(shù)字值壓縮為大約平均熵的大小(比特)。
因此,如果平均熵值和所述幀中的字節(jié)數(shù)量B的乘積小于由壓縮部分17僅對(duì) 能夠取非0的比特進(jìn)行壓縮編碼而產(chǎn)生的一個(gè)幀中的比特的總數(shù)量,則在字 節(jié)基礎(chǔ)上的通用編碼、即由壓縮部分131進(jìn)行的壓縮編碼更為有利。
圖35中示出了允許這種在壓縮部分之間的選擇的編碼器的配置。圖35 所示的編碼器的配置是附加地提供有選擇部分133、平均熵計(jì)算部分136和 確定部分137的圖11所示的配置。如該圖所示,從差產(chǎn)生部分14向平均熵 計(jì)算部分136輸入差信號(hào)Z,如上所述確定平均熵H(p(y)),并確定平均熵 H(p(y))和字節(jié)數(shù)量B的乘積。確定部分137將該乘積與由效率估計(jì)部分134a 估計(jì)的碼序列Cb,的一個(gè)幀的比特?cái)?shù)量進(jìn)行比較。如果前者較小,則控制選 擇部分133,使得由壓縮部分131來(lái)壓縮編碼差信號(hào)Z,或者如果后者較小, 則將由壓縮部分17通過(guò)壓縮編碼產(chǎn)生的碼序列Cb,作為碼序列Cb輸出。此 外,輸出指示選擇哪個(gè)壓縮部分的輔助碼Ce。這里,如果整數(shù)格式化部分12 在計(jì)算熵時(shí)通過(guò)刪截來(lái)執(zhí)行整數(shù)格式化,則在1字節(jié)的基礎(chǔ)上確定每個(gè)差信
號(hào)樣本Z的23比特尾數(shù)M的出現(xiàn)次數(shù)L(y),或者如果整數(shù)格式化部分12通 過(guò)修改的舍入來(lái)執(zhí)行整數(shù)格式化,則確定包括其符號(hào)的每個(gè)樣本的出現(xiàn)次數(shù)。
如果如上所述估計(jì)通用編碼的效率,則與對(duì)差信號(hào)Z進(jìn)行通用編碼的情 況相比,可以降低處理負(fù)荷,確定在一個(gè)幀內(nèi)的所得到的碼的總比特?cái)?shù)量, 并且分析和選擇部分134選擇所述壓縮部分之一。這種通用編碼的效率估計(jì) 的使用可被應(yīng)用到圖8所示的實(shí)施例。
在以上描述中,整數(shù)格式的信號(hào)樣本序列Y中的樣本已經(jīng)是16比特樣 本或24比特樣本。但是,信號(hào)樣本序列Y中的樣本可以由等于或小于24的 任何數(shù)量的比特構(gòu)成,并且根據(jù)比特的數(shù)量,可以確定取決于每個(gè)樣本的比 特?cái)?shù)量的、整數(shù)格式的數(shù)字信號(hào)樣本序列Y中的每個(gè)樣本中能夠取非0的比 特的數(shù)量。以這一方式,如果在劃分單位的基礎(chǔ)上執(zhí)行壓縮編碼,則可以方 便地確定要轉(zhuǎn)換為整數(shù)格式的比特的數(shù)量,并且還可以輸出指定該比特?cái)?shù)量 的輔助碼。
如圖36所示,可以通過(guò)包括經(jīng)由總線68互連的RAM 61、 CPU 62、硬
43盤63、 ROM 64、發(fā)送器/接收器65、輸入/輸出部分66和音頻/視頻輸入/輸出 部分67的計(jì)算機(jī)600,來(lái)實(shí)現(xiàn)圖1、 8、 9、 11、 12、 16和35中示出的編碼器。
ROM 64存儲(chǔ)用于啟動(dòng)計(jì)算機(jī)的程序,并且硬盤63存儲(chǔ)用于計(jì)算機(jī)的操 作系統(tǒng)程序。用于執(zhí)行根據(jù)本發(fā)明的編碼器的功能的程序被預(yù)先經(jīng)由 CD/DVD驅(qū)動(dòng)器66而從諸如CD-ROM或DVD的記錄介質(zhì)71讀入硬盤63, 或者通過(guò)通信線路和發(fā)送器/接收器65而被預(yù)先下載到硬盤63。
要編碼的浮點(diǎn)格式的信號(hào)樣本序列X在例如音頻/視頻輸入/輸出部分67 處被外部接收,并被臨時(shí)存儲(chǔ)在充當(dāng)緩沖器的硬盤63中。為了開(kāi)始編碼,將 用于執(zhí)行編碼的程序/人;更盤63讀入RAM 61,并且通過(guò)CPU 62來(lái)執(zhí)行該程 序。可以將編碼結(jié)果例如碼Ca、 Cb(或Z)和Cc從發(fā)送器/接收器65經(jīng)由通信 線路發(fā)送到外部,或者可以將其存儲(chǔ)在CD/DVD驅(qū)動(dòng)器66中的記錄介質(zhì)65 例如CD和DVD中。
類似地,為了通過(guò)圖36所示的計(jì)算機(jī)實(shí)現(xiàn)圖7、 10、 11、 13和17中示 出的解碼器,將用于執(zhí)行該解碼器的功能的程序存儲(chǔ)在硬盤63中,并且對(duì)于 通過(guò)通信線路在發(fā)送器/接收器65處接收的碼Ca、 Cb(或Z)和Cc執(zhí)行解碼程 序。編碼結(jié)果被輸出到顯示單元73和揚(yáng)聲器74以便再現(xiàn)。
本發(fā)明可以不僅可以應(yīng)用于音樂(lè)信號(hào),還可以應(yīng)用于聲音信號(hào)、圖像信 號(hào)等。
權(quán)利要求
1.一種用于浮點(diǎn)格式的信號(hào)的無(wú)損編碼方法,包括以下步驟(a)將浮點(diǎn)格式的第一信號(hào)樣本序列轉(zhuǎn)換為整數(shù)格式的第二信號(hào)樣本序列;(b)無(wú)損壓縮所述整數(shù)格式的第二信號(hào)樣本序列,以產(chǎn)生第一碼序列;(c)產(chǎn)生浮點(diǎn)格式的差信號(hào),其對(duì)應(yīng)于所述整數(shù)格式的第二信號(hào)樣本序列和所述浮點(diǎn)格式的第一信號(hào)樣本序列之間的差;(d)確定哪種編碼處理具有較高的壓縮效率第一編碼處理,其對(duì)所述浮點(diǎn)格式的差信號(hào)的每個(gè)樣本中能夠取非零值的數(shù)字的比特序列進(jìn)行編碼,所述數(shù)字由所述整數(shù)格式的第二信號(hào)樣本序列中的對(duì)應(yīng)樣本的絕對(duì)值確定,或者第二編碼處理,其對(duì)所述差信號(hào)的所有數(shù)字進(jìn)行編碼;以及(e)如果所述確定的結(jié)果指示所述第一編碼處理,則通過(guò)所述第一編碼處理來(lái)對(duì)所述差信號(hào)進(jìn)行編碼以產(chǎn)生第二碼序列,或者如果所述確定的結(jié)果指示所述第二編碼處理,則通過(guò)所述第二編碼處理來(lái)對(duì)所述差信號(hào)進(jìn)行編碼以產(chǎn)生第二碼序列。
2. —種用于浮點(diǎn)格式的信號(hào)的無(wú)損編碼方法,包括以下步驟(a) 在幀基礎(chǔ)上確定哪種壓縮具有較高的壓縮效率在幀基礎(chǔ)上的浮點(diǎn)格式的第一信號(hào)樣本序列的直接無(wú)損壓縮,或者整數(shù)值樣本序列和差信號(hào)的雙信號(hào)分離壓縮;(b) 如果所述確定的結(jié)果指示雙信號(hào)分離壓縮,則執(zhí)行雙信號(hào)分離壓縮,步驟(b)包括以下步驟(b-1 )將第 一信號(hào)樣本序列轉(zhuǎn)換為整數(shù)格式的第二信號(hào)樣本序列;(b-2)無(wú)損壓縮所述整數(shù)格式的第二信號(hào)樣本序列,以產(chǎn)生第 一碼序列;(b-3)產(chǎn)生浮點(diǎn)格式的差信號(hào),其對(duì)應(yīng)于所述整數(shù)格式的第二信號(hào)樣本序列和所述浮點(diǎn)格式的第 一信號(hào)樣本序列之間的差;(b-4)從所述浮點(diǎn)格式的差信號(hào)產(chǎn)生第二碼序列;(c) 如果所述確定的結(jié)果指示直接無(wú)損壓縮,則直接無(wú)損壓縮所述第一信號(hào)樣本序列,以產(chǎn)生第三碼序列;以及(d) 產(chǎn)生輔助碼,其指示是執(zhí)行所述直接無(wú)損壓縮還是所述雙信號(hào)分離壓其中,在所述步驟(b-l)中,通過(guò)小數(shù)部分的刪截來(lái)實(shí)現(xiàn)向所述整數(shù)格式的第二信號(hào)樣本序列的轉(zhuǎn)換,并且所述步驟(b-4)包括以下步驟(b-4-l)確定哪個(gè)編碼處理具有較高的壓縮效率第一編碼處理,其對(duì)所述浮點(diǎn)格式的差信號(hào)的每個(gè)樣本中能夠取非零值的數(shù)字的比特序列進(jìn)行編碼,所述數(shù)字由所述整數(shù)格式的第二信號(hào)樣本序列中的對(duì)應(yīng)樣本的絕對(duì)值確定,或者第二編碼處理,其對(duì)所述差信號(hào)的所有數(shù)字進(jìn)行編碼;以及(b-4-2)如果所述確定的結(jié)果指示所述第一編碼處理,則通過(guò)所述第一編碼處理來(lái)對(duì)所述差信號(hào)進(jìn)行編碼以產(chǎn)生第二碼序列,或者如果所述確定的結(jié)果指示所述第二編碼處理,則通過(guò)所述第二編碼處理來(lái)對(duì)所述差信號(hào)進(jìn)行編碼以產(chǎn)生第二碼序列。
3. 根據(jù)權(quán)利要求1或2的用于浮點(diǎn)格式的信號(hào)的無(wú)損編碼方法,其中,在所述第一編碼處理中,無(wú)損地壓縮每個(gè)包含能夠取非0的數(shù)字的比特序列以產(chǎn)生所述第二碼序列,或者將每個(gè)包含能夠取非0的數(shù)字的比特序列作為所述第二碼序列輸出而不進(jìn)行處理。
4. 根據(jù)權(quán)利要求1或2的用于浮點(diǎn)格式的信號(hào)的無(wú)損編碼方法,其中,在所述第二編碼處理中,無(wú)損地壓縮所述差信號(hào)的尾數(shù)以產(chǎn)生所述第二碼序列,或者將所述尾數(shù)作為所述第二碼序列輸出而不進(jìn)行處理。
5. 根據(jù)權(quán)利要求1或2的用于浮點(diǎn)格式的信號(hào)的無(wú)損編碼方法,其中,所述整數(shù)格式的第二信號(hào)樣本序列中的每個(gè)樣本的比特長(zhǎng)度b!小于所述浮點(diǎn)格式的第 一信號(hào)樣本序列的尾數(shù)的比特?cái)?shù)量bM,并且在所述第 一編碼處理中,所述差信號(hào)中的每個(gè)樣本的尾數(shù)中能夠取非0值的數(shù)字的每個(gè)比特序列被分離為高階子范圍和低階子范圍,所述高階子范圍包含對(duì)應(yīng)于在所述尾數(shù)的比特?cái)?shù)量bM和所述每個(gè)樣本的比特?cái)?shù)量b!之間的差的比特?cái)?shù)量,所述低階子范圍包含剩余的比特,所述子范圍被分別無(wú)損壓縮以產(chǎn)生各個(gè)碼序列,并且所述碼序列被組合和輸出為所述第二碼序列。
6. 根據(jù)權(quán)利要求l或2的用于浮點(diǎn)格式的信號(hào)的無(wú)損編碼方法,其中,對(duì)包含多個(gè)樣本的每個(gè)幀執(zhí)行所述第一編碼處理,并且所述第一編碼處理包括以下步驟布置每個(gè)作為能夠取非0值的比特范圍的、每個(gè)幀中的每個(gè)差信號(hào)樣本的尾數(shù)的小數(shù)部分,其最高有效比特或其最低有效比特彼此對(duì)齊;至少在時(shí)間軸方向和/或幅度方向上選擇多個(gè)比特以產(chǎn)生多個(gè)被掃描的比特序列;以及無(wú)損壓縮所述被掃描的比特序列以產(chǎn)生所述第二碼序列。
7. 根據(jù)權(quán)利要求1或2的用于浮點(diǎn)格式的信號(hào)的無(wú)損編碼方法,其中,對(duì)包含多個(gè)樣本的每個(gè)幀執(zhí)行所述第 一編碼處理,并且所述第 一編碼處理包括以下步驟布置在每個(gè)幀中的每個(gè)差信號(hào)樣本中能夠取非0值的比特序列,并且以多種不同的預(yù)定掃描順序來(lái)掃描所述比特序列的陣列,以產(chǎn)生各個(gè)被掃描的比特序列;對(duì)通過(guò)以所述各個(gè)掃描順序掃描而產(chǎn)生的所述被掃描的比特序列進(jìn)行編碼,以產(chǎn)生各個(gè)掃描順序的碼序列;以及確定哪種掃描順序提供具有最小信息量的碼序列,并將所確定的碼序列作為所述第二碼序列而與指示對(duì)應(yīng)掃描順序的輔助碼一起輸出。
8. 根據(jù)權(quán)利要求1或2的用于浮點(diǎn)格式的信號(hào)的無(wú)損編碼方法,其中,所述第一編碼處理包括以下步驟對(duì)于包含多個(gè)樣本的每個(gè)幀,確定與相關(guān)幀中的差信號(hào)的小數(shù)部分相對(duì)應(yīng)的整數(shù)值樣本的序列的平均值;在時(shí)間軸方向上,執(zhí)行關(guān)于通過(guò)從每個(gè)整數(shù)值樣本的值中減去所述平均值而得到的信號(hào)的預(yù)測(cè);無(wú)損壓縮編碼該預(yù)測(cè)誤差;以及對(duì)所述平均值進(jìn)行編碼,以形成所述第二碼序列。
9. 一種用于浮點(diǎn)格式的信號(hào)的無(wú)損解碼方法,包括以下步驟(a) 根據(jù)輸入的輔助碼,確定輸入碼序列是通過(guò)單信號(hào)編碼還是雙信號(hào)編碼產(chǎn)生的碼序列;(b) 如果所述確定的結(jié)果指示單信號(hào)編碼,則將輸入碼序列解碼和擴(kuò)展為一個(gè)碼序列,以再現(xiàn)浮點(diǎn)格式的原始信號(hào)樣本序列;(c) 如果所述確定的結(jié)果指示雙信號(hào)編碼,則將輸入碼序列分離為第一碼序列和第二碼序列;(d) 解碼和擴(kuò)展所述第 一碼序列,以產(chǎn)生整數(shù)格式的第 一信號(hào)樣本序列;(e) 從所述第二碼序列得到浮點(diǎn)格式的差信號(hào);(f) 將所述整數(shù);格式的第 一信號(hào)樣本序列轉(zhuǎn)換為浮點(diǎn)格式的第二信號(hào)樣本序列;以及(g) 組合所述浮點(diǎn)格式的第二信號(hào)樣本序列和所述浮點(diǎn)格式的差信號(hào),以再現(xiàn)浮點(diǎn)格式的原始信號(hào)樣本序列;其中,所述步驟(e)包括以下步驟根據(jù)所述整數(shù)格式的第 一信號(hào)樣本序列或輸入輔助碼,確定使用第 一擴(kuò)展方法和第二擴(kuò)展方法中的哪一種來(lái)解碼和擴(kuò)展所述第二碼序列;以及將所述第二碼序列解碼和擴(kuò)展為每個(gè)都包含能夠取非0值的多個(gè)數(shù)字的比特序列,所述數(shù)字的數(shù)量由所述第一信號(hào)樣本序列的每個(gè)樣本的絕對(duì)值唯一地確定,并且如果確定結(jié)果指示第一擴(kuò)展方法,則從通過(guò)解碼和擴(kuò)展產(chǎn)生的比特序列組配所述差信號(hào),或者如果確定結(jié)果指示第二擴(kuò)展方法,則通過(guò)第二擴(kuò)展方法將所述第二碼序列直接解碼和擴(kuò)展為所述差信號(hào)。
10. —種用于浮點(diǎn)格式的信號(hào)的無(wú)損解碼方法,包括以下步驟(a) 解碼和擴(kuò)展第一碼序列,以產(chǎn)生整數(shù)格式的第一信號(hào)樣本序列;(b) 根據(jù)所述第一信號(hào)樣本序列或輔助碼,確定使用第一擴(kuò)展方法和第二擴(kuò)展方法中的哪一種來(lái)解碼和擴(kuò)展第二碼序列;(c) 如果確定結(jié)果指示第一擴(kuò)展方法,則將所述第二碼序列解碼和擴(kuò)展為每個(gè)都包含能夠取非0值的數(shù)字的比特序列,所述數(shù)字由所述第一信號(hào)樣本序列中的對(duì)應(yīng)樣本的絕對(duì)值唯一地確定,并且將從解碼和擴(kuò)展產(chǎn)生的比特序列組配為浮點(diǎn)格式的差信號(hào);(d) 如果確定結(jié)果指示第二擴(kuò)展方法,則從所述第二碼序列產(chǎn)生浮點(diǎn)格式的差信號(hào)的全部數(shù)字;(e) 將所述整數(shù)格式的第 一信號(hào)樣本序列轉(zhuǎn)換為浮點(diǎn)格式的第二信號(hào)樣本序列;以及(f) 組合所述浮點(diǎn)格式的第二信號(hào)樣本序列和所述浮點(diǎn)格式的差信號(hào),以再現(xiàn)浮點(diǎn)格式的原始數(shù)字信號(hào)序列。
11. 根據(jù)權(quán)利要求9或10的用于浮點(diǎn)格式的信號(hào)的無(wú)損解碼方法,其中,通過(guò)所述第一擴(kuò)展方法產(chǎn)生所述差信號(hào)的步驟包括以下步驟將所述第二碼序列的第一部分解碼和擴(kuò)展為包含能夠取非0值的數(shù)字的比特序列,所述數(shù)字由所述整數(shù)格式的第一信號(hào)樣本序列的對(duì)應(yīng)樣本的絕對(duì)值唯一地確定;將所述第二碼序列的第二部分解碼和擴(kuò)展為包含能夠取非0值的多個(gè)數(shù)字的比特序列,所述數(shù)字的數(shù)量由所述整數(shù)格式的第 一信號(hào)樣本序列中的對(duì)應(yīng)樣本的比特?cái)?shù)量和浮點(diǎn)格式的原始信號(hào)樣本序列的尾數(shù)的比特?cái)?shù)量之間的差來(lái)唯一地確定;以及組合從第二碼序列的第 一部分的解碼和擴(kuò)展產(chǎn)生的比特序列和從第二碼序列的第二部分的解碼和擴(kuò)展產(chǎn)生的比特序列,以產(chǎn)生所述差信號(hào)。
12. —種用于浮點(diǎn)格式的信號(hào)的無(wú)損編碼器,包括第一編碼部分,用于將所輸入的浮點(diǎn)格式的第一信號(hào)樣本序列轉(zhuǎn)換為整數(shù)格式的第二信號(hào)樣本序列,并且無(wú)損壓縮第二信號(hào)樣本序列;差產(chǎn)生部分,產(chǎn)生對(duì)應(yīng)于所述整數(shù)格式的第二信號(hào)樣本序列和所述浮點(diǎn)格式的第一信號(hào)樣本之間的差的、浮點(diǎn)格式的差信號(hào);第二編碼部分,對(duì)所述浮點(diǎn)格式的差信號(hào)的所有數(shù)字進(jìn)行編碼;第三編碼部分,對(duì)所述差信號(hào)的每個(gè)樣本中能夠取非0值的數(shù)字的比特序列進(jìn)行編碼,所述數(shù)字由所述整數(shù)格式的信號(hào)樣本序列中的對(duì)應(yīng)樣本的絕對(duì)值來(lái)確定;以及確定或估計(jì)所述第二編碼部分和所述第三編碼部分的哪一個(gè)提供較高的壓縮效率、并選擇和輸出來(lái)自所確定或估計(jì)的編碼部分的碼以提供較高壓縮效率的部件。
13. —種用于浮點(diǎn)格式的信號(hào)的解碼器,包括第一擴(kuò)展部分,解碼和擴(kuò)展輸入的第一碼序列,以產(chǎn)生整數(shù)格式的第一信號(hào)樣本序列;第二擴(kuò)展部分,將差信號(hào)中的輸入的第二碼序列解碼和擴(kuò)展為包含能夠取非0值的數(shù)字的比特序列,所述數(shù)字由所述整數(shù)格式的第一信號(hào)樣本序列的對(duì)應(yīng)樣本的絕對(duì)值來(lái)確定,并且第二擴(kuò)展部分將從解碼和擴(kuò)展產(chǎn)生的比特序列組配為浮點(diǎn)格式的差信號(hào);第三擴(kuò)展部分,將所述輸入的第二碼序列解碼和擴(kuò)展為所述浮點(diǎn)格式的差信號(hào)的所有數(shù)字;選擇部分,根據(jù)所述第一信號(hào)樣本序列或輸入的輔助碼來(lái)選擇所述第二擴(kuò)展部分和所述第三擴(kuò)展部分之一;以及組合部分,組合所述浮點(diǎn)格式的第一信號(hào)樣本序列和從所選擇的所述第二擴(kuò)展部分和所述第三擴(kuò)展部分之一接收的所述浮點(diǎn)格式的差信號(hào),以產(chǎn)生浮點(diǎn)格式的第三信號(hào)樣本序列。
全文摘要
本發(fā)明提供一種浮點(diǎn)信號(hào)的編碼方法、解碼方法及其編碼器、解碼器,所述編碼方法包括以下步驟(a)將浮點(diǎn)格式的第一信號(hào)樣本序列轉(zhuǎn)換為整數(shù)格式的第二信號(hào)樣本序列;(b)無(wú)損壓縮所述整數(shù)格式的第二信號(hào)樣本序列以產(chǎn)生第一碼序列;(c)產(chǎn)生浮點(diǎn)格式的差信號(hào),其對(duì)應(yīng)于所述整數(shù)格式的第二信號(hào)樣本序列和所述浮點(diǎn)格式的第一信號(hào)樣本序列之間的差;(d)確定哪種編碼處理具有較高的壓縮效率第一編碼處理或第二編碼處理;及(e)如果確定的結(jié)果指示第一編碼處理,則通過(guò)第一編碼處理來(lái)對(duì)所述差信號(hào)進(jìn)行編碼以產(chǎn)生第二碼序列,或如果確定的結(jié)果指示第二編碼處理,則通過(guò)第二編碼處理來(lái)對(duì)所述差信號(hào)進(jìn)行編碼以產(chǎn)生第二碼序列。
文檔編號(hào)H03M7/30GK101494460SQ20091000506
公開(kāi)日2009年7月29日 申請(qǐng)日期2004年9月1日 優(yōu)先權(quán)日2003年9月2日
發(fā)明者原田登, 守谷健弘, 戴 楊 申請(qǐng)人:日本電信電話株式會(huì)社
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1