TW202102010A - 用於無損資料壓縮和解壓縮的方法、裝置、和電腦程式產品 - Google Patents
用於無損資料壓縮和解壓縮的方法、裝置、和電腦程式產品 Download PDFInfo
- Publication number
- TW202102010A TW202102010A TW109116826A TW109116826A TW202102010A TW 202102010 A TW202102010 A TW 202102010A TW 109116826 A TW109116826 A TW 109116826A TW 109116826 A TW109116826 A TW 109116826A TW 202102010 A TW202102010 A TW 202102010A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- sequence
- block
- difference
- differential
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4031—Fixed length to variable length coding
- H03M7/4037—Prefix coding
- H03M7/4043—Adaptive prefix coding
- H03M7/4068—Parameterized codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/0017—Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/022—Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Abstract
提供了一種無損資料壓縮的方法(1800),其包括:接收具有已知長度和已知特性的資料段的序列(210)並預處理(1810)資料段的序列以生成差分資料的序列,差分資料的序列包括第一值、一或多個差分值、和最後的差分值。方法進一步包括將差分資料的序列分割(1820)成至少兩個差分資料的塊,並使用萊斯編碼來編碼(1830)至少一個差分資料的塊,從而提供至少一個經編碼的差分資料的塊。此外,方法包括生成(1840)資料封包(220),資料封包包括至少一個經編碼的差分資料的塊及未經編碼的差分資料的任意塊。此外,提供了無損資料解壓縮的方法、用於資料壓縮的可攜式電子裝置、用於資料解壓縮的可攜式電子裝置、用於資料壓縮的電腦程式產品、及用於資料解壓縮的電腦程式產品。
Description
整體而言,本發明涉及資料壓縮,且特別是具有已知特徵的資料序列的無損資料壓縮。
在現代社會中,連接設備變得越來越普遍,對於快速且可靠的通訊的需求也在增加。在增加有線或無線裝置的資料的整體效率以及減少這類裝置之間的通訊延遲上耗費了大量時間和金錢。這讓通訊服務的使用者認為,回應時間應該要很快,且任何動作都預期將立即收到回應。在所有使用案例中,例如與蜂巢式電話互動以使用智慧家庭解決方案來打開廚房燈,這都是被預期的。
預期速度和回應時間引起問題的特定區域是當使用低速控制通道來控制高速資料通道時。當在不同的使用模式之間切換攜帶式電子音訊或視訊裝置或更新裝置內的軟體過濾器時,這一點變得顯而易見。一個範例是在當以個人化的聽力配置文件(hearing profile)更新無線Bluetooth®音訊耳機時。使用者將串流播放音訊並在使用或不使用聽力配置文件之間或在不同版本的個人化聽力配置文件之間進行無縫切換。聽力配置文件將使用控制通道傳輸到音訊耳機,並且傳輸會很慢,導致使用者所不希望的等待時間,在某些情況下為幾秒鐘。
通常,在如上文詳細示例的情況下,可以利用壓縮演算法以減少要傳輸的資料量。壓縮演算法的問題在於它們通常會導致資料丟失,這對於例如聽力配置文件而言是不可接受的。無損壓縮演算法通常會具有較差的效能,即,在壓縮較小的資料集(少於150位元組的資料,例如上述聽力配置文件)時,部分由於過多的負擔(overhead)(即,中介資料)而導致的低於25%的壓縮因子。
在US 7363225中詳細描述了解決上述缺點的一種嘗試,其中從使用者輸入的n元語法(n-grams)產生整數值的列表。整數值列表已排序。計算列表中相鄰整數值之間的差。使用Golomb碼對每個計算出的差進行編碼。存取Golomb壓縮語言模型以識別可能的匹配項。
先前技術的一個問題是,當應用於少量資料集時,其壓縮率仍然不佳。
本發明的目的是提供一種新型的無損資料壓縮,其改善先前技術,且消除了或至少減輕了上述缺點。更具體地,本發明的目的是提供一種無損資料壓縮的方法,該方法也對小資料集有效。透過隨附獨立請求項中闡述的技術以及與其相關的附屬項中界定的較佳實施例,達到了這些目的中的一或多個。
根據第一態樣,提供了一種無損資料壓縮的方法。該方法包括:接收具有已知長度和已知特性的資料段的序列並預處理資料段的序列以生成差分資料的序列,差分資料的序列包括第一值、一或多個差分值、和最後的差分值。方法進一步包括將差分資料的序列分割成至少兩個差分資料的塊,並使用萊斯編碼來編碼至少一個差分資料的塊,從而提供至少一個經編碼的差分資料的塊。並且,方法包括生成資料封包,資料封包包括至少一個經編碼的差分資料的塊及未經編碼的差分資料的任意塊。
在無損資料壓縮方法的一個實施例中,在生成的步驟中,資料封包進一步包括一個或多個k參數。每個k參數與經編碼的差分資料的塊相關聯。在資料封包中包括k參數是有益的,因為它允許編碼使用任何k參數,因為k參數(在此實施例中),例如,不必事先得知,或者在解碼時重建。
在無損資料壓縮的方法的另一實施例中,編碼的步驟進一步包括利用相關聯的k參數對至少一個差分資料的塊進行萊斯編碼。透過計算相關的差分資料的塊的差分值的平均位元數來判定k參數。使用平均位元數作為k參數是一種快速找到差分資料的塊的最佳或接近最佳的k參數的非常有效率的方法。
在無損資料壓縮的方法的另一實施例中,在預處理的步驟中,透過增量編碼(delta-coding)資料段的序列一或多個迭代來生成差分資料的序列。這是有益的,因為它減小了資料的變異和平均,並因此允許更有效率的編碼。
在無損資料壓縮的方法的另一實施例中,在生成的步驟中,資料封包進一步包括增量編碼迭代指示符,其指示每個差分值已進行了增量編碼的次數。在資料封包中包含增量編碼迭代指示符使得能夠自由地選擇迭代次數。這是由於解碼不必事先知道迭代次數,因為它是在資料封包中提供的。
在無損資料壓縮的方法的另一實施例中,重複增量編碼,直到差分值的絕對值的和最小化或低於預定的或可配置的平均閾值。迭代增量編碼直到絕對值的和被最小化或低於閾值為止將提供最佳或接近最佳(從編碼的角度來看)的一系列差分資料。這可以完成而無需實行消耗記憶體和資源的計算,例如變異或標準差。
在無損資料壓縮的方法的又另一實施例中,在分割的步驟中,一個差分資料的塊僅包含最後的差分值且差分值以及第一值包含在至少一個差分資料的其他塊中。透過不同地對待最後的值,由於最後的值通常具有與其他值不同的大小,因此更有效的編碼是可能的。大小上的差異將影響k參數並降低編碼的效率。
在無損資料壓縮的方法的一個實施例中,編碼的步驟包括不對包括最後的差分值的差分資料的塊進行編碼。這是有益的,因為最後的差分與其他差分相比具有不同的大小。這意味著包括最後的值的塊的k參數將受到最後的值的極大影響,並且編碼效率將降低。如果最後的差分值是一個差分資料的塊中的唯一值,則特別有利,因為編碼一個單一個差分資料元素將比資料編碼減少資料元素需要更多的負擔(overhead),從而導致較差的壓縮率。
在無損資料壓縮的方法的另一實施例中,資料段的序列的特性是數位FIR音訊濾波器的特性。具有描述數位FIR音訊濾波器的資料段的序列是特別有利的,因為這些濾波器具有某些已知的特性,使得能夠特別有效率的壓縮。
根據第二態樣,提供了一種用於對由無損資料壓縮的方法生成的資料封包進行解壓縮的無損資料解壓縮的方法。無損資料解壓縮的方法包括:從資料封包提取資料的塊,其中至少一個資料的塊是經編碼的差分資料的塊,並解碼至少一個經編碼的差分資料的塊,從而提供一或多個差分資料的塊。方法亦包括將一或多個差分資料的塊附加到一個差分資料的序列中,差分資料的序列包括第一值、差分值的序列、和最後的差分值,且基於第一值後處理差分資料的序列來生成資料段的序列。
在無損資料解壓縮的方法的一個實施例中,資料封包進一步包括一或多個k參數。每個k參數與經編碼的差分資料的塊相關聯。提取的步驟包括從資料封包中提取一或多個k參數,且解碼的步驟進一步包括使用與其相關聯的k參數對經編碼的差分資料的塊進行解碼。在資料封包中包括k參數是有益的,因為它允許編碼使用任何k參數,因為k參數(在此態樣中),例如,不必事先得知,或者在解碼時重建。
在無損資料解壓縮的方法的另一實施例中,資料封包中包括的差分資料的序列是透過對資料段的序列增量編碼一或多次而生成的。此外,後處理的步驟包括對差分資料的序列增量解碼(delta-decoding)一或多次。這是有益的,因為它減小了資料的變異和平均,並因此允許更有效率的編碼。
在無損資料解壓縮的方法的另一實施例中,資料封包包括增量編碼迭代指示符,其指示資料封包內的每個差分值被增量編碼的次數。除此之外,提取的步驟包括從資料封包中提取增量編碼迭代指示符,並且實行後處理的步驟與由增量編碼迭代指示符所指示的次數相同的次數。在資料封包中包含增量編碼迭代指示符使得能夠自由地選擇迭代次數。這是由於解碼不必事先知道迭代次數,因為它是在資料封包中提供的。
在無損資料解壓縮的方法的又另一實施例中,資料封包中包括的一個差分資料的塊僅包含最後的差分值,並且最後的差分值被包括在資料封包的至少一個差分資料的其他塊中。並且,提取的步驟包括提取包含最後的差分值的一個資料的塊和包含一或多個差分值和第一值的至少一個資料的其他塊。透過不同地對待最後的值,由於最後的值通常具有與其他值不同的大小,因此更有效的編碼是可能的。大小上的差異將影響k參數並降低編碼的效率。
在無損資料解壓縮的方法的又另一實施例中,不對包括在資料封包中的包括最後的差分值的差分資料的塊進行編碼。對此進一步,解碼的步驟不應用於包括最後的差分值的資料的塊。這是有益的,因為最後的差分值與其他差分值相比具有不同的大小。這意味著包括最後的值的塊的k參數將受到最後的值的極大影響,並且編碼效率將降低。如果最後的差分值是一個差分資料的塊中的唯一值,則特別有利,因為編碼一個單一個差分資料元素將比資料編碼減少資料元素需要更多的負擔(overhead)從而導致較差的壓縮率。
根據第三態樣,提供了一種可攜式電子裝置,其包括控制器、記憶體、和通訊介面。控制器經配置以從記憶體取得適於使用者的聽力配置文件,並使該聽力配置文件被應用於第一態樣的無損資料壓縮的方法以生成資料封包。控制器進一步被配置以將資料封包經由介面發送至第二可攜式電子裝置。
根據第四態樣,提供了一種可攜式電子裝置,其包括控制器、記憶體、和通訊介面。控制器被配置以經由通訊介面接收資料封包,並使資料封包被應用於第二態樣的無損資料解壓縮的方法,以生成資料段的序列。控制器進一步被配置以將資料段的序列儲存到記憶體作為聽力配置文件。
根據第五態樣,提供了一種電腦程式產品。該電腦程式產品被配置為當由控制器執行時,實行第一態樣的無損資料壓縮的方法。
根據第六態樣,提供了一種電腦程式產品。該電腦程式產品被配置為當由控制器執行時,實行第二態樣的無損資料解壓縮的方法。
在下文中,將參照隨附圖式更充分地描述某些實施例。然而,本發明可以以許多不同的形式來實施,並且不應被解釋為限於本文闡述的實施例;而是,透過範例的方式提供這些實施例,使得本公開透徹和完整,並且將本發明的範圍(如在隨附申請專利範圍中所界定的)充分傳達給所屬技術領域具有通常知識者。
應提及的是,在整個本公開中使用諸如大小和長度之類的詞語和用語。這些用語從它們的上下文中是清楚的,例如,序列的大小可以是該序列的元素數量和/或表示該序列的二進位制位元的總數。序列的長度可能指的是與序列的大小相同的東西。所屬技術領域具有通常知識者將不難理解大小和長度之間的差異(如果有)或如何應用到本公開的教示。
所公開的發明大體上涉及資料壓縮,並且特別涉及少量資料的無損資料壓縮。作為提出本發明的一種應用的非限制性範例,考慮如第1圖中描繪為耳機的可攜式電子設備120和第1圖中描繪為行動電話的可攜式電子設備110。耳機120和行動電話110透過介面130彼此通訊,該介面130可以是藍牙介面,但是可以使用任何合適的介面。行動電話110設置有控制應用程式,控制應用程式透過介面130連接並控制耳機120的韌體的至少一部分。當音訊透過介面130從行動電話110傳輸到耳機120時,控制應用程式可被配置以更新與耳機120的聲音調節有關的配置。一般來說,如果介面130是例如藍牙,則音訊資料將在介面130的串流通道上串流傳輸,並且配置將在介面130的資料通道上傳輸。這是許多通訊介面中的典型設置,與用於例如將資料串流傳輸到設備的其他介面相比,減少了要控制和更新從屬裝置而使用的通道或分配的頻寬。這是有道理的,因為控制命令通常非常短,甚至只有單一位元組(bytes),且例如,從屬裝置的韌體升級和配置更新是很少的,並且通常在從屬設備處於待機狀態時實行,或在背景實行而沒有影響裝置的使用。這意味著即使要傳輸的設置很小,例如少於150個位元組的資料,用於此目的的通道也很慢,且傳輸可能要花費3秒以上。如果要傳送的配置是耳機120的使用者的聽力配置文件(hearing profile),且傳送的初始化是由使用者在行動電話130上完成的,則3秒的延遲是相當大的。使用者期望在不同配置之間切換時接近即時反饋,以便直接評估對音訊播放的效果。相反的情況也是可能的,其中例如音訊配置文件從耳機120傳輸到行動電話110。當介面130的資料速率固定時,直接的方法是使用標準的無損壓縮方法,例如資料的萊斯編碼(Rice encoding)。在上述具有包括小於150位元組的聽力配置文件的配置的非限制性範例中,資料被壓縮到大約85%,這在切換配置時仍需要超過2.5秒的傳輸時間。如此差的壓縮率並沒有動機來投資壓縮和解壓縮資料封包所需的計算能力。任何增加的計算步驟將消耗功率並減少例如可攜式電子設備的待機時間。減小資料的大小將減少資料的傳輸時間,從而減少功率消耗。這種減少必須與壓縮和解壓縮的計算成本以及增加的功率消耗有關。透過利用本公開的教示,資料被壓縮到其原始大小的平均46%。在以上範例中,如果聽力配置文件的取樣率加倍,則取樣之間的相關性將增加,並且所屬技術領域具有通常知識者在閱讀本公開之後將理解,在這樣的實施例中壓縮率將更高。
要壓縮的資料,例如上文範例中的配置或音訊配置文件,將被稱為資料段的一序列210,並在第2a圖中描繪出。資料段的序列210包括數量n個的資料段230。在本公開的一些實施例中,每個資料段230包含16位元資料。在本公開的一些實施例中,資料段230的數量n是32。然而,應強調的是,本文公開的方法、模組、和裝置將與資料或資料段的序列的任何大小或長度運作,但是其益處之一是本文的教導所要求的有限的負擔(overhead)或中介資料。資料序列越長,壓縮率越好,即,本發明在更大的資料序列下運作得更好。資料段的序列210被轉換成資料封包220,見第2b圖,其可以例如被傳送、儲存、或傳輸並因此被接收或取回,然後被轉換回資料段的原始序列210。資料封包220包括數量為m的輸出資料段240。輸出資料段240中的至少一個被編碼。輸出資料段240可以是以數位格式表示的任何種類的資料,並且所公開的發明的方法和系統將適用於所有這些。
為了實現對小資料集的無損壓縮,本公開背後的發明人熟練地組合了一系列功能/模組,將在以下各節中詳細說明。
在第3圖中,示出了資料編碼系統300。資料編碼系統300包括預處理模組310、分割模組320、編碼模組330、和生成模組340。資料編碼系統300接收資料段序列210,並輸出資料封包220。
用於解碼資料封包220的相應系統在第4圖中被示為資料解碼系統400。資料解碼系統400包括提取模組440、解碼模組430、附加模組420、和後處理模組410。資料解碼系統400接收資料封包220並輸出資料段序列210。
模組310、320、330、340、440、430、420、410中的每一個可以例如使用影體元件、影體和軟體的組合、或以任何其他合適的方式實現為電腦實施的方法。模組310、320、330、340、440、430、420、410中的每一個的特定功能將在接下來的部分中進一步詳細解釋。
預處理和後處理
預處理模組310具有任務要準備接收的資料段序列210,資料段序列210作為輸入到資料編碼系統300以供進一步處理。類似地,後處理模組410接收由附加模組420提供的資料序列,並處理該資料序列,及提供與接收作為輸入的預處理模組310相同的資料段序列210作為輸出。簡而言之,該處理是無損的,因為在資料解碼系統400輸出的資料段序列210和由資料編碼系統300作為輸入接收的資料段序列210之間沒有差異。
資料段序列210的每個資料段230是多個二進位制位元。每個資料段230中的位元數nb將設置可由資料段230表示的最大數為2nb
-1。僅出於解釋的目的,考慮資料段序列210,其資料段230為8位元(28
-1 = 255),但由序列資料段210表示的最高數為127,即該序列中的所有數字均為等於或介於0到127之間。在此範例中,假設已知7位元將用於資料,則資料段230可以減少到7位元(27
-1 = 127)而不會丟失任何資料。類似地,如果由資料段序列表示的最小數是128,即該序列中的所有數都等於或介於128和255之間,則可以從資料段序列210的每個資料段230中減去該數,而產生差分資料的序列510。減去後,序列中的所有數都等於或介於0到127之間。這樣做的一個效果是,在此範例中,假設已知減去的數(128),資料段230可以減少到7位元(27
-1 = 127),而不會丟失任何資訊。
上文給出的後者的範例可看作是增量編碼資料(delta coding data)的一種方式,其中常數,在上面的範例中為128,用於計算差分值或增量。
在第5圖中,示出了預處理模組310的一個實施例。預處理模組310接收資料段的序列210,並產生差分資料的序列510,差分資料的序列包括第一值520、最後的差分值540、和一或多個差分值530。通常將差分值530計算為相應資料段230與另一資料段230之間的差。另一資料段230通常是對應於資料段序列210中的差分值的與資料段230相鄰的資料段230。參考第5圖,第二差分值530被計算為第一值520與資料段序列210中的第二資料段230之間的差,第一值可以是資料段序列210中的一值。類似地,在第5圖中,第五差分值530被計算為第五輸入資料段230和第四輸入資料段230之間的差。繼續此處理,直到計算出最後的差分值540為止,最後的差分值540是最後資料段230和第二最後資料段230之間的差。
參照第5圖描述的增量編碼只是如何完成增量編碼的一個範例。用語「第一值」不必表示一系列的值中的第一個值,而是可以很好地參照一系列值中的任何值。第一值520是在計算差分值530時用作參考的起始值。第一值520很可能是資料段序列210的最後一個值,並且在一些實施例中,這可能是特別有益的。類似地,最後的差分值540可能不是基於資料段序列210的最後值之間的差,而是可能基於任何資料段230。最後的差分值540僅指示差分資料序列510中的差分值530、540中的最後一個。如將看到的,與其他差分值530不同地處理最後差分值540或第一值520,可能是有益的。這是特別真實的,如果資料段序列210具有一種特性,其中資料段序列210的末端或起始處的資料段230與資料段序列210的另一端的資料段230相比,通常具有較小的絕對值。這為減少表示差分資料序列510中的第一值520和/或最後的差分值540的位元數提供機會。要記得第一值不是計算出的增量值。類似地,如果資料段序列210具有一種特性,其中中間資料段230通常小於資料段序列210的其他資料段230,則中間資料段230可以用作第一值520。在完全理解本公開的教示之後,所屬技術領域具有通常知識者將理解如何根據資料段序列210的特性來選擇最佳的第一值520。
轉到第6圖,基於作為輸入提供給預處理模組310的資料段的序列210,示出了差分資料序列510可能看起來的樣子的範例。資料段序列210的最左邊的資料段230用作差分資料序列510中的第一值520。從第二資料段中減去第一值520以產生第二差分值,在第6圖中,這是45-35=10。當然也可以透過在第6圖的範例中從第一值520減去第二資料段以產生正差分值來實行減法。透過從第三資料段減去第二資料段來產生第三差分值,在第6圖中這是40-45=-5。對資料段序列210的所有資料段230重複相同的減法。第6圖所示的資料段序列210包含與以下實施例中將進一步示例說明的增量編碼相同的數。這些數是隨機的,並且可能不適合於預處理模組310的所有實施例。這些數僅僅是為了透過範例解釋方法。
在第7圖中,示出了預處理模組310的實施例。在此實施例中,增量編碼被重複複數次。來自第一增量編碼循環的輸出用作為第二增量編碼循環的輸入,以此類推。此設置可以進一步減小變異(variance)、最大絕對差分值、絕對差分值的總和、唯一差分值的數量和/或差分值的平均值。應提及的是,增量編碼的概念中的多個重複、迭代、循環、和多次是指相同的事,即,差分資料序列510或差分資料序列510的一部分已針對增量編碼實行的次數。
在另一個實施例中,來自第一增量編碼循環的第一值520與在第二增量編碼循環中使用的第一值520相同。基本上,使用資料段序列210作為第一輸入並接著使用生成的差分資料序列510作為第二迭代的輸入,來多次迭代相同的增量編碼模組。這意味著每個增量編碼循環結果是相同數量的差分值。這在第8圖中舉例說明,其中示出了兩個增量編碼循環。
在另一個進一步的實施例中,如第9圖所示例,每個循環使用不同的第一值,並且在連續的增量編碼迭代中忽略在先前的迭代中已用作第一值的值。在第9圖中,可見到如在增量編碼的第一迭代中的第一差分值,即10,被用作第二增量編碼迭代的第一值。從第二迭代輸出的第一差分值(即-15)是第二迭代的第一值,即第一迭代的第一差分值,從第一迭代的第二差分值減去,即-5-10=-15。
參照第8圖和第9圖給出的範例兩者都描述了兩次迭代,這僅是為了有效率地揭示。在與第8圖有關的實施例中,增量編碼循環的數量可以是無限的,並且在與第9圖有關的實施例中,可以存在與資料段序列210中的資料段230一樣多的增量編碼循環。亦應提到的是,可以將所提到的實施例進行組合,並且實施例中的一個實施例可以針對第一迭代數量執行,而另一實施例針對第二迭代數量執行。
本公開背後的發明人已經熟練地意識到,如何判定預處理模組310要實行多少增量編碼迭代,是有許多不同的方式。
在預處理模組310的一個實施例中,增量編碼迭代的數量是預定的迭代數量。在另一個實施例中,對資料段序列210進行增量編碼的次數在2至10次之間,在另一實施例中,對資料段序列210進行增量編碼的次數在3至7之間。在對音訊配置文件進行增量編碼時特別有益的另一實施例中,對資料段序列210進行增量編碼的預定次數是4或5次。當針對用於耳機的音訊配置文件應用本公開的教示時,發明人已經憑經驗顯示這些數量是特別有益的。
在預處理模組310的一個實施例中,增量編碼迭代的數量是自適應的迭代數量。
在另一實施例中,預處理模組310迭代增量編碼,直到最小化唯一的差分值230的數。實施這樣的一種方式是對在每次迭代中唯一的差分值230的數進行計數。一旦與先前的迭代相比增加了唯一的差分值230的數,則停止預處理,並且作為從預處理模組的輸出提供的差分資料的序列510是從先前的迭代生成的差分資料的序列510。替代地,預處理模組310迭代增量編碼,直到唯一的差分值230的數低於預定的或可配置的唯一值閾值。
在另一實施例中,預處理模組310迭代增量編碼,直到最小化差分值的絕對值之和。實施這樣的一種方式是在每次迭代中合計差分值230的絕對值。一旦與先前的迭代相比差分值的絕對值的和增加了,則停止預處理,並且作為從預處理模組的輸出提供的差分資料的序列510是從先前的迭代生成的差分資料的序列510。替代地,預處理模組310迭代增量編碼,直到差分值的絕對值的和低於預定的或可配置的絕對值閾值。在有限的資源可利用於進行增量編碼時,例如在行動電話、耳機、或具有有限的電源、記憶體、電池等的其他可攜式電子設備中,在判定應循環增量編碼的次數時查看差分值的總和是特別有益的。
在又一實施例中,由預處理模組實行的每個增量編碼迭代都受到資料編碼系統300的所有模組320、330、340的影響,其中資料封包220的大小被最小化。如前述的實施例中一樣,這可以透過計算從資料段序列210的增量編碼的每次迭代生成的每個資料封包的大小來實現。一旦與來自先前的增量編碼迭代的資料封包的大小相比,資料封包220的大小增加了,則停止預處理,並且作為從預處理模組310的輸出提供的差分資料的序列510是從先前的迭代生成的差分資料的序列510。當然,由於已經執行了所有模組320、330、340,因此可以提供來自先前的增量編碼迭代的資料封包220作為來自資料編碼系統300的輸出。替代地,預處理模組310迭代增量編碼,直到資料封包220的大小低於預定的或可配置的資料封包大小閾值為止。
所屬技術領域具有通常知識者將意識到,上文列出的預處理模組310的實施例可以很好地組合於組合的實施例中。在這樣的實施例中,可以為每個迭代生成對每個迭代與每個實施例的效能有關的權重之和。預處理模組310可以繼續迭代增量編碼循環,直到例如權重之和最小化為止。如上所述,這可以透過在當前的權重之和大於先前的權重之和時停止迭代且作為從預處理模組310的輸出提供的差分資料序列510是來自先前的迭代生成的差分資料序列510而來實現。替代地,預處理模組310迭代增量編碼,直到權重之和低於預定的或可配置的資料封包大小閾值為止。
在可適用的情況下,可以執行上文給出的實施例,直到滿足與每個實施例有關的所提到的停止標準為止,或者執行最大次數。最大次數可以是可配置或預定的最大次數。如果預處理運行了最大次數,則作為從預處理模組310的輸出提供的差分資料序列510可以是從導致用於特定實施例的停止標準的最佳值的迭代生成的差分資料序列510。在另一個實施例中,最大次數是6次。
類似地和/或附加地,在一些實施例中可以指定最小迭代次數,即,在完成結果的任何評估之前,對於最小迭代次數可以忽略停止標準。
在可適用的情況下,實施例可進一步運行固定數量的迭代,並且作為預處理模組310的輸出提供的差分資料序列510可以是從固定數量的迭代的最後一次迭代生成的差分資料序列510。固定次數的迭代可以是可配置或預定的固定次數的迭代。
參考第10圖,將解釋後處理模組410的實施例。後處理模組410運作非常類似於預處理模組310但是是相反的。後處理模組410接收差分資料序列510,差分資料序列510包括第一值520和一或多個差分值530、540。處理差分資料序列510,使得提供給預處理模組310的資料段序列210被重新建立。在第10圖中,差分資料序列510中的第一值520成為資料段序列210中的第一資料段230,即第10圖中所示資料段序列210中最左邊的資料段230。第一值530被添加到差分資料序列510的第一差分值530,從而在資料段序列210中提供第二資料段230。此第二資料段230被加到差分資料序列510中的第二差分值530,從而提供資料段序列210中的第三資料段230,即第10圖中所示的資料段序列210中的第三資料段230。針對提供給後處理模組410的差分資料510的列表中的所有差分值530、540,重複上述動作。在處理差分資料510的列表中的最後一個差分值540之後,從後處理模組410提供的資料段210的列表包含與提供給相應的預處理模組310的資料段210的列表相同的資料。後處理模組410可被描述為增量解碼(delta-decoding)資料。
後處理模組410將需要有關如何組織和配置差分資料序列510的資訊。此資訊可以以多種不同方式提供給後處理模組,例如透過資料封包220中的控制位元、透過提供給後處理模組410的任何其他控制、透過預配置和/或透過分析差分資料序列510。
參照第11圖,將描述後處理模組的另一實施例。類似於預處理模組310,後處理模組410可運行多於一次的增量解碼。後處理模組410將需要關於應當實行多少次增量解碼的迭代的資訊,並且此資訊可以透過前面提到的任何手段或者用於將此資訊傳送到後處理模組410的任何其他合適的手段來提供。
第12圖中示例說明了以一個以上迭代後處理已在一個以上迭代中進行預處理的資料的步驟。範例與參照第8圖呈現的範例相反。在閱讀了本公開並且參照關於預處理模組310給出的描述以及關於第10圖-第12圖給出的關於後處理的細節之後,所屬技術領域具有通常知識者將不會有以多於一個的增量解碼迭代實行後處理的問題。
分割和附加
如第13圖中示意性描繪的,分割模組320的一個實施例從預處理模組310接收差分資料序列510,並且將差分資料510分割為提供給編碼模組330的差分資料的至少兩個塊1310。差分資料的塊1310可以全部都是相同的長度,但是可以很好地具有不同的長度,或者是具有相同長度的差分資料的一些塊1310和具有不同長度的差分資料的其他塊1310。注意到,差分資料的一些塊1310可以僅包含差分資料530、540,但是差分資料的塊1310中的至少一個還包括本身不是差分值的第一值520。自然地,差分資料的塊中的一個塊包括最後的差分值540。
分割模組320的目的是將差分資料的序列510分割成差分資料的塊1310,使得差分資料的塊與資料段的序列210的特性相關,並因此與差分資料的序列510的特性相關。資料段序列210的特性可以使得與在資料段序列210的末端的變異(variance)相比,在資料段序列210的開始處具有較高的變異。當然也可考量相反的情況。無論哪種方式,考慮到將對差分資料塊1310進行的編碼,在差分資料塊1310內具有儘可能相似的變異是合理的。替代地或附加地,差分資料的塊1310可以具有儘可能相似的差分值530,即,在塊內具有儘可能少的唯一值。
在分割模組320的一個實施例中,差分資料的塊1310的數量是預定的或可配置的數量。在另一實施例中,差分資料的塊1310的數量是4。當針對用於耳機中的音訊配置文件應用本公開的教示時,這已被示出是特別有益的塊的數量。這是從本發明的發明人實行的經驗研究的結果。
在分割模組320的一個實施例中,差分資料的塊1310具有預定的或可配置的長度,即,差分值530的預定或可配置的數。
在分割模組320的一個實施例中,差分資料的一個塊1310具有長度是一,即該塊僅包含一個值。在另一個實施例中,具有長度是一的差分資料的塊1310包含第一值520或最後的差分值540。
由於差分資料序列510的長度是已知的,並且分割模組320的目的是對要生成的資料封包220進行大小的最佳化,因此自適應地判定塊的數量和/或每個塊的長度將增加負擔(overhead)。這是因為資料解碼系統400將需要此資訊,以便在其附加模組420中成功地附加資料。通常可以透過使長度指示符和/或塊指示符包括在資料封包220中來實現這一點,長度指示符與差分資料的塊1310中的至少一個塊相關聯,塊指示符指示塊的數量。如此,所屬技術領域具有通常知識者將認識到以下實施例最佳地與例如,差分資料的每個塊1310的最小長度、差分資料的每個塊1310的最大長度、差分資料的塊1310的最小數量、及/或差分資料的塊1310的最大數量,成對。前面列出的最大值和最小值可以透過迭代機器學習處理進行預定義、配置、或調整。
在一個實施例中,自適應地判定差分資料的每個塊1310的長度和/或差分資料的塊1310的數量。
在另一實施例中,差分資料的每個塊1310的長度和/或差分資料的塊的數量透過最小化差分資料的各個塊1310內的變異(variance)來自適應地判定。
在另一進一步的實施例中,透過最小化差分資料的每個塊1310內的唯一值的數來自適應地判定差分資料的每個塊1310的長度和/或差分資料的塊的數量。
在又另一進一步的實施例中,差分資料的每個塊1310的長度和/或差分資料的塊的數量是透過使對於在差分資料的每個塊1310內的差分值530的絕對值的平均值具有不同的預定的可配置目標值而自適應地判定。
在另一進一步的實施例中,透過計算跨多個差分資料值530的滑動平均值和滑動變異來自適應地判定差分資料的每個塊1310的長度和/或差分資料的塊的數量。當滑動平均值和滑動變異在預定或可配置的滑動平均值和滑動變異閾值之上或之下時,將先前的差分資料值530添加到差分資料塊1310。這意味著差分資料的每個塊1310將對其差分值1310具有一定的預期信心區間。
在非常適合於無損壓縮(例如音訊配置文件)的較佳實施例中,差分資料的塊的數量為四個。差分資料的一個塊1310具有長度是一。具有長度是1的差分資料塊1310包含最後的差分值540。當針對用於耳機中的音訊配置文件應用本公開的教示時,這已被示出是特別有益的塊的數量。音訊配置文件使得最後的差分值540將與第二至最後的差分值明顯不同,這意味著塊的編碼將更有效率。這將相關於本公開後文給出的範例而更詳細地示出。
為了完整起見,第14圖示出了附加模組420的一個實施例的示意圖。附加模組420接收由例如解碼模組430提供的差分資料的塊1310,並且逆轉分割模組320的處理。如果必要,解碼模組430被提供或獲取與差分資料的塊的數量和/或長度有關的資訊。資訊可以是預定的或可配置的,替代地或附加地,可以從資料封包220中提取資訊作為塊指示符和/或長度指示符。
編碼和解碼
在第15圖中示意性地示出,編碼模組330被提供有來自例如分割模組320的差分資料的一或多個塊1310,並且向例如生成模組340提供經編碼的差分資料的一或多個塊1510。經編碼的差分資料的一或多個塊1510中的每一個塊與k參數1520相關聯。
在編碼模組330的實施例中,透過對差分資料的至少一些塊1310進行萊斯編碼(Rice coding或Rice encoding)來實行編碼。為了完整性和簡潔,資料的萊斯編碼是本領域為人熟知的,並且是適用於二進位制編碼的格倫布編碼(Golomb coding)的一種形式。萊斯編碼在對資料序列進行編碼時使用k參數1520,並且透過設置m=2k
針對數x進行編碼。有不同的編碼方法,但僅作為一個範例,以q為x/m的地板函數並以q個二進位一開始,在其後附加二進位零和小數的其餘部分(即x-q),用k位元進行二進位編碼。注意到,以q個二進位零並附加二進位一的相反實施也是可能的。對多個k參數重複步驟,並且將導致經編碼的差分資料的最短(即最小)的塊1510的k參數1520與所選擇的k參數1520一起作為輸出提供給生成模組340。
從上述的萊斯演算法的簡短描述中,很明顯,較小的k參數1520在具有低值的資料集上更有效率,而較高的k參數1520在具有高值的資料集上更有效率。
通常,以包括音訊配置文件的資料段的序列210,提供給編碼模組330的差分資料的塊1310將具有不同的變異。這意味著在使用萊斯編碼來進行編碼之前,將音訊配置文件增量編碼和分割為差分資料的塊1310是特別有益的。對於差分資料1310的不同塊使用不同的k參數1520的可能性將使得能夠為要編碼的差分資料1310的塊分別選擇最佳的或接近最佳的k參數1520。音訊配置文件通常具有特性,該特性導致音訊配置文件的不同部分(塊)的經增量編碼的音訊配置文件的平均值不同。類似地,可以將相同的推理應用於具有已知特性的資料段的任何序列210。
在編碼模組330的一個實施例中,使用具有預定或可配置的k參數1520的萊斯編碼來對提供給編碼模組330的差分資料塊1310中的至少一個進行編碼。
在編碼模組330的一個實施例中,使用萊斯編碼來對提供給編碼模組330的差分資料塊1310中的至少一個進行編碼,並且編碼模組330為經編碼的差分資料的每個塊1510提供一個k參數1520。
在編碼模組330的另一實施例中,編碼模組330為提供給編碼模組330的差分資料的各個塊1310計算差分值530、540的平均位元數。將計算出的平均位元數四捨五入到其最接近的整數部分,並且此四捨五入的平均位元數用作對與四捨五入的平均位元數相關聯的差分資料的塊1310進行編碼的k參數1520。此實施例僅需要簡單地對位元數進行平均,並且不需要差分資料塊1310的完全編碼以判定最佳的或接近最佳的k參數1520。這已經透過研究本領域的萊斯演算法,並且使實施方式調適以使其從處理成本和從電流消耗而言儘可能有效率,由發明人有洞見的創造力而實現。
在編碼模組330的另一進一步的實施例中,針對要以不同的k參數1520編碼的差分資料的每個塊1310運行複數次萊斯編碼演算法,且導致差分資料的最短的壓縮塊1510的k參數1520連同其相關聯的k參數1520一起被提供作為編碼模組330的輸出。這可以透過在經編碼的差分資料的塊1510的當前長度大於差分資料的相同的塊1310的以先前的k參數的先前的編碼的長度時,停止迭代來實現,並作為從編碼模組330的輸出來提供的是從先前的迭代生成的經編碼的差分資料的塊1510與其相關的k參數1520配對。
在編碼模組330的進一步的實施例中,針對可配置的或預定的最大數的編碼,以不同的k參數1520迭代地運行萊斯編碼。作為編碼模組330的輸出來提供的是經編碼的差分資料的最短塊1510及其關聯的k參數1520。
在編碼模組330的任何實施例中,可以使用具有預定或可配置的k參數1520的萊斯編碼來對提供給編碼模組330的差分資料塊1310中的至少一個進行編碼。
在編碼模組330的任何實施例中,可以不對包括第一值520的差分資料的塊1310進行編碼。附加地或替代地,在編碼模組330的任何實施例中,可以不對包括最後的差分值540的差分資料0的塊1310進行編碼。作為編碼模組330的替代實施例,可以使用預定的或可配置的k參數1520來對包括第一值520的差分資料的塊1310和/或包括最後的差分值540的差分資料的塊1310進行編碼。分別處理包括第一值520和/或最後的差分值540的差分資料的塊1310是有益的,因為第一值520和/或最後的差分值540通常是不同的,並且在許多情況下大於差分值530。這意味著適合於與第一值520相鄰或與最後的差分值540相鄰的差分值530的k參數1520可能不適合於第一值520和/或最後的差分值540,並且整體壓縮比可能減少。
從上文給出的編碼模組330的描述,可以將解碼模組430描述為與編碼模組330相反,如第16圖中示意性所示。解碼模組430接收經編碼的差分資料的一或多個塊1510及,如果沒有預定,接收與經編碼的差分資料的一或多個塊1510中的每一個相關聯的k參數1520。解碼模組430使用k參數1520透過萊斯解碼來解碼經編碼的資料的相關聯的塊1510。簡而言之,透過提取經編碼的資料的塊1510的最後k位元來提取第一分數(x-q)。忽略二進位零並提取q個二進位1,並將差分值530解碼為q + 分數。這被重複進行直到編碼資料的塊1510的結尾。
生成和提取
參照第17a圖-第17e圖,將說明透過生成模組340產生的資料封包220。在參照的圖示中呈現的資料的順序是僅出於示例之目的,資料封包220中的資料的順序對於本發明的目的並不重要。在一些實施例中,生成模組340從編碼模組330接收經編碼的差分資料的塊1510以及相關聯的k參數1520。短語生成構件將從編碼模組330接收的二進位制資料佈置成包括所有資料的一個資料封包220。
在生成模組340的一個實施例中,資料封包220,見第17a圖,包括一或多個經編碼的差分資料的塊1510。此實施例在資料封包220中沒有負擔(overhead)或中介資料(metadata),並且為了解碼資料封包而所需的所有參數必須是已知的,例如預定的,或者是可能由資料解碼系統400重新創建。
在生成模組340的另一實施例中,資料封包220,見第17b圖,包括一或多個經編碼的差分資料的塊1510以及與一或多個經編碼的差分資料的塊1510相關聯的一或多個k參數1520。
在生成模組340的另一實施例中,資料封包220,見第17c圖,亦包括增量編碼迭代指示符1720,其指示已經由預處理模組310實行的增量編碼的迭代次數。
在生成模組340的另一實施例中,見第17d圖,資料封包220包括第一值520或最後的差分值540作為單獨的資料塊。單獨的資料塊可以或可以不被編碼。
在生成模組340的另一實施例中,資料封包220,見第17e圖,包括塊數指示符1730和/或一或多個塊長度指示符1740。這些指示符指示由分割模組320提供的塊的數量和/或一或多個塊的長度。
在一個實施例中,增量編碼迭代指示符1720使用4個位元表示。每個k參數1520用4個位元表示。第一值520未被編碼並且以16位元表示。
在另一實施例中,增量編碼迭代指示符1720使用3個位元表示。每個k參數1520用4個位元表示。最後的差分值540未被編碼並且以16位元表示。塊數指示符1730和/或一或多個塊長度指示符1740以2位元表示。
提取模組440以與生成模組340相反的方式運作。提取模組440從資料封包220提取k參數1520。如果在資料封包220中將資訊,例如增量編碼迭代指示符1720、塊數指示符1730、和/或一或多個塊長度指示符1740,提供給提取模組440,則這些參數1720、1730、1740也將被提取。資料封包220通常將會是已知的格式,這意味著提取模組440知道資料封包220的結構並且可以相應地提取資料封包的資料。替代地,可以在資料封包220中包括標頭,其描述資料封包220的結構。
注意到以上公開的資料封包220主要是出於說明性目的。可以以任何合適的方式來解釋資料封包220,並且例如,資料的順序對於本發明的目的而言是無關緊要的。資料封包220的不同實施例可以以任何合適的方式組合,且所屬技術領域具有通常知識者在消化了本公開的內容之後,將理解這是如何完成以及如何與例如資料編碼系統300和資料解碼系統400和相關聯的方法聯繫在一起。
由模組及它們如何通訊連接的說明描述,所屬技術領域具有通常知識者現在理解到,本文的教示可以應用於任何資料段210的序列,而與長度無關。如果資料段序列210具有已知特性,則更多的資料段通常將意味著資料段序列210的較高取樣率。通常,資料段序列210包括代表FIR音訊濾波器的資料,該FIR音訊濾波器的資料適用於使用者的聽力配置文件。濾波器越長,位元之間有越高的相關性,且預處理模組310將生成具有非常低變異(variance)的差分資料序列510。因此,編碼模組330將更有效地工作,並且將增加整體壓縮率。
應指出,資料的術語塊1310、1510、差分資料塊1310和經編碼的差分資料塊1510之間的關係使得資料的術語塊1310、1510將包括差分資料塊1310或經編碼的差分資料塊1510中的任一者或兩者。原因很簡單,上文解釋的資料封包220可包括經編碼的差分資料的一或多個塊1510和沒有或多個差分資料塊1310,其中資料的術語塊1310、1510很便於使用。
對此進一步,除了壓縮率之外,還可以透過其資源消耗來評估壓縮及其相關的解壓縮演算法的效率。資源消耗可以是例如記憶體消耗、完成它所必需的處理器操作的數量、電流和/或能量的消耗等。本文提出的發明從壓縮率的角度來看(因為所需的負擔(overhead)或中介資料少)及從資源消耗的角度來看兩者,都是非常有效率的。所呈現的教示可使用簡單的算術函式來實施,從而導致對用於實施或執行實施上述模組310、320、330、340、410、420、430、440的軟體代碼的任何硬體的低要求。當將由資源有限的系統(例如,第1圖的耳機120)實行壓縮或解壓縮時,這特別有益。如前文所述,壓縮和解壓縮兩者都可以在第1圖中的耳機120或行動電話110中實行。由於本文教導的方法的效率,這是可能的。
壓縮和解壓縮方法
基於提出的模組並參照第18圖,將提出無損資料壓縮方法1800。方法1800適合於由前文提出的資料編碼系統300執行。方法1800透過例如預處理模組310接收資料段序列210。資料段序列210具有已知的長度和已知的特性。已知特性可包括趨勢、幅度、橫跨資料段序列210上的變異的變異(即,變異如何在資料段序列210上變化)等。
藉由例如預處理模組310對資料段序列210進行預處理1810,生成差分資料序列510。差分資料序列510包括第一值520和一或多個差分值530、540。預處理1810可以以本文公開的任何方式來實行,例如相關於預處理模組310。預處理1810可以是迭代處理,並且預處理的步驟可以是這樣的情況,在這種情況下,亦可提供增量編碼迭代指示符1720,其指示已經實行了預處理1810的迭代的數量。
方法1800進一步包括透過例如分割模組320將差分資料序列510分割1820為差分資料的至少兩個塊1310。分割1820可以以本文中呈現的任何方式來實行,例如相關於分割模組320。該劃分可以(根據實施),除了差分資料的至少兩個塊1310之外,亦提供塊數指示符1730和/或一或多個塊長度指示符1740。
方法1800進一步包括使用萊斯編碼,透過例如編碼模組330,對差分資料的至少兩個塊1310中的至少一個進行編碼1830。編碼1830的步驟提供至少一個經編碼的差分資料塊1510。編碼1830的步驟可進一步為經編碼的差分資料的塊1510中的至少一個塊提供k參數1520。為了清楚起見,這意味著可以用可以由編碼1830步驟提供或可以不由編碼1830步驟提供的預定的k參數1520來對任何數量的差分資料塊1510進行編碼,可以將任何數量的差分資料塊1510如前面段落中所解釋的那樣並提供有相關聯的k參數1520而被迭代地編碼,並且可以保留任何數量(但不是全部)的差分資料塊未被編碼。對此進一步,編碼1830步驟可以以本文提出的任何方式實行,例如相關於編碼模組330。
方法1800亦包括透過例如生成模組340來生成1840資料封包220,資料封包220包括經編碼的差分資料的塊1510和未在編碼1830步驟中編碼的差分資料的任何塊1310。生成的步驟可進一步包括包含有與一或多個經編碼的差分資料的塊1510相關聯的一或多個k參數1520和/或與例如分割1820或預處理1810的步驟相關聯的任何指示符。簡而言之,生成1840步驟可以以本文揭露的任何方式實施,並且可以被配置以生成本文提及的任何資料封包210。
轉到第19圖,將解釋無損資料解壓縮的方法1900。方法1900適於由前文提出的資料解碼系統400實行。方法1900透過例如提取模組410接收資料封包220。資料封包220是透過前文提出的無損資料壓縮的方法1800生成的資料封包220。
方法1900包括透過例如提取模組440提取1940一或多個資料塊,其中資料塊包括至少一個經編碼的差分資料塊1510。提取1940步驟可包括提取未經編碼的差分資料塊、與經編碼的差分資料的一些或全部的經提取的塊1510相關聯的一或多個k參數和/或提取與例如在無損資料壓縮方法1800中分割1820或預處理1810的步驟相關聯的一或多個指示符。提取1940步驟可以以本文提出的任何方式來實行,例如相關於提取模組440。
無損資料解壓縮方法1900進一步包括透過例如解碼模組430對至少一個經編碼的差分資料塊1510解碼1930,從而提供差分資料的至少一個塊1310。解碼步驟可以被提供有一或多個k參數1520,一或多個k參數1520將被用於解碼1930,但是也可以使用預定或可配置的k參數1520進行解碼。解碼1930步驟可以以本文提出的任何方式實行,例如相關於解碼模組430。
方法1900進一步包括透過例如附加模組420,將差分資料的一或多個塊1310和未經編碼的差分資料的任何塊附加1920以形成包括第一值520和一或多個差分值530、540的差分資料序列510。附加1920步驟可以以本文提出的任何方式實行,例如相關於附加模組420。
方法1900亦包括透過例如後處理模組對差分資料的序列510後處理1910的步驟,以提供資料段的序列210。後處理1910步驟使用資料段序列210中的第一值520和差分值530、540來生成資料段序列210中的不同資料段230。後處理1910步驟可以以本文提出的任何方式實行,例如相關於後處理模組410。
見第20圖,示出了可攜式電子裝置2000。可攜式電子裝置可包括控制器2010、記憶體2020、和通訊介面2030。控制器2010可經配置以從記憶體2020中取得適合於使用者的聽力配置文件(hearing profile),該聽力配置文件由資料段的序列210表示。控制器2020可以使聽力配置文件被應用於前文提出的無損資料壓縮方法1800。控制器可進一步配置以經由介面2030將由無損資料壓縮方法1800生成的資料封包220傳輸到第二可攜式電子裝置。在可攜式電子裝置2000的一些實施例中,可攜式電子裝置2000是第1圖的行動電話110且/或第二可攜式電子裝置是第1圖的耳機120。在其他實施例中,可攜式電子裝置2000是第1圖的耳機120且/或第二可攜式電子裝置是第1圖的行動電話110。
在第21圖中,示出了可攜式電子裝置2100。可攜式電子裝置2100可包括控制器2110、記憶體2120、和通訊介面2130。控制器2110可配置以經由通訊介面2130接收資料封包220,並且使該資料封包被應用於前文提出的無損資料解壓縮方法1900,從而生成資料段的序列210。資料段的序列210可表示可以與可攜式電子裝置2100的使用者相關聯的聽力配置文件。控制器2110可進一步配置以將聽力配置文件儲存到記憶體2120。在可攜式電子裝置2100的一些實施例中,可攜式電子裝置2100是第1圖的耳機120。在可攜式電子裝置2100的其他實施例中,可攜式電子裝置2100是第1圖的行動電話110。
第22圖中呈現的是電腦程式產品2200,其被配置以使得當其被控制器執行時,實行無損資料壓縮方法1800。在一些實施例中,電腦程式產品2200可被配置以實施方法1800的部分或資料編碼系統300的模組310、320、330、340中的一或多個。
第23圖中呈現的是電腦程式產品2300,其被配置以使得當其由控制器執行時,實行無損資料解壓縮方法1900。在一些實施例中,電腦程式產品2300可以被配置以實施方法1900的部分或資料解碼系統400的模組410、420、430、440中的一或多個。
參照第24圖和第25a圖至第25b圖,將示出資料段序列210和差分資料序列510可能看起來像的範例。在第24圖中,低通濾波器函式的時間回應,sin(x)/ x [-8π<x <8π],被示為資料段序列210。儘管以高取樣率對低通濾波器函式進行取樣,從而生成非常平滑的資料段序列210,但是所屬技術領域具有通常知識者將意識到,這只是出於解釋的目的,且可以選擇更有效率的取樣率,至少滿足奈奎斯特–夏農(Nyquist-Shannon)取樣定理。如在第24圖中可以看到的並且是本領域已知的,時域濾波器的一個特性是它們被鏡像圍繞中心頻率。這意味著僅資料的第一半或第二半部分需要成為資料段序列210的一部分。缺少的部分是所表示部分的鏡像,且可輕易再現。儘管沒有具體提及,但是可以透過例如預處理模組310和/或後處理模組410來實行以這種方式省略和再現資料序列的部分。轉到第25a圖,資料段序列210已減少到第24圖中資料段序列210的第一半。如本文先前所述,該資料段序列210已經進行了預處理。第25a圖中的實線表示在增量編碼的一次迭代之後的差分資料2510,而虛線表示在增量編碼的兩次迭代之後的差分資料2520。出於縮放的原因,在兩次迭代之後,差分資料2520與第25b圖中的差分資料序列510一起呈現。這是增量編碼的效果,其中所屬技術領域具有通常知識者可以透過將第25a圖中兩次迭代後的差分資料2520的圖與第25b圖中兩次迭代後的差分資料2520進行比較來掌握規模差異。差分資料序列510對應於第三增量編碼迭代。從第25b圖中可看出,第一值520和最後的差分值540兩者都突出。通常,在差分是FIR音訊濾波器的情況中,最後的差分值540會比第一值520突出得多。出於這個原因,將這個值與其他差分值530分開是有益的,因為它將增加變異、平均值,並增加從編碼模組330提供的k參數1520。
應強調的是,在一些情況中,本文揭露的方法和裝置是特別針對在兩個可攜式電子裝置110、120之間傳送音訊配置文件而描述。這僅是本發明概念的一種使用,該教示可以很好地用在一個單一的電子裝置中(無論是否是可攜式),以減小資料段序列210的大小,以便例如節省裝置中的儲存空間。這意味著相同的電子裝置將實行壓縮和解壓縮兩者。因此相關於壓縮,可以從任何合適的儲存構件或透過任何合適的介面接收資料段序列210,並輸出到任何合適的儲存構件或穿過任何合適的介面。同樣地,相關於解壓縮,可以從任何合適的儲存構件或透過任何合適的介面接收資料封包220,並將其輸出到任何合適的儲存構件或穿過任何合適的介面。
條款
本發明的範圍由隨附申請專利範圍界定,並且以下條款被認為是本發明的示例性實施例。
第1款。一種無損資料壓縮的方法(1800),方法(1800)包括以下步驟:
接收具有已知長度和已知特性的資料段的序列(210),
預處理(1810)資料段的序列(210)以生成差分資料的序列(510),差分資料的序列包括第一值(520)、一或多個差分值(530)、和最後的差分值(540),
將差分資料的序列(510)分割(1820)成至少兩個差分資料的塊(1310),
使用萊斯編碼來編碼(1830)至少一個差分資料的塊(1310),從而提供至少一個經編碼的差分資料的塊(1510),及
生成(1840)資料封包(220),資料封包包括至少一個經編碼的差分資料的塊(1510)及未經編碼的差分資料的任意塊(1310)。
第2款。如第1款所述之方法(1800),其中在生成(1840)的步驟中,資料封包(220)進一步包括一或多個k參數(1520),其中每個k參數(1520)與經編碼的差分資料的塊(1510)相關聯。
第3款。如第2款所述之方法(1800),其中編碼(1830)的步驟進一步包括:以相關聯的k參數(1520)對至少一個差分資料的塊(1310)進行萊斯編碼(Rice-encoding),其中k參數由計算差分資料的相關的塊(1310)的差分值(530、540)的平均位元數來判定。
第4款。如第2款所述之方法(1800),其中編碼(1830)的步驟進一步包括:以預定或可配置數量的k參數(1520)對每個差分資料的塊(1310)進行迭代萊斯編碼,並將針對每個差分資料的塊(1310)的經編碼的差分資料的最短的塊(1510)和與經編碼的差分資料的最短塊(1510)相關聯的k參數(1520)一起提供給該生成(1840)的步驟。
第5款。如第1款至第4款中任一款所述之方法(1800),其中在預處理(1810)的步驟中,透過增量編碼(delta-coding)資料段的序列(210)一或多個迭代來生成差分資料的序列(510)。
第6款。如第5款所述之方法(1800),其中,在生成(1840)的步驟中,資料封包(220)進一步包括增量編碼迭代指示符(1720),其指示每個該等差分值(530)已進行了增量編碼的次數。
第7款。如第6款所述之方法(1800),其中預處理(1810)被重複進行多次迭代,且使從預處理(1810)的每次迭代生成的每個差分資料的序列(510)被應用於分割(1820)和編碼(1830)的步驟;
方法(1800)進一步包括,在生成(1840)的步驟之前:
計算每個經編碼的差分資料的序列(1510)的大小,並在生成(1840)的步驟中使用最小尺寸的經編碼的差分資料的序列(1510)。
第8款。如第5款至第7款中任一款所述之方法(1800),其中增量編碼被重複預設或可配置的迭代次數,其中迭代次數在2到10之間,較佳地在3到7之間,且最佳地在4或5之間。
第9款。如第6款所述之方法(1800),其中重複增量編碼,直到差分值(530)的變異最小化或低於預定的或可配置的變異閾值。
第10款。如第6款所述之方法(1800),其中重複增量編碼,直到差分值(530)的絕對值的和最小化或低於預定的或可配置的平均閾值。
第11款。如第6款、第7款、第9款、或第10款中任一款所述之方法(1800),其中重複增量編碼最大預定的或可配置的迭代次數。
第12款。如第11款所述之方法(1800),其中最大迭代次數為6。
第13款。如前述條款中任一款所述之方法(1800),其中,在分割(1820)的步驟中,差分資料的塊的數量是預定的或可配置的數量。
第14款。如前述條款中任一款所述之方法(1800),其中,在分割(1820)的步驟中,差分資料的序列(510)被分割為總共4個差分資料的塊(1310)。
第15款。如前述條款中任一款所述之方法(1800),其中,在生成(1840)的步驟中,資料封包(220)進一步包括塊號指示符(1730),塊號指示符指示差分資料的序列(510)要分割成的差分資料的塊數。
第16款。如前述條款中任一款所述之方法(1800),其中,在生成(1840)的步驟中,資料封包(220)進一步包括至少一個塊長度指示符(1740),該至少一個塊長度指示符與差分資料的序列(510)分割成為的至少一個塊相關聯。
第17款。如前述條款中任一款所述之方法(1800),其中,在生成(1840)的步驟中,資料封包(220)進一步包括一個塊長度指示符(1740),塊長度指示符與每個經編碼的差分資料的塊(1510)相關聯,且包括資料封包(220)中包含的任意的差分資料的塊(1310)。
第18款。如第14款至第16款中任一款所述之方法(1800),其中,在分割(1820)的步驟中,透過迭代計算最小變異來自適應地判定塊的數量。
第19款。如前述條款中任一款所述之方法(1800),其中差分資料的序列(510)被分割成相等長度的塊。
第20款。如第1款至第18款中任一款所述之方法(1800),其中至少兩個差分資料的塊(1310)具有不同的長度。
第21款。如前述條款中任一款所述之方法(1800),其中一個差分資料的塊(1310)的長度為一。
第22款。如前述條款中任一款所述之方法(1800),其中,在分割(1820)的步驟中,差分資料的一個塊(1310)僅包含最後的差分值(540)且差分值(530)以及第一值(520)包含在至少一個差分資料的其他塊(1310)中。
第23款。如前述條款中任一款所述之方法(1800),其中編碼(1830)的步驟包括不對包括最後的差分值(540)的差分資料的塊(1310)進行編碼。
第24款。如前述條款中任一款所述之方法(1800),其中資料段的序列(210)包含32個段。
第25款。如前述條款中任一款所述之方法(1800),其中資料段的序列(210)的特性是數位濾波器的特性。
第26款。如第25款所述之方法(1800),其中數位濾波器是FIR音訊濾波器。
第27款。如前述條款中任一款所述之方法(1800),其中資料段的序列(210)描述與使用者相關聯的個人聽力配置文件。
第28款。如第27款所述之方法(1800),其中聽力配置文件適於在耳機(120)中使用。
第29款。一種用於對以第1款至第29款中任一款所述的無損資料壓縮的方法(1800)生成的資料封包(220)進行解壓縮的無損資料解壓縮的方法(1900),該方法(1900)包括以下步驟:
從資料封包(220)提取(1940)資料的塊(1310、1510),其中至少一個資料的塊(1310、1510)是經編碼的差分資料的塊(1510),
解碼(1930)至少一個經編碼的差分資料的塊(1510),提供一或多個差分資料的塊(1310),
將一或多個差分資料的塊(1310)附加(1920)到一個差分資料的序列(510)中,差分資料的序列包括第一值(520)、差分資料的序列(530)、和最後的差分值(540),及
基於第一值(520)後處理(1910)差分資料的序列(510)來生成資料段的序列(210)。
第30款。如第29款所述之方法(1900),其中
資料封包(220)進一步包括一或多個k參數(1520),其中每個k參數(1520)與經編碼的差分資料的塊(1510)相關聯,
提取(1940)的步驟包括從資料封包(220)提取一或多個k參數(1520),及
解碼(1920)的步驟進一步包括使用其相關聯的k參數(1520)來解碼經編碼的差分資料的塊(1510)。
第31款。如第29款或第30款中任一款所述之方法(1900),其中:
包含在資料封包(220)中的差分資料的序列(510)是透過對資料段的序列(210)的增量編碼(delta-coding)一或多次而生成,且
後處理(1910)的步驟包括對差分資料的序列(510)增量解碼(delta-decoding)一或多次。
第32款。如第29款至第31款中任一款所述之方法(1900),其中:
資料封包(220)進一步包括增量編碼迭代指示符(1720),其指示資料封包(220)中的每個差分值(530)被增量編碼的次數,
提取(1940)的步驟進一步包括從資料封包(220)中提取增量編碼迭代指示符(1720),及
後處理(1910)的步驟運行與如由增量編碼迭代指示符(1720)所指示的次數相同的次數。
第33款。如第29款至第32款中任一款所述之方法(1900),其中
包含在資料封包(220)中的差分資料(210)的序列510被重複增量編碼預設或可配置的次數,其中次數是在2至10之間、較佳地在3至7之間、且最佳地為4或5,
後處理(1910)的步驟運行預設或可配置的次數。
第34款。如第29款至第33款中任一款所述之方法(1900),其中
資料封包中包含的資料的塊(1310、1510)是預定的或可配置的塊數,
提取(1940)的步驟進一步包括提取預定的或可配置的塊數。
第35款。如第34款所述之方法(1900),其中塊的預定的或可配置的數量為4。
第36款。如第29款至第35款中任一款所述之方法(1900),其中
資料封包(220)進一步包括塊號指示符(1730),塊號指示符指示差分資料的序列(510)被分割成的差分資料的塊數,且
提取(1940)的步驟進一步包括從資料封包(220)中提取塊數指示符(1730),並從資料封包(220)中提取與塊數指示符(1730)所指示的相同數量的資料的塊。
第37款。如第29款至第36款中任一款所述之方法(1900),其中
資料封包(220)進一步包括與差分資料的序列(510)被分割成的至少一個資料的塊(1310、1510)相關聯的至少一個塊長度指示符(1740),及
提取(1940)的步驟進一步包括提取至少一個塊長度指示符(1740),並使用塊長度指示符(1740)從資料封包(220)提取該一或多個資料塊(1310、1510)。
第38款。如第29款至第37款中任一款所述之方法(1900),其中
在資料封包(220)中包括的一個差分資料的塊(1310)僅包含最後的差分值(540),且差分值(530)包括在資料封包(220)的至少一個差分資料的其他塊(1310)中,且
提取(1940)的步驟進一步包括:提取包含最後的差分值(540)的一個資料的塊(1310、1510)和包含一或多個差分值(530)和第一值(520)的至少一個資料的其他塊(1310、1510)。
第39款。如第29款至第38款中任一款所述之方法(1900),其中
資料封包(220)中包括的差分資料的序列(510)被分割成總共4個差分資料的塊(1310、1510),且
提取(1940)的步驟進一步包括提取總共四個資料的塊(1310、1510)。
第40款。如第29款至第39款中任一款所述之方法(1900),其中
包括在資料封包(220)中的包括最後的差分值(540)的差分資料的塊(1310)是未經編碼的,且
解碼(1920)的步驟不應用於包括最後的差分值(540)的資料的塊(1310)。
第41款。一種可攜式電子裝置,該可攜式電子裝置包括控制器、記憶體、和通訊介面,其中控制器經配置以從記憶體取得適於使用者的聽力配置文件,並使該聽力配置文件被應用於如第1款至第31款中任一款所述之方法以產生經壓縮的資料封包,其中控制器進一步被配置以將經壓縮的資料封包經由介面發送至第二可攜式電子裝置。
第42款。如第41款所述之可攜式電子裝置,其中可攜式電子裝置是行動電話。
第43款。一種可攜式電子裝置,該可攜式電子裝置包括控制器、記憶體、和通訊介面,其中控制器經配置以經由通訊介面接收經壓縮的資料封包,並使資料封包被應用於如第32款至第43款中任一款所述之方法以生成資料段的序列(210),其中控制器進一步經配置以儲存所提供的資料段的序列(210)至記憶體作為聽力配置文件。
第44款。如第43款所述之可攜式電子裝置,其中可攜式電子裝置是耳機。
第45款。一種電腦程式產品,該電腦程式產品被配置為當由控制器執行時,實行如第1款至第28款中任一款所述之方法。
第46款。一種電腦程式產品,該電腦程式產品被配置為當由控制器執行時,實行如第29款至第40款中任一款所述之方法。
110:可攜式電子設備(行動電話)
120:可攜式電子設備(耳機)
120:耳機
130:介面
210:序列
220:資料封包
230:資料段
240:輸出資料段
300:資料編碼系統
310:預處理模組
320:分割模組
330:編碼模組
340:生成模組
400:資料解碼系統
410:後處理模組
420:附加模組
430:解碼模組
440:提取模組
510:序列
520:第一值
530:最後的差分值
540:差分值
1310:塊
1510:塊
1520:k參數
1720:增量編碼迭代指示符
1730:塊數指示符
1740:塊長度指示符
1800:方法
1810:預處理
1820:分割
1830:編碼
1840:生成
1900:方法
1910:後處理
1920:附加
1930:解碼
1940:提取
2000:可攜式電子裝置
2010:控制器
2020:記憶體
2030:通訊介面
2100:可攜式電子裝置
2110:控制器
2120:記憶體
2130:通訊介面
2200:電腦程式產品
2300:電腦程式產品
2510:差分資料
2520:差分資料
以下將描述本發明的實施例;參照隨附圖示,其示出如何將本發明概念簡化為實施的非限制性範例。
第1圖是通訊中的兩個可攜式電子設備的概要。
第2a圖是資料段序列的示意圖。
第2b圖是資料封包的示意圖。
第3圖是根據本發明實施例的資料編碼系統的方塊圖。
第4圖是根據本發明實施例的資料解碼系統的方塊圖。
第5圖是根據本發明實施例的預處理模組的示意圖。
第6圖是根據本發明實施例的預處理的步驟的範例圖。
第7圖是根據本發明實施例的預處理模組的方塊圖。
第8圖是根據本發明實施例的預處理的步驟的範例圖。
第9圖是根據本發明實施例的預處理的步驟的範例圖。
第10圖是根據本發明實施例的後處理模組的示意性範例。
第11圖是根據本發明實施例的後處理模組的方塊圖。
第12圖是根據本發明實施例的後處理的步驟的範例視圖。
第13圖是根據本發明實施例的分割模組的方塊圖。
第14圖是根據本發明實施例的附加模組的方塊圖。
第15圖是根據本發明實施例的編碼模組的示意圖。
第16圖是根據本發明實施例的解碼模組的示意圖。
第17a圖至第17e圖是根據本發明實施例的不同資料封包的示意圖。
第18圖是根據本發明實施例的無損資料壓縮的方法的方塊圖。
第19圖是根據本發明實施例的無損資料解壓縮的方法的方塊圖。
第20圖是根據本發明實施例的可攜式電子設備的方塊圖。
第21圖是根據本發明實施例的可攜式電子設備的方塊圖。
第22圖是根據本發明實施例的電腦程式產品的示意圖。
第23圖是根據本發明實施例的電腦程式產品的示意圖。
第24圖是示例性的資料段序列。
第25a圖至第25b圖是根據本發明實施例的在預處理之後的示例性的差分資料的序列。
國內寄存資訊(請依寄存機構、日期、號碼順序註記)
無
國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記)
無
210:序列
220:資料封包
1800:方法
1810:預處理
1820:分割
1830:編碼
1840:生成
Claims (20)
- 一種無損資料壓縮的方法(1800),該方法(1800)包括以下步驟: 接收具有一已知長度和一已知特性的一資料段的序列(210), 預處理(1810)該資料段的序列(210)以生成一差分資料的序列(510),該差分資料的序列包括一第一值(520)、一或多個差分值(530)、和一最後的差分值(540), 基於該已知特性,將該差分資料的序列(510)分割(1820)成至少兩個差分資料的塊(1310), 使用萊斯編碼(Rice encoding)來編碼(1830)至少一個差分資料的塊(1310),從而提供至少一個經編碼的差分資料的塊(1510),及 生成(1840)一資料封包(220),該資料封包包括該至少一個經編碼的差分資料的塊(1510)及至少一個未經編碼的差分資料的塊(1310)。
- 如請求項1所述之方法(1800),其中該資料段的序列(210)的該已知特徵是該資料段的序列(210)的一端的一變異(variance)大於該資料段的序列(210)的另一端的一變異。
- 如請求項1或2所述之方法(1800),其中在該生成(1840)的步驟中,該資料封包(220)進一步包括一或多個k參數(1520),其中每個k參數(1520)與一經編碼的差分資料的塊(1510)相關聯。
- 如請求項3所述之方法(1800),其中該編碼(1830)的步驟進一步包括以下步驟:以一相關聯的k參數(1520)對至少一個差分資料的塊(1310)進行萊斯編碼,其中該k參數由計算差分資料的相關的塊(1310)的差分值(530、540)的一平均位元數來判定。
- 如請求項1至請求項4中任一項所述之方法(1800),其中在該預處理(1810)的步驟中,透過增量編碼(delta-coding)該資料段的序列(210)一或多個迭代來生成該差分資料的序列(510)。
- 如請求項5所述之方法(1800),其中,在該生成(1840)的步驟中,該資料封包(220)進一步包括一增量編碼迭代指示符(1720),其指示每個該等差分值(530)已進行了增量編碼的次數。
- 如請求項6所述之方法(1800),其中重複該增量編碼,直到該等差分值(530)的絕對值的和最小化或低於一預定的或可配置的平均閾值。
- 如前述請求項中任一請求項所述之方法(1800),其中,在該分割(1820)的步驟中,一個差分資料的塊(1310)僅包含該最後的差分值(540)且該等差分值(530)以及該第一值(520)包含在至少一個差分資料的其他塊(1310)中。
- 如前述請求項中任一請求項所述之方法(1800),其中,該編碼(1830)的步驟包括以下步驟:不對包括該最後的差分值(540)的該差分資料的塊(1310)進行編碼。
- 如前述請求項中任一請求項所述之方法(1800),其中該資料段的序列(210)的該特性是一數位FIR音訊濾波器的特性。
- 一種用於對以請求項1至請求項10中任一項所述的無損資料壓縮的方法(1800)生成的一資料封包(220)進行解壓縮的無損資料解壓縮的方法(1900),該方法(1900)包括以下步驟: 從該資料封包(220)中提取(1940)資料的塊(1310、1510),其中至少一個資料的塊(1310、1510)是一經編碼的差分資料的塊(1510)及至少一個未經編碼的差分資料的塊(1310), 解碼(1930)該至少一個經編碼的差分資料的塊(1510),提供一或多個差分資料的塊(1310), 將該一或多個差分資料的塊(1310)附加(1920)到一個差分資料的序列(510)中,該差分資料的序列包括一第一值(520)、一差分資料的序列(530)、和一最後的差分值(540),及 基於該第一值(520)後處理(1910)該差分資料的序列(510)以生成一資料段的序列(210)。
- 如請求項11所述之方法(1900),其中 該資料封包(220)進一步包括一或多個k參數(1520),其中每個k參數(1520)與一經編碼的差分資料的塊(1510)相關聯, 該提取(1940)的步驟包括從該資料封包(220)提取該一或多個k參數(1520),及 該解碼(1920)的步驟進一步包括使用其相關聯的k參數(1520)來解碼經編碼的差分資料的塊(1510)。
- 如請求項11或12中任一項所述之方法(1900),其中: 包含在該資料封包(220)中的該差分資料的序列(510)是透過對該資料段的序列(210)的增量編碼(delta-coding)一或多次而生成,且 該後處理(1910)的步驟包括對該差分資料的序列(510)增量解碼(delta-decoding)一或多次。
- 如請求項13所述之方法(1900),其中: 該資料封包(220)進一步包括一增量編碼迭代指示符(1720),其指示該資料封包(220)中的每個差分值(530)被增量編碼的次數, 該提取(1940)的步驟進一步包括從該資料封包(220)中提取該增量編碼迭代指示符(1720),及 該後處理(1910)的步驟運行與如由該增量編碼迭代指示符(1720)所指示的次數相同的次數。
- 如請求項第11項至第14項中任一項所述之方法(1900),其中 在該資料封包(220)中包括的一個差分資料的塊(1310)僅包含該最後的差分值(540),且該等差分值(530)包括在該資料封包(220)的至少一個差分資料的其他塊(1310)中,且 該提取(1940)的步驟進一步包括:提取包含該最後的差分值(540)的一個資料的塊(1310、1510)和包含一或多個差分值(530)和該第一值(520)的至少一個資料的其他塊(1310、1510)。
- 如請求項第11項至第15項中任一項所述之方法(1900),其中 包括在該資料封包(220)中的包括該最後的差分值(540)的該差分資料的塊(1310)是該至少一個未經編碼的差分資料的塊(1310)中的一個塊,且 該解碼(1920)的步驟不應用於包括該最後的差分值(540)的該資料的塊(1310)。
- 一種可攜式電子裝置(2000),該可攜式電子裝置包括一控制器(2010)、一記憶體(2020)、和一通訊介面(2030),其中該控制器(2010)經配置以從該記憶體(2020)取得適於一使用者的一聽力配置文件,並使該聽力配置文件被應用於如請求項第1項至第10項中任一項所述之無損資料壓縮的方法(1800)以產生一資料封包(220),其中該控制器(2010)進一步被配置以將該資料封包(220)經由該介面(2030)發送至一第二可攜式電子裝置。
- 一種可攜式電子裝置(2100),該可攜式電子裝置包括一控制器(2110)、一記憶體(2120)、和一通訊介面(2130),其中該控制器(2110)經配置以經由該通訊介面(2130)接收一資料封包(220),並使該資料封包被應用於如請求項第11項至第16項中任一項所述之無損資料解壓縮的方法(1900)以生成一資料段的序列(210),其中該控制器(2110)進一步經配置以儲存該資料段的序列(210)至該記憶體作為一聽力配置文件。
- 一種電腦程式產品(2200),該電腦程式產品被配置為當由一控制器執行時,實行如請求項第1項至第10項中任一項所述之無損資料壓縮的方法(1800)。
- 一種電腦程式產品(2300),該電腦程式產品被配置為當由一控制器執行時,實行如請求項第11項至第16項中任一項所述之無損資料解壓縮的方法(1900)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE1950619-5 | 2019-05-24 | ||
SE1950619 | 2019-05-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202102010A true TW202102010A (zh) | 2021-01-01 |
Family
ID=70975915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109116826A TW202102010A (zh) | 2019-05-24 | 2020-05-21 | 用於無損資料壓縮和解壓縮的方法、裝置、和電腦程式產品 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11823686B2 (zh) |
EP (1) | EP3977621A1 (zh) |
JP (1) | JP2022533655A (zh) |
KR (1) | KR102642796B1 (zh) |
CN (1) | CN114041282B (zh) |
TW (1) | TW202102010A (zh) |
WO (1) | WO2020242364A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230334022A1 (en) * | 2022-04-14 | 2023-10-19 | The Hospital For Sick Children | System and method for processing and storage of a time-series data stream |
CN117040542B (zh) * | 2023-10-08 | 2024-01-12 | 广东佰林电气设备厂有限公司 | 一种智能综合配电箱能耗数据处理方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4427003B2 (ja) | 2005-05-23 | 2010-03-03 | オリンパスイメージング株式会社 | データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム |
US7363225B2 (en) | 2005-06-23 | 2008-04-22 | Microsoft Corporation | Compressing language models with Golomb coding |
US7830921B2 (en) | 2005-07-11 | 2010-11-09 | Lg Electronics Inc. | Apparatus and method of encoding and decoding audio signal |
US7362245B2 (en) * | 2006-05-15 | 2008-04-22 | Taiwan Imagingtek Corporation | Variable length coding method for data compression |
DE102007017254B4 (de) * | 2006-11-16 | 2009-06-25 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung zum Kodieren und Dekodieren |
US8521540B2 (en) | 2007-08-17 | 2013-08-27 | Qualcomm Incorporated | Encoding and/or decoding digital signals using a permutation value |
EP2148178B1 (de) * | 2008-07-23 | 2012-04-18 | SICK STEGMANN GmbH | Verfahren zur digitalen, bidirektionalen Datenübertragung |
CN102368385B (zh) * | 2011-09-07 | 2013-08-14 | 中科开元信息技术(北京)有限公司 | 后向块自适应Golomb-Rice编解码方法及装置 |
EP2786376A1 (en) * | 2012-11-20 | 2014-10-08 | Unify GmbH & Co. KG | Method, device, and system for audio data processing |
CN103746701B (zh) * | 2014-01-16 | 2017-03-29 | 重庆大学 | 一种用于Rice无损数据压缩的快速编码选项选择方法 |
CN107135004B (zh) * | 2017-04-20 | 2020-04-03 | 中国科学技术大学 | 一种对地震数据流的自适应实时无损压缩方法 |
-
2020
- 2020-05-21 TW TW109116826A patent/TW202102010A/zh unknown
- 2020-05-22 EP EP20730348.8A patent/EP3977621A1/en active Pending
- 2020-05-22 US US17/595,229 patent/US11823686B2/en active Active
- 2020-05-22 WO PCT/SE2020/050526 patent/WO2020242364A1/en unknown
- 2020-05-22 CN CN202080036823.3A patent/CN114041282B/zh active Active
- 2020-05-22 KR KR1020217040006A patent/KR102642796B1/ko active IP Right Grant
- 2020-05-22 JP JP2021568697A patent/JP2022533655A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3977621A1 (en) | 2022-04-06 |
KR20220003104A (ko) | 2022-01-07 |
CN114041282B (zh) | 2024-03-19 |
KR102642796B1 (ko) | 2024-03-04 |
JP2022533655A (ja) | 2022-07-25 |
US20220223160A1 (en) | 2022-07-14 |
WO2020242364A1 (en) | 2020-12-03 |
US11823686B2 (en) | 2023-11-21 |
CN114041282A (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9787321B1 (en) | Point cloud data compression using a space-filling curve | |
US7930436B1 (en) | System and method for dynamically adjusting data compression parameters | |
EP4012928B1 (en) | Methods, devices and systems for semantic-value data compression and decompression | |
TW202102010A (zh) | 用於無損資料壓縮和解壓縮的方法、裝置、和電腦程式產品 | |
EP1578019A2 (en) | Data compression | |
US6043763A (en) | Lossless data compression with low complexity | |
US6028541A (en) | Lossless data compression with low complexity | |
US6121904A (en) | Lossless data compression with low complexity | |
JP6045123B2 (ja) | エンコーダ、デコーダ及び方法 | |
JP7123910B2 (ja) | インデックスコーディング及びビットスケジューリングを備えた量子化器 | |
AU2014337410B2 (en) | Coding and decoding of spectral peak positions | |
US6118392A (en) | Lossless data compression with low complexity | |
JP6647340B2 (ja) | 改善されたファイルの圧縮及び暗号化 | |
CN104462524A (zh) | 一种物联网数据压缩存储方法 | |
JP6309621B2 (ja) | メモリシステムにおける電力消費を節約するためのシステムおよび方法 | |
CN116015311A (zh) | 基于滑动字典实现的Lz4文本压缩方法 | |
TWI690920B (zh) | 音訊處理方法、音訊處理裝置及用於音訊處理之非暫時性電腦可讀媒體 | |
Mbewe et al. | Analysis and comparison of adaptive huffman coding and arithmetic coding algorithms | |
CN109473116A (zh) | 语音编码方法、语音解码方法及装置 | |
RU2738141C2 (ru) | Способ и устройство сжатия/кодирования, способ и устройство декодирования | |
WO2023224665A1 (en) | Asymmetric and adaptive strength for windowing at encoding and decoding time for audio compression | |
CN107680607B (zh) | 一种信号压缩方法、信号解压方法及其装置 | |
CN117614740B (zh) | 一种基于多级矢量联合优化的ip语音隐写方法 | |
TWI602173B (zh) | 音訊處理方法與非暫時性電腦可讀媒體 | |
JP2017525005A (ja) | 専用算術符号化命令 |