新四季網

基於上下文的自適應二進位算術編碼的方法和系統的製作方法

2023-05-28 06:50:46

專利名稱:基於上下文的自適應二進位算術編碼的方法和系統的製作方法
技術領域:
本發明一般地涉及靜止圖像和視頻序列壓縮,尤其涉及一種基於上下文的自適應二進位算術編碼方法和系統。
背景技術:
未壓縮形式的數字圖像包含了一個圖像像素或圖元的陣列。例如,在一種以四分之一通用中間格式(QCIF)著稱的常用數字圖像格式中,圖像或幀包含了排列在一個176×144像素的陣列中的25,344個像素。每個像素依次由一定數量的比特表示,它們傳送的是關於像素明亮度(亮度)和/或顏色(色度)的信息。此外還存在表示數字圖像中的亮度和/或色度的不同方案。通常使用的則是所謂的YUV顏色模型。其中亮度或Y分量表示像素亮度,並且像素顏色由U和V標記的兩個色度或色差分量來表示。此外還通常用到那些以表示光的三原色的分量為基礎的其他顏色模型,例如RGB(紅,綠,藍)顏色模型。然而,與基於原色的顏色模型相比,基於亮度/色度表示的顏色模型則更具優勢。這些優勢源自於人類視覺系統更易於感受到光亮變化而不是顏色變化的特性。而YUV顏色模型通常為色度分量(U,V)使用了一個低於亮度分量(Y)的空間解析度,由此利用了這種特性。這樣就可以在不顯著降低所察覺圖像質量的情況下減少表示圖像色彩信息所需要的信息量。
色度分量的較低空間解析度通常是藉助於二次抽樣來實現的。通常,一個16×16圖像像素的塊由四個包含了亮度信息的8×8像素的塊表示,相應色度分量分別由一個8×8像素的塊來表示,其中所述塊表示一個與亮度分量中的16×16像素的塊等價的圖像區域。因此色度分量在x和y方向上由一個大小為2的因數來進行空間二次抽樣。最終得到的四個8×8像素的亮度塊以及2個在空間上與之對應的8×8像素的色度塊的組合通常稱為一個YUV宏塊,或者簡稱為宏塊。而QCIF圖像包括11×9個宏塊。如果用8位(也就是0到255這個範圍中的數字)解析度來表示亮度塊和色度塊,那麼,用於表示與每個宏塊相關聯的亮度和色度信息所需要的總比特數為6×(8×8×8)=3072比特。因此,用於表示QCIF格式圖像所需要的比特數為99×3072=304,128比特。
應該了解的是,即使是在如上所述使用一個大小為2的因數來對數字圖像的兩個色度分量進行二次抽樣的情況下,中等大小(例如174×144像素)的未壓縮圖像也會需要大量比特來供顯示所用。這意味著以未壓縮格式保存數字圖像所需要的存儲器數量將會過度。此外,舉例來說,如果經由一個具有中等或較低可用帶寬的數據通信網絡來傳送靜止圖像,那麼傳輸時間將會很長或者網絡有可能會發生阻塞。如果希望實時發送作為數字視頻序列的一系列圖像,那麼帶寬需求甚至會更為嚴格。例如,以每秒30幀的速率傳送一個使用了YUV顏色模型表示並包括一系列未壓縮QCIF格式圖像的數字序列需要用到9Mb/s(百萬比特/秒)以上的帶寬。由於需要很大的存儲器容量、傳輸信道容量和硬體性能,因此,在被用於視頻記錄、傳輸和顯示時,這種高數據速率通常是不切實際的。如果要在ISDN(綜合業務數字網)或PSTN(公共交換電話網)這類固定線路上實時傳送視頻序列,那麼可用數據傳輸帶寬通常約為64k/s。在移動可視電話中,至少有一部分傳輸是在無線電通信鏈路上進行的,那麼可用帶寬有可能會低到20kb/s。這意味著必須顯著減少用於表示視頻數據的信息量,以便能在低帶寬的通信網絡上傳輸數字圖像或視頻序列。然而合乎需要的是,這種減少應該在不顯著降低圖像/視頻序列質量的情況下實現。
在過去數年中已經針對減少表示數字圖像和視頻序列所需數據量而進行了大量的研究工作,由此開發了多種不同方案和國際標準來對數字靜止圖像和數字視頻進行壓縮。在現有的幾乎所有靜止圖像和視頻編碼器中,所使用的基本的圖像壓縮方法都包含了基於塊的變換編碼。通常,變換編碼是將來自一個包含像素值的圖示的圖像數據轉換成一種包含一組係數值的形式,其中每一個係數值都是所論述變換的基函數的一個加權因數(乘數)。此外還可以顯示,在典型的數字圖像內部存在相當大程度的空間冗餘。事實上,這意味著圖像內部任何像素值通常與其緊鄰的其他像素值實際是相同的,也就是說,在像素值間存在很大程度上的相關。此外進一步已知的是,在對圖像執行某些數學變換,例如二維離散餘弦變換(DCT)的時候,這種空間冗餘度將會顯著降低,由此產生一個更為簡潔的圖像數據顯示。
在JPEG靜止圖像編碼中使用的基於塊的變換編碼例如,在根據廣泛使用的JPEG標準的基準模式所執行的靜止圖像壓縮中,所要編碼的圖像首先分成互不重疊的方形塊陣列,其中舉例來說,每一個塊都包括一個8×8的圖像像素陣列。然後,就JPEG基準而言則是將二維離散餘弦變換(DCT)獨立應用於每一個圖像塊。這樣做具有把來自像素值域的圖像數據轉換到空間頻域並產生一組相應係數值的效果,其中每個係數值都是一個關於二維DCT基函數的加權因數。由此產生的係數值經過量化,然後使用熵編碼而以一種無損方式對其進行編碼,從而進一步減少供其顯示所需要的數據量(也就是比特數)。根據JPEG基準,熵編碼器只使用了霍夫曼編碼來產生一個壓縮比特流,但在其他模式中也可以使用算術編碼。最終,用於描述圖像和編碼參數(例如壓縮類型、量化和編碼表、圖像大小等等)的數據被嵌入熵編碼器產生的比特流中。而由於JPEG標準包括四種備選編碼模式並且只對可用的量化和編碼表安插了少量約束條件,因而有必要執行上述操作,以便能在不同平臺之間互換JPEG壓縮比特流並且在毫無歧義的情況下重建圖像。
類似膠片上所記錄的常規電影這樣的數字視頻序列包括一系列靜止圖像(通常稱之為「幀」),而運動錯覺則是通過以通常為每秒15到30幀這樣的相對較快的速率相繼顯示所述幀而產生的。與任何靜止圖像一樣,在一個數字視頻序列內部,單獨幀的像素值將會顯示出相當大的空間冗餘。因此,與單獨的靜止圖像一樣,數字視頻序列的幀也可以由基於塊的變換編碼來進行處理。
同樣,視頻序列相鄰幀的圖像往往是相似的,因此,在某個視頻幀與下一視頻幀之間,整體上的變化是非常小的。這意味著在典型數字視頻序列內部存在相當大的時間冗餘。例如,在一個場景中可以包括諸如背景景物之類的某些靜止元素,也可以包括某些運動區域,例如新聞廣播員面部。在序列的相鄰幀中,背景可能保持不變,而場景中的唯一運動則由新聞廣播員面部表情的變化產生。因此,在形成視頻序列的壓縮表示時,除了減少空間冗餘的方法之外,也可以使用那些減少序列中圖像數據時間冗餘的技術,由此實現進一步的數據壓縮。
混合視頻編碼器/解碼器現有技術的視頻編碼系統使用了一種以運動補償預測著稱的技術來減少視頻序列中的時間冗餘。就這種運動補償技術而言,在數字視頻序列中,某些(通常很多)幀的圖像內容是從序列中的一個或多個其他幀「預測」的,其中所述其他幀即為通常所說的「參考幀」。圖像內容的預測是通過使用「運動矢量」在將要編碼的幀與一個或多個參考幀之間追蹤一個圖像中的對象或區域來實現的。一般來說,在視頻序列中,一個或多個參考幀可以先於將要編碼的幀或是跟隨在所述幀之後。然而,從本文的後續論述中可以明顯看出,將運動補償預測應用於視頻序列的所有幀並由此在現有技術的視頻編碼系統中使用至少兩種類型的編碼,這樣做並不適當(或者可能)。
使用運動補償預測而被壓縮的視頻序列幀通常稱為幀間編碼或P幀。光是運動補償預測則很難提供足夠清楚的視頻幀圖像內容表示,因此通常有必要為各個幀內編碼的幀提供一個所謂的「預測誤差」(PE)幀。如本文稍後更為詳細描述的那樣,預測誤差幀表示的是幀間編碼幀的解碼版本與編碼幀圖像內容之間的差別。更具體地說,預測誤差幀包含了表示將要編碼的幀的像素值與基於所論述幀的預測(幀間編碼)版本而形成的對應重建像素值之間的差別。因此,預測誤差幀具有與靜止圖像相似的特徵,並且可以通過應用基於塊的變換編碼來減少表示該幀所需要的數據量(比特數)。
沒有使用運動補償預測壓縮的視頻序列幀被稱為幀內(幀內)編碼或I幀。通常,幀內編碼幀是藉助了將基於塊的變換編碼應用於所要編碼幀的像素值而產生的。另外在可能的情況下,幀內編碼幀的塊是從同一幀以內的先前編碼塊中預測的。這種技術即為通常所說的幀間預測,它具有進一步減少表示幀內-編碼幀所需要的數據量的效果。
為了更詳細地描述基於塊的變換編碼和運動補償預測的原理,現在將對

