TWI505694B - 編碼器及編碼方法 - Google Patents

編碼器及編碼方法 Download PDF

Info

Publication number
TWI505694B
TWI505694B TW102128923A TW102128923A TWI505694B TW I505694 B TWI505694 B TW I505694B TW 102128923 A TW102128923 A TW 102128923A TW 102128923 A TW102128923 A TW 102128923A TW I505694 B TWI505694 B TW I505694B
Authority
TW
Taiwan
Prior art keywords
data
block
blocks
encoder
coding
Prior art date
Application number
TW102128923A
Other languages
English (en)
Other versions
TW201412130A (zh
Inventor
Ossi Kalevo
Tuomas Karkkainen
Original Assignee
Gurulogic Microsystems Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gurulogic Microsystems Oy filed Critical Gurulogic Microsystems Oy
Publication of TW201412130A publication Critical patent/TW201412130A/zh
Application granted granted Critical
Publication of TWI505694B publication Critical patent/TWI505694B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Description

編碼器及編碼方法
本發明涉及編碼器,用於接收輸入資料並對輸入資料進行編碼,以生成相應的編碼輸出資料。本發明還涉及對輸入資料進行編碼以生成相應的編碼輸出資料的方法。進一步,本發明還涉及記錄在非暫時性機器可讀數據存儲介質上的軟體產品,其中,軟體產品在計算硬體上執行,實現上述方法。
當今人們越來越多地存儲和傳送資料內容,例如,通過互聯網和無線通訊網路傳送多媒體內容。這些多媒體內容通常包括但不限於:圖像、視頻與音訊。這些資料內容被存儲和傳送於設備、軟體應用、媒體系統、以及資料服務之間。在這些存儲和發送的過程中,會出現圖像和視頻被獲取、掃描、傳送、分享、觀看、以及列印的一些情形。不管怎樣,這些圖像和視頻需要佔用資料存儲容量以及通訊系統所用的頻寬。當通訊系統的頻寬受限,這些圖像和視頻的傳送就需要大量的時間。針對這樣的存儲需要,慣用的作法是採用圖像和視頻編碼方法,提供一定程度的資料壓縮。一些當前的用於圖像和視頻的編碼標準被列舉在表1中。
隨著圖像的品質逐步提高,例如,通過採用高清晰度(HD)標 準和高動態範圍(HDR),圖像和視頻檔變得更大。儘管如此,3維(3D)圖像、視頻和音訊正越來越普及,這相應地需要更有效的編碼和解碼方法用於編碼器和解碼器之中,即轉碼器(codec),應對與此相關的需要被傳送和存儲的資料的更高品質所帶來的問題。而且,針對提供一定程度的資料壓縮的編碼方法,很期望它在生成壓縮資料時在資訊內容方面是實質性地無損的。
傳統的轉碼器被描述在已經公開和授權的專利中,表2提供了一些例子。
總之,許多已知的視頻轉碼器在對圖像中高度空間細節化的區域進行編碼的同時,不能有效地對圖像中具有大體上恒定參數的較大區域進行編碼。
通常的作法是,以預測和預測誤差編碼方法的形式採用運動補償,這些是基於變換的使用,例如離散余弦變換(DCT)和小波變換。在這些變換所採用的過程中,給定的圖像-例如靜止圖像或者是形成視頻序列一部分的圖像-的一部分或多部分被分成塊,對這些塊施以編碼過程。這些塊可以是例如8×8圖像元素(element)、4×4圖像元素或類似的。採用這樣相對較小的塊是因為較大的塊導致編碼過程的效率低,儘管有時候也採用16×16圖像元素的塊。根據當前已知的圖像編碼方式,當多個不同的塊大小被用於編碼時,通常的作法是,使塊大小之間的差異小;並且,塊的大小的選擇是基於在關聯塊區域中運動是如何好地被補償,或者基於編碼品質參數,如目標品質參數。總之,更高的編碼圖像品質要求更小的塊, 這導致資料的壓縮程度小。當象奇偶碼和誤差糾正碼這樣的誤差糾正功能被包括進來時,當前某些類型的編碼甚至導致資料大小的提高。
由此可以看出,提供圖像和視頻的壓縮而又同時保持圖像品質,這是當今的一個問題,儘管有多種多樣的轉碼器已經在近幾十年被開發出來,已知的編碼器和解碼器還未能充分地處理這個問題。
本發明的目的之一是,提供一種編碼器,用於對代表至少一個資料內容專案的輸入資料進行編碼,並生成代表至少一個資料內容專案的相應的編碼輸出資料,其中,編碼輸出資料相對於輸入資料被壓縮,且在編碼過程中沒有任何實質性的品質損失發生;資料可以是任何類型的資料,例如可以是以下至少之一:圖像資料、視頻資料、音訊資料、經濟資料、遮罩圖像資料(mask data)、測震資料、模數轉換(ADC)資料、生物醫學信號資料、紋理資料(textural data)、時間進程資料(calendar data)、數學資料、二進位資料,但不限於這些資料。
本發明的再一個目的是,提供一種編碼方法,用於對代表至少一個資料內容專案的輸入資料進行編碼,並生成代表至少一個資料內容專案的相應的編碼輸出資料,其中,編碼輸出資料相對於輸入資料被壓縮,且在編碼過程中沒有任何實質性的品質損失發生。
根據本發明的第一方面,提供一種對輸入資料進行編碼以生成相應的編碼輸出資料的方法,其特徵在於,所述方法包括:(a)把輸入資料分成多個塊或包,所述塊或包具有大小,所述大小取決於塊或包的內容的性質,塊或包具有一個或多個大小;(b)把多個變換應用于塊或包的內容,生成相應的變換資料;(c)比之于在應用變換之前的塊或包的內容,檢查塊或包的變換資料的呈現品質,以確定塊或包的變換資料的呈現品質是否滿足一個或多個品質標準;(d)如果一個或多個塊或包的變換資料的呈現品質未滿足一個或多個品質標準,進一步細分和/或組合所述一個或多個塊或包,並重複步驟(b);(e)如果一個或多個塊或包的變換資料的呈現品質滿足一個或多個品質標準,輸出變換資料以提供代表要被編碼的輸入資料的編碼輸出資料。
本發明的優點是,所述方法能夠對輸入資料提供有效編碼,以 提供相應的編碼輸出資料,同時潛在地提供編碼輸出資料相對於要被編碼的輸入資料的實質性無損的資料壓縮。
可選地,所述方法包括,使用變換來壓縮與塊或包相關聯的內容,使得編碼輸出資料的大小小於要被編碼的輸入資料。
可選地,所述方法包括,在不同類型的變換中選擇,以保證一個或多個品質標準被滿足。
可選地,所述方法包括,把一個或多個品質標準設定成為在對塊或包進行編碼的過程中、取決於塊或包之內所包括的內容的性質是動態可變的。
可選地,在所述方法中,塊或包被細分和/或組合,使得描述其內容的它們的代表參數中的至少一個在它們的被細分和/或被組合的塊或包之中是平坦的(flat)。至少一個代表參數例如可以是顏色、幅度、強度、數位或碼。
可選地,在所述方法中,塊或包對應於一系列資料,其中,相應於給定資訊的輸入資料的細分以形成多個相應的塊,是取決於在資料的時間序列內、在給定的資訊之前的一個或多個資料中存在的內容。
可選地,所述方法包括,在步驟(e)把檔頭資訊增加到被變換後的資料以生成編碼輸出資料,其中,檔頭資訊包括表示步驟(b)所採用的變換的資訊。
可選地,在所述方法中,步驟(b)包括,從資料庫安排中提取補充資訊以使用於執行變換之時;補充資訊包括以下至少之一:演算法、規則、一個或多個變換參數。更可選地,所述方法還包括,把檔頭資訊增加到表示資料庫安排的編碼輸出資料中,使得後續的對編碼輸出資料的解碼能夠訪問補充資訊。
可選地,所述方法包括,為所述變換採用以下至少之一個或多個:資料庫參考、DC值、幻燈片(slide)、比例(scale)、線、多級、內插值、外插值、DCT、脈衝碼調製(PCM)、DPCM、RLE、SRLE、EM、LZO、VLC、哈夫曼編碼、算術編碼、距離編碼、變換編碼、差分編碼、ODelta編碼、bzip2-specific RLE。其它類型的編碼也可被採用於所述方法中。
可選地,所述方法包括,對以下至少之一進行編碼:存在於輸入資料中的視頻、圖像、音訊、圖形、文本、ECG、測震資料、ASCII、Unicode、 二進位資訊。
可選地,所述方法包括,對編碼輸出資料中的多個通道/層進行編碼,以提供以下至少之一:交互視頻、商業廣告、在體育事件報導中的多個視點(viewpoint)、交互浮水印、交互模式識別、動畫2D/3D使用者介面按鈕。
可選地,所述方法包括,把編碼輸出資料傳送到以下目的地的至少之一:資料存放裝置、通訊網路、存儲卡、資料存儲盤、本地局域通訊網路(LAN)、直接傳送給解碼器。
可選地,所述方法的步驟(a)包括,基於以下至少之一:(a)圖像解析度;(b)數據的量,和(c)塊或包大小的最大值,把輸入資料(20)初始地分割成一個或多個塊。
根據本發明的第二方面,提供記錄在非暫時性機器可讀數據存儲介質上的軟體產品,其中,軟體產品在計算硬體上執行,執行根據本發明的第一方面的方法。
根據本發明的協力廠商面,提供用於移動無線通訊設備的軟體應用,其中,軟體應用包括根據本發明的第二方面的軟體產品。
根據本發明的第四方面,提供一種可操作用於對輸入資料進行編碼以生成相應的編碼輸出資料的編碼器,其特徵在於,所述編碼器包括資料處理硬體,所述資料處理硬體可操作用於:(a)把輸入資料分成多個塊或包,所述塊或包具有大小,所述大小取決於塊或包的內容的性質,塊或包具有一個或多個大小;(b)把多個變換應用于塊或包的內容,生成相應的變換資料;(c)比之于在應用變換之前的塊或包的內容,檢查塊或包的變換資料的呈現品質,以確定塊或包的變換資料的呈現品質是否滿足一個或多個品質標準;(d)如果一個或多個塊或包的變換資料的呈現品質未滿足一個或多個品質標準,進一步細分和/或組合所述一個或多個塊或包,並重複步驟(b),如果這提高壓縮效率並且不顯著損害重構;(e)如果一個或多個塊或包的變換資料的呈現品質滿足一個或多個品 質標準,輸出變換資料以提供代表要被編碼的輸入資料的編碼輸出資料。
可選地,在所述編碼器中,使用可操作用於執行軟體產品的計算硬體來實現資料處理硬體。資料處理硬體包括可操作用於並行處理資料的多個處理器,並且,編碼器可操作用於在把資料塊和/或包資料導向多個處理器以進行編碼的同時,把它們導向要被包括在編碼輸出資料中的資料。
可選地,所述編碼器可操作用於,使用變換來壓縮與塊或包相關聯的內容,使得編碼輸出資料的大小小於要被編碼的輸入資料。
可選地,所述編碼器可操作用於,在不同類型的變換中選擇,以保證一個或多個品質標準被滿足。
可選地,所述編碼器可操作用於,把一個或多個品質標準設定成為在對塊或包進行編碼的過程中、取決於塊或包之內所包括的內容的性質是動態可變的。
可選地,所述編碼器可操作用於,塊或包被細分和/或組合,使得描述其內容的它們的代表參數中的至少一個在它們的被細分和/或被組合的塊或包之中是平坦的。至少一個代表參數對應于被細分的塊的顏色、幅度、強度、數位或碼。
可選地,在所述編碼器中,塊或包對應於一系列資料,其中,相應於給定資訊的輸入資料的細分以形成多個相應的塊,是取決於在資料的時間序列內、在給定的資訊之前的一個或多個資料中存在的內容。
可選地,所述編碼器可操作用於,把檔頭資訊增加到被變換後的資料以生成編碼輸出資料,其中,檔頭資訊包括表示編碼器所採用的變換的資訊。
可選地,所述編碼器可操作用於,從資料庫安排中提取補充資訊以使用於執行變換之時;補充資訊包括以下至少之一:演算法、規則、一個或多個變換參數。更可選地,所述編碼器可操作用於,把檔頭資訊增加到表示資料庫安排的編碼輸出資料中,使得後續的對編碼輸出資料的解碼能夠訪問補充資訊。
可選地,所述編碼器可操作用於,為所述變換採用以下至少之一個或多個:資料庫參考、DC值、幻燈片(slide)、比例(scale)、線、多級、內插值、外插值、DCT、脈衝碼調製(PCM)、DPCM、RLE、SRLE、EM、LZO、VLC、哈夫曼編碼、算術編碼、距離編碼、變換編碼、差分編 碼、ODelta編碼、bzip2-specific RLE。其它類型的編碼也可被採用於所述編碼器中。
可選地,所述編碼器可操作用於,對以下至少之一進行編碼:存在於要被編碼的輸入資料中的視頻、圖像、音訊、圖形、文本、ECG、測震資料、ASCII、Unicode、二進位資訊。
可選地,所述編碼器把編碼輸出資料傳送到以下目的地的至少之一:資料存放裝置、通訊網路、存儲卡、資料存儲盤、本地局域通訊網路(LAN)、直接傳送給解碼器。
根據本發明的第五方面,提供一種電子消費產品,可操作用於傳送和/或存儲輸出資料,其特徵在於,所述電子消費產品包括根據本發明的第四方面的用於對輸入資料進行編碼的編碼器。
可選地,所述電子消費產品是以下至少之一:行動電話、蜂窩電話、平板電腦、phablet電腦、個人電腦、電視機、便攜媒體播放設備、照相機、編輯器、碼轉換器、掃描器、傳真機、影印機、麥克風、音訊卡、錄音播放機、DVD播放機,等。
在不背離本發明的範圍的情況下,本發明的特徵還可以做各種組合。
10‧‧‧編碼器
20‧‧‧輸入資料
30‧‧‧輸出資料
40‧‧‧通訊網路
50‧‧‧資料庫裝置
100‧‧‧第1步驟
110‧‧‧第2步驟
120‧‧‧第3步驟
130‧‧‧第4步驟
140‧‧‧第5步驟
150‧‧‧第6步驟
160‧‧‧第7步驟
170‧‧‧第8步驟
180‧‧‧第9步驟
190‧‧‧第10步驟
200‧‧‧第11步驟
300、310、320、330‧‧‧編碼塊
400‧‧‧圖像
402‧‧‧初始塊大小
410‧‧‧紅色區域
412‧‧‧綠色區域
414‧‧‧藍色區域
A、B、C、D、E、F‧‧‧畫素塊
C1~C4‧‧‧子塊
E1~E4、E31~E34‧‧‧子塊
F1~F4、F11~F14‧‧‧子塊
600‧‧‧可攜式裝置
602‧‧‧顯示器(DISP)
604‧‧‧照相機(KAM)
606‧‧‧接收器/發送器(RX/TX)
608‧‧‧中央處理單元(CPU)
610‧‧‧記憶體(MEM)
612‧‧‧輸入/輸出(I/O)設備
下面結合附圖對本發明的實施例以例示的方式加以說明。
圖1是本發明的編碼器的一個實施例的示意圖;圖2是一個方法的步驟流程圖,表示對代表至少一種資料內容專案的輸入資料進行編碼,生成相應的編碼輸出資料,其中,編碼輸出資料被相對於輸入資料進行壓縮,並且在編碼過程中無實質性的品質損失發生,資料內容專案包括但不限於以下至少之一:圖像資料、視頻資料、音訊資料、經濟資料、遮罩圖像資料、測震資料、模數轉換(ADC)資料、生物醫學信號資料、紋理資料、時間進程資料、數學資料、二進位資料;圖3是將圖像分割成對應於塊的區域的示例,用於使用圖2所示的方法進行編碼;圖4是根據實施例被分割的圖像和初始圖像的示例;圖5是圖4的示例圖像的塊的示例;圖6示出了在其中實現了編碼的可攜式裝置的結構塊。
在附圖中,使用帶底線的數字來代表專案,所代表的專案位於底線資料所處的位置或接近的位置。無底線數位所表示的專案通過指示線與無底線數位連接,無底線數位的關聯箭頭表示專案位於箭頭所指的位置。
概括而言,本發明是關於編碼器和相關的對輸入資料進行編碼以生成相應的編碼輸出資料的方法。該方法涉及接收代表一個或多個圖像和/或一個或多個音訊信號的輸入資料,並使用對應於以下步驟至少之一的方式來處理輸入資料:(a)把每幅圖像分割成具有可變大小的塊;(b)把一個或多個音訊信號分割成具有可變大小的包;(c)對圖像塊進行組合以形成具有可變大小的、更有利於編碼的更大的塊;以及(d)對一個或多個音訊信號的包進行組合以形成更有利於編碼的組合包。
此外,該方法還包括處理塊和/或包以生成代表一個或多個圖像和/或一個或多個音訊信號的壓縮編碼輸出資料。
該方法在對描述資料塊的資料進行編碼和壓縮時,使用多種編碼和熵修正(entropy modifying)方法,即變換。例如,為了實現更好的編碼和壓縮效果,視不同塊的資訊內容,不同的變換被用於給定圖像的不同塊。在處理資料塊時,RD優化被用作品質標準(criterion)。描述當對塊進行編碼時所採用的多種變換的資訊在編碼輸出資料中被傳送,該資訊要麼被固定地包含於編碼輸出資料之中,要麼輸出資料包括一個指向一個或多個資料庫的參考,該參考描述所採用的變換的資訊可以在資料庫中取得。RD優化將在後文詳細描述。所用的編碼方法包括以下之一個或多個:多級、線、比例、幻燈片、內插值、外插值、不變(unchanged)、運動估計、SRLE、EM、Odelta編碼、以及距離編碼,將在後文更詳細說明。初始塊(Init-block)的分割也被有益地和可選地採用。
塊的選擇,和/或對塊進行組合,是由對應於塊的區域可以被編碼的容易程度來決定。例如,對於具有基本恒定的關聯參數值的一個或多個圖像的區域,採用較大的塊,而較小的塊用於難以編碼的一個或多個圖像的區域,這是考慮到這些區域的關聯參數值具有相對陡突的空間變化。 所述的參數可選地涉及以下之一個或多個:顏色、照度、變動參數值、重複模式,但不限於這些。所說的編碼是容易的,可以是指,與一個給定區域相關聯的至少一個參數在給定區域內是基本恒定的。此外,該方法還把較大的塊用在圖像的視頻序列中的靜止區域,或者,圖像的視頻序列中以類似方式移動的區域組,也就是對應於靜止物件的塊。可選地,塊相對於它們所表示的一個或多個圖像的區域是矩形的,如,64×64元素、32×16元素、4×20元素、10×4元素、1×4元素、3×1元素、8×8元素、1×1元素,等。可選地,所說的元素對應存在於一個或多個圖像中的圖元,但也可視編碼過程中的縮放操作而定,即,每個元素對應於多個圖元。儘管如此,塊也可以採用其它形狀,例如,橢圓形、圓形等。此外,類推地,該方法也可以對一個或多個音訊信號進行編碼,其中,一個或多個音訊信號被細分成包,和/或組合成包,視這些包所對應的音訊信號的性質,包具有可變的時長,然後,包被編碼以生成編碼壓縮輸出資料,包類似於前述的塊,只是它是關於音訊資訊而非圖像資訊。本發明的編碼器能夠同時對音訊資訊和圖像資訊進行編碼。
在把一個或多個圖像的區域處理成相應的塊時,本方法包括:檢查一個或多個圖像中由塊所提供的資訊的呈現相對於相應的細節的品質,以計算一個相應的品質指示(quality index);如果計算出的品質指示,在與參考品質閾值比較時,表示已經採用的塊大小的選擇使得由塊所提供的資料的呈現的品質不夠,該方法疊代回去並使用漸進較小的塊,並且/或者把各種塊組合到一起,如果這提升壓縮效率且不顯著損害重構,直到所述的品質指示表示所述呈現的品質達到了由參考品質閾值所定義的程度。通過這種方式,取決於用於資訊的呈現品質的閾值的選擇,本發明可以實現編碼過程中實質上無損的資料壓縮。可選地,參考品質閾值被設置成動態可變,依一個或多個圖像中的內容而定,例如,當一個或多個圖像是有許多無序活動的視頻序列的一部分,參考品質閾值可以在無序活動期間被放寬,以使得更高水準的資料壓縮得以實現。所述的無序活動例如可以是一些隨機的形態,如洶湧的流水、火焰、落雪、騰起的煙、海浪,等,當編碼資料被後續在解碼器中解碼時,這些形態中的資訊丟失不容易被辨別出來。
在前述的編碼器中塊的確定可以基於表3中所列的一個或多個 標準。
可選地,表3中的預測是基於已知的對一個或多個圖像進行編碼所採用的規則。替代地,表3中的預測是基於被提供的設置資訊,例如,被提供自被選擇的資料庫參考、預測方向、一個或多個圖像內的塊座標的移動,等。方差或標準差的使用是根據本發明而採用的方法,以通過描述一個給定的相應塊內所包括的元素的相互關係來提供資訊壓縮。在許多情形下,在根據本發明進行編碼時,依相關的編碼進行塊資料的預測,其自身是足夠的,但是,仍然期望在預測內包括碼預測誤差資料,以提高預測的精確度。在本發明的一個簡單實施例中,採用一個簡單的資料預測方法,例如,給定的塊中的圖元或元素的平均值,即“DC”值在編碼輸出資料中被傳送。
作為輸入資料提供給實現了上述方法的編碼器的一個或多個圖像的區域分割,或者區域組合的實現是根據既提供壓縮又實質地保持圖像品質的,即編碼過程中實質性地無損的任何方法。該方法將各種策略應用於區域分割與/或區域組合。例如,如果一個給定塊包括大量資訊,它被分割成多個相對“平坦”(flat)的相應的較小塊,或者組合成相對“平坦”的較大塊,也即是相對於它們的內容實質性地恒定,從而使得它們各自包括相對少的資訊。當本發明的方法被用於一個或多個圖像與/或一個或多個音訊信號兩者至少之一時,在編碼輸出資料中的編碼品質和編碼雜訊被可選地用於控制一個方式,在該方式中,輸入圖像與音訊輸入信號之被分割成塊與包分別發生。儘管如此,應當注意到,其它類型的資料內容專案也可以用類似的方法來處理,例如,圖像資料、視頻資料、音訊資料、經濟資料、遮罩圖像資料、測震資料、模數轉換(ADC)資料、生物醫學信號資料、紋理資料、時間進行資料、數學資料、二進位資料,其中的至少一種, 但不限於這些類型的資料。
可選地,在編碼編出資料中的雜訊是基於以下至少之一:(i)在當前塊或包中存在的雜訊;(ii)在由該方法生成的一個或多個先前的塊或包中存在的雜訊;(iii)先前的圖像
可選地,當給定的輸入資料被分割成區域和相應的塊,該方法分析由此生成的塊,從而為了編碼輸入資料中的更大程度的資料壓縮而確定是否某些塊可以被組合到一起,如前所述,這取決於前述的品質標準。在前文中,編碼輸出資料包括與塊相關聯的資訊,這些資訊定義了在要被編碼的輸入資料中的原始圖像中這些塊的相應區域的位置。
當使用所述方法對要被編碼的輸入資料中的一個或多個圖像進行編碼時,與輸入圖像相關聯的輸入資料在被施以前述的編碼方法之前,被進行下採樣,例如,按照2×1:1、2×2:1、1×2:1、4×1:1,或者類似地進行量化。可選地,該下採樣的執行是回應于應用本發明的方法而生成的壓縮編碼輸出資料中的編碼的期望品質。可選地,所述方法所處理的較大的塊的量化少於較小塊的量化,換言之,所採用量化的程度隨著塊大小的提高而降低。可選地,在編碼過程中,所採用的一個用於下採樣的縮放因數,例如響應於象視頻這類的要被編碼的圖像序列中的內容的性質,被設置成動態可變的。
在根據本發明的方法對塊進行編碼的過程中,每個塊具有描述其內容的各種參數。當編碼時,這些參數通過各種“通道”被傳送。例如,描述一個圖像的塊的顏色資訊包括以下中的一個或多個:黑/白(B/W)、Y、U、V、紅(R)、綠(G)、藍(B)、青(C)、品紅(M)、Y、以及K。並且,當執行所述的方法時,使用多種可用的顏色或圖元格式,如Y、YUV420、YUV422、YUV444、RGB444、G、以及CMYK這些當前的標準和格式,對用於編碼的輸入圖像和塊進行處理。此外,所述格式可選地是平面的(planar)、交錯的(interleave)、線平面的(line planar),等。此外,本發明的方法可用於當執行編碼活動時改變圖像和/或塊的格式,例如,原始圖像是交錯RGB格式的,採用本發明的方法被進行編碼,生成YUV420格式的編碼輸出資料,或者反之。
當實現前述的編碼方法時,比特深度,即圖元動態範圍,處於1 比特到64比特解析度之間。可選地,在編碼方法的編碼品質標準和壓縮效果被滿足的情況下,不同的圖元顏色或音訊通道可以用彼此不同的解析度進行編碼。
當實現本發明的編碼方法時,可以使用存儲於當執行編碼活動時可訪問的資料庫之中的編碼參數與編碼規則和/或表(table)。可選地,資料庫在編碼過程中被創建,並且通過編碼器被發送,從而在實現所述方法時使用。例如,使用被發送給編碼器的資料庫中的資訊,實現編碼過程中的運動補償。編碼器可對存在於輸入資料中的原始圖元資訊和/或編碼預測誤差資訊進行編碼。在編碼輸入資料以生成相應的編碼輸出資料時使用資料庫資訊,使得編碼器能夠適應編碼標準的修正,所述編碼標準,是用於編碼的參數、表及類似資訊的編碼標準。在實現根據本發明的編碼方法時可採用的編碼方式包括以下之中的一個或多個:資料庫參考、DC值、幻燈片、比例、線、多級、不變、內插值、外插值、DCT、脈衝碼調製(PCM)、DPCM、RLE、SRLE、EM、LZO、VLC、哈夫曼編碼、算術編碼、距離編碼、變換編碼、差分編碼、ODelta編碼、bzip2-specific RLE。可選地,採用包括上述編碼示例的任意組合的編碼方式,即,對塊和/或包使用多個編碼變換,以及多個參數,這取決於塊和/或包的內容資訊。當使用象哈夫曼編碼這樣的編碼方式時,該編碼使用固定的編碼參數表或者被發送的編碼參數表。使用具有資料存儲裝置的電腦硬體來實現所述的編碼器,其中,優化的編碼參數表被存儲在資料存儲裝置中,以備將來執行編碼操作時使用。有益地,用於使得解碼器訪問資料庫以獲得合適的參數以對來自編碼器的編碼輸出資料進行解碼的參考位址被包括於編碼輸出資料中。可選地,所述資料庫是通過通訊網路,如互聯網,可訪問的。所述資料庫可以通過雲計算裝置得到支援。當實現於編碼器中的方法使用數學方式生成的資料庫,該資料庫可以是:DC值、1D/2D線性轉換、1D/2D曲線轉換、1D/2D變換方程,或者一些已知的圖像塊或音訊包結構。
根據本發明的編碼方法,當實施於編碼器中時,可編碼輸入資料以生成編碼輸出資料,其中,編碼輸出資料可以作為位元流而輸出,也可以存儲在資料存儲媒介中,例如,作為一個資料檔案存儲。並且,本發明的方法可以用於一系列的可能的應用當中。視頻、圖像、圖像塊、音訊或音訊包的檔頭可以包括補充資訊,例如,版本號,視頻、圖像或包的資 料大小,編碼時所採用的品質因數閾值,塊或包的大小的最大值,所採用的編碼方式,即,採用的變換的類型,編碼參數的表,以及有助於後續解碼過程的任何其它資訊。可選地,在塊之間不發生變化的資訊不被包括,從而獲得編碼輸出資料中的更高程度的資料壓縮,或者,它們被包括在編碼輸出資料的更高級中,例如在檔頭的級別或者子檔頭的級別。表4提供了級別的層級表,所述的級別被採用於由編碼器生成的編碼輸出資料中。
可選地,取決於本發明的方法所應用的領域,該方法在被執行時可以選擇並在編碼輸出資料中發送與一個或多個級別有關的資訊,所述的應用領域例如,消費視頻產品、調查用的專業圖像壓縮裝置、X射線成像裝置、核磁共振成像(MRA)裝置。當本發明的方法被應用於編碼音訊資料,類似的考慮也與編碼輸出資料中的級別有關,相應地,可以採用音訊、包組、包、子包、波形片段組、以及波形片段的檔頭。
參見圖1,它示出了根據本發明的編碼器的示意圖。編碼器用10來表示,可操作用於接收輸入資料20,採用根據本發明的編碼方法對輸入資料20進行編碼以生成相應的編碼輸出資料30。輸出資料30是以前述的實質性無損的方式進行編碼的。可選地,編碼器10通過通訊網路40連接於資料庫裝置50,在資料庫裝置50中存儲有用於對輸入資料20進行編碼的一個或多個參數、表、和/或規則。
在操作中,編碼器10接收輸入資料20,可選地通過通訊網路40從資料庫裝置50中得到編碼資訊,然後對輸入資料20進行編碼以生成 編碼壓縮輸出資料30。可選地,輸入資料20包括以下至少之一:音訊、一個或多個圖像、視頻、圖形、文本、ECG、測震資料、ASCII、Unicode、二進位資料,但不限於這些。可選地,編碼輸出資料30包括檔頭、編碼資訊、以及被編碼資料。輸出資料30可以從編碼器10被流化(streamed),用於通過通訊網路裝置被發送給一個或多個資料存儲裝置或解碼器,或者直接存儲在機器可讀的存儲介質中,如伺服器硬碟記憶體、便攜固態記憶體設備等。
編碼器10可以通過例如一個或多個PGLA(可程式設計門邏輯陣列)、通過一個或多個可在計算硬體上執行的軟體、或者硬體與軟體的任意混合體,被實現成硬體,例如,並行處理引擎。編碼器10可以被採用於多媒體產品、電腦、行動電話(蜂窩電話)、互聯網服務、錄影機、視頻播放機、通訊裝置、及類似裝置之中。編碼器10可以與圖像獲取系統一同採用,例如,監視影像機、醫院X射線系統、醫院MRI掃描器、醫院超聲掃描器、空中監視系統、以及類似裝置,它們生成大量的圖像資訊,並且期望無失真壓縮,從而在圖像中保留純粹資訊,並且使得圖像資料的量對於資料存儲之目的是可管理的。
編碼器10可用於已知的用於影像處理的裝置,如,與已公開的美國專利申請號US2007/280355(在此引入作為參考)所描述的圖像/視頻處理器並用,如,與已公開的美國專利申請號US2010/0322301(在此引入作為參考)所描述的圖像生成器並用,如,與已公開的美國專利申請號US2011/007971(在此引入作為參考)所描述的圖案識別器並用。
下面參考圖2來描述使用圖1的編碼器對輸入資料進行編碼的方法。圖2中,對輸入資料20進行編碼的方法的步驟用100到200來表示。在第1步驟100,所述方法包括接收用於塊、圖像、視頻和/或音訊(不限於這些)的輸入資料,例如,接收前述的輸入資料20;在第1步,圖像/塊類型、圖像/塊格式資訊被得到,以被包括在編碼輸出資料30中。第1步驟100能夠提供把檔頭資訊,例如圖像大小資訊,寫入編碼壓縮資料。
在執行於第1步驟100之後的第2步驟110,所述方法包括生成,如果必要的話,初始塊或包。在執行於第2步驟110之後的第3步驟120,所述方法包括,執行由第2步驟110生成的塊和/或包資訊的分析。在執行於第3步驟120之後的第4步驟130,所述方法包括,確定在第3步 120中所標識的塊和/或包中的一個或多個是否需要被分割和/或被組合,以實現定義的編碼品質和/或定義的壓縮率,換言之,實質性地無損編碼;如果在第4步驟130中一個或多個塊或包被發現需要分割和/或組合,所述方法進行第5步驟140,在第5步驟140中,一個或多個被標識的塊或包被分割成更小的塊或包,並且/或者被組合成更大的塊或包,從而創建額外的新塊或新包;如果在第4步驟130中一個或多個塊或包不需要分割和/或組合,所述方法進行第6步驟150。當完成第5步驟140,如果合適的話(在圖中用虛線表示),所述方法進行第6步驟150。在第6步驟150,基於第二步驟120所做的分析,由變換所重構的塊的資料被輸出給資料流程,然後,所述方式進行到第7步驟160。
在第7步驟160,所述方法包括,確定要被編碼的最後一個塊或包是否已經被處理到了;如果還有要被編碼的塊或包存在,所述方法包括,返回執行塊或包資訊分析的第3步驟120;如果所有的塊或包都已經被編碼,所述方法包括,進行第8步驟170。所述方法的第8步驟170包括,使用例如RLE、哈夫曼、DCT或者類似的變換,對圖元值、參數和分割資訊這樣的資料進行壓縮和編碼,寫前述的檔頭資訊;例如,如果塊的DC值被發送了,它們可以首先被進行差分編碼,然後,相應的編碼值被進行RLE編碼,再然後,這些生成的編碼值被哈夫曼編碼。當第8步驟170的壓縮和編碼活動已經完成,所述方法包括,進行第9步驟180,第9步驟180涉及檢查最後一個初始塊、包或幀是否已經被處理到;如果最後一個塊、包或幀還沒有被處理到,所述方法包括,返回第3步驟120;如果最後一個塊、包或幀已經被處理到,所述方法包括,進行第10步驟190。在第10步驟190,所述方法包括,執行一次或多次分析,分析圖像/塊是否類似於先前的圖像/塊,或者,是否是黑色的,這裡所說的類似於先前的圖像/塊以及是黑色的,僅是為了舉例的目的。該分析還需要一些可以從一個或多個先前的步驟獲得的資訊。該步驟使得編碼輸出資料的圖像/塊可以被進一步壓縮。不需要使用從一個或多個先前的步驟獲得的資訊的類似的分析已經在第3步驟120實施過了,因此,也有可能避免在處理器中進行不必要的處理。在完成第10步驟190之後,所述方法包括,進行第11步驟200,其中,所述方法包括,應用塊、包、圖像或視頻的尾編碼來結束被編碼和壓縮的輸出資料30。可選地,所述方法包括,如果可行的話,從第7步驟160直接 進入到第11步驟200,例如,在圖像中只有一個塊需要被編碼,它可以是黑色的或者是類似於先前的圖像中的先前的塊。在實現所述方法的時候,所有能夠被寫入一個檔或者流化出來(streamed out)的編碼資料要盡可能早地生成,以避免過多的緩存。
下面參見圖3。從前述可以看出,在合適的時候,根據本發明的編碼方法採用可變的塊或包大小,用於在編碼輸出資料30中的資料壓縮與實質性地無失真壓縮-即,實質上沒有可辨識的損失-之間提供一個優化的解決方案。在圖3中,採用了大的編碼塊300用在給定圖像的左上角,而在沿著圖像的右手邊和底邊區域則需要更小的編碼塊310、320、330,從而為這些區域提供更精確的編碼。在編碼輸出資料30中,包括了描述編碼塊300、310、320、330的圖像內容和這些塊在圖像中的位置的參數。用於對編碼塊300、310、320、330進行編碼所採用的編碼方法也被定義在編碼輸出資料30中,例如,不同的編碼方法用於不同的編碼塊300、310、320、330。編碼塊300、310、320、330的分佈是可變的,這取決於要被編碼的圖像中內容的分佈。圖3示出了在第2步驟110生成的圖像中的塊的初始分割的示例。塊的初始分割不需要在編碼器與解碼器之間發送任何資訊,因為它可以基於,例如,圖像的大小。
根據一個實施例,當在第5步驟140實施真正的塊分割,該資訊也可以從編碼器發送給解碼器。對圖像進行編碼的一個實例將在下文描述。
在前述中使用了下述的縮寫,表5列出了這些縮寫。取決於編碼器10的期望效果,在實施編碼器10時,各種不同的編碼格式可以被使用。
再參見圖2,可以看出,所述編碼方法對圖像、視頻和音訊中的至少一個完成了編碼之後,輸出編碼輸出資料30。替換地,通過圖2中在第11步驟200之後回到第1步驟100或第3步驟120的連接(在圖中用虛線表示),使得所述編碼方法在對圖像、視頻和音訊中的至少一個執行編碼步驟的同時,編碼輸出資料30被輸出,例如,被流化。當本發明的方法被用於在伺服器處即時對來源資料進行編碼並流化給客戶,例如用於通過互聯網發送的多媒體服務,這樣的操作是有利的。因此,所述方法還能夠在具有小資料存儲容量可用、流化編碼資料的使用者中斷(例如,選擇了替代性其它服務的使用者將其中斷)的情況下工作,避免在使用者不需要的情況下整個視頻檔被編碼,從而節省電腦處理資源。這些考慮對於當前通過互聯網的多媒體流服務是非常重要的。
當發送編碼輸出資料30,例如,在前述的同時的編碼/流化的情形下,最高級別的檔頭被首先發送,然後,與該層級體系中的最高級別相關的編碼資料被發送,然後發送與層級體系中較低級別相關的編碼資料,這是有利的。例如,在編碼輸出資料30中,圖像大小的資料和圖像/視頻相關的資料被首先發送,然後是與塊分割有關的資訊,再然後是被用於塊編碼中的演算法以及被編碼的塊資料。
使用包括並行處理器架構的電腦硬體來實現編碼器10,並行處理器架構包括被組織用來並行處理資料的多個處理器。例如,考慮初始塊的分割以提供分割後的編碼塊300、310、320、330,分割後的編碼塊300、310、320、330可以被分配給多個處理器,如,第一處理器對編碼塊300、310、320編碼,第二處理器對塊330編碼。
在編碼過程中,編碼器用來對圖像、視頻和音訊進行編碼所採用的通道的數量可以是動態可變的,以在編碼輸出資料30中獲得更大程度的資料壓縮。例如,採用多達4個通道是方便的,儘管圖像可以包括能夠被在一起呈現的多個層。所說的層可以涉及下述之一或多個:字幕、LOGO、多屏(multi-view)圖像、深度。並且,層傳送彼此不同量的資料。所有的關聯層資料作為分立的通道被編碼於編碼輸出資料30中,並且,在編碼輸出資料30中的一個或多個檔頭還包括有關通道應該如何組合和使用的關聯描述資訊。
可以理解,圖3所示的塊分割僅是個示例。在圖像的時間序列中,如視頻序列,圖像中所描述的具有定義完好的邊界的物件通常在圖像的一個給定的視場內移動,這導致沿著對象的移動進行塊分割。在靜止圖像中,塊分割典型地導致沿著空間圖像的邊界的結果。當從靜止圖像來示意塊分割的時候,通常,物件可以從中檢測到。
根據本發明的編碼方法,例如圖2所示的那樣,通過實施於編碼器10之中的層和通道編碼,能夠支援用來提供新型內容發送服務的交互視頻呈現,例如,交互商業廣告,在對方程式1(Formula 1)這樣的直播體育活動進行流化時的不同視景,以及電影。例如,編碼器10允許電影帶有當地語系化字幕層、交互浮水印、交互模式識別、動畫2D/3D使用者介面按鈕等。
圖4示出了編碼實施例的一個簡化示例。要被編碼的圖像400 具有平坦的藍色區域414,出於簡潔的考慮,在圖4中用白色表示;綠色區域412,在圖4中用叉點表示;變動的紅色區域410,在圖4中用傾斜的點陰影表示。圖像400的大小是任意的,例如可以是12×8元素或圖元,或者24×16元素或圖元,或者120×80元素或圖元,等。用於圖像400的初始塊大小402被選作4×4元素或圖元,或者8×8元素或圖元,或者40×40元素或圖元,分別用於不同大小的圖像。在實施例中,有6個元素或畫素塊A、B、C、D、E、F。同時參考圖5,根據實施例,第1畫素塊A被分析。從分析中確定,畫素塊A是一致的並且僅包含藍色,具有用數位10表示的顏色值,畫素塊A被認作是一個區域。接下來分析畫素塊B,畫素塊B也只包含藍色,因此它被認作是一個區域。接下來分析畫素塊C,畫素塊C是不一致的,因此它被分割成由C1、C2、C3、C4表示的4個子塊。第1子塊C1被分析,它包括變動的紅色區域,在子塊C1的左下角具有顏色值15,在子塊C1的左上角和右下角具有值20,在子塊C1的右上角具有值25。子塊C1被認為是一個區域。子塊C2、C3、C4被分別分析。子塊C2、C3、C4由平坦的藍色組成並分別被標示為平坦的藍色。接下來分析畫素塊D。畫素塊D只具有一種顏色,即平坦的藍色,被認為是一個區域。接下來分析畫素塊E。畫素塊E是不一致的,因此被分割成4個子塊E1、E2、E3、E4。子塊E1和E2均是一致的,具有平坦的藍色。子塊E3不是一致的,因此它被分割成子塊E31、E32、E33、E34。每個子塊E31、E32、E33、E34都被分析。經分析,子塊E31由一致的藍色組成,因此被標記為平坦的藍色區域。經分析,子塊E32、E33、E34是綠色的,具有例如為5的顏色值,因此它們被指定為綠色。經分析和確定,子塊E4是一致的並被指定為綠色。畫素塊F被分析和確定為不一致的。畫素塊F被分割成4個子塊F1、F2、F3、F4。子塊F1被分析和確定為不一致的。子塊F1被進一步分割成子塊F11、F12、F13、F14。子塊F11、F12、F13、F14的每一個均被分析。子塊F11被確定為一致的,藍色。子塊F12、F13、F14被確定為一致的,綠色。數值分別被關聯於塊和子塊。子塊F2、F3、F4接著被分析和確定為一致的,綠色。數值分別被關聯於畫素塊和子塊。
為前述編碼過程實現編碼的一個示例是,把值“0”賦給未分割的塊,把值“1”賦給需要分割的塊。使用這樣的邏輯,上述的示例被編碼成為下面的“分割比特”(Split Bits): 0 0 1 0000 0 1 0010 0000 1 1000 0000,其中前兩個邏輯值“0”表示兩個初始畫素塊A、B未被分割。第3個畫素塊C被分割了,被邏輯值“1”定義,如前所述,但它的子塊未被分割。第4個畫素塊D未被分割,第5個畫素塊E被分割,前兩個子塊E1、E2未被分割,但子塊E3被分割,等等。上述比特串可以進一步被編碼,如,行程長度編碼。
用於每個塊的進一步的“填充”方法也可以被編碼,例如,把邏輯值“0”指定給具有平坦顏色的塊,把邏輯值“1”指定給具有變動顏色的塊,稱這為“方法比特”(Method Bits):0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
在該碼中,前兩個畫素塊A、B具有平坦的顏色,下一個子塊C1是變動的顏色,其餘的都是平坦的顏色。方法比特可以進一步被編碼,如,行程長度編碼。
分別賦給塊的顏色值被稱為“數值”,具體如下:10 10 20 25 15 20 10 10 10 10 10 10 5 10 5 5 5 5 5 5 10 5 5 5其中,集合“20,25,15,20”描述子塊C1的每個角的顏色值。“數值”的串可以經過例如哈夫曼編碼,以減小資料的大小。並且,由於子塊E31、E32、E33、E34的組與子塊F11、F12、F13、F14的組具有同樣的顏色值組合與順序,即(10,5,5,5),它可以被認為是一個元素並被賦予它自己的值,稱之為“組合數值”(Combination Value)。組合數值可以存儲在資料庫,例如編碼器的資料庫或者相應解碼器的資料庫,並在需要的時候用“參考標識”(Reference Identification)數來調用。通常,為不同方法的數值使用分立的流,例如,在前述的例子中,其中的DC值與幻燈片值(slide value)就可以被設成分立的流。有些方法還可以由其自己生成多個流,使得每個流有較小的熵,在熵編碼中實現更好的壓縮效率,例如,當在實現所述方法中使用多級別方法時,其中所用的高級別和低級別可以被設成處理分立的流,因為通常高數值之間彼此更近,類似地,低數值之間也彼此更近,並且,使用差分編碼過的高或低數值的距離編碼工作效率高。
根據實施例,分割比特、方法比特、數值、組合數值可以存儲在編碼器硬體中,用於在後續為了解碼的目的而提供給其它硬體。
在一個實施例中,可以在圖6所示的可攜式裝置600中實現所 述的編碼,該可攜式裝置600可以是智慧手機、數碼照相機、或錄影機。可攜式裝置600可選地包括用於獲取一個或多個圖像的照相機(KAM)604、用於顯示一個或多個圖像的顯示器(DISP)602、用於使用蜂窩無線網路或本地局域網實現通訊的接收器/發送器(RX/TX)606、象USB(Universal Serial Bus,通用序列匯流排)或者乙太網這樣的其它輸入/輸出(I/O)設備612、用於執行編碼相關的演算法和指令的中央處理單元(CPU)608、以及用於存儲來自照相機604的一個或多個圖像的記憶體(MEM)610、用於編碼器的軟體、以及被編碼的圖像內容。可攜式裝置600可以被設置成在它的本機記憶體610中存儲一個或多個編碼的圖像,並且/或者,它也可以被設置成按照請求、按照用戶的動作、以即時或基本即時的方式、通過接收器/發送器(RX/TX)606或者通過輸入/輸出(I/O)設備612,週期性地把被編碼的圖像發送給外部系統。
在前文中,採用了RD優化來對由下述公式1得出的RD值進行最小化:RD=(E)+(λ.(BC)) 公式1其中,E=誤差;λ=係數,將比特計數的成本定義為誤差E的方程;BC=比特計數。
誤差E可以是例如MAE、MSE、MAX、或者這些參數的加權組合,如MAE+MAX。參數λ是指前述的係數,通過它,比特計數BC的成本被使得與誤差E具有可比性,當用於編碼的比特小時,λ值變大,其中可以允許更大的誤差,這種情形即是,出現了大的資料壓縮,對應於較小的品質標準值。相應地,當用於編碼的比特多時,λ值變小,其中可以允許較小的誤差,這種情形即是,出現了小的資料壓縮,對應於較大的品質標準值。
關於編碼品質標準,它可以與平滑度(evenness)相關聯,就象方差的一個量度。通常可以採用RD值的估計,因為這減小當確定編碼品質時所需要的處理工作的量。在RD值計算當中所用的比特計數值通常也是估計的,因為實際值很難計算,因為它取決於其它資料值和所選的熵編碼方法。比特數可以被估計,估計的基礎是,數值發送所需要的比特的量,乘 以估計的壓縮因數,壓縮因數可以為資料流程而預先定義,也可以基於先前的被壓縮和被傳送的資料而適配地修改。
當實現前述的實施例,所採用的資料壓縮包括兩個不同的階段。資料壓縮的方法被選擇,這產生選擇資訊,選擇資訊定義了由所述方法所生成的量化資料的方法和類型。選擇資訊被熵編碼,從而被包括在輸出資料30之中。當生成輸出資料30時,可以採用多個流,用於整個圖像或者初始塊。採用多個流有利於減小壓縮的輸出資料30中的熵。
在不背離本發明範圍的情況下,可以對所述的實施例進行修改。本文所用的術語“包括”、“包含”、“由......組成”應當被理解為非排它的方式,即,允許未被明示描述的專案、部件、或元素的存在。單數或“一個”的使用應當被理解為與複數有關。括弧內的序號的使用是為了說明理解內容,不應當被當作限定的作用。
10‧‧‧編碼器
20‧‧‧輸入資料
30‧‧‧輸出資料
40‧‧‧通訊網路
50‧‧‧資料庫裝置

Claims (24)

  1. 一種對輸入資料(20)進行編碼以生成相應的編碼輸出資料(30)的方法,其特徵在於,所述方法包括:(a)把輸入資料(20)分成多個塊或包,所述塊或包具有大小,所述大小取決於塊或包的內容的性質,塊或包具有一個或多個大小;(b)把多個彼此不同的變換應用于塊或包的內容,生成相應的變換資料;(c)比之于在應用變換之前的塊或包的內容,檢查塊或包的變換資料的呈現品質,以確定塊或包的變換資料的呈現品質是否滿足一個或多個品質標準;(d)如果一個或多個塊或包的變換資料的呈現品質未滿足一個或多個品質標準,進一步細分和/或組合所述一個或多個塊或包,並重複步驟(b);(e)如果一個或多個塊或包的變換資料的呈現品質滿足一個或多個品質標準,輸出變換資料以提供代表要被編碼的輸入資料的編碼輸出資料。
  2. 如請求項1所述的方法,其特徵在於,所述方法包括,使用變換來壓縮與塊或包相關聯的內容,使得編碼輸出資料的大小小於要被編碼的輸入資料。
  3. 如請求項1所述的方法,其特徵在於,所述方法包括,把一個或多個品質標準設定成為在對塊或包進行編碼的過程中、取決於塊或包之內所包括的內容的性質是動態可變的。
  4. 如請求項1所述的方法,其特徵在於,塊或包被細分和/或組合,使得描述其內容的它們的代表參數中的至少一個在它們的被細分和/或被組合的塊或包之中是平坦的。
  5. 如請求項1所述的方法,其特徵在於,塊或包對應於一系列資料,其中,相應於給定資訊的輸入資料的細分以形成多個相應的塊,是取決於在資料的時間序列內、在給定的資訊之前的一個或多個資料中存在的內容。
  6. 如請求項1個所述的方法,其特徵在於,所述方法包括,在步驟(e)把檔頭資訊增加到變換資料以生成編碼輸出資料,其中,檔頭資訊包括表示步驟(b)所採用的變換的資訊。
  7. 如請求項1所述的方法,其特徵在於,步驟(b)包括,從資料庫安排中提取補充資訊以使用於執行所述變換的至少一個之時;補充資訊包括以 下至少之一:演算法、規則、一個或多個變換參數。
  8. 如請求項7所述的方法,其特徵在於,所述方法還包括,把檔頭資訊增加到表示資料庫安排的編碼輸出資料中,使得後續的對編碼輸出資料的解碼能夠訪問補充資訊。
  9. 如請求項1所述的方法,其特徵在於,所述方法包括,為所述變換採用以下至少之一個或多個:資料庫參考、DC值、幻燈片、比例、線、多級、不變、內插值、外插值、離散余弦變換(DCT)、脈衝碼調製(PCM)、微分碼調製(DPCM)、行程長度編碼(RLE)、SRLE、熵修正(EM)、基於Lempel-Ziv轉換的編碼方法(LZO)、可變長度編碼(VLC)、哈夫曼編碼、算術編碼、距離編碼、變換編碼、差分編碼、ODelta編碼、bzip2-specific RLE。
  10. 如請求項1所述的方法,其特徵在於,所述方法包括,對以下至少之一進行編碼:存在於輸入資料中的視頻、圖像、音訊、圖形、文本、ECG、測震資料、ASCII、Unicode、二進位資訊。
  11. 如請求項1所述的方法,其特徵在於,所述方法包括,對編碼輸出資料中的多個通道/層進行編碼,以提供以下至少之一:交互視頻、商業廣告、在體育事件報導中的多個視點、交互浮水印、交互模式識別、動畫2D/3D使用者介面按鈕。
  12. 如請求項1所述的方法,其特徵在於,所述方法包括,把編碼輸出資料傳送到以下目的地的至少之一:資料存放裝置、通訊網路、存儲卡、資料存儲盤、本地局域通訊網路(LAN)、直接傳送給解碼器。
  13. 如請求項1所述的方法,其特徵在於,所述方法的步驟(a)包括,基於以下至少之一:(a)圖像解析度;(b)數據的量,和(c)塊或包大小的最大值,把輸入資料(20)初始地分割成一個或多個塊。
  14. 一種記錄在非暫時性機器可讀數據存儲介質上的軟體產品,其特徵在於,所述軟體產品在計算硬體上執行,執行請求項1的方法。
  15. 一種用於移動無線通訊設備的軟體系統,其特徵在於,所述軟體系統包括請求項14的軟體產品。
  16. 一種可操作用於對輸入資料(20)進行編碼以生成相應的編碼輸出資 料(30)的編碼器(10),其特徵在於,所述編碼器(10)包括資料處理硬體,所述資料處理硬體可操作用於:(a)把輸入資料(20)分成多個塊或包,所述塊或包具有大小,所述大小取決於塊或包的內容的性質,塊或包具有一個或多個大小;(b)把多個彼此不同的變換應用于塊或包的內容,生成相應的變換資料;(c)比之于在應用變換之前的塊或包的內容,檢查塊或包的變換資料的呈現品質,以確定塊或包的變換資料的呈現品質是否滿足一個或多個品質標準;(d)如果一個或多個塊或包的變換資料的呈現品質未滿足一個或多個品質標準,進一步細分和/或組合所述一個或多個塊或包,並重複步驟(b);(e)如果一個或多個塊或包的變換資料的呈現品質滿足一個或多個品質標準,輸出變換資料以提供代表要被編碼的輸入資料(20)的編碼輸出資料(30)。
  17. 如請求項16所述的編碼器,其特徵在於,所述編碼器(10)可操作用於,使用至少一種變換來壓縮與塊或包相關聯的內容,使得編碼輸出資料(30)的大小小於要被編碼的輸入資料(20)。
  18. 如請求項16所述的編碼器,其特徵在於,所述編碼器(10)可操作用於,把一個或多個品質標準設定成為在對塊或包進行編碼的過程中、取決於塊或包之內所包括的內容的性質是動態可變的。
  19. 如請求項16所述的編碼器,其特徵在於,塊或包被細分和/或組合,使得描述其內容的它們的代表參數中的至少一個在它們的被細分和/或被組合的塊或包之中是平坦的。
  20. 如請求項16所述的編碼器,其特徵在於,塊或包對應於一系列資料,其中,相應於給定資訊的輸入資料(10)的細分以形成多個相應的塊,是取決於在資料的時間序列內、在給定的資訊之前的一個或多個資料中存在的內容。
  21. 如請求項16所述的編碼器,其特徵在於,所述編碼器(10)可操作用於,把檔頭資訊增加到變換資料以生成編碼輸出資料(30),其中,檔頭資訊包括表示編碼器(10)所採用的變換的資訊。
  22. 如請求項16所述的編碼器,其特徵在於,所述編碼器(10)可操作用 於,從資料庫安排中提取補充資訊以使用於執行變換之時;補充資訊包括以下至少之一:演算法、規則、一個或多個變換參數。
  23. 如請求項22所述的編碼器,其特徵在於,所述編碼器(10)可操作用於,把檔頭資訊增加到表示資料庫安排的編碼輸出資料中,使得後續的對編碼輸出資料的解碼能夠訪問補充資訊。
  24. 如請求項16所述的編碼器,其特徵在於,所述編碼器(10)可操作用於,為所述變換採用以下至少之一個或多個:資料庫參考、DC值、幻燈片、比例、線、多級、不變、內插值、外插值、離散余弦變換(DCT)、脈衝碼調製(PCM)、微分碼調製(DPCM)、行程長度編碼(RLE)、SRLE、熵修正(EM)、基於Lempel-Ziv轉換的編碼方法(LZO)、可變長度編碼(VLC)、哈夫曼編碼、算術編碼、距離編碼、變換編碼、差分編碼、ODelta編碼、bzip2-specific RLE。
TW102128923A 2012-08-13 2013-08-13 編碼器及編碼方法 TWI505694B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/584,005 US8675731B2 (en) 2012-08-13 2012-08-13 Encoder and method
GB1214414.3A GB2503295B (en) 2012-08-13 2012-08-13 Encoder and method
EP13002521.6A EP2698997A1 (en) 2012-08-13 2013-05-14 Encoder and method

Publications (2)

Publication Number Publication Date
TW201412130A TW201412130A (zh) 2014-03-16
TWI505694B true TWI505694B (zh) 2015-10-21

Family

ID=46981439

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102128923A TWI505694B (zh) 2012-08-13 2013-08-13 編碼器及編碼方法

Country Status (10)

Country Link
US (1) US8675731B2 (zh)
EP (2) EP3082337A1 (zh)
JP (2) JP6245888B2 (zh)
KR (1) KR101687863B1 (zh)
CN (1) CN103596008B (zh)
BR (1) BR102013020622B1 (zh)
GB (1) GB2503295B (zh)
IN (1) IN2013MU02340A (zh)
RU (1) RU2553103C2 (zh)
TW (1) TWI505694B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8811758B2 (en) * 2011-12-18 2014-08-19 Numerica Corporation Lossy compression of data points using point-wise error constraints
US9277218B2 (en) * 2013-01-22 2016-03-01 Vixs Systems, Inc. Video processor with lossy and lossless frame buffer compression and methods for use therewith
GB2523347B (en) 2014-02-20 2016-01-13 Gurulogic Microsystems Oy Encoder, decoder and method
CN111064965B (zh) * 2014-03-16 2022-05-24 Vid拓展公司 用于无损视频译码的信令的方法、设备和计算机可读介质
US20150379682A1 (en) * 2014-06-27 2015-12-31 Samsung Electronics Co., Ltd. Vertex attribute data compression with random access using hardware
GB2528460B (en) 2014-07-21 2018-05-30 Gurulogic Microsystems Oy Encoder, decoder and method
WO2016114788A1 (en) 2015-01-16 2016-07-21 Hewlett Packard Enterprise Development Lp Video encoder
GB2539239B (en) 2015-06-10 2017-10-04 Gurulogic Microsystems Oy Encoders, decoders and methods utilizing mode symbols
GB2539488B8 (en) 2015-06-18 2020-08-19 Gurulogic Microsystems Oy Encoder, decoder and method employing palette utilization and compression
GB2543844B (en) 2015-11-01 2018-01-03 Gurulogic Microsystems Oy Encoders, decoders and methods
RU2616178C1 (ru) * 2016-03-28 2017-04-12 Федеральное государственное бюджетное образовательное учреждение высшего образования "Тульский государственный университет" (ТулГУ) Способ кодирования-декодирования цифровых статических видеоизображений
US11245416B2 (en) * 2016-06-20 2022-02-08 Anacode Labs, Inc. Parallel, block-based data encoding and decoding using multiple computational units
GB2552223B (en) 2016-07-15 2020-01-01 Gurulogic Microsystems Oy Encoders, decoders and methods employing quantization
US10523244B2 (en) * 2016-08-11 2019-12-31 Zebware Ab Device and associated methodoloy for encoding and decoding of data for an erasure code
CN106534846B (zh) * 2016-11-18 2019-01-29 天津大学 一种屏幕内容与自然内容划分及快速编码方法
KR102142946B1 (ko) * 2019-11-08 2020-08-10 세종대학교산학협력단 다중 dpcm 기법을 이용한 무손실 이미지 데이터 압축 장치 및 방법
CN113055017A (zh) 2019-12-28 2021-06-29 华为技术有限公司 数据压缩方法及计算设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060204115A1 (en) * 2003-03-03 2006-09-14 Dzevdet Burazerovic Video encoding
CN101485209A (zh) * 2006-07-10 2009-07-15 汤姆逊许可证公司 在多步视频编码器中增强性能的方法和装置
US20120027083A1 (en) * 2009-04-03 2012-02-02 Matthias Narroschke Video coding method, video decoding method, video coding apparatus, and video decoding apparatus

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100276427B1 (ko) 1993-01-30 2000-12-15 윤종용 화상데이타의 압축 및 복원장치
KR100188934B1 (ko) 1995-08-28 1999-06-01 윤종용 영상 신호 부호화 장치 및 방법
US6633611B2 (en) * 1997-04-24 2003-10-14 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for region-based moving image encoding and decoding
US6452970B1 (en) * 1997-10-28 2002-09-17 Siemens Aktiengesellschaft Method and device for processing a digitized image
US6529634B1 (en) 1999-11-08 2003-03-04 Qualcomm, Inc. Contrast sensitive variance based adaptive block size DCT image compression
JP3887178B2 (ja) * 2001-04-09 2007-02-28 株式会社エヌ・ティ・ティ・ドコモ 信号符号化方法及び装置並びに復号方法及び装置
US7483581B2 (en) * 2001-07-02 2009-01-27 Qualcomm Incorporated Apparatus and method for encoding digital image data in a lossless manner
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
JP4447197B2 (ja) * 2002-01-07 2010-04-07 三菱電機株式会社 動画像符号化装置および動画像復号装置
US7379496B2 (en) 2002-09-04 2008-05-27 Microsoft Corporation Multi-resolution video coding and decoding
US6795584B2 (en) * 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
JP4841101B2 (ja) 2002-12-02 2011-12-21 ソニー株式会社 動き予測補償方法及び動き予測補償装置
US7995849B2 (en) * 2003-03-17 2011-08-09 Qualcomm, Incorporated Method and apparatus for improving video quality of low bit-rate video
HUP0301368A3 (en) * 2003-05-20 2005-09-28 Amt Advanced Multimedia Techno Method and equipment for compressing motion picture data
GB2415335B (en) * 2004-06-15 2007-09-26 Toshiba Res Europ Ltd Wireless terminal dynamically programmable proxies
US7792188B2 (en) * 2004-06-27 2010-09-07 Apple Inc. Selecting encoding types and predictive modes for encoding video data
CN1750656B (zh) * 2004-06-27 2012-04-18 苹果公司 编码和解码图像
JP2006157481A (ja) * 2004-11-30 2006-06-15 Canon Inc 画像符号化装置及びその方法
JP4828543B2 (ja) * 2005-09-26 2011-11-30 三菱電機株式会社 動画像符号化装置及び動画像復号装置
JP2007243427A (ja) * 2006-03-07 2007-09-20 Nippon Hoso Kyokai <Nhk> 符号化装置及び復号化装置
US20070233477A1 (en) * 2006-03-30 2007-10-04 Infima Ltd. Lossless Data Compression Using Adaptive Context Modeling
JP2009194474A (ja) * 2008-02-12 2009-08-27 Toshiba Corp 動画像符号化装置
KR20220041931A (ko) 2009-01-27 2022-04-01 인터디지털 매디슨 페턴트 홀딩스 에스에이에스 비디오 인코딩 및 디코딩에서 변환 선택을 위한 방법 및 장치
US8451896B2 (en) * 2009-10-19 2013-05-28 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus for adaptive quantization in digital video coding
CN102495878B (zh) * 2011-12-05 2013-04-10 深圳市中钞科信金融科技有限公司 一种机器视觉检测结果的存储文件及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060204115A1 (en) * 2003-03-03 2006-09-14 Dzevdet Burazerovic Video encoding
CN101485209A (zh) * 2006-07-10 2009-07-15 汤姆逊许可证公司 在多步视频编码器中增强性能的方法和装置
US20120027083A1 (en) * 2009-04-03 2012-02-02 Matthias Narroschke Video coding method, video decoding method, video coding apparatus, and video decoding apparatus

Also Published As

Publication number Publication date
BR102013020622B1 (pt) 2022-12-06
RU2553103C2 (ru) 2015-06-10
GB2503295A (en) 2013-12-25
BR102013020622A2 (pt) 2018-02-27
CN103596008A (zh) 2014-02-19
EP3082337A1 (en) 2016-10-19
TW201412130A (zh) 2014-03-16
IN2013MU02340A (zh) 2015-07-10
KR101687863B1 (ko) 2016-12-28
CN103596008B (zh) 2018-04-13
US20140044190A1 (en) 2014-02-13
JP2016220216A (ja) 2016-12-22
GB201214414D0 (en) 2012-09-26
EP2698997A1 (en) 2014-02-19
KR20150129096A (ko) 2015-11-19
RU2013137368A (ru) 2015-02-20
US8675731B2 (en) 2014-03-18
JP6245888B2 (ja) 2017-12-13
GB2503295B (en) 2014-08-06
JP2014039256A (ja) 2014-02-27

Similar Documents

Publication Publication Date Title
TWI505694B (zh) 編碼器及編碼方法
US9258389B2 (en) Encoder and method
TWI590662B (zh) 解碼器及解碼方法
US10750179B2 (en) Decomposition of residual data during signal encoding, decoding and reconstruction in a tiered hierarchy
KR102287947B1 (ko) 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
US10333547B2 (en) Encoder and method for encoding input data using a plurality of different transformations or combinations of transformations
US10412414B2 (en) Decoder and method for decoding encoded input data containing a plurality of blocks or packets
US10244260B2 (en) Encoder and decoder, and method of operation
CN112567739B (zh) 用于视觉媒体编码和解码的平面预测模式
US8582906B2 (en) Image data compression and decompression
WO2021056575A1 (zh) 一种低延迟信源信道联合编码方法及相关设备
JP2023162141A (ja) 点群符号化装置、点群復号装置、点群符号化方法、点群復号方法及びプログラム
EP2698996A2 (en) Decoder and method