數據幀序列的有效編碼/解碼的製作方法
2023-05-02 01:24:31 1
專利名稱:數據幀序列的有效編碼/解碼的製作方法
技術領域:
本發明大體上涉及數位訊號處理,且更具體來說涉及數據幀序列的有效編碼/解碼。
技術背景編碼大體上指根據一種方法(編碼方法)轉換數字值以使得經編碼數據可在可接受 的誤差水平內再轉換回到原始數字值。往回再轉換稱為解碼。存在若千其中存在數據幀序列的情形。大體上,每個數據幀含冇多個值。舉例來說, 在俘獲所關注的場景的圖像時產生視頻幀序列。每個視頻幀被認為含有多個像素值,其 中每一像素值表示所俘獲的圖像的一個點/一部分。這些數據幀常常經編碼並隨後解碼。編碼大體上經執行以用於以壓縮格式表示數 據,且解碼經執行以再次恢復原始數據。壓縮格式的表示形式可具有若干優點,例如需 要的存儲空間減少、傳輸要求減少等等。一般需要執行此類編碼和/或解碼,同時減少例如計算、存儲器、功率等資源中的一 者或一者以上。發明內容無
將參看以下附圖描述示範性實施例,下文簡要描述附圖。圖1是其中可實施本發明若干方面的示範性環境的框圖。圖2A是說明一個現有技術實施例中的編碼方法的框圖。圖2B是說明一個現有技術實施例中的解碼方法的框圖。圖3是說明本發明一實施例中的編碼方法的框圖。圖4A是說明在-實施例中使用平均預測模式來預測數據的方式的圖。圖5是說明本發明一替代實施例中的編碼方法的框圖。圖6A和圖6B是說明在一實施例中使用垂直預測模式來預測數據的方式的圖。圖7A是說明木發明一實施例中的數據的解碼的框圖。圖7B是說明本發明一替代實施例中的數據的解碼的框圖。圖8A-8G以數值實例共同說明編碼。圖9是數字處理系統的框圖,其中一.R.執行軟體指令,本發明的若干特徵就起作用。 在附圖中,相同參考標號大體上指示相同、功能上類似和/或結構上類似的元件。其 中一元件第一次出現的附圖由相應參考標號中的最左邊的數字指示。
具體實施方式
1. 概述本發明的.-方面執行幀序列'l'每--幀'l'的數字值的變換、將相同變換應州於預測的 數據,並接著對兩次變換的結果執行差分。在 一 實施例中,選擇預測方法以使得產生較少的具有不同值的元素,且在可預測的 位置產生不同值。選擇變換方法以使得輸出明確地表示數據數據的變化,並且滿足分布 性質,即T(A+B) = T(A)+T(B),其中T表示變換運算,A和B表示各自的輸入數據組。因此,可有效地編碼數據。解碼也可基於類似的原理,但利用變換方法的反過程。 在一實施例中,所述技術用於對視頻幀序列進行編碼和解碼(用一般代碼)。下文參看用於說明的實例描述本發明的若干方面。應了解,陳述許多特定細節、關 系和方法以提供對木發明的完全理解。然而,相關領域的技術人員將容易認識到,可在 沒有所述特定細節中的一者或一者以上的情況下或可用其它方法等來實踐本發明。在其 它例子屮,沒有詳細展示眾所周知的結構或操作以免混淆本發明的特徵。2. 示範性環境圖1是說明其中可實施本發明若干特徵的示範性環境的圖。示範性環境展不為僅含 有用於說明的代表性系統。然而,現實環境可含有更多的系統/組件,如相關領域的技術 人員將了解。此類環境中的實施方案也預期在本發明的各個方面的範圍和精神內。所述圖展示為含有終端系統140A和140N,其經設計/配置以在視頻會議應用'l'彼 此通信。終端系統140A展示為含有處理單元IIOA、視頻相機120A和顯示單元130A, 且終端系統140N展示為含有處理單元110N、視頻相機120N和顯示單元130N。終端系統140A到140N表示根據本發明若干方面實施的示範性系統。處理單元 IION、視頻相機120N和顯示單元130N分別類似於終端系統140A的相應組件而操作, 且為了簡明而不重複描述。下文詳細描述終端系統140A的每個組件。視頻相機120A俘獲場景的圖像,並在路徑121上將俘獲的圖像(具有相應的視頻幀的形式)轉發到處理單元110A。每個視頻幀可由許多像素元素(數字值)表示,其 中每個像素元素具有針對俘獲的圖像的一點/一部分的顏色值。處理單元110A對像素元素進行編碼並產生經編碼數據。經編碼數據在傳輸路徑115 上傳輸。處理單元110A可類似地在傳輸路徑115上從終端系統140N接收經編碼數據。 處理單元IIOA對所接收數據進行解碼並發送經解碼幀以供在顯示單元130A上顯示。處理單元110A和HON兩者因此可能需要執行數據的編碼與解碼兩者。僅為了便於 描述,在下文描述中假定處理單元IIOA編碼數據且處理單元IION解碼數據。可了解,需要減少處理單元屮對於編碼/解碼操作的各種資源要求。本發明的若干方 面使得能夠滿足此目標,如下文以實例進一步詳細描述。可與處理視頻幀序列的現有技術方法相比來理解所述特徵。因此,首先描述此現有 技術方法。3.示範性現有技術編碼/解碼方法圖2A是說明現有技術編碼方法的框圖且圖2B說明相應的解碼方法。圖2A展示為 含有圖像源210、誤差區塊220、預測區塊230、變換區塊240以及量化區塊250。下文 更詳細描述每一區塊。圖像源210表示產生圖像幀流的區塊,其中每一圖像幀由相應的一組像素值表示。 每一圖像幀可完整地提供或作為宏區塊提供。每一宏區塊表示圖像幀的一部分。每一宏 區塊可進-一步劃分為若干微區塊(4x4/8x8像素)並用於處理。在'實施例屮,每'宏 區塊提供為16x16像素(即,水平方向上16個像素,且垂直方向上16個像素)。 -般 來說,如此提供的毎個宏區塊、微區塊或圖像幀在下文中稱為原始圖像區塊,其表示試 圖進行編碼的數據幀的實例。預測區塊230根據預定方法(例如,幀內預測模式,例如水平、垂直、平均等)針 對每個原始圖像區塊預測一預測的圖像區塊。在一實施例中,預測區塊230在路徑231 上接收重構的幀,且重構幀中的數據用於預測。重構可以已知方式執行,例如下文說明 的H.264標準中所描述。可使用例如幀內預測、幀間預測或相關技術中眾所周知的其它 預測技術來執行預測。在路徑232上提供表示所預測圖像區塊的像素值。誤差區塊220將原始圖像區塊和所預測圖像區塊的相應像素值進行減法運算。在路 徑224上提供表示所述差的矩陣(差區塊)。差區塊可含有與原始圖像區塊'l'相同數口 的元素。變換區塊240將差區塊變換為壓縮區塊。 一般來說,所述變換經設計以使得壓縮區 塊可由與差區塊(以及原始圖像區塊)中的位相比較少數目的位來表示。可通過對差區塊的元素執行數學運算來實現變換。在一實施例中,所述變換對應於 離散餘弦變換(DCT)或整數DCT (其均具有上述分布性質)。所述變換還可對應於DCT 或整數DCT且隨後跟隨有Hadamard變換,如所屬技術領域'I'眾所周知。舉例來說,16x 16 區塊可劃分為16個4x4區塊,DCT可應用於每個4x4區塊。收集每個4x4區塊的DC 係數以形成4x4 DC係數區塊,接著使用Hadamard變換技術對4x4 DC係數區塊進行變 換。量化IX塊250進一步數位化(量化)壓縮區塊(其個別元素)以用所需數目的位表 示壓縮區塊的元素。可了解,由於上述壓縮的緣故僅需要較少的位來表示每個元素,且 量化利用了此性質。圖2B展示相應的現有技術解碼邏輯的組件。區塊260、 270和280分別以區塊250、 240和220的方法的反過程操作,如相關技術中眾所周知,且為了簡明而不重複描述。 一旦在路徑261上接收的數據以所需的精度等級恢復,就在路徑289上發送恢復的數據 以供由圖像顯示區塊290顯示。從上文可了解,數據幀序列的編碼和解碼可能需要各種資源。下文描述的本發明的 各方面與上述現有技術方法相比減少了計算、存儲器和其它資源要求(例如,功率消耗)。4.有效的編碼方法圖3是說明本發明一實施例中編碼器的實施方案的框圖。編碼器展示為含有變換t^ 塊310和330、減法區塊320、預測區塊340以及量化區塊350。下文更詳細描述每個區 塊。變換區塊30在路徑121上接收原始圖像區塊(例如,上述視頻幀的16x16區塊、 8x8區塊或4x4區塊)的數字值,並根據變換方法執行變換。在一實施例中所述變換可表示為DCT(X)...............................................................................等式(0)其中W表示經變換輸出且X表示原始圖像區塊。變換區塊330接收針對在路徑121上接收的相同(當前)原始圖像區塊的所預測圖 像區塊,並執行相同變換。變換方法經設計以具有上述分布性質。減法區塊320將在路徑312和332上接收的各自數據值進行減法運算,並在路徑325 上提供結果。量化區塊350量化在路徑325上接收的數據。預測區塊340基於先前重構的圖像區塊產生對應於原始圖像區塊的所預測圖像區 塊。可針對此預測採用各種眾所周知的方法。然而通過選擇預測方法來使不同值的數目 最小,可減少資源要求,如下文以實例描述。5.平均/DC預測模式圖4在一實施例中說明平均預測模式。410的像素值A-H、 M和I-L假定可從先前 重構的圖像區塊獲得。這些值被認為對應於試圖在當前迭代屮處理的4x4 (像素)區塊 的相鄰位置。預測區塊340根據以下方案產生所預測圖像區塊。預測區塊340根據以下 等式計算單一值(Z):Z=平均(A到D以及I到L).............................................................等式UA)因此,可產生並存儲單一值(而不是計算16個值並存儲條目)。 為了理解資源要求的減少,現假定使用整數離散餘弦變換(DCT)作為變換區塊310 禾口 330中的變換方法。題為"H.264禾B MPEG-4視頻壓縮,Ian Richardson, John Wiley&Sons, 2003年9月"和"ITU-T,系列H:視聽和多媒體系統-用於一般視聽服務 的高級視頻編碼,2005年3月"的文獻/書籍中更詳細描述了 DCT。眾所周知,DCT的輸出數據明確地表示輸入數據的變化。因為所預測圖像數據經設 計而具有很少的不同值(預測值),所以通過將每個預測值與比例岡子相乘來實現對所 預測圖像區塊的DCT變換。舉例來說,420的4x4數據的DCT可表示為第 -位置(0,0) 中的(Z"6),且其餘位置可設定為等於0,其中Z表示用於平均預測的預測值,且16表 示比例因子。下文的段落中說明用於其它預測模式的比例因了-。 DCT也具有上述分布性質。因此,第一位置中的值可表示為 經變換預測矩陣[O,O] = DC一預測一值*比例—因子1等式(1B) 其中比例—因子1表示基於區塊的大小(按照標準)確定的常數。比例—因子1的確 定也可基於變換和編碼標準。因此,變換區塊330計算編索引於經變換預測矩陣中的
位置的單一元素。根據 等式1B計算經變換預測矩陣,且DC—預測一值設定為等於Z。值Z由預測區塊340提供。 因此,減法區塊320僅需要執行對應於在路徑312和332上接收的數據的(0,0)位置 的一次減法。另外,(路徑332的)待進行減法運算的值可表示為單一數字,進而減少 存儲器要求。此外,預測區塊340僅需要計算相鄰像素(A-D和T-L)的平均值,也可 以另外方式要求所述平均值。此外,變換區塊330需要僅將計算的相鄰像素(A-D和I-L) 的平均值與比例—因子1相乘。大體上,減法器運算可表示為tres —區塊[O]
= O
- DCj頁測—值*比例—丙子1…等式(1C) 其中O表示在路徑312上接收的經變換原始區塊。因此,與圖2相比,減法區塊(誤差區塊)320可能需要僅執行單次減法,而減法 器220可能需要執行16次減法(假定4x4區塊),進而減少計算/功率耍求。另外,因為所預測信息表示為單一值,因此存儲器要求也可減少。應了解,也可採用替代的預測方法,其要求修改上述實施例以實現資源要求減少的 完全益處,如下文以另--實例說明。在下文描述的實施例中,基於一矩陣的DCT (二維數據)可分為若干行DCT (水 平DCT)隨後是若干列DCT (垂直DCT)的觀察結果來使用水平或垂直預測。然而, DCT也可分為垂直DCT隨後是水平DCT。6.水平/垂直預測模式圖5是說明在水平或垂直預測模式的情況下的編碼方法的框圖。為了說明,在圖6 中描繪垂直預測。如610處可見,像素A-H和I-L來自先前重構的圖像區塊,類似於上 文圖4A的描述。圖5的編碼器展示為含有變換區塊510、 530和560、減法區塊520、預測區塊540 以及量化區塊550。下文更詳細描述每一區塊。預測區塊540可將A-D複製到4個元素的陣列中。變換區塊530也可針對預測的4x4像素的每一列執行整數DCT (或DCT)。因此, 在路徑532上接收的矩陣的第一行將在各自位置{(0,0),(0,1), (0,2), (0,3川處具有不同的 值(P, Q, R, S),且其餘元素將為0。因此,變換區塊530可能僅需要計算經變換預測矩陣 的第一行,即P,Q,R和S,如下。P, Q, R禾P S可表示為p-垂直—DCj貞湖L值[O] *比例因子2 等式(2) 0=垂直—DC一預測—值[l] *比例因子2 等式(3) R二垂直一DC—預測—值[2] *比例因了2 等式(4) 5=垂直—DC—預觀L值[3] *比例因子2 等式(5) 其11'基於區塊大小和/或變換和/或標準來確定比例岡子2 。在一個實施例中,針對H.264幀內4x4垂直預測模式的比例因子2的值設定為4。 針對(標準H.264中所支持的)其它模式的比例因子如下文指示 亮度幀內4x4DC預測(平均)模式=16, 亮度幀內16x16 DC預測(平均)模式=256, 亮度幀內8x8DC預測(平均)模式=64, 色度幀內8x8DC預測(平均)模式=16, 亮度/色度幀內4x4/16x16水平/垂直預測模式=4, 亮度幀內8x8水平預測模式二8。變換區塊510也可根據上述DCT方法僅對列(垂直)執行變換(半變換)。垂直變 換的輸出可表示為Y。減法區塊520僅執行對應於上述第-'行的四個位置的4次減法。減法運算可表示為Y
= Y
-P 等式(6) Y[O] [1] = Y[O] [1] -Q 等式(7)Y
[2] = Y
[2] -R 等式(8)Y
[3] = Y
[3] — S 等式(9) 其『l' P-S如上文等式2-5所示來計算。變換區塊560根據DCT方法執行水平變換,以完成總變換。量化區塊550接著可 類似於區塊250等而操作,如上所述。與圖2相比,可了解,兩個變換510和560表示在變換區塊240中執行的合併的單 一變換。變換K塊530可能不需要實質資源,因為在上文的說明性實例中,第一行的值 中的每個值僅乘以比例閒子4 。可能在CPU的單-一 指令中組合併執行預測區塊540 、變 換區塊530和減法區塊520的處現,所述指令支持組合的乘法和加/減運算。因此預測區 塊540、變換區塊530以及減法區塊520的處理可能僅需要最少的資源。隨著處理的區 塊大小增加,資源要求的減少相應地更多。儘管相對於垂直模式提供以上描述,但也可針對水平預測模式使用類似的方法。此 外,所述特徵可擴展到任何區塊大小和數據類型(亮度、色度、紅、綠或藍),如下文 所述。7.其它預測模式儘管相對於DC (平均)預測模式和垂直預測模式提供描述,但所述方法也可擴展 到其它模式。舉例來說,如果沿著特定(第一)方向產生預測,那麼也可沿著同一方向 執行變換。可通過首先沿著第'方向計算變換並接著稍後從經變換數據的DC係數(索 引為0的係數)減去比例因子*預測值來有效地產生剩餘數據/誤差。此外,所述特徵可擴展到幀內預測模式的任何區塊大小和數據類型(亮度、色度、 紅、綠或藍),例如在下文更詳細描述的標準中允許/定義的亮度16x16幀內模式、亮度 8x8幀內模式、亮度4x4幀內模式和色度8x8幀內模式。舉例來說,在亮度16x16平均預測模式的情況下,可使用以下步驟執行計算。 步驟1.將。前(待編碼的區塊)6xl6區塊分為6個4x4大小的區塊。 步驟2.對每個4x4區塊進行二維整數DCT。 步驟3.收集每個4x4區塊的DC係數並形成4x4 DC係數陣列。步驟4.對4x4 DC係數陣列進行二維Hadamard變換。經變換的4x4 DC係數陣列可 表示為AZ—DC4。步驟5. Z—DC4(0,0) = Z—DC4(0,0) - 256 *平均j頁測。其屮256表示所計算的比例「天1 子1。步驟1-4可由變換區塊310執行並可向減法區塊320提供Z—DC4(0,0)。 類似地,在16xl6亮度水平預測模式的情況下,可如下執行計算 步驟l.將當前(待編碼的R塊)16xl6區塊分為16個4x4大小的區塊。 步驟2.對4x4區塊的行進行-維整數變換。將經變換區塊表示為Y。 步驟3. Y(O,O) = Y(O,O) - 4 *水平預測陣列(O) Y(l,O) = Y(,0) - 4 *水平預測陣列(1) Y(2,0) = Y(2,0) - 4 *水平預測陣列(2) Y(3,0) = Y(3,0) - 4 *水平預測陣列(3)步驟4.對4x4區塊的列進行一維整數變換。用Z表示經變換區塊。 步驟5.收集每個4x4區塊的DC係數並形成4x4 DC係數陣列。 步驟6.對此4x4 DC係數陣列進行二維Hadamard變換。步驟1和2可由變換區塊510執行。步驟3中的減法由減法區塊520執行,水平預 測陣列乘以比例因子由變換R塊530執行,且步驟4-6由變換K塊560執行。因此,從上文屮可了解,可採ffl各種預測方法來減少資源要求。可能需要依據特定 變換方法擴展和/或修改所述特徵。下文以實例描述上述編碼和相應的解碼。8.平均/DC預測模式中的解碼圖7A是說明本發明一實施例中的解碼方法的框圖。所述框圖展示為含有變換區塊 730、反變換區塊705、加法區塊720、預測區塊740以及反量化區塊760。下文更詳細 描述每一區塊。預測區塊740如上文相對於圖5中的變換區塊340所描述的那樣操作。變換區塊730 以與上文相對於圖3中的變換區塊330所描述相似的方式操作,只是比例因子不同。基 於區塊大小、反變換和視頻編碼標準確定比例因子。由於預測區塊740和變換區塊730 的操作,僅在路徑732上接收的矩陣的位置{(0,0)}處的元素可具有非零值且其餘元素將 具有O。反量化區塊760將壓縮區塊(其個別元素)中的位數冃(在可接受的誤差內)恢復 到在例如圖3的量化區塊350中的量化之前存在的位數H 。加法區塊720將在路徑732上接收的預測值加上經反量化值。加法區塊720僅執行一次對應於上述矩陣的{(O,O))位置的加法。反變換區塊705根據反DCT方法執行二維反變換。反變換F.塊705執行對應於上 述變換區塊310的反運算,並可與區塊270 'l'執行的反變換相同來實施。如上所述,變換區塊730可能不需要實質資源,因為在上文的說明性實例中,僅復 制矩陣在位置((O,O))處的僅一個值,並乘以比例因子64。隨著處理的區塊人小增加,資 源要求的減少相應地更多。9. 使用水平/垂直預測模式的解碼圖7B是說明本發明替代實施例'l'的解碼方法的框圖。所述框圖展示為含有變換區 塊730、反變換區塊710和750、加法區塊720、預測區塊740以及反量化區塊760。下 文更詳細描述毎一區塊。預測區塊740如十.文相對於圖5中的區塊540所描述而操作。變換區塊730以與卜. 文相對於罔5中的區塊530所描述相似的方式操作,只是比例因子不同。基於區塊大小、 反變換和視頻編碼標準確定比例因子。由於預測區塊740和變換區塊730的操作,在路 徑732上接收的矩陣的第一行將在各自位置{(0,0), (O,l), (0,2), (0,3川處具有不同的值(A, B, C, D)且其餘元素將為0。反量化區塊760將壓縮區塊(其個別元素)中的位數目(在可接受的誤差內)恢復 到在例如圖5的量化區塊550中的量化之前存在的位數目。反變換區塊750根據上述反DCT方法執行反變換的,(水平)。加法區塊720將 在路徑732上接收的預測值加上經半反變換數據。加法區塊720僅執行四次對應於上述 第一行的四個位置的加法。反變換區塊710根據反DCT方法執行垂直反變換,以完成總反變換。與圖2相比可了解,圖7B的兩個反變換750和710表示在IK塊270中執行的合併 的單.-'反變換。如上所述,變換區塊730可能不需要實質資源,因為在上文的說明性實 例中,僅第一行的值中的每個值乘以比例因子64。隨著處理的區塊大小增加,資源要求 的減少相應地更多。儘管相對於垂直模式提供十.文的描述,但類似方法也可用於水平預測模式。在H.264 編碼標準的實施例的一者中,不考慮預測模式、區塊大小(16x16、 8x8或4x4)或數據 類型(亮度或色度)而使用比例因子64。所述特徵也可擴展到其它類型的預測模式,如 上所述。下文相對於圖8A-8F以實例進一步描述本發明的特徵。10. 實例相對於圖8A,部分810表示示範性的一組對應於4x4圖像區塊位置的重構值。圖5 中在路徑541上提供重構值810。部分820表示在當前迭代中目前正在編碼的當前圖像 區塊。圖8B表示在路徑121上接收的4x4原始圖像區塊中的示範性的一組值。圖8C表示 對應於圖8B的原始圖像區塊的在路徑543上提供的示範性的一組所預測圖像區塊。通 過基於重構值810執行垂直預測來獲得所預測圖像區塊。因此,複製810的水平值。每 個值表示在上述等式2-5中使用的垂直DC預測係數。圖8 D表示變換區塊510的輸出。變換區塊510對圖8 B的原始圖像區塊執行垂直整 數DCT變換。圖8E表示變換Lx;塊530的輸出。變換區塊530根據等式2-5以等於4的 比例因子2計算圖8E中的值。例如,第一值312獲得為78*4,通過執行77*4獲得第二 值308。此計算的結果表示對所預測圖像區塊的垂直整數DCT變換。圖8F表示減法區塊520的輸出。減法K塊520執行圖8E的值與圖8D的相應值的 減法,以獲得圖8E的第--行的值。從圖8D的第二、第三和第四行直接獲得圖8E的其 餘行的值。因此,減法區塊520僅執行4次減法。圖8G表示變換區塊560的輸出。變換區塊560對圖8F的值執行水平整數DCT變 換。量化區塊550量化圖8G中的每個值。解碼是根據圖7B執行,且為了簡明而不重複。應了解,可以硬體、軟體和固件中的一者或-者以上的組合來實施上述特徵。'般 來說,當處理量性能是主要考慮因素時,更多地以硬體(例如,以專用集成電路的形式) 執行實施方案。當成木是主要考慮因素時,更多地以軟體(例如,使用執行軟體/固件中提供的指令 的處理器)執行實施方案。可通過以硬體、軟體和/或固件的所需混合實施所述系統來平 衡成本與性能。下文描述實質上以軟體實施的實施例。ll.軟體實施方案圖9是說明在另一實施例中處理單元110A的細節的框圖。處理單元IIOA可含有一 個或一個以上例如中央處理單元(CPU) 910的處理器、隨機存取存儲器(RAM) 920、 次級存儲單元950、顯示控制器960、網絡接口 970以及輸入接口 980。所有組件可經由 通信路徑940彼此通信,通信路徑940可含有相關技術屮眾所周知的若干總線。下文更 詳細描述圖9的組件。CPU 910可執行存儲在RAM 920中的指令以提供本發明的若千特徵。CPU 910可含 有多個處理單元,其中每個處理單元可能被設計用T特定任務。或者,CPU910可含有僅單一通用處理單元。RAM 920可使用通信路徑940接收來0次級存儲單元950的指令。 另外,RAM 920可在上述編碼和解碼操作期間存儲從視頻相機接收的視頻幀。顯示控制器960基於從CPU 910接收的數據/指令產生到達顯示中.兀130A (圖1) 的顯示信號(例如,以RGB格式)。網絡接口 970提供到網絡的連接性(例如,使用因 特網協議),且可用於接收/傳輸經編碼的視頻/數據幀。網絡接口 970可對應於圖1的路 徑115。輸入接U 980可包含例如鍵盤/滑鼠等接U,以及用於接收來t]視頻相機120A 的視頻幀的接口。次級存儲單元950可含有硬碟驅動器956、快閃記憶體957以及可移除存儲驅動器 958。 一些或所有數據和指令可在可移除存儲單元959上提供,且數據和指令可由可移 除存儲驅動器958讀取並提供到CPU 910。軟盤驅動器、磁帶驅動器、CD_ROM驅動器、 DVD驅動器、快閃記憶體、可移除存儲器晶片(PCMCIA卡、EPROM)是此類可移除 存儲驅動器958的實例。或者,數據和指令可複製到RAM 920, CPU 910可從RAM 920 執行。軟體指令的群組(例如,以經編譯對象形式或具有適於由CPU910執行的形式的 後連結)稱為代碼。可使用與可移除存儲驅動器958兼容的媒體和存儲格式實施可移除存儲單元959, 以使得可移除存儲驅動器958可讀取數據和指令。因此,可移除存儲單元959包含其中 存儲有計算機軟體和/或數據的計算機可讀存儲媒體。一般來說,計算機(或通常,機器)可讀媒體指處理器可從屮讀取並執行指令的任 何媒體。媒體可為隨機存取(例如RAM 920或快閃記憶體957)、易失性、非易失性、 可移除或非可移除的,等等。儘管為了說明而展示從處理單元110A內提供計算機可讀 媒體,但應了解,也可在處理單元IIOA外部提供計算機可讀媒體。在本文獻中,術語"電腦程式產品"用於大體上指可移除存儲單元959或安裝在 硬碟驅動器956屮的硬碟。這些電腦程式產品是用於向CPU 910提供軟體的手段。CPU 910可檢索軟體指令,並執行指令以提供上述本發明的各種特徵(編碼和解碼)。12.結論儘管上文已描述本發明的各個實施例,但應了解,僅通過舉例而不是限制的方式來 呈現這些實施例。因此,本發明的寬度和範圍不應受到任何上述示範性實施例的限制, 而是應僅根據所附權利要求書及其等效物來界定。
權利要求
1.一種用於編碼數據幀序列的編碼器,所述編碼器包括第一變換區塊,其接收所述數據幀序列中包含的第一數據幀並根據變換方法產生經變換幀;預測區塊,其使用預測方法從所述序列中所述第一數據幀之前的數據幀產生對應於所述第一數據幀的預測幀;第二變換區塊,其通過同樣根據所述變換方法處理所述預測幀來產生經變換預測數據;減法器區塊,其產生所述經變換預測數據與所述經變換幀的差以產生差數據;以及量化區塊,其量化所述差數據以產生對應於所述第一數據幀的經量化數據。
2. 根據權利要求l所述的編碼器,其中所述變換方法滿足分布性質。
3. 根據權利要求2所述的編碼器,其中所述預測方法經設計以產生與所述第一數據幀 中的元素數目相比較少的具有不同值的元素,且所述不同值在可預測位置產生,其 中所述變換方法經選擇以使得輸出明確地表示輸入數據的變化。
4. 根據權利要求3所述的編碼器,其中所述預測方法包括平均方法,且所述減法器區 塊僅執行單次減法以產生所述差數據。
5. 根據權利要求4所述的編碼器,其中所述預測方法包括水平預測或垂直預測中的一 者,其中所述第一變換區塊在一個維度上對所述第一數據幀執行變換,其中所述維 度是沿著所述預測的方向,所述編碼器進一步包括第二變換區塊,所述第二變換區 塊在由所述減法器區塊產生的輸出的另一維度上執行變換,其中所述第三變換區塊 的輸出被提供作為對所述量化區塊的輸入。
6. 根據權利要求4所述的編碼器,其中所述數據幀的每一者包括相應視頻幀的區塊。
7. 根據權利要求2所述的編碼器,其中所述變換通過將所述預測數據與表示單一數字的比例因子相乘來變換所述預測數據。
8. - 種用於解碼經編碼數據幀序列的解碼器,所述解碼器包括反量化區塊,其產生對應於所述經編碼數據幀序列'l'包含的第'經編碼數據幀屮 的數字值的多個縮放值;預測區塊,其使用預測方法從所述序列中的所述第 一 經編碼數據幀之前的數據幀 產生對應於所述第一經編碼數據幀的預測幀;變換區塊,其根據變換方法變換所述預測幀以產生經變換幀;加法器,其將所述經變換幀的各自值與所述多個縮放值相加以產生相加幀;以及 第一反變換區塊,其對所述相加幀執行所述變換方法的反變換以產生對應於所述 第 一 經編碼數據幀的經解碼幀。
9. 根據權利要求8所述的解碼器,其進一步包括第二反變換區塊,其位於所述反量化區塊與所述加法器之間,並對所述多個縮放 值執行部分反變換以產生經部分變換幀,其中所述加法器以部分變換形式將所述多 個縮放值相加,其中所述第一反變換區塊也完成所述部分反變換。
10. 根據權利要求8所述的解碼器,其中所述變換方法滿足分布性質。
11. 根據權利要求9所述的解碼器,其中所述預測方法經設計以產生';J所述第 一 經編碼 數據幀中的元素數目相比較少的具有不同值的元素,且所述不同值在可預測位置產 生,其中所述變換方法經選擇以使得輸出明確地表示輸入數據的變化。
12. 根據權利要求11所述的解碼器,其中所述預測方法包括平均方法,且所述加法器 執行單次加法。
13. —種處理多個數據幀的方法,所述方法包括接收數據幀序列中包含的第一數據幀並根據變換方法產生經變換幀,其中所述數 據幀序列包含在所述多個數據幀中;使用預測方法從所述序列屮的所述第一數據幀之前的數據幀產生對應於所述第一數據幀的預測幀;通過同樣根據所述變換方法處理所述預測幀來產生經變換預測數據; 產生所述經變換預測數據與所述經變換幀的差以產生差數據;以及 量化所述差數據以產生對應於所述第一數據幀的經量化數據。
14. 根據權利耍求13所述的方法,其中所述變換方法滿足分布性質。
15. 根據權利要求14所述的方法,其中所述預測方法經設計以產生與所述第 --數據幀屮的元素數n相比較少的具有不同值的元素,且所述不同值在可預測位置產生,其中所述變換方法經選擇以使得輸出明確地表示輸入數據的變化。
16. 根據權利要求13所述的方法,其中所述預測方法包括水平預測或垂宵預測中的一 者,其中所述第一數據幀首先在--個維度上變換,其中所述維度是沿著所述預測的 方向,所述方法進一步包括在所述差數據的另一維度上執行變換。
17. 根據權利要求13所述的方法,其進一步包括接收經編碼格式的第二數據幀,其中所述第二數據幀包含在所述多個數據幀中包 含的第二幀序列中;產生對應於所述第二數據幀中的數字值的多個縮放值;使用第二預測方法從所述第二幀序列屮的所述第二數據幀之前的數據幀產生對 應於所述第二數據幀的第二預測幀;通過同樣根據所述變換方法處理所述第二預測數據來產生經變換的第二預測數 據;將所述經變換的第二幀的各自值與所述多個縮放值相加以產生相加值;以及 對所述相加幀執行所述變換方法的反變換以產生對應於所述第二經編碼數據幀 的解碼幀。
全文摘要
本發明涉及數據幀序列的有效編碼/解碼。其中一個實施例為通過首先對預測數據和輸入數據執行變換,並接著對所得輸出執行減法來編碼數據。在一實施例中,預測方法經選擇以使得產生(與輸入數據中的元素數目相比)較少的具有不同值的元素,且所述不同值在可預測位置產生。所述變換方法經選擇以使得所述輸出明確地表示所述輸入數據的變化,並且滿足分布性質。可基於相同概念執行解碼。因此,可有效地編碼和/或解碼所述數據。
文檔編號H04N7/50GK101335893SQ200810108620
公開日2008年12月31日 申請日期2008年5月21日 優先權日2007年5月25日
發明者阿努拉格·戈埃爾 申請人:輝達公司