圖1加以參考,該圖是常規混合視頻編碼器的示意圖,其中使用了幀內與幀間編碼的組合來產生一個壓縮(編碼)視頻比特流。在圖2中描述了相應的解碼器並且稍後將在文中對其進行描述。
視頻編碼器300包括一個用於從相機或其他視頻源(未顯示)接收數字視頻信號的輸入端301。它還可以包括一個調整為執行基於塊的離散餘弦變換(DCT)的變換單元304,一個量化器306,一個反向量化器308,一個調整成執行基於塊的反離散預先變換(IDCT)的逆變換單元310,組合器312和316以及一個幀存儲器320。編碼器還包括運動估計器330,運動場編碼器(motion field encoder)340以及運動補償預測器350。開關302和314則是通過控制管理器360在視頻編碼的幀內模式與視頻編碼的幀間模式之間切換編碼器而以協同方式進行操作的。編碼器300還包括視頻復用編碼器370,它從編碼器300生成的各種類型信息中構成單獨比特流335,以便進一步傳輸到遠程接收終端,或者舉例來說,它也可以將所述比特流保存在一個大容量存儲介質中,例如計算機硬碟(沒有顯示)。
編碼器300是如下運作的。視頻源提供給輸入端301的各個未壓縮視頻幀都是以逐個宏塊的方式接收和處理的,其中最好以光柵掃描順序來對其進行處理。在開始編碼新的視頻序列時,所述序列中的第一幀是作為一個幀內編碼幀來編碼的。接下來,除非滿足下列條件之一,否則將通過對編碼器進行編程來以幀間編碼格式編碼各幀1)判定正被編碼的當前幀與預測中使用的參考幀很不一樣,並由此產生了過多預測誤差信息;2)預先定義的幀內幀的重複間隔已經終止;或者3)從一個接收終端接收到一個反饋,該反饋表示的是一個要求以幀內編碼格式來提供幀的請求。
條件1)的出現是通過監視組合器316的輸出來檢測的。組合器316在正被編碼幀的當前宏塊與其在運動補償預測部件350中產生的預測之間形成一個差值。如果關於這個差值的量度(例如像素值的絕對差值總和)超出一個預定門限,那麼組合器316將經由控制線319來向控制管理器360發出通知,並且控制管理器360將經由控制線313來操作開關302和314,以便將編碼器300切換到幀內編碼模式。條件2)的出現是藉助於控制管理器360中的定時器或幀計數器而以如下方式進行監視,如果定時器終止或者幀計數器達到預定數量的幀,則控制管理器360經由控制線313操作開關302和314,以便將編碼器切換到幀內編碼模式。如果控制管理器360經由控制線321而從一個接收終端接收到一個表示接收終端需要對幀內編碼幀進行刷新的反饋信號,則觸發條件3)。例如,如果先前發送的幀在其傳送過程中因為幹擾而受到嚴重破壞,進而不可能在接收機上對其進行解碼,則有可能出現這種情況。在這種條件下,接收解碼器發出一個要求以幀內編碼格式來對下一幀進行編碼的請求,由此重新初始化所述編碼序列。
現在對幀內編碼模式中的編碼器300的操作進行描述。在幀內編碼模式中,控制管理器360對開關302進行操作,以便從輸入線318接收視頻輸入。視頻信號則是以逐個宏塊的方式並經由輸入線318而從輸入端301接收的。在對其進行接收的時候,構成宏塊的亮度和色度值塊傳遞到DCT變換單元304,所述單元對每一個塊值執行一個二維離散餘弦變換,由此為各個塊產生一個二維DCT係數陣列。舉例來說,在前述情況中,每一個宏塊都包括4個8×8的亮度值塊以及兩個在空間上與之對應的8×8像素的色度值塊,而DCT變換部件304則為每個塊產生一個8×8的係數值陣列。
關於各個塊的DCT係數傳遞到量化器306,在所述量化器306中使用量化參數QP對其進行量化。關於量化參數QP的選擇是經由控制線315並由控制管理器360來控制的。由於經過量化的係數的數值精度低於DCT變化單元304初始生成的係數的數值精度,因此所述量化會引入一個信息損失。這樣就提供了另外一種藉以減少表示視頻序列中各個圖像所需數據量的機制。然而,與實質無損的DCT變換所不同,通過量化引入的信息損失會導致圖像質量的不可逆降級。應用於DCT係數的量化程度越高,圖像質量的損失也就越大。
如圖1的線路325所示,對每一個塊來說,其經過量化的DCT係數將從量化器306傳遞到視頻復用編碼器370。視頻復用編碼器370使用一個Z字形掃描過程來對各個塊的變換係數進行排序。這個操作是將經過量化的變換係數的二維陣列轉換到一個一維陣列中。如圖3所示的典型的Z字形掃描大致是以空間頻率遞增的順序來對係數進行排序的。此外,所述操作往往還根據係數值來對其進行排序,以使一維陣列中位置較早的係數更有可能比陣列中位置靠後的係數具有更大絕對值。這是因為在圖像塊內部,較低的空間頻率往往具有較高的幅度。因此,在經過量化的變換係數的一維陣列中,末尾的那些值通常為零。
DCT變換係數的遊程-等級(run-level)編碼通常,視頻復用編碼器370使用了名為等級(level)和遊程(run)的兩個值來表示一維陣列中經過量化的各個非零係數。等級是經過量化的係數的值,而遊程則是所論述係數之前的連續零值係數數目。關於給定係數的遊程和等級的值經過排序而使得等級的值是在相關的遊程值之前。而與零相等的等級值則用於表示所述塊中沒有非零係數。這個大小為0的等級值稱為EOB(塊結束)符號。
熵編碼通過使用熵編碼,在視頻復用器370中進一步對遊程和等級的值進行了編碼。所述熵編碼是一個無損操作,它利用的是所編碼數據集內部符號通常具有不同出現概率這一事實。這樣一來,通過指派一個可變數字,可以用具有更少比特的碼字來表示更有可能出現的符號,而不是使用固定數量的比特來表示每個符號。因此,熵編碼通常稱為可變長度編碼(VLC)。由於某些等級和遊程比其他值更有可能出現,因此可以有效使用熵編碼技術來減少表示遊程和等級的值所需要的比特數目。在這裡可以使用多種不同方法來實施熵編碼。例如,遊程和等級參數的熵編碼可以藉助於定義所編碼數據集中各個可能符號與相應可變長度碼之間映射的查找表實施。這種查找表通常是通過對訓練資料進行統計分析而被定義的,其中所述訓練資料與所編碼符號包含相同符號並具有相似統計特性。此外還有一種名為算術編碼的替換技術,它可用於將遊程和等級值轉換成可變長度碼字。例如,在對一組符號進行算術編碼時,用於對轉換係數塊進行量化的遊程與等級值是作為一個浮點型的十進位數來編碼的。
一旦使用了恰當方法來對遊程和等級值進行熵編碼,則視頻復用編碼器進一步將其與控制信息結合,此外還使用了一種適於所論述信息類型的可變長度編碼方法來進行熵編碼,從而形成編碼圖像信息335的單獨壓縮比特流。
宏塊的本地解碼版本也是在編碼器300中形成的。這個操作是通過將量化器306輸出的關於各個塊的量化變換係數經由反向量化器308以及在逆變換單元310中應用一種反向DCT變換來完成的。這樣一來,重建的像素陣列是為所述宏塊中的各個塊構造的。最終得到的圖像數據輸入到組合器312。在幀內編碼模式中對開關314進行設定,以使經由開關314到達組合器312的輸入為零。這樣一來,組合器312執行的操作等價於傳遞那些沒有發生變化的解碼圖像數據。
在接收到當前幀的宏塊並對宏塊執行了單元304、306、308、310和312中的前述編碼和解碼步驟的時候,在幀存儲器320中構造幀內編碼幀的解碼版本。在對當前幀的最後一個宏塊執行了幀內編碼和後續解碼之後,幀存儲器320將會包含一個完全解碼的幀,在以幀間編碼格式編碼後續接收的視頻幀的過程中,所述完全解碼的幀可以用作一個預測參考幀。
現在對幀間編碼模式中的編碼器300的操作進行描述。在幀間編碼模式中,控制管理器360通過操作開關302來從線路317接收其輸入,其中包含了組合器316的輸出。組合器316以宏塊方式從輸入端301中接收視頻輸入信號。在組合器316接收到構成宏塊的亮度和色度值的塊的時候,它會形成相應的預測誤差信息塊。所述預測誤差信息表示的是所論述的塊與運動補償預測單元350中產生的其預測值之間的差值。更具體地說,關於宏塊中各個塊的預測誤差信息包括所述值的二維陣列,其中每一個值表示的都是所編碼亮度或色度信息塊中一個像素值與依照下述過程而為所述塊形成的運動補償預測所獲取的解碼像素值之間的差值。因此,在每個宏塊都包括8×8像素的亮度值塊以及兩個在空間上與之對應的8×8像素的色度值塊的情況下,關於宏塊的預測誤差信息也包括四個8×8的亮度預測誤差值塊,以及兩個在空間上與之對應的8×8的色度預測誤差值塊。
關於宏塊中各個塊的預測誤差信息被傳遞到DCT變換單元304,所述單元對每個預測值塊執行一個二維離散餘弦變換,以便為每一個塊都產生一個DCT變換係數的二維陣列。因此,在關於各個宏塊的預測誤差信息包含四個8×8的亮度預測誤差值塊以及兩個在空間上與之對應的8×8的色度預測誤差值塊的情況下,DCT轉換單元304為每個預測誤差塊產生一個8×8的變換係數值陣列。關於各個預測誤差塊的變換係數則被傳遞到量化器306,其中使用一個量化參數QP並以一種與上文中結合幀內模式中的編碼器操作所描述的方式相似的方式來對其進行量化。同樣,關於量化參數QP的選擇是由控制管理器360通過控制線315來進行控制的。
經過量化的DCT係數表示的是宏塊中各個塊的預測誤差信息,如圖1中的線路325所示,這些係數從量化器306傳遞到視頻復用器370。與幀內編碼模式一樣,視頻復用編碼器370使用了前述Z字形掃描過程(參見圖3)來對各個預測誤差塊的變換係數進行排序,然後則將每一個非零量化係數表示成一個等級和一個遊程值。此外它還使用了熵編碼並以一種與上文結合幀內編碼模式所描述的方式相似的方式來對遊程和等級值進行壓縮。視頻復用編碼器370還經由線路326從運動場編碼單元340中接收運動矢量信息,並且從控制管理器360中接收控制信息。該編碼器對運動矢量信息進行熵編碼,並且形成一個單獨的編碼圖像信息比特流335,所述比特流中包含了經過熵編碼的運動矢量、預測誤差和控制信息。
經過量化的DCT係數表示的是宏塊中各個塊的預測誤差信息,這些係數也是從量化器306傳遞到反向量化器308。在這裡對其進行反向量化並且將最終得到的反向量化DCT係數應用於反向DCT變換單元310,其中在所述單元中對其進行DCT變換,以便產生局部解碼的預測誤差值塊。然後,經過局部解碼的預測誤差值塊輸入到組合器312中。在幀間編碼模式中將對開關314進行設置,以使組合器312還接收關於運動補償單元350產生的宏塊中各個塊的預測像素值。組合器312將預測誤差值的每一個局部解碼塊與相應的預測像素值塊相結合,以便產生重建圖像塊並將其存入幀存儲器320。
由於視頻信號的宏塊是從視頻源接收並且經過先前所述的單元304、306、308、310和312中的編碼和解碼步驟,因此幀內編碼幀的解碼版本是在幀存儲器320中構造的。在對視頻信號的最後一個宏塊執行了幀內編碼和後續解碼之後,幀存儲器320包含一個完全解碼的幀,所述幀可以在用幀間編碼格式解碼後續接收的視頻幀的過程中充當一個預測參考幀。
現在描述的是為當前幀的一個宏塊產生預測。任何一個以幀間編碼格式編碼的幀都需要一個用於運動補償預測的參考幀。這意味著在對視頻序列進行編碼的過程中,無論將要編碼的第一幀是序列中的第一個幀還是其他幀,都有必要採用幀間編碼格式來對其進行編碼。而這轉而意味著當控制管理器36將視頻編碼器300切換到幀間編碼模式時,通過對先前形成的編碼幀進行解碼,由此形成的完整參考幀已經可以在編碼器的幀存儲器320中使用。通常,參考幀是通過對幀內編碼幀或幀間編碼幀進行局部解碼來形成的。
在為當前幀的一個宏塊生成預測的過程中,第一個步驟是由運動估計單元330執行的。運動估計單元330經由線路328來接收那些構成所編碼的幀的亮度和色度值塊。然後,它執行一個塊匹配操作,以便識別參考幀中實質對應於當前宏塊的一個區域。為了執行所述塊匹配操作,運動現場估計單元經由線路327來訪問幀存儲器320中保存的參考幀數據。更具體地說,運動估計單元330是通過對表示受檢查宏塊與候選最佳像素匹配區域間像素值差別的不同數值(例如絕對差值之和)進行計算來執行塊匹配的,其中所述最佳像素匹配區域來源於幀存儲器320中保存的參考幀。在參考幀的預定搜索範圍以內,針對所有可能偏移上的偏移而計算了一個差值,並且運動估計單元330確定了最小的計算差值。當前幀的宏塊與產生最小差值的參考幀的候選像素值塊之間的偏移則定義了關於所討論的宏塊的運動矢量。
一旦運動估計單元330為宏塊產生了運動矢量,則其將運動矢量輸出到運動場編碼單元340。所述運動場編碼單元340使用一個包含一組基函數和運動係數的運動模型來對從運動估計單元330接收的運動矢量進行近似估計。更具體地說,運動場編碼單元340將運動矢量表示為一組運動係數值,其中在將這些值與基函數相乘的時候則形成了運動矢量的一個近似值。通常,一個平移運動模型只具有兩個運動係數並且在這裡使用了基函數。
運動係數從運動場編碼單元340傳遞到運動補償預測單元350。運動補償預測單元350還從幀存儲器320中接收運動估計單元330識別的像素值的最佳匹配候選區域。通過使用運動場編碼單元340產生的運動矢量的近似表示以及來自參考幀的像素最佳匹配候選區域的像素值,運動補償預測塊350為宏塊中的每一個塊都產生一個預測像素值的陣列。每一個預測像素值塊都傳遞到組合器316,在所述組合器中則將對應於當前宏塊的塊中的實際(輸入)像素值與預測像素值相減。這樣就得到了一組關於宏塊的預測誤差塊。
現在對圖2所示的視頻解碼器400的操作進行描述。解碼器400包括一個從編碼器300接收編碼比特流並將其解復用成其組成部分的視頻復用解碼器470,一個反向量化器410,一個反向DCT變換器420,一個運動補償預測單元440,一個幀存儲器450,一個組合器430,一個控制管理器460以及一個輸出端480。
控制管理器460對所解碼的是幀內編碼幀或幀間編碼幀做出響應,從而對解碼器400的操作進行控制。幀內/幀間觸發控制信號將導致解碼器在解碼模式中進行切換,其中舉例來說,所述信號是在從編碼器接收的各個壓縮視頻幀的報頭部分所提供的圖像類型信息中導出的。幀內/幀間觸發控制信號由視頻復用解碼器470從編碼視頻比特流中提取並且經由控制線422傳遞到控制管理器460。
幀內編碼幀的解碼是以一個接一個的宏塊為基礎來執行的,其中實際上每一個宏塊都是在一識別出接收視頻比特流335中與之相關的編碼信息的時候就被解碼的。視頻復用解碼器470首先從涉及所論述宏塊的可能控制信息中分離那些關於宏塊中的塊的編碼信息。而關於幀內編碼宏塊中各個塊的編碼信息包括可變長度碼字。這些碼字表示的是用於塊中非零量化DCT係數的熵編碼的等級和遊程值。視頻復用解碼器410使用一種可變長度解碼方法來對可變長度碼字進行解碼,由此恢復等級和遊程值,其中所述方法與編碼器300中使用的編碼方法相對應。然後,所述解碼器為宏塊中的各個塊重建量化變換係數陣列並且將其傳遞到反向量化器410。此外還在視頻解復用器中使用了一種恰當的可變長度解碼方法來對涉及宏塊的任何控制信息進行解碼,並且將其傳遞到控制管理器460。特別地,與應用於變換係數的量化等級相關的信息由視頻復用解碼器470從編碼比特流中提取並且經由控制線424提供到控制管理器460。控制管理器轉而經由控制線415將這個信息傳遞到反向量化器420。反向量化器410根據控制信息來為宏塊中的各個塊反向量化那些量化過的DCT係數,並且將現在進行了反向量化的DCT係數提供給反向DCT變換器420。
反向DCT變換器420對用於宏塊中各個塊的反向量化DCT係數執行反向DCT變換,以便形成一個包含重建像素值並經過解碼的圖像信息塊。由於在幀內編碼宏塊的編碼/解碼中並未使用運動補償預測,因此控制管理器460以一種防止在幀內編碼宏塊的解碼中使用任何參考信息的方式來控制組合器430。關於宏塊中各個塊的重建像素值則傳遞到解碼器的視頻輸出端480,其中舉例來說,可以將所述值提供給一個顯示設備(沒有顯示)。此外,關於宏塊的各個塊的重建像素值還保存在幀存儲器450中。由於對幀內編碼幀的後續宏塊進行解碼和保存,因而在幀存儲器450中逐漸匯聚出一個解碼幀,並且由此可以將所述幀充當一個參考幀,以便在與後續接收的幀間編碼幀的解碼相關聯的運動補償預測中使用。
幀間編碼幀也是以逐個宏塊的方式來解碼的,實際上,每一個幀間編碼宏塊都是在從接收比特流中識別到與之相關的編碼信息的時候就被解碼的。視頻復用解碼器470從編碼運動矢量信息和涉及所論述宏塊的可能控制信息中分離出關於幀間編碼宏塊各個塊的編碼預測誤差信息。如上所述,用於宏塊中各個塊的編碼預測誤差信息包括可變長度代碼字,它表示的是用於所述預測誤差塊的非零量化變換係數熵編碼的等級和遊程值。視頻復用解碼器470使用一種可變長度解碼方法來對可變長度碼字進行解碼,由此恢復等級和遊程值,其中所述方法與編碼器300中使用的編碼方法相對應。然後所述解碼器重建一個關於宏塊中各個塊的量化變換係數陣列並且將其傳遞到反向量化器410。此外,在視頻復用解碼器中也使用了一種恰當的可變長度編碼方法來對涉及幀間編碼宏塊的控制信息進行解碼,並且所述信息則傳遞到控制管理器460。與應用於預測誤差塊的變換係數的量化等級相關聯的信息則是從編碼比特流中提取的,並且所述信息是經由控制線424提供到控制管理器460的。控制管理器460轉而經由控制線415將這個信息傳遞到反向量化器420。反向量化器420根據控制信息來對這些表示宏塊中各個塊的量化DCT係數進行反向量化,並且將現在反向量化的DCT係數提供給反向量化器420。然後則在反向DCT變換器420中對表示各個塊的預測誤差信息的反向量化DCT係數進行反變換,以便為宏塊中的每一個塊生成一個重新建立的預測誤差值的陣列。
涉及宏塊的編碼運動矢量信息由視頻復用解碼器470從編碼視頻比特流335中提取並且是使用一種恰當的可變長度解碼方法而被解碼的。由此得到的解碼運動矢量經由數據線426傳遞到運動補償預測單元440,其中所述單元使用了一個與編碼器300中編碼所述幀間編碼宏塊所用運動模型相同的運動模型來為宏塊重建一個運動矢量。重建的運動矢量與編碼器的運動估計單元330最初確定的運動矢量相似。解碼器的運動補償預測單元440則使用重建的運動矢量而在幀存儲器450保存的預測參考幀中識別重建像素區域的位置。例如,參考幀可以是一個先前解碼的幀內編碼幀,也可以是一個先前解碼的幀間編碼幀。但不論出現哪種情況,重建運動矢量指示的像素區域都被用於形成一個所論述宏塊的預測。更具體地說,運動補償預測單元440通過從參考幀中識別的像素區域拷貝相應的像素值來形成一個關於宏塊中各個塊的像素值陣列。而所述預測則是從參考幀中導出的像素值塊,它從運動補償預測單元440傳遞到組合器430,在那裡它與經過解碼的預測誤差信息相結合。在實踐中,每個預測塊的像素值都被添加到反向DCT變換器420輸出的相應重建預測誤差值中。由此可以得到關於宏塊中各個塊的重建像素值陣列。重建的像素值則傳遞到解碼器的視頻輸出端480並且保存在幀存儲器450中。由於解碼和保存了幀間編碼幀的宏塊,因此在幀存儲器450中逐漸匯聚成一個解碼幀,由此所述解碼幀作為一個參考幀而在其他幀間編碼幀的運動補償預測中使用。
H.26L視頻編碼標準ITU-T建議H.26L是國際電聯開發的視頻編碼標準族中的最新標準。特別地,這個標準旨在以通常小於64kb/s的低比特率來進行視頻編碼,因此所述標準特別適合對經由那些需要優先考慮如何最佳使用可用帶寬的無線通信網或任何固定線路通信網所傳送的數字視頻進行編碼。ITU-T H.26L定義的視頻編碼系統是一個混合視頻編碼系統,它是根據如上所述與圖1和2所述的通用視頻編碼器300和解碼器400相結合的一般原則來運作的。特別地,依照H.26L實現的視頻編碼系統使用的是將基於塊的變換編碼與運動補償預測相結合,從而減少視頻序列中的空間和時間冗餘。
H.26L建議的最新版本即為通常所說的Test Model 8(TML8),在「H.26L Test Model Long Term Number 8(TML-8)draft 0」(ITU-T電信標準化部分,研究組16,視頻編碼專家小組)中對其進行了描述,這個版本的建議規定了兩種備選的熵編碼模式。在第一種(預設)模式中使用了所謂的通用可變長度編碼(UVLC)方法來對所有語法元素進行編碼。UVLC編碼模式是一種查找表方法,其中在不考慮所論述信息類型的情況下用同一組可變長度碼字來表示視頻編碼器產生的所有不同類型的信息。而在所謂的「高複雜度類(profile)」中指定使用的備選熵編碼方法是一種以基於上下文的自適應二進位算術編碼(CABAC)而著稱的技術。這種方法是一種持續適應於編碼信息統計性質的二進位算術編碼形式,並且在現有技術中作為最有效的熵編碼形式中的一種而聞名(參見H.Witten、R.M.Neal與J.G.Cleary在1987年6月發表於Commun.ACM第30卷第520~540頁的「Arithmetic coding for data compression」一文)。
由於UVLC熵編碼使用了同一組可變長度碼字來表示視頻編碼器生成的所有類型的信息,因此所述碼字的統計性質通常並沒有最佳匹配於將要編碼的信息特徵。例如,用於表示為幀內編碼圖像塊的量化DCT係數的特定遊程和等級值的出現頻率很可能與涉及量化參數值的控制信息中的值的出現情況不同。在H.26L中引入了CABAC熵編碼方法,以便克服UVLC熵編碼方法所固有的次優特性。如本文中先前所述,算術編碼表示的是一個將要用單獨的可變長度碼(浮點數)來進行編碼的符號群。與獨立編碼各個符號的熵編碼方法相比,這種方法提供了特有的優點。具體地說,獨立編碼各個符號的熵編碼方法至少需要使用一個比特來表示各個符號。由於算術編碼表示的是具有單個碼字的符號群,因而有可能實現小於1比特/秒的數據壓縮速率。因此,H.26L中提供的CABAC方法還有可能提高數據壓縮。此外,由於所述方法是一種自適應方法,因此它能夠考慮到所編碼信息的統計特徵變化,由此確保即使所編碼數據性質發生某種程度的變化,也能夠保持數據壓縮性能。
基於上下文的算術編碼如上所述,CABAC算術編碼是一種熵編碼方法,它能適應於所編碼信息的變化統計。這樣一來,與假設固定統計特性的熵編碼技術相比,所述方法能夠提供改善的壓縮效率。圖4描述的是一種示範性的基於上下文的二進位算術編碼器700。CABAC是一種二進位算術編碼方法,因此,所要編碼的具有非二進位序列的數據符號首先在二進位映射單元710中轉換成二進位值(「二進位化」)。所述二進位化處理包括將所要編碼的符號映射到一個二進位序列(bin),其中每一個二進位序列都具有一個相應的二進位序列編號並且可以賦予一個值0或1。以下在表1中給出了這種映射的一個實例。但是原則上也可以設想使用其它二進位化方案。
在CABAC方法中,每一個二進位序列都指派給一個所謂的「上下文」(基於上下文的算術編碼由此得名)。一個上下文可以視為是集中在一起並具有相似統計特徵的二進位序列。換句話說,在這裡假設對指派給上下文的每一個二進位序列來說,其包含數值1或0的概率與屬於所述上下文的其他二進位序列相似。這樣一來,用於在算術編碼器中產生碼字的概率估計是為每一個上下文而不是將要編碼的每個
表1可能的二進位序列定義的。每個上下文都是依照一個「上下文模型」定義的,並且所述上下文是基於將要編碼的數據符號(由此為二進位序列)的統計特徵信息而被預先建立的。通常,如果將0的出現概率與1的出現概率之間的差值增至最大,則會提高二進位算術編碼器所能實現的數據壓縮比率。同樣,基於上下文的算術編碼性能還取決於上下文模型的選擇。通常,這意味著應該選擇那些能使指派給每個上下文的二進位序列的0和1的出現概率間的差值達到最大的上下文模型。
在圖4所述的示範性的基於上下文的算術編碼器中,一旦在二進位映射單元719二進位化所要編碼的符號,則在上下文指派單元720中將其指派給一個相應的上下文。然後則將指派給相應二進位序列(也就是1或0)的值傳遞到算術編碼器730。隨後,算術編碼器730的編碼引擎750使用一個指派了二進位序列的上下文的概率估計來對二進位序列的數值進行編碼。在這裡,作為算術編碼器實現的數據壓縮比的性能依賴於概率估計的精度。從原則上講,所述估計可以是固定或自適應的。如果使用固定概率估計,則關於上下文的概率估計將被指派給預定值並且在編碼處理中保持不變。固定概率估計通常是通過對與所要編碼的實際資料具有相似統計特徵的訓練資料進行分析而被預先得到的。如果使用了自適應概率估計,則使用固定值來為各個上下文初始化概率估計,並且根據那些至此為止經過編碼的數據(二進位序列)的實際統計特徵而在整個編碼處理中更新所述概率。執行自適應編碼估計通常會更好,因為它們可以適應所要編碼的資料。
圖4所示的示範性的基於上下文的算術編碼器使用了自適應概率估計並且包括一個對經過更新的概率估計進行計算的概率估計單元740。每一個上下文的概率估計則是通過記錄指派給各個上下文的各個二進位序列中1和0的出現次數來更新的。例如,對指派給任意上下文k的二進位序列來說,如果為其指派了m次值0並且為其指派了n次值1,那麼,對上下文k中的1來說,其概率估計是n/(n(m+1)),對於0來說,其概率估計則是(m+1)/(n(m+1))。
圖5描述的是與結合圖4所描述的編碼器相對應的基於上下文的算術編碼器。在輸入端810,基於上下文的算術解碼器接收一個表示經過算術編碼的數據符號的比特流。一開始,根據先前接收的解碼符號,在上下文指派單元850中計算一個上下文並且更新二進位序列值的概率估計。在這裡,上下文指派單元850執行的上下文指派與概率估計單元830執行的關於概率估計的計算都是使用與編碼器相同的方法來完成的。然後,接收到的比特饋送到算術編碼器820的算術編碼引擎840中,在那裡使用計算得到的上下文以及二進位序列值的當前概率估計來將其轉換成解碼的二進位序列值。在二進位序列-數值映射單元860中,經過解碼的二進位序列映射到遊程和等級的值。
在H.26L中使用的CABAC方法現在將對ITU-T建議H.26L中選定用於高複雜度類的CABAC算術編碼方法的細節進行詳細描述。根據H.26L TML 8,遊程和等級值的上下文依賴於所編碼的塊類型以及二進位化的等級或遊程值的二進位序列數目。不同的塊類型是依照對係數值進行排序的掃描方式(單/雙)、成分類型(亮度/色度,AC/DC)或是編碼模式(幀間/幀內)來定義的。然而,對指定類型來說,上下文只依賴於二進位序列數目。更具體地說,依照H.26L TML 8,在這裡為等級編碼定義了四個上下文。第一個上下文用於第一個二進位序列,第二個上下文用於第二個二進位序列,第三個上下文用於那些表示等級幅度的剩餘二進位序列。剩餘上下文則用於等級的符號。此外還使用了相似的方法來將遊程值指派給上下文。對遊程來說,存在三個上下文,第一個上下文用於第一個二進位序列,第二個上下文用於第二個二進位序列,第三個上下文則用於所有剩餘的二進位序列。由於遊程值始終等於或大於零,因此對附加上下文而言,沒有必要為其表示符號信息。這樣一來,對一個給定類型的塊來說,針對變換係數的二進位序列(等級和遊程編碼)所進行的將二進位序列指派給上下文的處理可以如下概括If(bin_nr>MAX_BIN_VAL)bin_nr=MAX_BIN_VAL; (1)endcontext=bin_nr其中bin_nr是二進位序列數目,context是上下文編號。根據H.26L TML 8,MAX_BIN_VAL的值設定為3,但是原則上也可以使用不同的MAX_BIN_VAL來作為替換。
遊程-等級對是如下編碼的首先根據塊/係數類型來對遊程和等級進行分類,其中所述類型包括掃描模式、係數類型(DC/AC)以及編碼模式(幀間/幀內或16×16幀內)。然後通過將等級和遊程映射到一個二進位序列來對其進行二進位化,並且根據每一個二進位序列的編號來將其指派給一個上下文。
圖6a~6d通過參考示範性的4×4量化DCT係數陣列而對這個處理進行了詳細描述。此外它還描述了用於追蹤量化DCT係數的遊程和等級值的統計特性的方法,從而論證了CABAC方法的自適應特徵。在這裡,首先對經過量化的DCT係數值的二維陣列進行Z字形掃描,以便產生一個圖6a所示的值的一維陣列。然後將一維陣列中的非零係數值作為遊程和等級值對來加以表示。如先前所述,每一個等級值都表示一個非零的量化DCT係數值,而相關的遊程則對應於所論述係數之前的零值係數的數目。在圖6b中給出了來源於示範性的量化DCT係數陣列的遊程-等級對。在各個對中,等級值處於遊程值之前並且將等於零的等級值用作一個塊結束符號,以便指示所述塊中沒有非零係數值。
接著,每一個遊程和等級值都轉換成一個二進位值。根據H.26LTML 8,用於轉換量化DCT變換係數值的遊程和等級的二進位化方案與上文中圖1所示方案相同。圖6c顯示的是將表1給出的二進位化方案應用於示範性陣列中的遊程和等級值的結果。此外,圖6c還顯示了依照H.26L而將二進位序列指派給上下文。如上所述,其中僅僅使用了三個上下文來描述遊程和等級值的大小。第一個上下文對應於二進位序列1,第二個上下文對應於二進位序列2,而第三個上下文則包括了所有剩餘的二進位序列。在圖6c中,上下文是通過粗體橫線來描繪的。通過檢查圖6c可以看出,大多數等級值都映射到指派給上下文3的二進位序列,而大多數遊程值則映射到指派給上下文1的二進位序列。
每一個經過指派的上下文的概率估計是在編碼了二進位序列之後才更新的。而遊程和等級的概率估計則是獨立更新的。如先前所述,給定上下文的概率估計表示的是指派給所論述的上下文的二進位序列的統計特徵。更具體地說,所述概率估計描述的是指派給上下文的二進位序列中包含0或1的概率。圖6d以一種示範方式描述了為遊程和等級更新概率估計的方法。該圖中描述的是在二進位化那些代表圖6a所示的4×4量化DCT係數塊的遊程和等級,並且將其指派給上下文,進而在算術編碼器中編碼的前後,在指派到指定遊程或等級的上下文的二進位序列中包含0或1的概率。圖6d採用了表格形式,其中記錄了在指派給各個上下文的二進位序列中的1和0的出現情況。因此,一個指定上下文的概率估計是如下給出的
0的概率=0的數目/(0的數目+1的數目)1的概率=1的數目/(0的數目+1的數目)在這個圖中,假設圖6a所示的量化DCT係數的4×4塊是最早處理的塊。這意味著在表中沒有記錄1和0的先前出現情況。為了克服這個問題,在這裡假設在處理所述塊之前,每一個上下文都具有相等的包含1或0的概率。而這種假設是通過在記錄0和1的出現情況的列中輸入相同的值來表示的。在圖6d中,1被用於初始化概率估計。作為選擇,也可以使用一個來源於訓練數據分析的概率估計來為各個上下文初始化概率估計。然後則在二進位化關於量化DCT變換係數的遊程和等級值並將其指派給上下文的時候對各個上下文的二進位序列中出現的1和0的數目進行計數,由此更新概率估計。圖6d的右手列顯示了在處理過圖6a所示的4×4量化DCT塊之後的情況。
儘管與UVLC熵編碼方法相比,在ITU-T建議H.26L TML 8的高複雜度類中採用的CABAC算術編碼方法在數據壓縮方面提供了改進,但是就編碼效率來說,所述方法仍不是最佳的。因此,本發明的一個目的是提供一種能夠進一步提高編碼效率的基於上下文的算術編碼方法和系統。
發明概述本發明基於這樣一種認識,那就是在使用基於上下文的算術編碼來對指定數據符號進行編碼的時候,通過使用那些對指派了其他數據符號的上下文加以考慮的上下文模型,可以在編碼效率方面得到提高。特別地,通過參考H.26L TML 8的高複雜度類中使用的CABAC方法,本發明的發明人已經確定,在遊程與關聯於DCT變換係數的等級之間存在某些聯繫。此外發明人還確定了可以使用這些關係來構造改進的上下文模型,其中所述模型能在將CABAC方法應用於遊程和等級值的時候使之以經過提高的編碼效率來運作。特別地,發明人已經確定,連續等級值將會顯示出極大相似性。更具體地說,在指定的變換係數塊內部,所編碼係數的等級實質上通常具有類似於先前編碼係數等級的幅度。此外發明人還確定了等級與遊程值之間的一個反比關係。特別地,越大的等級值越有可能在較小的遊程值之前。反過來一樣是成立的,也就是說,較小的等級值很可能是在較大的遊程之後。因此,本發明提出為DCT變化係數的編碼創建新的上下文模型,其中所述模型顧及了等級與遊程值之間的這些關係。
在為了執行基於上下文的編碼器而設計的第一個上下文模型中,對指派給一個二進位化的係數等級值的二進位序列來說,其上下文依賴於先前編碼的係數等級。在為了執行基於上下文的解碼器而設計的第二個上下文模型中,對指派給二進位化的係數等級值的二進位序列來說,其上下文依賴於先前解碼的係數等級。在為了實施基於上下文的解碼器或是基於上下文的算術解碼器而設計的第三個上下文模型中,對指派給二進位化的係數遊程值的二進位序列來說,其上下文依賴於先前解碼的係數等級值。
發明人還進一步確定,在與不同圖像塊相關聯的變換係數值之間存在某種相似性。這些相似性在相互靠近的圖像塊間會變得更大,並且在相互緊鄰的圖像塊之間往往最強。更具體地說,用於表示特定圖像塊的非零變換係數值的數量Nc往往與接近或鄰接所論述圖像塊中的非零變換係數值的數目是相同的。因此,本發明還引入了這樣一個概念,那就是為變換編碼的圖像塊提供一個非零變換係數數目的指示並且使用熵編碼來對這個值進行編碼。此外,如果將基於上下文的算術編碼用於對Nc值進行編碼,那麼發明人已經確定,較為有利的是通過對指派給用於至少一個其他變換編碼圖像塊的上下文加以考慮而將塊的Nc值指派給一個上下文。這樣一來,在相互靠近的圖像塊之間,Nc值間的相似性可以利用這個基於上下文的算術編碼過程。根據ITU-T建議H.26L TML 8,並沒有對圖像塊中非零變換係數的數目進行編碼。作為替換並且如先前所示,在這裡提供了一個塊結束(EOB)指示。EOB指示表示已經對相應於非零係數的最後一個遊程-等級對進行了編碼。發明人確定,與當前在H.26L TML8中所用的提供EOB指示的方法相比,這裡提出的方法將會導致編碼效率上的提高,其中在本發明中提供了一個塊中非零係數數目的明確指示,並且使用了基於上下文的算術編碼來對其進行編碼。
儘管本發明背後的動機及其基本概念是在視頻編碼/解碼中給出的,尤其是就H.26L TML 8給出的,但是應該理解,本發明也可以適用於其他視頻編碼系統和靜止圖像編碼。從原則上講,本發明可以應用於任何一個使用了基於塊的變換編碼與基於上下文的算術編碼的圖像編碼系統。
根據本發明的第一個方面,提供了一種圖像編碼方法,其中將圖像分成具有多個像素的多個塊,每一個像素具有一個像素值,並且對所述像素值塊執行一個變換編碼操作,以便產生相應的變換係數值塊。在一個給定掃描順序中掃描所述變換係數值塊,以便產生一個經過掃描的係數值陣列,並且使用多個數字對來表示經過掃描的陣列中的係數值,所述數字對具有一個第一數字和一個第二數字。將第一數字和第二數字指派給表示所述數字對的多個上下文中的一個。根據本發明的第一個方面,一個數字對的第一值是基於另一個數字對中的第一數字而被指派給一個上下文的。
優選地,基於一個數字對中的第一數字而將另一個數字對中的第一數字指派給一個上下文的步驟顧及指派了其他數字對中的第一數字的上下文。
較為有利的是,數字對中的第一數字表示的是一個非零係數值。優選地,數字對的第一數字與非零係數值的大小是相等的。
優選地,數字對中的第二數字表示的是在非零係數值之前的多個連續零係數值。
優選地,所述上下文是一個基於上下文的算術編碼器的上下文。
更為優選的是,所述上下文是基於上下文的二進位運算編碼器的上下文。
較為有利的是,第一和第二數字映射到一組二進位序列,其中每一個二進位序列都具有一個相關聯的二進位序列編號,並且每一個二進位序列都能採用第一值或第二值中的一個。
優選地,每個第一和第二數字都映射到所述一組二進位序列中的一個,而將數字映射到所述一組二進位序列中給定的一個則是通過將二進位序列的值指派給第一值來指示的。
優選地,第一值是1並且第二值是0。
優選地,每一組二進位序列都被指派給一個上下文。
非常有利的是,在對指派了其他數字對中第一數字的上下文加以考慮的情況下,基於另一個數字對中的第一數字而將一個數字對中的第一數字指派給一個上下文的步驟是通過檢查所述其他數字對的第一數字所映射的二進位序列的二進位序列編號來執行的。
較為有利的是,所述方法還包括保持一個用於描述各個上下文的統計特性的概率估計。
優選地,對各個上下文來說,所述概率估計表示的是具有指派給上下文的預定值的數字的統計似然性。
優選地,對各個上下文來說,所述概率估計是通過記錄指派給所論述上下文的二進位序列中的第一值和第二值的出現情況來保持的。
根據本發明的第二個方面,提供了一種圖像編碼方法,其中將圖像分成具有多個像素的多個塊,每一個像素都具有一個像素值,並且對所述像素值塊執行一個變換編碼操作,以便產生相應的變換係數值塊。在一種給定掃描順序中掃描變換係數值塊,以便產生一個經過掃描的係數值陣列,並且使用多個數字對來表示經過掃描的陣列中的係數值,其中所述數字對具有一個第一數字和一個第二數字。將第一數字和第二數字指派給表示所述數字對的多個上下文中的一個。根據本發明的第二個方面,數字對的第二數字是基於數字對中的第一數字而被指派給一個上下文的。
優選地,基於一個數字對中的第一數字而將另一個數字對中的第一數字指派給一個上下文的步驟對指派了其他數字對中第一數字的上下文加以考慮。
較為有利的是,數字對中的第一數字表示的是一個非零係數值。優選地,數字對的第一數字與非零係數值的大小是相等的。
優選地,數字對中的第二數字表示的是在非零係數值之前的多個連續零係數值。
優選地,所述上下文是一個基於上下文的算術編碼器的上下文。
更為優選的是,所述上下文是基於上下文的二進位運算編碼器的上下文。
較為有利的是,第一和第二數字映射到一組二進位序列,其中每一個二進位序列都具有一個相關聯的二進位序列編號,並且每一個二進位序列都能採用第一值或第二值中的一個。
優選地,每個第一和第二數字都映射到所述一組二進位序列中的一個,而將數字映射到所述一組二進位序列中給定的一個則是通過將二進位序列的值指派給第一值來指示的。
優選地,第一值是1並且第二值是0。
優選地,每一組二進位序列都被指派給一個上下文。
非常有利的是,在對指派了其中一個數字對的第二數字的上下文加以考慮的情況下,基於數字對中第一數字而將數字對中第二數字指派給一個上下文的步驟是通過檢查第二數字所映射的二進位序列的二進位序列編號來執行的。
較為有利的是,所述方法還包括保持一個用於描述各個上下文的統計特性的概率估計。
優選地,對各個上下文來說,所述概率估計表示的是具有指派給上下文的預定值的數字的統計似然性。
優選地,對各個上下文來說,所述概率估計是通過記錄指派給所論述上下文的二進位序列中的第一值和第二值的出現情況來保持的。
優選地,根據本發明第一和第二方面的方法全都適用於變換係數值塊。
根據本發明的第三個方面,提供了一種編碼器,包括用於將圖像分為具有多個像素的多個塊的裝置,其中每一個像素都具有一個像素值,此外還包括用於對像素值塊執行一個變換編碼操作,以便產生一個相應的變換係數值塊的裝置。所述編碼器還包括用於以一個給定掃描順序來掃描變換係數值塊,以便產生經過掃描的係數值陣列的裝置,用於表示多個數字對所代表的經過掃描的陣列中的係數值的裝置,所述數字對具有一個第一數字和一個第二數字,以及用於將第一數字和第二數字指派給表示數字對的多個上下文之一的裝置。根據本發明的第三個方面,所述編碼器包括用於根據另一個數字對的第一數字而將數字對的第一數字指派給一個上下文的裝置。
根據本發明的第四個方面,提供了一種編碼器,包括用於將圖像分成具有多個像素的多個塊的裝置,其中每一個像素都具有一個像素值,此外還包括對像素值塊執行一個變換編碼操作,以便產生相應的變換係數值塊的裝置。所述編碼器還包括用於以一個給定掃描順序掃描變換係數值塊,以便產生經過掃描的係數值陣列的裝置,用於表示多個數字對所代表的經過掃描的陣列中的係數值的裝置,其中所述數字對具有一個第一數字和一個第二數字,以及用於將第一數字和第二數字指派給表示數字對的多個上下文之一的裝置。根據本發明的第四個方面,所述編碼器包括用於根據數字對中的第一數字而將數字對的第二數字指派給一個上下文的裝置。
根據本發明的第五個方面,提供了一種圖像編碼方法,其中將圖像分成具有多個像素的多個塊,每一個像素都具有一個像素值,並且對像素值塊執行一個變換編碼操作,以便產生相應的變換係數值塊。根據本發明的第五個方面,所述方法包括如下步驟提供一個表示變換係數值塊中非零係數值數目的數字,以及將這個數字指派給一個表示所述數字的上下文。
非常有利的是,將表示變換係數值塊中非零變換係數值數目的數字指派給一個上下文的步驟對指派了另一個數字的上下文加以考慮,其中所述另一個數字表示的是另一個變換係數塊中的非零係數值數目。
非常有利的是,變換值塊是在給定掃描順序中掃描的,由此產生了一個經過掃描的係數值陣列,並且在所述經過掃描的陣列中,係數值是由多個數字對來表示的,其中所述數字對具有一個第一數字和一個第二數字。
較為有利的是,數字對中的第一數字表示的是一個非零係數值。
優選地,數字對的第一數字與非零係數值的大小是相等的。
更為優選的是,數字對的第一數字與非零係數值減1的大小是相等的。
優選地,數字對中的第二數字表示的是在非零係數值之前的多個連續零係數值。
優選地,在這裡沒有提供一個指示處於經過掃描的係數值陣列中的最後一個非零係數值的塊結束指示。
優選地,根據本發明第一、第二和第五方面的方法每一個都適用於變換係數值塊。
根據本發明的第六個方面,提供了一種編碼器,其中包括用於將圖像分成具有多個像素的多個塊的裝置,其中每一個像素都具有一個像素值,此外還包括用於對像素值塊執行一個變換編碼操作,以便產生相應的變換係數值塊的裝置。所述編碼器包括提供一個用於指示變換係數值塊中非零係數值數目的數字的裝置,以及用於將所述數字指派給一個表示所述數字的上下文的裝置。
非常有利的是,所述編碼器還包括用於在對指派了另一個數字的上下文加以考慮的情況下指派所述指示變換係數值塊中非零變換係數值數目的數字的裝置,其中所述另一個數字指示的是另一個變換係數塊中非零變換係數的數目。
根據本發明的第七個方面,提供了一種電腦程式,其中包括用於將圖像分成具有多個像素值的多個塊的代碼,其中每一個像素值都具有一個像素值,此外還包括用於對像素值塊執行一個變換編碼操作,以便產生相應的變換係數值塊的代碼。所述電腦程式還包括用於以給定掃描順序掃描變換係數值塊,以便產生經過掃描的係數值陣列的代碼,用於使用多個數字來表示經過掃描的陣列中的係數值的代碼,其中所述數字對具有一個第一數字和一個第二數字,以及用於將第一數字和第二數字指派給表示數字對的多個上下文之一的代碼。根據本發明的第七個方面,所述電腦程式還包括用於根據另一個數字對中的第一數字而將其中一個數字對的第一數字指派給一個上下文的代碼。
較為有利的是,數字對中的第一數字表示的是一個非零係數值。
優選地,數字對的第一數字與非零係數值的大小是相等的。
優選地,數字對中的第二數字表示的是在非零係數值之前的多個連續零係數值。
根據本發明的第八個方面,提供了一種電腦程式,其中包括用於將圖像分成具有多個像素值的多個塊的代碼,其中每一個像素值都具有一個像素值,此外還包括用於對像素值塊執行一個變換編碼操作,以便產生相應的變換係數值塊的代碼。所述電腦程式還包括用於以給定掃描順序來掃描變換係數值塊,以便產生經過掃描的係數值陣列的代碼,用於使用多個數字來表示經過掃描的陣列中的係數值的代碼,其中所述數字對具有一個第一數字和一個第二數字,以及用於將第一數字和第二數字指派給表示所述數字對的多個上下文之一的代碼。根據本發明的第八個方面,所述電腦程式還包括用於根據數字對中第一數字來把所述數字對的第二數字指派給一個上下文的代碼。
較為有利的是,數字對中的第一數字表示一個非零係數值。
優選地,數字對的第一數字與非零係數值的大小是相等的。
優選地,數字對中的第二數字表示的是非零係數值之前的多個連續零係數值。
根據本發明的第九個方面,提供了一種電腦程式,其中包括用於將圖像分成具有多個像素值的多個塊的代碼,其中每一個像素值都具有一個像素值,此外還包括用於對像素值塊執行一個變換編碼操作,以便產生相應的變換係數值塊的代碼。根據本發明的第九個方面,所述電腦程式還包括用於提供表示變換係數值塊中非零係數值數目的數字的代碼,此外還包括用於將這個數字指派給一個表示所述數字的上下文的代碼。
非常有利的是,所述電腦程式還包括用於在對指派了另一個數字的上下文加以考慮的情況下,將指示變換係數值塊中非零變換係數值數目的數字指派一個上下文的代碼,其中所述另一個數字指示的是另一個變換係數塊中的非零係數值的數目。
根據本發明的第十個方面,提供了一種依照本發明第七、第八和第九方面的電腦程式。
根據本發明的第十一個方面,提供了一種基於上下文的算術編碼方法,其中數據符號陣列是用一個碼字來表示的。所述陣列中的數據符號是包含了一個第一數字和一個第二數字的數字對。所述數字對中的第一數字指派給一個從表示第一數字的多個上下文中選出的上下文,數字對中的第二數字則指派給一個從表示第二數字的多個上下文中選出的上下文。根據本發明的第十一個方面,數字對的第一數字是基於數字對中另一個數字對的第一數字而被指派給上下文的。
根據本發明的第十二個方面,提供了一種基於上下文的算術解碼方法,其中數據符號陣列是從一個表示陣列的碼字中解碼的。所述陣列中的數據符號是包含了一個第一數字和一個第二數字的數字對。所述數字對的第一數字指派給一個從代表第一數字的多個上下文中選出的上下文,而數字對的第二數字則指派給一個從代表第二數字的多個上下文中選出的上下文。根據本發明的第十二個方面,數字對的第一數字是基於數字對中的另一個數字對的第一數字而被指派給上下文的。
根據本發明的第十三個方面,提供了一種基於上下文的算術編碼方法,其中數據符號陣列是用一個碼字來表示的。所述陣列中的數據符號是包括一個第一數字和一個第二數字的數字對。所述數字對的第一數字指派給一個從表示第一數字的多個上下文中選出的一個上下文,所述數字對的第二數字則指派給一個從表示第二數字的多個上下文中選出的上下文。根據本發明的第十三個方面,數字對的第二數字是基於數字對中的第一數字而被指派給一個上下文的。
根據本發明的第十四個方面,提供了一種基於上下文的算術解碼方法,其中數據符號陣列是從一個表示陣列的碼字中解碼的。所述陣列中的數據符號是包括一個第一數字和一個第二數字的數字對。所述數字對的第一數字指派給一個從表示第一數字的多個上下文中選出的上下文,所述數字對的第二數字則指派給一個從表示第二數字的多個上下文中選出的上下文。根據本發明的第十四個方面,數字對的第二數字是基於數字對中的第一個數字而被指派給一個上下文的。
根據本發明的第十五個方面,提供了一種基於上下文的算術編碼方法,其中數據符號陣列是用一個碼字來表示的,此外還提供了表示陣列中非零數據符號數目的數字並且將其指派給一個表示所述數字的上下文。
根據本發明的第十六個方面,提供了一種基於上下文的算術編碼器,其中包括用於使用碼字來表示一個數據符號陣列的裝置。所述陣列中的數據符號是包括第一數字和第二數字的數字對,所述編碼器還包括用於將數字對的第一數字指派給一個從代表第一數字的多個上下文中選出的一個上下文的裝置,以及將數字對的第二數字指派給一個從代表第二數字的多個上下文中選出的上下文的裝置。根據本發明的第十六個方面,所述編碼器包括根據所述數字對中一個數字對的第一數字而將另一個數字對的第一數字指派給一個上下文的裝置。
根據本發明的第十七個方面,提供了一種基於上下文的算術解碼器,其中包括用於從表示數據符號陣列的碼字中解碼出數據符號陣列的裝置。所述陣列中的數據符號是包括第一數字和第二數字的數字對,所述解碼器還包括用於將數字對的第一數字指派給從代表第一數字的多個上下文中選出的一個上下文的裝置,以及將數字對的第二數字指派給一個從代表第二數字的多個上下文中選出的上下文的裝置。根據本發明的第十七個方面,所述解碼器包括根據所述數字對中一個數字對的第一數字而將另一個數字對的第一數字指派給一個上下文的裝置。
根據本發明的第十八個方面,提供了一種基於上下文的算術編碼器,其中包括使用碼字來表示一個數據符號陣列的裝置。所述陣列中的數據符號是包括第一數字和第二數字的數字對,所述編碼器還包括用於將數字對的第一數字指派給從代表第一數字的多個上下文中選出的一個上下文的裝置,以及將數字對的第二數字指派給一個從代表第二數字的多個上下文中選出的上下文的裝置。根據本發明的第十八個方面,所述編碼器包括用於根據數字對中第一數字而將數字對的第二數字指派給一個上下文的裝置。
根據本發明的第十九個方面,提供了一種基於上下文的算術解碼器,其中包括用於從表示數據符號陣列的碼字中解碼出所述陣列的裝置。所述陣列中的數據符號是包括第一數字和第二數字的數字對,所述解碼器還包括用於將數字對的第一數字指派給一個從代表第一數字的多個上下文中選出的上下文的裝置,以及將數字對的第二數字指派給一個從代表第二數字的多個上下文中選出的上下文的裝置。根據本發明的第十九個方面,所述解碼器包括用於根據數字對中第一數字而將數字對的第二數字指派給一個上下文的裝置。
根據本發明的第二十個方面,提供了一種基於上下文的編碼器,其中包括使用一個碼字來表示一個數據符號陣列的裝置,此外還包括提供一個表示陣列中非零數據符號數目的數字的裝置,以及將所述數字指派給一個表示所述數字的上下文的裝置。
通過結合圖7a到12來閱讀本說明書,本發明將會變得清楚。
附圖簡述圖1是一個對使用了基於塊的變換編碼以及運動補償預測的示範性視頻編碼器結構進行描述的框圖。
圖2是與圖1編碼器相對應的示範性視頻解碼器的框圖。
圖3是一個顯示示範性的Z字形掃描的圖示。
圖4是顯示現有技術中基於上下文的算術編碼方案的編碼器的框圖。
圖5是顯示現有技術中基於上下文的算術編碼方案的解碼器的框圖。
圖6a是顯示以Z字形方式掃描的量化DCT係數值的示範性二維陣列的圖示。
圖6b是一個顯示那些由圖6a的陣列導出的等級和遊程值的表格。
圖6c是顯示錶1的二進位化方案應用於圖6b的等級和遊程的值所導致的二進位化的等級和遊程值的表格。
圖6d是一個顯示了用以從遊程和等級中更新概率估計的方法的表格。
圖7a是一個顯示了根據等級值而將上下文指派給二進位序列的方法的表格。
圖7b是一個顯示了根據本發明第一實施例而將上下文指派給等級值的方法的表格。
圖8a是一個顯示了基於遊程值而將上下文指派給二進位序列的方法的表格。
圖8b是一個顯示了根據本發明第二實施例而將上下文指派給遊程值的方法的表格。
圖9是一個描述了依照本發明的基於上下文的算術編碼方案的編碼器的框圖。
圖10是一個依照本發明的解碼器的框圖。
圖11是一個描述了根據本發明優選實施例的圖像編碼方法的流程圖。
圖12是一個描述了根據本發明另一個實施例的圖像編碼方法的流程圖。
實施本發明的最佳方式現在將對本發明的實施例進行詳細論述。如上所述,本發明提供了多種相關機制,通過該機制可以對基於上下文的算術編碼器的編碼效率(數據壓縮)加以改進。這種改進是通過使用那些對指派了其他數據符號的上下文加以考慮的上下文模型來實現的。
在下文第1.1節詳細描述了本發明的第一實施例,該實施例涉及一種基於上下文的二進位算術編碼器,所述編碼器適於在例如ITU-T建議H.26L定義的圖像編碼系統中使用。在這個實施例中,通過對圖像像素的變換編碼塊的量化編碼係數進行遊程-等級編碼而產生的等級值是在考慮到了歸屬同一個塊的另一個變換係數等級的情況下指派給上下文的。
在第1.2節詳細描述了本發明的第二實施例,該實施例也涉及一種用於圖像編碼系統的基於上下文的二進位算術編碼器,其中所述系統可以是例如ITU-T建議H.26L中定義的圖像編碼系統。在第二實施例中,通過對圖像像素的變換編碼塊的量化的DCT變換係數進行遊程-等級編碼而產生的遊程值是在考慮到了遊程值所屬的遊程-等級對的等級值的情況下指派給上下文的。
在第1.3節描述了本發明第三實施例,該實施例同樣涉及一種用於圖像編碼系統的基於上下文的算術編碼器,其中所述系統可以是例如ITU-T建議H.26L中定義的圖像編碼系統。根據第三實施例,變換編碼圖像塊的非零變換係數的數目Nc被確定,並且在考慮到指派給用於至少一個其他變換編碼圖像塊的Nc值的上下文的情況下,將其指派給一個上下文。
本發明的優選實施例組合了上述這三個實施例的功能。
如本文先前所述,ITU-T建議H.26L TML 8的高複雜度類使用了一種以CABAC著稱的基於上下文的算術編碼形式。在一個根據H.26L實施的視頻編碼器中,CABAC方法被用於對由編碼器產生的各種不同類型的信息進行編碼,其中包括圖像像素變換編碼塊所產生的變換係數(幀內編碼模式)或是預測誤差(幀間編碼模式)。通過對圖像像素塊進行變換編碼產生的變換係數的二維陣列根據一種特定的掃描模式來掃描從而產生一維陣列。這兩種掃描模式是在H.26L中定義的。第一種模式稱為「單掃描模式」,另一種模式則稱為「雙掃描模式」。不管使用哪一種掃描模式,掃描變換係數都會將係數值的二維陣列轉換成一個以預定方式來對係數進行排序的一維陣列。在所述一維陣列中,有序的變換係數值被轉換成遊程和等級值。在經過排序的一維陣列中,最後一個條目是一個依照H.26L TML 8的塊結束符號,該條目採取的是一個與零相等的等級值的形式。由此表明在有序陣列中,最後一個非零係數值已經轉換成一個遊程-等級對。
遊程和等級值是通過將其映射到一系列二進位序列而被轉換成二進位數字的(二進位化),其中可以為每一個二進位數字都可被賦予值0或1(參見表1)。然後,經過二進位化的遊程和等級值指派給上下文,也就是一個為遊程和等級定義的單獨的上下文集合。根據H.26L TML 8,對一個給定的塊類型來說,為等級定義的上下文集合只依賴於指派了等級的二進位序列的編號。更具體地說,根據H.26L TML 8而為等級編碼定義了四個上下文。第一個上下文用於第一個二進位序列,第二個上下文是用於第二個二進位序列,第三個上下文用於剩下的表示等級幅度的二進位序列。剩餘上下文則用於等級的符號。就遊程來說,存在三個上下文,其中第一個上下文用於第一個二進位序列,第二個上下文用於第二二進位序列,第三個上下文則用於剩餘的所有二進位序列。由於遊程值總是等於或大於零,因此不需要使用一個附加上下文來表示符號信息。
1.1 用於等級的上下文模型根據本發明的第一實施例,在將一個二進位化的等級值指派給一個上下文時,除了考慮等級自身映射到的二進位序列之外,還要考慮到先前遊程-等級對中的等級值。在這個方面,術語「先前遊程-等級對」意味著所述遊程-等級對與有序係數值的一維陣列中的先前係數相對應。以下的偽代碼給出了一個用於將上下文指派給遊程-等級對的等級值的示範性過程,其中考慮到了等級本身映射到的二進位序列以及先前遊程-等級對中的等級值If(bin_nr>MAX_BIN_LEVEL);bin_nr=MAX_BIN_LEVEL;endif(prev_level>MAX_LEVEL)(2)prev_level=MAX_LEVEL;endcontext=(bin_nr-1)*MAX_LEVEL+prev_level在表達式(2)中,prev_level是先前遊程-等級對的等級值的大小。在每個塊的開端,prev_level都會被初始化為零。在雙掃描模式中,在每個掃描開端初始化prev_level,即每塊兩次。參數MAX_BIN_LEVEL提供了一種用於對由等級值映射到的二進位序列編號影響上下文指派的方式加以控制的手段。更具體地說,以一種與依照H.26L TML 8進行的當前上下文指派相似的方式,MAX_BIN_LEVEL有效定義了一個所有大於或等於MAX_BIN_LEVEL的二進位序列編號被指派到的上下文。以一種相似的方式,參數MAX_LEVEL提供了一種對先前遊程-等級對中的等級值影響上下文指派的方式加以控制的手段。圖7a和圖7b描述了根據本發明第一實施例並通過應用表達式(2)的偽代碼而將上下文指派給等級值的方法,其中MAX_BIN_LEVEL=3並且MAX_LEVEL=5。原則上可以使用MAX_BIN_LEVEL與MAX_LEVEL的任何組合來定義一組適於所要編碼的等級值統計特徵的上下文。
1.2 用於遊程的上下文模型根據本發明的第二實施例,在這裡使用了一種與第1.1節所描述的方法相類似的方法來將遊程值指派給上下文。更具體地說,在將一個二進位化的遊程值指派給一個上下文的時候,除了考慮遊程本身映射到的二進位序列之外,還要對遊程值歸屬的遊程-等級對的等級加以考慮。下文中的偽代碼給出了一個用於將上下文指派給遊程-等級對中的遊程值的示範性過程,在這個過程中顧及了遊程本身映射到的二進位序列以及所述遊程值所歸屬的遊程-等級對的等級值If(bin_nr>MAX_BIN_RUN);bin_nr=MAX_BIN_RUN;endif(level>MAX_RUNL)(3)level=MAX_RUNL;endcontext=(bin_nr-1)*MAX_RUNL+level在表達式(3)中,level是遊程-等級對中的等級值的大小。參數MAX_BIN_RUN提供了一個對遊程值映射到的二進位序列編號影響上下文指派的方式加以控制的手段。更具體地說,以一種與依照H.26L TML 8進行的當前上下文指派相類似的方式,MAX_BIN_RUN有效定義了一個指派了大於或等於MAX_BIN_RUN的所有二進位序列編號的上下文。以一種相似的方式,參數MAX_RUNL提供了一種對遊程-等級對中的等級值影響上下文指派的方式進行控制的手段。圖8a和圖8b描述了依照本發明第二實施例並通過應用表達式(3)的偽代碼而將上下文指派給等級值的方法,其中MAX_BIN_RUN=3並且MAX_RUNL=4。原則上可以使用MAX_BIN_RUN與MAX_RUNL的任何組合來定義一組適於所要編碼的遊程值統計特徵的上下文。
1.3 用於非零係數數目的上下文特別地,本發明的第三實施例尤其涉及到將變換係數值的有序陣列轉換成遊程和等級值的方法,以及用信號通知那些與量化變化係數值的陣列相對應的遊程-等級對數目的方法。更具體地說,在對一個圖像像素塊或是預測誤差值進行變換編碼,從而形成一個變換係數值的二維陣列並且對每一個係數值進行量化之後,陣列中的非零量化係數值數目將被確定。一個稱為Nc的值將被指派給所述數字並被用於明確地用信號通知陣列中非零係數值的數目。因此,依照本發明的這個實施例,在這裡不再需要一個諸如與零相等的等級值這樣的EOB符號。
經過量化的變換係數進一步根據預定掃描順序而被掃描,以便產生一個有序的一維陣列。可替換地,也可以在對量化係數值進行排序之後再確定Nc。然後,有序陣列中的每一個非零量化係數都轉換成遊程-等級對。根據本發明的這個實施例,遊程-等級對的等級值表示的是經過量化的係數減1得到的值的大小,遊程值則與所論述係數之前的連續零值量化係數的數目相對應。由於不再將與零相等的等級值用作塊結束指示符,因此為所述等級值賦予了量化係數減1所得到的值的大小。由此可以節省用於表示等級信息所需要的數據量(例如比特數目)。
然後,與Nc值一樣,在這裡使用了熵編碼來對等級和遊程值進行編碼。在使用了諸如在H.26L TML 8中實現的CABAC技術之類的基於上下文的算術編碼方法的情況下,如上所述,可以根據本發明的第一和/或第二實施例來對遊程和等級值進行編碼。可替換地,也可以將任何其他適當的上下文模型用於遊程和等級值。此外還可以為Nc定義一個單獨的上下文模型。根據本發明的這個實施例,首先將表示給定塊中非零量化變換係數數目的Nc值映射到一系列的二進位序列來對對其進行二進位化,其中每一個二進位序列都具有一個相應的二進位序列編號。然後則基於Nc所映射到的二進位序列編號以及指派了一個Nc值的至少一個其他圖像塊或宏塊的Nc來確定用於所述Nc的上下文。以下的偽代碼給出了用於將一個上下文指派給一個Nc值的示範性過程,在這個過程中考慮到了Nc本身映射到的二進位序列以及先前的Nc值If(bin_nr>MAX_BIN_Nc);bin_nr=MAX_BIN_Nc;endif(prev_nc>MAX_Nc)(4)prev_nc=MAX_Nc;endcontext=(bin_nr-1)*MAX_nc+prev_nc在表達式(4)中,prev_nc即為先前的Nc值。
在從編碼器將經過編碼的給定量化變換係數塊的等級和遊程值發送到一個解碼器的時候,經過熵編碼的Nc值是在對遊程和等級值進行編碼之前發送的。在解碼器上對所述Nc值進行解碼,其後則跟隨著與所論述塊的量化變換係數值相對應的遊程-等級對。當對等級值進行解碼時,為了補償在編碼器中所作的相應減法,將會把數值+1加到各個等級大小中。
為了展示使用圖像編碼方法而在編碼效率上的改進,根據本發明,平均比特率差值是通過使用關於QP=28、24、20、16的結果來計算的。表2顯示了與TML 8相比較的百分比形式的比特率減少,其中MAX_LEVEL=5並且MAX_RUN=4。所有幀都是在CABAC模式中作為I幀來編碼的。如表2所示,比特率的減少範圍是從0.95到4.74%。當QP值很小的時候,所述改進將會更為顯著。
在表2中,出現在表格第一行的名稱是在Gis1e Bjontegaard的「Recommended Simulation Conditions for H.26L」(VCG-M75,ITU-TVideo Coding Experts Group,Austin,Texas,USA,2-4 April,2001)中使用的畫面。
表2現在參考圖9,根據本發明,發送端的編碼器10包括一個用於保存先前等級和遊程的單元16。如圖9所示,用於給定塊的遊程-等級對102被提供到映射單元12,所述映射單元12將所述對映射到一系列的二進位序列,每一個二進位序列都具有值0或1。在表示遊程-等級對的序列中,二進位序列的位置稱為二進位序列編號。二進位序列編號由信號104表示。基於信號104和單元16提供的先前編碼的等級值108,指派單元14將一個上下文指派給一個二進位序列編號。信號106表示的上下文被提供到一個自適應算術編碼器20。而1的出現概率與0的出現概率則是通過一個概率估計單元22來估計的。基於所述概率估計120,算術編碼單元24對二進位序列進行編碼。反饋信號124則從編碼器24提供到概率估計模塊22,從而更新概率估計。經過編碼的信息轉變成一個比特流122。以便傳遞到一個解碼器或者保存在一個存儲設備中以供稍後使用。
優選地,編碼器10還包括一個能在將遊程-等級對提供給算術編碼器20之前將塊中非零係數數目Nc提供給算術編碼器20的單元18,因此還對Nc進行編碼並且將其包含在比特流122中。所述Nc則是由信號110來表示的。在使用Nc的情況下,沒有必要向解碼器發送一個塊結束(EOB)符號。在現有技術中,大小為0的等級值將被用於EOB符號。更具體地說,Nc是在變換和量化之後才被發現的並且是使用熵編碼來對其進行編碼的。需要指出的是,在非零係數數目已知的情況下,不再有必要使用0等級值來用信號通知塊結束。因此,通過將量化係數值減1,可以對等級值進行修改。
如圖10所示,在接收端使用解碼器50來接收編碼器10提供的比特流122。接收到的比特流表示的是經過算術編碼的數據符號,它是由參考數字202來表示的。一開始,根據先前解碼的符號,在上下文指派單元66中計算一個上下文,並且在概率估計單元62中更新二進位序列值的概率估計。更新概率估計所依據的先前解碼符號由參考數字205示。上下文指派塊66中執行的上下文指派以及概率估計塊62執行的概率估計計算與編碼器10中執行的相類似。然後,接收到的比特202被饋送到算術編碼器60的算術解碼引擎64,在那裡使用計算得到的上下文以及二進位序列值204的當前概率估計來將其轉換成經過解碼的二進位序列值206。在塊68中,經過解碼的二進位序列208被映射到遊程和等級值。如果在編碼器10中對塊中非零係數數目Nc進行編碼並且在接收到的比特流202中提供了所述數目,則將信號214提供給二進位序列-數值映射模塊68,由此通過將等級值加1來恢復經過量化的係數。
圖11是描述根據本發明優選實施例的圖像編碼方法的流程圖。如圖所示,方法500始於編碼器接收一個圖像的步驟510。在步驟520,將接收到的圖像分成多個塊。在步驟530對每一個塊進行掃描,並且在步驟540獲取塊中經過量化的係數的等級和遊程。與現有技術的編碼方案相比,在步驟550,本發明還在上下文的指派過程中使用了先前等級。特別地,如第1.1節所述,將上下文指派到代表量化係數等級值的二進位序列的處理對先前編碼的等級值加以考慮。同樣,如1.2節所述,將上下文指派到代表量化係數遊程值的二進位序列的處理也考慮到了等級值。已指派的上下文傳送到一個算術編碼器,以便在步驟560中進行編碼。另外,如第1.3節所述,Nc或非零量化係數的數目是在步驟530中掃描了所述塊的過程之中或是之後才得到確定的,並且在將Nc與上下文提供到一個解碼器之前在步驟560中對Nc進行編碼。
可替換地,如圖11所示,在指派上下文時並未考慮到先前編碼的等級或遊程,在這種情況下,通過將指示Nc的信號傳遞到接收端,可以改進所述圖像編碼方法。如圖12所示,Nc是在步驟542中獲取和提供的,而不是為了在步驟550中指派上下文而在步驟540中獲取先前編碼的等級和遊程。為了在步驟560中執行編碼,Nc是在步驟550中指派上下文之前發送到算術編碼器的。藉助於發送Nc,在這裡不再有必要將EOB符號發送到解碼器。
儘管在這裡針對本發明的優選實施例而對其進行了描述,但是本領域技術人員將會理解,在不脫離本發明範圍的情況下,可以對其進行形式和細節方面的前述和多種其他改變、省略和背離。
權利要求
1.一種圖像編碼方法,其中,圖像被分成多個具有多個像素的塊,每一個像素都具有一個像素值,並且變換編碼操作對像素塊執行以便產生一個相應的變換係數值塊,所述變換係數值塊被以一種給定的掃描順序掃描,從而產生一個經過掃描的係數值陣列,其中經過掃描的陣列中的係數值是由多個數字對表示的,所述數字對具有第一數字和第二數字,第一和第二數字被指派給表示數字對的多個上下文之一,其特徵在於數字對的第一數字是根據另一個數字對的第一數字而被指派給一個上下文的。
2.根據權利要求1的方法,其特徵在於數字對的第一數字是根據先前指派給一個上下文的數字對的第一數字而被指派給一個上下文的。
3.根據權利要求1或2的方法,其特徵在於所述多個上下文是基於上下文的算術編碼器的上下文。
4.根據權利要求1或2的方法,其特徵在於所述多個上下文是基於上下文的二進位算術編碼器的上下文。
5.根據權利要求4的方法,其特徵在於所述數字對的第一數字被映射到一組二進位序列,其中所述一組二進位序列中的每一個都具有一個相關的二進位序列編號,並且能夠取第一值或第二值中的一個值。
6.根據權利要求4的方法,其特徵在於所述數字對的第二數字被映射到一組二進位序列,其中所述一組二進位序列中的每一個都具有一個相關的二進位序列編號,並且能夠取第一值或第二值中的一個。
7.根據權利要求5或6的方法,其特徵在於將數字映射到所述一組二進位序列中給定的一個是通過將二進位序列指派到第一值來指示的。
8.根據權利要求5、6或7的方法,其特徵在於第一值是1,第二值是零。
9.根據權利要求5到8中任何一個權利要求的方法,其特徵在於對根據另一個數字對的第一數字而將數字對的第一數字指派給一個上下文的處理來說,其中考慮到了該數字對中第一數字所映射到的二進位序列編號。
10.根據權利要求1到9中任何一個權利要求的方法,其特徵在於所述第一數字指示非零係數值,以及所述第二數字指示在所述非零係數值之前的連續零係數值的數目。
11.一種圖像編碼方法,其中圖像被分成多個具有多個像素的塊,每一個像素都具有一個像素值,並且變換編碼操作對像素塊執行從而產生一個相應的變換係數值塊,所述變換係數值塊是以一種給定的掃描順序掃描的,從而產生一個經過掃描的係數值陣列,其中經過掃描的陣列中的係數值是由多個數字對表示的,所述數字對具有第一數字和第二數字,所述第一數字和第二數字被指派到表示數字對的多個上下文之一,其特徵在於數字對的第二數字根據該數字對的第一數字而被指派給一個上下文。
12.根據權利要求11的方法,其特徵在於所述多個上下文是基於上下文的算術編碼器的上下文。
13.根據權利要求11的方法,其特徵在於所述多個上下文是基於上下文的二進位算術編碼器的上下文。
14.根據權利要求13的方法,其特徵在於所述數字對的第一數字被映射到一組二進位序列,其中所述二進位序列中的每一個都具有一個相關的二進位序列編號,並且每一個都能取第一值或第二值之一。
15.根據權利要求13的方法,其特徵在於所述數字對的第二數字被映射到一組二進位序列,其中所述一組二進位序列中的每一個都具有一個相關的二進位序列編號,並且都能取第一值或第二值之一。
16.根據權利要求14或15的方法,其特徵在於將數字映射到所述一組二進位序列中給定的一個是通過將二進位序列的值指派給第一值來指示的。
17.根據權利要求14、15或16的方法,其特徵在於第一值是1且第二值是0。
18.根據權利要求14到17中任何一個權利要求的方法,其特徵在於根據數字對中的第一數字而將數字對中的第二數字指派給一個上下文的處理考慮到了數字對的第二數字映射到的二進位序列編號。
19.根據權利要求11到18中任何一個權利要求的方法,其特徵在於所述第一數字指示非零係數值,以及所述第二數字指示在所述非零係數值之前的連續零係數值的數目。
20.一種編碼器,包括用於將圖像分成多個具有多個像素的塊的裝置,其中每一個像素都具有一個象素值,還包括用於對像素塊執行變換編碼操作從而產生一個相應的變換係數值塊的裝置;用於以給定的掃描順序掃描變換係數值塊以便產生一個經過掃描的係數值塊的裝置;用於使用多個數字對來表示所述經過掃描的陣列中的係數值的裝置,所述數字對具有第一數字和第二數字;以及用於將第一和第二數字指派給表示所述數字對的多個上下文之一的裝置,其特徵在於所述編碼器包括用於根據另一個數字對的第一數字而將一個數字對的第一數字指派給一個上下文的裝置。
21.根據權利要求20的編碼器,其特徵在於另一個數字對是先前指派給一個上下文的數字對。
22.根據權利要求20或21的編碼器,其特徵在於所述多個上下文是基於上下文的算術編碼器的上下文。
23.根據權利要求20或21的編碼器,其特徵在於所述多個上下文是基於上下文的二進位算術編碼器的上下文。
24.根據權利要求23的編碼器,其特徵在於它還包括用於將所述數字對的第一數字映射到一組二進位序列的裝置,其中所述一組二進位序列中的每一個都具有一個相關聯的二進位序列編號並且能夠取第一值或第二值之一。
25.根據權利要求23的編碼器,其特徵在於它還包括用於將所述數字對的第二數字映射到一組二進位序列的裝置,其中所述一組二進位序列中的每一個都具有一個相關聯的二進位序列編號並且能夠取第一值或第二值之一。
26.根據權利要求24或25的編碼器,其特徵在於它還包括用於通過將所述二進位序列指派給第一值而將一個數字映射到所述一組二進位序列中指定的一個二進位序列的裝置。
27.根據權利要求24、25或26的編碼器,其特徵在於第一值是1並且第二值是0。
28.根據權利要求24到27中任何一個權利要求的編碼器,其特徵在於所述用於根據另一個數字對的第一數字而將一個數字對的第一數字指派給一個上下文的裝置被安排為對該數字對中第一數字所映射到的二進位序列編號加以考慮。
29.根據權利要求20到28中任何一個權利要求的編碼器,其特徵在於所述第一數字指示非零係數值,以及所述第二數字指示在所述非零係數值之前的連續零係數值的數目。
30.一種編碼器,包括用於將圖像分成多個具有多個像素的塊的裝置,其中每一個像素都具有一個象素值,此外還包括用於對像素塊執行變換編碼操作以便產生一個相應的變換係數值塊的裝置;用於以給定掃描順序掃描變換係數值塊以便產生一個經過掃描的係數值陣列的裝置;用於使用多個數字對來表示所述經過掃描的陣列中的係數值的裝置,所述數字對具有第一數字和第二數字的;以及用於將第一和第二數字指派給表示所述數字對的多個上下文之一的裝置,其特徵在於所述編碼器包括用於根據數字對的第一數字而將該數字對的第二數字指派給一個上下文的裝置。
31.根據權利要求30的編碼器,其特徵在於所述多個上下文是基於上下文的算術編碼器的上下文。
32.根據權利要求30的編碼器,其特徵在於所述多個上下文是基於上下文的二進位算術編碼器的上下文。
33.根據權利要求32的編碼器,其特徵在於它還包括用於將所述數字對的第一數字映射到一組二進位序列的裝置,其中所述二進位序列中的每一個都具有一個相關聯的二進位序列編號並且能夠取第一值或第二值之一。
34.根據權利要求32的編碼器,其特徵在於它還包括用於將所述數字對的第二數字映射到一組二進位序列的裝置,其中所述二進位序列中的每一個都具有一個相關聯的二進位序列編號並且能夠取第一值或第二值之一。
35.根據權利要求33或34的編碼器,其特徵在於它還包括用於通過將所述二進位序列指派給第一值從而將一個數字映射到所述一組二進位序列中指定的一個二進位序列的裝置。
36.根據權利要求33、34或35的編碼器,其特徵在於第一值是1並且第二值是0。
37.根據權利要求33到36中任何一個權利要求的編碼器,其特徵在於所述用於根據數字對中的第一數字而將該數字對中的第二數字指派給一個上下文的裝置對該數字對中的第二數字所映射到的二進位序列編號加以考慮。
38.根據權利要求30到37中任何一個權利要求的編碼器,其特徵在於所述第一數字指示非零係數值,以及所述第二數字指示在所述非零係數值之前的連續零係數值的數目。
39.一種圖像編碼方法,其中,圖像被分成多個具有多個像素的塊,每一個像素都具有一個像素值,並且對像素塊執行變換編碼操作以便產生相應的變換係數值塊,所述方法的特徵在於提供指示變換係數值塊中的非零係數值的數目的數字;以及將所述數字指派給一個表示所述數字的上下文。
40.根據權利要求39的方法,其特徵在於在考慮到另一個數字所指派到的上下文的情況下,將指示所述變換係數值塊中的非零係數值數目的數字指派給一個上下文,其中所述另一個數字指示另一個變換係數塊中非零係數值的數目。
41.根據權利要求39或40的方法,其特徵在於以一種給定的掃描順序掃描所述變換係數值塊,以便產生一個經過掃描的係數值陣列,以及使用具有第一數字和第二數字的多個數字對來表示經過掃描的陣列中的係數值。
42.根據權利要求41的方法,其特徵在於所述第一數字指示非零係數值;以及所述第二數字指示所述非零係數值之前的連續零係數值的數目。
43.根據權利要求41或42的方法,其特徵在於提供所述指示變換係數值塊中的非零係數值的數目的數字,從而避免發送一個塊結束指示,其中所述塊結束指示表示經過掃描的係數值陣列中的最後一個非零係數值。
44.根據權利要求41、42或43的方法,其特徵在於第一數字與非零係數值減1的大小相等。
45.一種編碼器,包括用於將圖像分成多個具有多個像素的塊的裝置,其中每一個像素都具有一個像素值,並且還包括用於對像素塊執行變換編碼操作以便產生相應的變換係數值塊的裝置,其特徵在於,所述編碼器包括用於提供一個指示變換係數值塊中的非零係數值數目的數字的裝置;以及用於將所述數字指派給一個表示所述數字的上下文的裝置。
46.根據權利要求45的編碼器,其特徵在於所述用於把指示所述變換係數值塊中的非零變換係數值數目的數字指派給一個上下文的裝置被安排為對另一個這樣的數字所指派到的上下文加以考慮,其中所述另一個這樣的數字指示另一個變換係數塊中的非零變換係數值數目。
47.根據權利要求45或46的編碼器,其特徵在於它還包括用於以給定掃描順序掃描變換係數值塊以便產生一個經過掃描的係數值陣列的裝置,以及用於藉助多個具有第一數字和第二數字的數字對來表示經過掃描的陣列中的係數值的裝置。
48.根據權利要求47的方法,其特徵在於所述第一數字指示非零係數值;以及所述第二數字指示所述非零係數值之前的連續零係數值的數目。
49.一種電腦程式,包括用於將圖像分成多個具有多個像素的塊的代碼,其中每一個像素都具有一個像素值,此外還包括用於對像素值塊執行變換編碼操作以便產生相應的變換係數值塊的代碼;用於以給定的掃描順序掃描變換係數值塊以便產生一個經過掃描的係數值陣列的代碼;用於使用多個數字來表示經過掃描的陣列中的係數值的代碼,其中所述數字對具有第一數字和第二數字;以及用於將第一數字和第二數字指派給表示所述數字對的多個上下文之一的代碼,其特徵在於所述電腦程式還包括用於根據另一個數字對中的第一數字而將其中一個數字對的第一數字指派給一個上下文的代碼。
50.一種電腦程式,包括用於將圖像分成多個具有多個像素的塊的代碼,其中每一個像素都具有一個像素值,此外還包括用於對像素值塊執行變換編碼操作以便產生相應的變換係數值塊的代碼;用於以給定的掃描順序掃描變換係數值塊以便產生經過掃描的係數值陣列的代碼;用於使用多個數字來表示經過掃描的陣列中的係數值的代碼,其中所述數字對具有第一數字和第二數字;以及用於將第一數字和第二數字指派給表示所述數字對的多個上下文之一的代碼,其特徵在於所述電腦程式還包括用於根據數字對中的第一數字來把該數字對中的第二數字指派給一個上下文的代碼。
51.一種電腦程式,包括用於將圖像分成多個具有多個像素的塊的裝置,其中每一個像素都具有一個像素值,此外還包括用於對像素塊執行變換編碼操作以便產生相應的變換係數值塊的代碼,其特徵在於所述電腦程式包括用於提供一個指示變換係數值塊中非零係數值數目的數字的代碼,以及用於將所述數字指派給表示該數字的上下文的代碼。
52.一種圖像編碼方法,其中圖像被表示為多個圖像塊,並且所述圖像塊中的至少一個被表示為有序的變換係數陣列,使用基於上下文的算術編碼來對所述有序的變換係數陣列進行編碼,以便產生一個表示有序係數陣列的碼字,所述係數中的每一個被指派給上下文,其特徵在於,第一係數是參考處於有序陣列中所述第一係數之前的第二係數而被指派給一個上下文的。
53.一種基於上下文的算術編碼方法,其中數據符號陣列是用一個碼字來表示的,所述陣列中的數據符號是包含了一個第一數字和一個第二數字的數字對,所述數字對中的第一數字指派給一個從表示第一數字的多個上下文中選出的上下文,所述多個上下文中的每一個表示的都是指派給上下文的數據符號,其特徵在於通過參考處於有序陣列中處於第一數據符號之前的第二符號來將有序陣列中的第一數據符號指派給一個上下文。
54.一種基於上下文的算術編碼方法,其中數據符號陣列是用一個碼字來表示的,所述陣列中的數據符號是包含了一個第一數字和一個第二數字的數字對,所述數字對中的第一數字指派給一個從表示第一數字的多個上下文中選出的上下文,所述數字對中的第二數字則指派給一個從表示第二數字的多個上下文中選出的上下文,其特徵在於基於所述數字對中的一個數字對的第一數字而將另一個數字對的第一數字指派給一個上下文。
55.一種基於上下文的算術解碼方法,其中數據符號陣列是用碼字來表示的,所述陣列中的數據符號是包含了第一數字和第二數字的數字對,數字對中的第一數字被指派給從代表第一數字的多個上下文中選出的上下文,數字對中的第二數字則被指派給從代表第二數字的多個上下文中選出的上下文,其特徵在於數字對的第一數字是基於所述數字對中另一個數字對的第一數字而被指派給上下文的。
56.一種基於上下文的算術編碼方法,其中數據符號陣列是用碼字來表示的,所述陣列中的數據符號是包含了第一數字和第二數字的數字對,數字對中的第一數字被指派給從代表第一數字的多個上下文中選出的上下文,數字對中的第二數字則被指派給從代表第二數字的多個上下文中選出的上下文,其特徵在於數字對的第二數字是基於該數字對的第一數字而被指派給一個上下文的。
57.一種基於上下文的算術解碼方法,其中數據符號陣列是從表示所述陣列的碼字中解碼的,所述陣列中的數據符號是包含了第一數字和第二數字的數字對,數字對的第一數字被指派給從代表第一數字的多個上下文中選出的上下文,而數字對的第二數字則指派給從代表第二數字的多個上下文中選出的上下文,其特徵在於數字對的第二數字是基於該數字對中的第一數字而被指派給上下文的。
58.一種基於上下文的算術編碼方法,其中數據符號陣列是用碼字來表示的,其特徵在於提供一個指示所述陣列中非零數據符號數目的數字,以及將所述數字指派給一個表示所述數字的上下文。
59.一種基於上下文的算術編碼器,包括用於使用碼字來表示數據符號陣列的裝置,所述陣列中的數據符號是包括第一數字和第二數字的數字對;用於將數字對的第一數字指派給從代表第一數字的多個上下文中選出的一個上下文的裝置;以及用於將數字對的第二數字指派給從代表第二數字的多個上下文中選出的上下文的裝置,其特徵在於所述編碼器包括用於根據所述數字對中另一個數字對的第一數字而將數字對的第一數字指派給一個上下文的裝置。
60.一種基於上下文的算術解碼器,包括用於從表示數據符號陣列的碼字中解碼出所述陣列的裝置,所述陣列中的數據符號是包括第一數字和第二數字的數字對;用於將數字對的第一數字指派給從代表第一數字的多個上下文中選出的上下文的裝置;以及將數字對的第二數字指派給從代表第二數字的多個上下文中選出的上下文的裝置,其特徵在於所述解碼器還包括用於根據所述數字對中另一個數字對的第一數字而將數字對的第一數字指派給一個上下文的裝置。
61.一種基於上下文的算術編碼器,包括使用碼字來表示數據符號陣列的裝置,所述陣列中的數據符號是包括第一數字和第二數字的數字對;用於將數字對的第一數字指派給從代表第一數字的多個上下文中選出的上下文的裝置;以及用於將數字對的第二數字指派給從代表第二數字的多個上下文中選出的上下文的裝置,其特徵在於所述編碼器還包括用於根據數字對中的第一數字而將該數字對中的第二數字指派給一個上下文的裝置。
62.一種基於上下文的算術解碼器,包括用於從表示數據符號陣列的碼字中解碼出所述陣列的裝置,其中所述陣列中的數據符號是包括第一數字和第二數字的數字對;用於將數字對的第一數字指派給從代表第一數字的多個上下文中選出的上下文的裝置;以及將數字對的第二數字指派給從代表第二數字的多個上下文中選出的上下文的裝置,其特徵在於所述解碼器包括用於根據數字對中的第一數字而將該數字對中的第二數字指派給一個上下文的裝置。
63.一種基於上下文的編碼器,包括使用碼字來表示數據符號陣列的裝置,其特徵在於所述編碼器包括用於提供一個指示所述陣列中非零數據符號數目的數字的裝置,以及用於將所述數字指派給一個表示該數字的上下文的裝置。
全文摘要
一種圖像編碼方法,其中圖像被分成了具有多個像素的塊。對像素塊執行變換編碼操作以便產生相應的變換係數值塊,其中對所述變換係數值塊進行掃描,以便產生一個經過掃描的係數值陣列,所述陣列由具有第一和第二數字的多個數字對表示。第一和第二數字指派到了表示所述數字對的多個上下文(14)之一。在這裡,根據一個數字對的第一數字而將另一個數字對的第一數字指派給一個上下文。可替換地,一個數字對中的第二數字是基於數字對(16)中的第一數字而被指派給一個上下文的。此外還確定了一個指示變換係數值塊中非零係數值數目的數字,並且將其指派給一個上下文。
文檔編號G06T9/00GK1585958SQ02822672
公開日2005年2月23日 申請日期2002年9月12日 優先權日2001年9月14日
發明者M·卡策維茨, R·庫爾切倫 申請人:諾基亞有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