編碼器、解碼器及編碼方法、解碼方法
2023-09-24 12:13:30 2
編碼器、解碼器及編碼方法、解碼方法【專利摘要】一種編碼器,對數據(D1)進行編碼,生成相應的編碼數據(E2),所述編碼器包括分析單元,用於分析數據(D1)的一個或多個部分,並把一個或多個部分導向合適的一個或多個編碼單元,編碼單元對一個或多個部分進行編碼;編碼單元採用彼此不同的編碼算法;至少一個編碼單元計算每個部分中的數據值,把數據值再分割成至少兩個集合,為給定的集合計算至少一個聚合值,保留所述部分的空間遮罩,空間遮罩和代表為至少兩個數據集合所計算的數值的信息被包括在編碼數據(E2)中。本發明還涉及相應的編碼方法、解碼器和解碼方法。【專利說明】編碼器、解碼器及編碼方法、解碼方法【
技術領域:
】[0001]本發明涉及編碼器,用於編碼對應於多種內容的數據(Dl)以生成相應的編碼數據(E2),所述多種內容可以是靜止圖像、視頻內容、圖形內容、音頻內容、測量數據等等。本發明還涉及編碼方法,用於編碼對應於多種內容的數據(Dl)以生成相應的編碼數據(E2),所述多種內容可以是靜止圖像、視頻內容、圖形內容、音頻內容、測量數據等等。此外,本發明涉及解碼器,用於解碼前述編碼器生成的編碼格式的數據(E2)。本發明也涉及對前述編碼器生成的數據(E2)進行解碼的方法。進一步,本發明還涉及記錄在非暫時性機器可讀數據存儲介質上的軟體產品,其中,軟體產品在計算硬體上執行,實現上述方法。【
背景技術:
】[0002]有許多當前已知的方法,對數據(Dl)進行編碼,生成編碼數據(E2),而且對編碼數據(E2)進行解碼,生成解碼數據(D3)。但是,缺少一種適於寬範圍的內容的數據編碼方法,這些內容由要被編碼的數據(Dl)所代表,例如,靜止圖像、視頻內容、音頻內容、或者圖形數據。這些編碼的主要目的是生成比相應的要被編碼的數據(Dl)更少佔用空間的編碼數據(E2)。而且,也缺少用來對這樣的編碼數據(E2)進行解碼的相應解碼器。[0003]已知的較好適於壓縮自然圖像數據的圖像編碼方法如JPEG(聯合圖像專家組,一種基於DCT的有損編碼,DCT的含義是離散餘弦變換)、JPEG2000(基於小波的編碼)、以及WebP(在編碼過程中採用有損和無損壓縮的圖像格式編碼),但它們較不適於壓縮文字,或者那些顏色由僅僅幾個顏色值描述並且內容具有相對高的空間頻率成份的圖像。另一個已知的數據編碼方法是GIF(圖形交換格式),它採用基於調色板(palette)的壓縮算法,較好適於對能夠用相對小數目的顏色值來呈現圖像的圖像進行編碼,例如256顏色值;但是,如果要用GIF算法編碼的圖像中包括具有精細的空間漸變顏色變化的自然對象,GIF會產生不期望的人工處理痕跡,這種痕跡能夠在相應的GIF解碼圖像中被注意到。當前已知的PNG(PortableNetworksGraphics,便攜網絡圖形)編碼總體上類似於GIF編碼,它為編碼圖像數據提供了更多的選項,但是仍然不能較好地適於包含小範圍顏色值的圖像。其它已知的編碼方法,例如,在文字編碼中使用OCR(光字符識別)與字符編碼的組合。OCR有時是一個合適的可用方法,但它對文本在圖像中的位置、文本在圖像中的傾斜、文本的字體、以及文本所處的對象等因素敏感,此外,OCR的實現可能需要可觀的處理能力。[0004]更近的時候,科學出版物中提出了替代的編碼方法,適於對二級數據序列格式的數據進行編碼,表1列出了這些科學出版物的詳細內容。[0005]表1:對二級數據序列格式的數據進行編碼的方法[0006]【權利要求】1.一種編碼器(10),用於對數據(20,D1)進行編碼,生成相應的編碼數據(70,E2),所述編碼器(10)包括:分析單元(100),用於分析要被編碼的數據(20,D1)的一個或多個部分(40),並把一個或多個部分(40)導向合適的一個或多個編碼單元(I10),其中,一個或多個編碼單元(110)操作用於對其那裡的一個或多個部分(40)進行編碼,生成編碼數據(70,E2),其中:一個或多個編碼單元(110)操作用於當編碼一個或多個部分(40)時採用彼此不同的編碼算法;一個或多個編碼單元(110)的至少一個編碼單元(Iioa))操作用於計算其那裡接受的每個部分(40)中的數據值,把數據值再分割成至少兩個集合,為給定的集合計算至少一個聚合值,所述至少一個聚合值從給定集合中的數據值中得出,同時保留所述部分(40)的空間遮罩(320),其中,空間遮罩(320)和代表為至少兩個數據集合所計算的聚合值的信息被包括在編碼數據(70,E2)中。2.如權利要求1所述的編碼器(10),其特徵在於,編碼器(10)包括輸出編碼器單元(60),用於接受來自一個或多個編碼單元(110)的編碼輸出數據,並對編碼輸出數據進一步編碼,從編碼器(10)生成編碼數據(70,E2)。3.如權利要求1或2所述的編碼器(10),其特徵在於,編碼器(10)包括輸入階段(30),用於當要被編碼的數據(20,Dl)不是已經被包括於一個或多個部分(40)之中時,再分割和/或組合要被編碼的數據(20,Dl),生成一個或多個部分(40)。4.如權利要求1或2或3所述的編碼器(10),其特徵在於,編碼器(10)操作用於在遠程資料庫中存儲代表一個或多個部分的一個或多個遮罩(320)的信息,用於當對由編碼器(10)生成的編碼數據(70,E2)進行解碼時由一個或多個解碼器訪問。5.如權利要求1-4中任一個所述的編碼器(10),其特徵在於,所述至少一個聚合值是算術平均值、偏斜平均值、對數平均值、加權平均值、平均值、最小值、最大值、眾數值、或者中間數值。6.一種對數據(20,Dl)進行編碼,生成相應的編碼數據(70,E2)的方法,包括:(a)使用分析單元(100),用以分析要被編碼的數據(20,D1)的一個或多個部分(40),並把一個或多個部分(40)導向合適的一個或多個編碼單元(110),其中,一個或多個編碼單元(110)操作用於對其那裡的一個或多個部分(40)進行編碼,生成編碼數據(70,E2),其中,一個或多個編碼單元(110)操作用於當編碼一個或多個部分(40)時採用彼此不同的編碼算法;(b)使用一個或多個編碼單元(110)的至少一個編碼單元(110(i)),用以計算其那裡接受的每個部分(40)中的數據值,把數據值再分割成至少兩個集合,為給定的集合計算至少一個聚合值,所述至少一個聚合值從給定集合中的數據值中得出,同時保留所述部分(40)的空間遮罩(320),其中,空間遮罩(320)和代表為至少兩個數據集合所計算的聚合值的信息被包括在編碼數據(70,E2)中。7.如權利要求6所述的方法,其特徵在於,所述方法包括:使用輸出編碼器單元(60),用以接受來自一個或多個編碼單元(110)的編碼輸出數據,並對編碼輸出數據進一步編碼,生成全部編碼數據(70,E2)。8.如權利要求6或7所述的方法,其特徵在於,所述方法包括:在遠程資料庫中存儲代表一個或多個部分的一個或多個遮罩(320)的信息,用於當對編碼數據(70,E2)進行解碼時由一個或多個解碼器訪問。9.如權利要求6-8中任一個所述的方法,其特徵在於,編碼數據(70,E2)被進一步編碼和/或壓縮。10.如權利要求9所述的方法,其特徵在於,所述進一步的編碼和/或壓縮包括以下的至少一個:DPCM(差分脈衝碼調製)、RLE(行程長度編碼)、SRLE(分離行程長度編碼)、EM(熵修正)、算術編碼、差分編碼、ODelta編碼、VLC(可變長度編碼)、Lempel-Ziv編碼(ZLIB、LZ0、LZSS、LZ77)、基於Burrow-WheeIer變換的編碼方法(RLE、BZIP2)、哈夫曼編碼。11.一種解碼器(25),用於對編碼數據(70,E2)進行解碼,生成相應的解碼數據(75,D3),所述解碼器(25)包括:發送單元(155),用於發送編碼數據(70,E2)的一個或多個部分(40),並把一個或多個部分(40)導向合適的一個或多個解碼單元(160),其中,一個或多個解碼單元(160)操作用於對其那裡的一個或多個部分(40)進行解碼,生成解碼數據(75,D3),其中,一個或多個解碼單元(160)的至少一個或多個解碼單元(160(i))操作用於提取包括在編碼數據(70,E2)中的空間遮罩(320)和代表至少兩個數據集合的聚合值的信息,並根據由遮罩(320)所定義的元素屬於哪個集合把數值賦值給數據塊(500)中的元素。12.如權利要求11所述的解碼器(25),其特徵在於,解碼器(25)包括輸出解碼器單元(170),用於接受來自一個或多個解碼單元(160)的解碼輸出數據,並對解碼輸出數據進一步組合,從解碼器(25)生成全部解碼數據(75,D3)。`13.如權利要求11或12所述的解碼器(25),其特徵在於,解碼器(25)包括輸入階段(130),用以從編碼數據(70,E2)提取一個或多個部分,以按照編碼數據(70,E2)中的編碼參數之所定義導向到發送單元(155)和一個或多個解碼單元(160)。14.如權利要求10-13中任一個所述的解碼器(25),其特徵在於,所述解碼器(25)操作用於,當對由編碼器(10)生成的編碼數據(70,E2)進行解碼時,從遠程資料庫中恢復代表一個或多個部分的一個或多個遮罩(320)的信息。15.一種對編碼數據(70,E2)進行解碼,生成相應的解碼數據(75,D3)的方法,包括:(a)使用發送單元(155),用以發送編碼數據(70,E2)的一個或多個部分(40),並把一個或多個部分(40)導向合適的一個或多個解碼單元(160),其中,一個或多個解碼單元(160)操作用於對其那裡的一個或多個部分(40)進行解碼,生成解碼數據(75,D3),以及(b)使用一個或多個解碼單元(160)中的至少一個或多個解碼單元(160(i)),用以提取包括在編碼數據(70,E2)中的空間遮罩(320)和代表為至少兩個數據集合計算的聚合值的信息,並根據由遮罩(320)所定義的元素屬於哪個集合把聚合值賦值給數據塊中的元素。16.如權利要求15所述的方法,其特徵在於,使用輸出解碼器單元(170),用以接受來自一個或多個解碼單元(160)的解碼輸出數據,並對解碼輸出數據進一步組合,生成全部解碼數據(75,D3)。17.如權利要求15或16所述的方法,其特徵在於,所述方法包括:使用輸入階段(130),用以從編碼數據(70,E2)提取一個或多個部分,以按照編碼數據(70,E2)中的編碼參數之所定義導向到發送單元(150)和一個或多個解碼單元(160)。18.如權利要求15-17中任一個所述的方法,其特徵在於,一個或多個解碼單元(160)的至少一個解碼單元(160(i))操作用於把數值賦值給對應於數據集合的遮罩(320)的元素,其中,有2至8個數據集合,或者兩個或更多數據集合。19.如權利要求15-18中任一個所述的方法,其特徵在於,所述方法包括:當對由編碼器(10)生成的編碼數據(70,E2)進行解碼時,從遠程資料庫中恢復代表一個或多個部分的一個或多個遮罩(320)的信息。20.一種數據通訊系統(5),所述系統(5)包括至少一個如權利要求1所述的編碼器(10),用於對數據(20,Dl)進行編碼,生成相應的編碼數據(70,E2),所述系統(5)還包括至少一個如權利要求11所述的解碼器(25),用於對編碼數據(70,E2)進行解碼,生成相應的解碼數據(75,D3)。21.一種在如權利要求20所述的數據通訊系統(5)中對數據進行通訊的方法,所述方法使用如權利要求6所述的方法與如權利要求15所述的方法的組合。22.—種記錄在非暫時性機器可讀數據存儲介質上的軟體產品,其中,所述軟體產品在計算硬體上執行,執行如權利要求6-10、`或者15-19中的任一個所述的方法。【文檔編號】H04N19/30GK103780909SQ201310495311【公開日】2014年5月7日申請日期:2013年10月21日優先權日:2012年10月22日【發明者】奧西·卡雷沃,託馬斯·卡爾卡依寧申請人:古如羅技微系統公司