新四季網

利用相對和絕對增量值的數據壓縮和解壓縮的製作方法

2023-10-09 00:07:34

專利名稱:利用相對和絕對增量值的數據壓縮和解壓縮的製作方法
技術領域:
本發明涉及數據處理中的數據壓縮和解壓縮領域。
背景技術:
隨著現代處理器的處理功率的增加,它們可處理的數據量也增加。對這種增加的數據量在不同設備間的傳輸表現出了其自身的問題,並且,已利用各種不同的壓縮機制來處理這些問題。這些壓縮機制允許在發送之前將數據壓縮成更加緊密的形式,然後,在需要數據的地方在接收時將其解壓縮。一種壓縮數據的方法是增量(delta)壓縮。已經發現,在代表如將要顯示的圖像的數據流中,一般而言,兩個鄰接數據項目之間的差異是相當小的,因此,僅發送第一數據項目然後發送代表與之前的值的差異的值而非發送每個數據項目是更加高效的。如果值是類似的,則很明顯,通過這種方式可發送更少的數據。但是,例如帶有以任意次序來自屏幕的不同貼圖(tile)的數據的圖形數據正在流中發送時可出現問題。就其本性而言,如果計算增量的數據項目是類似的,增量壓縮才高效。因此,在圖形數據流中,應當在相關的數據項目(例如,在數據集中鄰接的那些數據)之間計算增量。這些值可能不出現在彼此靠近的數據流匯總,因此,為了計算增量值,需要用以存儲之前所接收的數據項目的數據倉庫。存在可以任意次序訪問的成千上萬的數據集, 可能未存儲所需要的相關值,除非存儲了非常大量的之前所接收的數據。

發明內容
從第一方面來看,本發明提供了一種用於接收包括多個數據項目並用於輸出壓縮數據流的數據壓縮器,所述數據壓縮器包括用於接收所述數據流的數據輸入端;用於生成壓縮增量值的增量值計算器,所述增量值計算器被配置為從所述數據輸入端接收所述多個數據項目,並被配置為針對接收的數據項目中的至少一些數據項目來訪問數據倉庫,以確定所述接收的數據項目的相關數據項目是否存儲在所述數據倉庫中,以及響應於所述相關數據項目被存儲了,從所述數據倉庫獲取所述相關數據項目,並且,從所述接收的數據項目和所述相關數據項目計算增量值並輸出所述增量值;並且響應於所述相關數據項目未被存儲在所述數據倉庫中,從所述接收的數據項目和預定值計算增量值並輸出所述增量值;所述數據倉庫,用於存儲在所述數據輸入端接收的所述多個數據項目;所述數據壓縮器還包括數據倉庫控制器,用於控制所述多個數項目在所述數據倉庫中的存儲,所述數據倉庫控制器配置為響應於在所述數據輸入端接收到數據項目而訪問所述數據倉庫,並確定是否給所述數據項目分配了存儲位置,以及如果是,則在所述分配的存儲位置中存儲所述數據項目;並且如果否,則給所述數據項目分配存儲位置,收回並丟棄在所述分配的存儲位置中存儲的任何數據,並在所述分配的存儲位置中存儲所述數據項目。本發明認識到利用某些數據流,可存在以任意次序接收的數據項目,使得在數據集或對象中,相鄰值並不彼此相關。在數據項目之間形成增量值僅適用於壓縮兩個數據項目彼此類似的接收數據流,並且,一般出現為它們彼此相關,可能在數據集中鄰接。但是,如果數據流包括以任意次序接收的數據項目,則在數據流中的相鄰數據項目將是不相關的。 為了能夠在數據集中彼此相關的數據項目之間形成增量值,需要數據倉庫,以存儲之前所接收的值,使得當接收新值時,可從數據倉庫獲取相關值,並且,計算對應的增量值。但是, 如果數據流包括以任意次序接收的許多數據項目,則數據倉庫需要很大,以便確保存在所存儲的相關值。如果數據倉庫是諸如緩存器之類的可很快訪問的數據倉庫,則從面積上講是很昂貴的,並且,具有非常大的數據倉庫不是有優勢的。如果使用較小的數據倉庫和更便宜的存儲器,則系統的延遲將取決於是否需要從存儲器中獲取相關數據項目,並且,這將意味著系統的延遲不是恆定的,而是取決於所獲取的實際數據項目,因此,不能存在輸入數據的恆定
吞吐量。本發明通過允許從沒有存儲相關數據項目的預定值來計算「增量值」從而解決該問題。因此,當接收新數據項目時,確定是否存儲了相關數據項目,並且,如果是,則從該相關值計算增量值。但是,如果不是,則僅關於預定的存儲值來計算增量值。該值可以是零 (在該情形中,實際數據項目是輸出)或可以是對數據項目所計算的統計平均。這允許以相同的延遲來計算增量值,而不管是否存在已存儲的相關值。因此,可存在數據的恆定吞吐量,僅在某些情況中(其中,沒有存儲相關數據項目),將不壓縮數據,或者,將不很好地壓縮該數據。數據倉庫是健忘型倉庫,因此,當接收新的數據項目時,確定是否給其分配了存儲位置。如果是,則將值存儲在該位置中,如果不是,則收回另一存儲位置、丟棄數據並將新值存儲在那裡。這樣做是可能的,因為系統能夠處理未被存儲的相關數據項目,因此,覆蓋所存儲的值將不生成錯誤,其可僅導致對未來值的壓縮未被如此高效地執行。應當注意,一般而言,增量值作為在所接收的數據項目和其相關值或預定值之間的差異而計算。該差異可以是簡單的減法,或者,其可以是確定兩個值之間的不同的其他方法。 在某些實施例中,在所述數據流中的所述多個數據項目中的每一個被分類為屬於多個數據對象中的一個,所述數據對象中的每一個包括多個數據項目,所述數據項目存儲在包括與之相關聯的標識了所述數據對象的標識符的所述數據倉庫中,其中,所述數據倉庫控制器配置為在所述數據倉庫中將所述存儲位置分配給所述數據對象。本發明的實施例特別適用於具有若干個數據對象的數據流。當存在多個數據對象時,在相同數據對象內的數據項目將彼此相關,而在其他數據對象中的那些數據項目將一般不彼此相關。因此,如果在數據流中的相鄰數據項目來自不同數據對象,則在它們之間形成增量值將不壓縮數據。因此,如果可將數據項目標識為屬於數據對象並且數據倉庫將存儲位置分配給數據對象,則這是很方便的。因此,可從這些標識符來標識在數據倉庫中的相關值,並且,計算對應的增量。如果數據流具有已很好定義的格式,則在數據流中的數據項目中的每一個將不必具有標識符比特,而是可從在數據流中的位置和可能從該數據對象的單個標識符比特而被標識為屬於具體數據對象。在某些實施例中,所述數據項目和所述相關數據項目屬於相同的數據對象,使得所述數據控制器配置為響應於確定所述相關數據項目存儲在所述數據倉庫中並獲取所述相關數據項目以用於計算所述增量值,將所述數據項目存儲在分配給所述相同數據對象的所述存儲位置中,並且,收回並丟棄所述相關數據項目。在某些實施例中,將存儲位置分配給數據對象,因此,當接收數據項目時,如果在數據倉庫中的存儲位置已被分配給該數據對象,則相關數據項目將被存儲在數據倉庫中, 並且,可從該相關數據項目來計算增量,當這已完成時,所接收的數據項目可被存儲在該已分配的存儲位置中,並且,所存儲的數據項目可被收回並丟棄。一旦相關值已擁有計算增量,則其不再被需要,因此,其被所相關的值所覆蓋,其將與從相同數據對象所接收的下一數據項目相關。在某些實施例中,所述數據對象的每一個包括多個數據部分,所述數據部分中的每一個包括在所述數據流中的多個相鄰數據項目,所述數據倉庫控制器配置為將數據部分存儲在分配給所述對應數據對象的所述存儲位置中的一個。在某些實施例中,所述數據倉庫控制器被配置為響應於接收到所述數據部分中的一個的第一數據項目,確定來自相同數據對象的數據部分是否存儲在所述數據倉庫的存儲位置中,使得所述存儲位置被分配給所述數據對象,以及如果是,則利用所述增量值計算器從在所述所接收數據部分中的至少一個數據項目和在所述所存儲的數據部分中的至少一個相關數據項目計算增量值,然後,從所述所分配的存儲位置收回所述所存儲的數據部分,並且,將所述所接收的數據部分存儲在所述所分配的存儲位置中;以及,如果不是,則從所述存儲位置中的一個收回並丟棄數據,並且,將所述存儲位置分配給所述數據對象,並且,將所述數據部分存儲在所述所分配的存儲位置中。當接收到新的數據部分時,數據倉庫控制器查看來自相同的數據對象的數據部分是否存儲在數據參考中,如果是,則數據部分中的數據項目中的至少一個將被用來利用所接收的數據部分中對應的數據項目來形成增量,並且,所接收的數據部分將覆蓋之前所存儲的數據部分。在某些實施例中,數據流包括具有相鄰數據項目的數據部分,並且,數據倉庫控制器將整個數據部分存儲在分配給該具體數據對象的每個存儲位置中。在某些實施例中,針對所述數據項目中的至少一個,所述相關數據項目包括在相同數據部分中的數據項目。從在不同數據部分但在相同數據對象中的相關數據項目計算增量。還可在數據部分內計算增量,使得在數據部分內的數據項目可以是相關的,並且,它們之間的增量值將是其壓縮版。在某些實施例中,針對所述數據項目中的至少一個,所述相關數據項目包括來自屬於相同數據對象的之前所接收的數據部分中的對應位置的數據項目。相關數據項目還可以是來自相同數據對象但是來自不同數據部分的對應數據項目。通過這種方式,可彼此連結數據部分,並且,可通過這些增量值來連結在數據部分中的不同數據項目。然後,可以合適地壓縮數據,並且,可從所接收的值中將其解壓縮。在某些實施例中,屬於相同的數據對象並通過所述標識符所標識的所述數據項目被指定到相同的目的地。雖然數據對象可以是所提供的多個不同數據集,該數據集包括以某種方式彼此相關的數據,但是,在某些實施例中,其為被指定到具體的目的地的數據集。
在某些實施例中,所述至少一個數據流包括至少一個圖形數據流,所述數據對象包括用於在圖形顯示器中繪製貼圖的圖形命令列表,所述數據部分包括所述圖形命令中的一個,並且,所述數據項目包括在所述圖像命令內的欄位。通過本發明的實施例,圖形數據流特別適於壓縮。圖形顯示從貼圖形成,利用圖形命令列表來繪製每個貼圖。因此,用於繪製貼圖的圖形命令列表彼此相關,並且,可在相同貼圖的列表之間和在命令內的欄位之間形成增量值。但是,在不同貼圖的列表之間形成增量值一般將不提供對數據的壓縮。因此,這種圖形數據流將具有很多彼此相關的數據項目和許多彼此不相關的數據項目,並且,將以任意次序來布置數據項目。本發明的實施例利用健忘型數據倉庫,並且,允許利用絕對值來壓縮,這允許在即便沒有存儲相關數據項目的情形中也具有對這種不同數據的恆定吞吐量。雖然數據倉庫可以是許多東西,但是,在某些實施例中,其包括數據緩存器。緩存器是存儲數據的一種方便的方式,其可快速並簡易地訪問。在面積上而言它是昂貴的,因此,具有有限的大小,但是,利用健忘型緩存器並與允許不論是否存儲了相關值都計算數據項目意味著可使用具有合理大小的緩存器,並且,壓縮器將仍舊正確地工作。如果緩存器是數據倉庫,則數據倉庫的每行具有用於標識數據對象的標識值,該行被分配以存儲數據對象。在某些實施示例中,所述數據對象包括用於在圖形屏幕中繪製貼圖的等級層的圖形命令列表,其中,所述數據倉庫控制器配置為響應於接收到所述數據部分中的一個的第一數據項目,確定來自相同的數據對象的數據部分是否存儲在所述數據倉庫的存儲位置中,並且,響應於確定相同的數據對象並未存儲在所述數據倉庫的存儲位置中,標識來自相同的貼圖但是不同等級級別的數據對象,並且,利用所述增量值計算器從所述所接收數據部分中的至少一個數據項目和在所述所存儲數據部分中的至少一個相關數據項目計算至少一個增量值,並且,與標識所述相關數據項目的源的指示一起輸出所述增量值。如果數據流包括用於等級圖形顯示的數據,則用於形成增量的相關值可來自相同貼圖的不同等級層。這將導致壓縮,但是,也將允許解壓縮,因為,當接收增量值時,之前的層將總在解壓縮器處被接收。本發明的第二方面提供了一種數據格式化器,包括輸入端,用於接收數據壓縮器輸出的值;格式化電路,被配置為將所述輸出值封裝到固定大小的數據分組中,所述數據分組具有多個格式中的一個,所述格式中的每一個通過在所述數據分組內的標識符比特來標識;以及輸出端,用於輸出所述數據分組;其中,所述多個格式中的一個包括用於通過存儲太大以至於難以在數據分組中存儲的輸出值的一部分而擴展所述數據分組的容量的擴展格式,所述格式化電路響應於接收所述太大以至於難以在所述數據分組中存儲的所述輸出值,以在所述數據分組和至少一個具有所述擴展格式的進一步分組之間分割所述輸出值, 並且,在所述輸出端輸出所述數據分組和所述至少一個擴展數據分組。某些數據壓縮器,特別是本發明的第一方面的數據壓縮器,能夠特別高效地壓縮某些數據項目,而其他未被很好地壓縮,並且,有時確實根本未壓縮。當格式化該數據以進一步發送它時,很難高效地這樣做,因為代表這些數據項目的數據的大小可能非常不同。如果使用具有不同長度的數據分組,需要編碼以指示每個數據分組的開始和結束。可替換地, 可使用恆定長度的數據分組,但是,這可導致由於所發送的任意數據的可變長度所帶來的對數據的低效封裝。當發送未高效壓縮的數據時,足夠大以容納未壓縮的數據的分組將具有許多空的空間。本發明通過提供恆定的數據分組長度以便無需使用比特來指示分組的長度、或開始和結束來解決該問題。這些數據分組具有多個格式中的一個,該格式通過標識符比特來標識。格式中的一個是擴展格式,使得如果數據分組的存儲容量太小以至於無法存儲輸出值,則該值的一部分可被布置在一個或多個擴展格式分組中。通過這種方式,可使用具有適於存儲一個或多個未壓縮數據項目的大小的數據分組,則如果需要發送未被高效壓縮的更大值,利用這些擴展數據分組,仍舊可發送它。在某些實施例中,所述所接收值包括至少某些通過增量壓縮器壓縮的數據,以形成增量值,並且,所述多個格式包括第一格式,該第一格式包括指示值,該指示值用於指示後續分組是否包括與預定值相關的增量值,或者,是否包括包含與之前所接收的數據項目相關的數據的增量值以及所述增量值中的至少一個的至少一部分;第二格式,該第二格式包括所述增量值中的至少一個的至少一部分;以及所述擴展格式用於將太大以至於難以存儲的所述至少一個增量值的一部分存儲在所述第二格式中。本發明的第二方面的實施例特別適于格式化來自本發明的第一方面的壓縮器的數據。因此,數據格式分組能夠處理與其他數據項目相關的增量值以及通過減去預定值所得的增量值。通過這種方式,通過本發明的第一方面的壓縮器所輸出的已壓縮數據可被存儲在恆定長度的數據分組中,並且,可被標識為與另一數據項目相關的增量值或與預定值相關的增量值,並且,通過這種方式,已壓縮數據可稍後被解壓縮器所識別,並且,可被再現。在某些實施例中,用於所述第一格式的所述指示值提供了對所述增量值是關於哪些之前所接收的數據項目計算的的指示。在某些實施例中,所述格式中的每一個包括專用於存儲所述指示值的指示比特和專用於存儲至少一個數據欄位的比特,所述所接收的值中的每一個包括所述至少一個數據欄位中的一個的數據。格式包括指示具體格式和隨後的至少一個數據欄位的指示符。每個數據欄位用於存儲增量值的至少一部分。在某些實施例中,所述數據格式化器配置為在緊接其所擴展的所述數據分組之前輸出具有所述擴展格式的數據分組。一般在其所擴展的分組之前輸出擴展格式分組。因此,可輸出多個擴展分組,並且,當接收另一格式分組時,理解為這些擴展分組屬於該分組,而無需任何額外的信息。因此,無需開始或結束指示符。本發明的第三方面包括一種包括根據本發明的第一方面的數據壓縮器的數據壓縮系統,該數據壓縮器與根據本發明的第二方面的數據格式化器相耦合。本發明的第四方面提供了一種數據解壓縮器,包括輸入端,用於接收包括固定大小的多個數據分組的已壓縮數據流,每個數據分組存儲多個值,所述數據分組具有多個格式中的一個,所述多個格式中的每一個通過在所述數據分組內的標識符比特所標識,所述多個格式中的一個包括用於存儲太大以至於難以在相關的數據分組中存儲的至少一個輸出值的一部分的擴展格式;數據解格式化器,用於從所述標識符比特識別所述數據分組的所述格式,並且用於將存儲在所述擴展分組中的至少一個擴展分組中的數據和存儲在所述相關數據分組中的數據相組合;數據解壓縮器,用於解壓縮所述數據。本發明的第五方面提供了一種壓縮數據的方法,包括如下步驟在數據輸入端接收包括多個數據項目的數據流;訪問數據倉庫,並確定與所接收的數據項目相關的數據項目是否存儲在所述數據倉庫中,以及響應於存儲了所述相關數據項目,從所述數據倉庫獲取所述相關數據項目,並且計算包括所述接收的數據項目和所述相關數據項目之間的差異的增量值,並輸出所述增量值;響應於在所述數據倉庫中未存儲所述相關數據項目,計算包括所述接收的數據項目和預定值之間的差異的增量值,並輸出所述增量值;訪問所述數據倉庫,以確定是否給所述接收的數據項目分配了存儲位置,以及如果否,則將在所述數據倉庫中的存儲位置分配給所述數據項目,並且收回並丟棄存儲在所述存儲位置的數據;將所述數據項目存儲在所述分配的存儲位置中。本發明的第六方面提供了一種格式化已壓縮數據的方法,包括接收數據壓縮器輸出的值;將所述輸出值封裝到固定大小的數據分組中,所述數據分組具有多個格式中的一個,所述格式中的每一個通過在所述數據分組內的標識符比特來標識;以及輸出所述數據分組;其中,所述多個格式中的一個包括用於通過存儲太大以至於難以在數據分組中存儲的輸出值的一部分而擴展所述數據分組的容量的擴展格式,所述格式化電路響應於接收所述太大以至於難以在所述數據分組中存儲的所述輸出值,以在所述數據分組和至少一個具有所述擴展格式的進一步分組之間分割所述輸出值,並且,在所述輸出端輸出所述數據分組和所述至少一個擴展數據分組。本發明的第七方面提供了一種壓縮和格式化已壓縮數據的方法,包括本發明的第五方面的方法,其後是根據本發明的第六方面的方法。本發明的第八方面提供了一種解壓縮已壓縮數據的方法,包括接收包括固定大小的多個數據分組的已壓縮數據流,每個數據分組存儲多個值,所述數據分組具有多個格式中的一個,所述多個格式中的每一個通過在所述數據分組內的標識符比特所標識,所述多個格式中的一個包括用於存儲太大以至於難以在相關的數據分組中存儲的至少一個輸出值的一部分的擴展格式;從所述標識符比特識別所述數據分組的所述格式;並且將存儲在所述擴展分組中的至少一個擴展分組中的數據和存儲在所述相關數據分組中的數據相組合;並且解壓縮所述數據。本發明的第九方面提供了一種電腦程式產品,當運行在數據處理器上時,可操作用於控制所述數據處理器執行根據本發明的第六、第七或第八方面的方法的步驟。


將僅通過示例,參照附圖和所說明的實施例來描述本發明,其中圖1示出了根據本發明的實施例的數據壓縮系統;圖2示出了根據本發明的實施例的數據解壓縮系統;圖3示出了根據本發明的實施例的健忘型緩存器;圖4示出了通過本發明的實施例所壓縮的圖形命令;圖5和圖6示出了根據本發明的實施例的已格式化壓縮數據分組的示例;圖7示出了根據本發明的實施例的示出了壓縮數據的方法的流程圖;圖8示出了根據本發明的實施例的示出了在等級式圖形化圖像顯示器中壓縮圖
12形數據的方法的流程圖;圖9示出了根據本發明的實施例的格式化數據的方法;以及圖10示出了根據本發明的實施例的解壓縮數據的方法。
具體實施例方式圖1示出了根據本發明的實施例的數據壓縮系統10。在系統10的輸入端接收數據流5,然後,將其發送到健忘型(forgetful)緩存器20,該健忘型緩存器具有控制緩存器 20內的存儲的緩存控制器22。當接收到數據項目時,緩存控制器22檢查在緩存器20中是否存儲了與所接收的數據項目相關的值,並且,如果已存儲,則該值將被輸出到增量壓縮器 30。然後,緩存控制器22將查看是否給該具體數據項目分配了在緩存器20內的任意存儲位置。如果已分配,則其將數據項目存儲在所分配的位置中,並且,如果未分配,則其將給數據項目分配位置,並且,將把數據項目存儲在那裡,很可能在該過程中覆蓋另一數據項目。可通過多種已知方式(例如,循環方式)來完成對用於覆蓋的數據項目的選擇。以並行方式將數據項目發送到增量壓縮器30和緩存器20。因此,如果已在緩存器 20中存儲了數據,則增量壓縮器30接收數據項目和(很可能地)相關的數據項目。通過計算所接收的數據項目和其相關值之間的差異或者所接收的項目數據和存儲在寄存器32中的預定值之間的差異(如果未存儲相關數據),增量壓縮器30壓縮所接收的數據項目。寄存器32可存儲任意值。其可存儲0,在該情形中,關於該值所計算的增量值將實際上是未壓縮的所接收數據項目,或者,更加通暢地,其將存儲所接收的數據項目的統計平均值。因此, 一般通過從所接收的數據項目值中減去平均值,輸出將更小,由此佔用更少比特。然後,將輸出數據發送到數據格式化器40。數據格式化器40具有格式化電路42,該格式化電路查看所接收的已壓縮數據項目,並且,將其封裝成恆定大小的數據分組。這些數據分組具有不同的格式。存在通用命令或分組,其對若干個大的但並不頻繁變更的數據欄位進行編碼,並且,其具有指示比特,該指示比特可用於指示後續數據項目是處於絕對模式還是相對模式。該指示比特用於指示下一分組包括相對於存儲在寄存器32中的預定值的增量值,或者,指示下一分組包括相對於相關數據項目的增量值。默認所有命令都與之前的命令相關,但是,在通用命令中的指示比特可用於使剩餘的當前命令重新偏置(re-bias),以與預定恆定值相關。通過這種方式,格式化器可輸出在恆定大小的數據分組中所接收的被不同壓縮的數據項目。為了能夠處理這些被不同壓縮的值的不同大小,還存在原語(primitive)分組,該原語分組能夠對整個數據項目集和這些原語的擴展進行編碼,其允許存儲額外的值,其中,未特別壓縮該值,並且, 需要額外的空間。通過這種方式,數據分組的大小不必足夠大以包括最差情形中的未壓縮數據項目,而是可以是將包括一般已壓縮數據項目的大小,並且,擴展分組可用於發送一個或多個值的剩餘部分。在圖5中更詳細地描述了這些不同的格式。圖2以示意性的形式示出了根據本發明的實施例的解壓縮系統50。從壓縮系統 10接收恆定大小的數據分組45,並且,解格式化器60從分組內的標識符識別每個分組的格式,然後,組合擴展分組和它們所屬於的分組,並且,重新形成已壓縮的數據項目。然後,將這些放入解壓縮器70中,該解壓縮器執行用以生成原始輸入壓縮系統10的數據流5所必須的計算。
雖然上述解壓縮系統可用於所有類型的數據流,但是,對於圖形數據而言,它特別有用,其中,存在形成為用於繪製具體貼圖的命令列表的數據貼圖。因此,每個貼圖具有用於繪製該具體貼圖的命令列表,並且,每個命令作為帶有標識符的多個相鄰數據項目發送, 該標識符標識與多個數據項目相關的貼圖。圖3更詳細地示出了圖1的存儲這種命令數據的健忘型緩存器20。緩存器的每一行存儲圖形命令。存在與在流中的每個命令相關聯的數據對象/列表標識符,該標識符標識與該命令相關的貼圖和命令列表,並且,這些標識符作為與數據項目相關聯的標誌存儲在緩存器中。這些列表標識符用於確認之前的數據項目是否已在緩存器中。在該示例中, 每個列表或貼圖具有分配給它的行,其通過在標誌(未示出)中的標識符所標識。因此,當接收來自該列表的新命令時,獲取值以用於合適的增量計算,然後,將新近接收的值存儲在分配給該具體列表的緩存器的該行中。在這方面,等級級別可作為標誌的一部分被明確存儲,或者,可數學地將貼圖位置和等級級別組合成單個標識符欄位。保持等級級別分離使得執行在用於相同貼圖但屬於不同等級級別的列表之間的增量更加容易。圖4更加詳細地示出了這種命令的性質,因此,可存在輸入欄位、提供應當先執行哪個命令的信息的時間戳,並且,存在在圖中被標識為索引1、索引2和索引3的不同欄位, 並且,這些索引與不同的原語命令相關,原語命令可以是用於繪製具體原語的命令。還存在標識命令與哪個貼圖相關的標識符。圖4還示出了如何組合不同欄位以形成增量。在該實施例中,在每個命令內的兩個欄位之間以及在來自相同貼圖的命令的對應欄位之間形成增量。這是一種壓縮數據的有效方法,因為在命令的每個列表中,對應欄位很可能參照類似的頂點索引(vertex indices),因此,在命令內的對應欄位將是類似的。另外,一起繪製的原語可能具有類似的大小,並且,處於類似的屏幕坐標,因此,很可能最終在相同的列表中。還通常通過軟體工具來優化原語數據集,因此,一起提交的用於繪製的原語很可能具有相對不經常變更的類似頂點索引和全局狀態。因此,在所示出的示例中,使用命令間壓縮和命令內壓縮。從獲取自緩存器20的相關命令的索引3來計算用於索引3的增量,並且,關於索引3來計算用於索引2的增量, 並且,從索引2來計算用於索引1的增量。在啟動時,或者,如果沒有存儲相關值,將關於存儲在圖1的寄存器32中的預定值來計算用於索引3的增量。圖5示出了通過數據格式化器30輸出的數據分組的某些格式的示例。數據分組具有標識它們是哪種格式的標識符。因此,在該具體示例中,存在擴展標識符、原語標識符和通用標識符,該分組用於建立某些不頻繁變更的全局狀態,並且,用於指示何時以下的分組是關於預定值的增量值。圖6示出了帶有三個正被輸出的數據項目(欄位A、欄位B和欄位C)的示例已壓縮數據流。欄位C還未被很好壓縮,而欄位A和B已被適度壓縮,但未被很好壓縮。如果所有三個值都已被很好壓縮,則它們將剛好放入單個原語分組80中。但是,因為並非這種情況,所以已使用擴展分組82來容納這些欄位的額外比特。這些擴展分組具有公共的擴展分組格式,因此,需要較少的標識符比特。首先接收擴展分組,然後在接收到原語時,將值組合在一起。因此,該可變長度編碼機制利用少量固定長度的已壓縮分組來同時對多個數據欄位的可變長度數據項目進行編碼。具體地,在發明的實施例中,其使用四種類型的32比特分組來編碼每原語最多198比特。不同的格式包括通用格式,該通用格式建立某些不頻繁變更的全局狀態,並且,允許在解壓縮器中的增量值被可選地重置,以處理在壓縮器中的緩存器的健忘性,即,其能夠識別在緊隨其後的分組中的增量是相對增量還是關於絕對值的增量。還存在專用格式(未示出),該專用格式提供極少變更的廣數據項目的高比特,並且,存在如果已壓縮值足夠小則能夠在單個命令中編碼整個原語的原語格式。還存在原語擴展格式,該原語擴展格式用於擴展在原語格式中的所有數據欄位的範圍。很少使用通用格式和專用格式,到那好似,它們確實允許對非常廣的數據項目的高效設置,並且,還允許在中間流中任意重置增量壓縮。原語格式和原語擴展格式提供了對數據流的最頻繁變更部分的高效編碼的新穎方式。分配給在格式中的每個欄位的比特數量是固定的,但並不必是可用比特的等同分割。 通過對多個測試數據集的統計分析來確定比特的精確比例。在壓縮期間,計算增量值,並且,確定對每個欄位編碼所需要的最小比特數。如果任意欄位無法在單個原語格式中表達,則將每個欄位儘可能多的比特布置到隨後被輸出的擴展格式中。在增量值中的剩餘比特被右移所輸出的比特數,然後,重複該處理,直到所有剩餘比特將剛好放入隨後被輸出的原語命令格式中為止。通過該處理,所有增量欄位的可變長度增量值被分割成優先於單個原語格式的零個或多個這種擴展格式。通過首先輸出最重要的比特,我們無需對用於這些擴展格式的序列終結標記進行編碼,或指定組成第四命令的擴展格式的數量。這節約了存儲帶寬,因此, 節約了功率,並且,允許在壓縮器和解壓縮器二者中有非常簡單的硬體。應當注意,未在已壓縮的命令中輸出立標標識符,而是格式化器將命令列表分割成不同的存儲地址區域,其避免了需要去壓縮列表標識符。圖7示出了流程圖,該流程圖示出了根據本發明的實施例的壓縮數據的方法。在數據壓縮器處接收數據流,並且,依次考慮包括若干個數據項目的每個數據部分。計算在數據部分內的不同數據項目之間的增量值,並且,確定來自相同數據對象的數據部件是否存儲在數據倉庫中。如果是,則計算所存儲的數據項目中的至少一個和在所接收的數據部分中的對應的數據項目之間的增量值。然後,將所接收的數據部分存儲在數據倉庫中用於相同數據對象的數據部分當前所存儲的位置處。該存儲位置已被分配該數據對象,因此,其被正確地分配給該數據部分。另外,如果該數據對象的數據項目需要計算來自相同數據對象的數據部分的增量值,則該新近存儲的部分將包括所需要的數據項目。如果來自相同數據對象的數據部分未存儲在數據倉庫中,則計算在數據部分中的數據項目中的至少一個和所存儲的常量之間的增量值。該步驟允許數據倉庫不必存儲所有之前所接收的數據項目。用所存儲的常量來計算增量值一般而言將不提供對值的高效壓縮,但是,其確實意味著總可計算增量值,而無需存儲每個所接收的數據項目。然後,所接收的數據部分被存儲在數據倉庫中的存儲位置中。由於不存在分配給該具體數據對象的存儲位置,其覆蓋已存儲在數據倉庫中的數據部分中的一個,然後,將該存儲位置分配給該新的數據對象。當選擇覆蓋哪個數據部分時,緩存控制器利用若干個已知例程中的一個,諸如,確定哪個是存儲在數據倉庫中的最老的數據部分。應當注意,雖然在流程圖中示出步驟以該具體次序執行,但是,它們可以以不同的次序執行,使得在數據部分之間的增量值或關於常量的增量值之後計算數據部分中的增量值。圖8示出了流程圖,該流程圖示出了用於等級式圖形顯示的壓縮數據的方法。在數據流中接收用於繪製貼圖部分的以圖形命令形式存在的數據部分。計算在所接收的數據項目中的至少兩個之間的增量值,並且,確定是否在數據倉庫中存儲了來自相同數據對象和相同數據等級的數據部分。換言之,是否存在來自相同的命令列表和圖形貼圖的相同等級的另一命令。如果存在,則計算在所存儲的數據項目和在所接收的數據部分中的對應數據項目之間的增量值。如果不存在來自相同等級和所存儲的貼圖的數據部分,則確定是否存在來自相同的貼圖但來自不同的等級級別的數據部分。如果存在,則從該所存儲的部分計算增量值。已發現,計算在來自相同的貼圖但來自不同的等級級別的對應數據項目之間的增量值一般而言確實提供好的壓縮,並且,找到可與之形成增量的之前值的機率增加了。 但是,需要與已壓縮值一起輸出某些指示,其指示其與另一等級級別相關。如果在數據倉庫中根本不存在用於該貼圖的所存儲的命令,則計算在所接收的數據項目和所存儲的常量之間的增量值,並且,將所接收的命令存儲在數據倉庫中的存儲位置中,該存儲位置通過某些已知方法被選擇。在來自相同數據等級級別的貼圖的命令出現在數據倉庫中的情形中,該命令被新近接收的命令所覆蓋。在來自不同數據等級級別的貼圖的命令出現在數據倉庫中的情形中,如果存在空間或存在當已計算增量時許多新近未被分配的行,一行被分配給該命令。與圖7 —樣,在合適時,可以不同的次序執行方法的步驟。圖9示出了流程圖,該流程圖示出了根據本發明的實施例的將已壓縮數據格式化成數據分組的方法。接收已壓縮數據,並且,確定一個或多個值是否是關於另一數據項目的增量值。如果不是,則使用通用分組來向系統指示該增量值是關於常量而形成的,並且, 包括所接收的已壓縮值,該值和指示被封裝在該通用分組中,並且,如果在通用分組中不存在足夠的空間,則還將其封裝到通用擴展分組中。然後,將與其相關的其他增量值封裝成原語,並且,必要時,封裝成原語的擴展分組。這些增量值可以是與其他數據值相關的增量值, 或者,它們中的某些是關於常量的絕對值,在後一種情形中,在通用分組中的指示符將指示之。然後,分組作為通用分組、通用分組的擴展(如果需要擴展)、對原語分組的一個或多個擴展(如果需要擴展)以及指示與之相關的命令包的結束的原語分組輸出。如果值是關於另一數據值所形成的增量值,則確定這些值是否將剛好放入原語數據分組中。如果可以,則將其封裝到該原語數據分組中,並且,將其輸出。如果不可以,將其封裝到至少一個原語數據分組擴展、原語數據分組和一個或多個擴展分組中,然後,將原語數據分組輸出。原語分組的輸出指示命令包的數據的結束。然後,考慮所接收的進一步的值。因此,通用分組提供了增量值關於常量而形成的指示,並且,在沒有這種分組的情形中,假定所有增量值是關於另一數據值的增量值。圖10示出了流程圖,該流程圖示出了根據本發明的實施例的解壓縮數據的方法。 首先,接收包括固定大小的多個數據分組的已壓縮數據流。分析每個分組,並且,從在分組中的格式標識符來識別分組的格式,然後,準確確定哪些數據項目存儲在數據分組中。數據項目的不同部分可存儲在多個分組中,並且,組合這些以形成已壓縮的數據項目。然後,確定它們與之相關的其他增量值或絕對值,然後,將其解壓縮以生成原書數據項目。在所附權利要求中定義了本發明的各種進一步的方面和特徵。可對此處所描述之前的實施例進行各種修改,只要不偏離本發明的範圍即可。雖然此處已參照附圖描述了發明的說明性實施例,但是,應當理解,發明並不限於那些準確的實施例,並且,對本領域技術人員而言,可實施各種變更和修改,只要不偏離由所附權利要求所定義的發明的範圍和精神即可。
權利要求
1.一種用於接收包括多個數據項目並用於輸出壓縮數據流的數據壓縮器,所述數據壓縮器包括用於接收所述數據流的數據輸入端;用於生成壓縮增量值的增量值計算器,所述增量值計算器被配置為從所述數據輸入端接收所述多個數據項目,並被配置為針對接收的數據項目中的至少一些數據項目來訪問數據倉庫,以確定所述接收的數據項目的相關數據項目是否存儲在所述數據倉庫中,以及響應於所述相關數據項目被存儲了,從所述數據倉庫獲取所述相關數據項目,並且,從所述接收的數據項目和所述相關數據項目計算增量值並輸出所述增量值;並且響應於所述相關數據項目未被存儲在所述數據倉庫中,從所述接收的數據項目和預定值計算增量值並輸出所述增量值;所述數據倉庫,用於存儲在所述數據輸入端接收的所述多個數據項目; 所述數據壓縮器還包括數據倉庫控制器,用於控制所述多個數項目在所述數據倉庫中的存儲,所述數據倉庫控制器配置為響應於在所述數據輸入端接收到數據項目而訪問所述數據倉庫,並確定是否給所述數據項目分配了存儲位置,以及如果是,則在所述分配的存儲位置中存儲所述數據項目;並且如果否,則給所述數據項目分配存儲位置,收回並丟棄在所述分配的存儲位置中存儲的任何數據,並在所述分配的存儲位置中存儲所述數據項目。
2.根據權利要求1所述的數據壓縮器,其中,所述數據流中的所述多個數據項目每個被分類為屬於多個數據對象中的一個數據對象,所述數據對象每個包括多個數據項目,所述數據項目存儲在包括與之相關聯的標識了所述數據對象的標識符的所述數據倉庫中,其中所述數據倉庫控制器配置為將所述數據倉庫中的所述存儲位置分配給所述數據對象。
3.根據權利要求2所述的數據壓縮器,其中,所述數據項目和所述相關數據項目屬於相同數據對象,使得響應於確定出所述相關數據項目存儲在所述數據倉庫中並獲取所述相關數據項目用於計算所述增量值,所述數據控制器配置為將所述數據項目存儲在分配給所述相同數據對象的所述存儲位置中,並且收回並丟棄所述相關數據項目。
4.根據權利要求2所述的數據壓縮器,其中,所述數據對象中的每一個包括多個數據部分,每個所述數據部分包括在所述數據流中的多個相鄰數據項目,所述數據倉庫控制器配置為將一個數據部分存儲在分配給所述對應數據對象的所述存儲位置中的一個存儲位置中。
5.根據權利要求4所述的數據壓縮器,其中,針對所述數據項目中的至少一個,所述相關數據項目包括在相同數據部分內的數據項目。
6.根據權利要求4所述的數據壓縮器,其中,針對所述數據項目中的至少一個,所述相關數據項目包括來自屬於相同數據對象的之前所接收的數據部分中的對應位置的數據項目。
7.根據權利要求6所述的數據壓縮器,其中,所述數據倉庫控制器配置為響應於接收到所述數據部分中的一個數據部分的第一數據項目,確定來自相同數據對象的數據部分是否存儲在所述數據倉庫的存儲位置中使得所述存儲位置被分配給所述數據對象,並且如果是,則利用所述增量值計算器從所述接收的數據部分中的至少一個數據項目和所述存儲的數據部分中的至少一個相關數據項目計算增量值,然後從所述分配的存儲位置收回所述存儲的數據部分,並且將所述接收的數據部分存儲在所述分配的存儲位置中;並且如果否,則從所述存儲位置中的一個存儲位置收回並丟棄數據,將所述存儲位置分配給所述數據對象,並將所述數據部分存儲在所述分配的存儲位置中。
8.根據權利要求2所述的數據壓縮器,其中,屬於相同數據對象並由所述標識符標識的所述數據項目被指定到相同目的地。
9.根據權利要求2所述的數據壓縮器,其中,所述至少一個數據流包括至少一個圖形數據流,所述數據對象包括用於在圖形顯示器中繪製貼圖的圖形命令列表,所述數據部分包括所述圖形命令中的一個,並且,所述數據項目包括在所述圖像命令內的欄位。
10.根據權利要求1所述的數據壓縮器,其中,所述數據倉庫包括數據緩存器。
11.根據權利要求2所述的數據壓縮器,其中,所述數據倉庫包括數據緩存器,並且其中,所述數據緩存器的每行包括用於存儲標識值的倉庫,該標識值用於標識所述行被分配用以存儲的所述數據對象。
12.根據權利要求11所述的數據壓縮器,其中,所述數據對象中的每個包括多個數據部分,每個所述數據部分包括在所述數據流中的多個相鄰數據項目,所述數據倉庫控制器被配置為在分配給所述對應數據對象的所述存儲位置中的一個存儲位置中存儲數據部分; 並且針對所述數據項目中的至少一個,所述相關數據項目包括來自屬於相同數據對象的之前接收的數據部分中的對應位置的數據項目;並且所述數據對象包括用於在圖形屏幕中繪製貼圖的等級層的圖形命令列表,其中,所述數據倉庫控制器被配置為響應於接收到所述數據部分中的一個數據部分的第一數據項目, 確定來自相同數據對象的數據部分是否存儲在所述數據倉庫的存儲位置中,並且,響應於確定出相同數據對象並未存儲在所述數據倉庫的存儲位置中,識別來自相同貼圖但是不同等級級別的數據對象,並且,利用所述增量值計算器所述接收的數據部分中的至少一個數據項目和所述存儲的數據部分中的至少一個相關數據項目計算至少一個增量值,並且,與識別所述相關數據項目的源的指示一起輸出所述增量值。
13.一種數據格式化器,包括輸入端,用於接收數據壓縮器輸出的值;格式化電路,被配置為將所述輸出值封裝到固定大小的數據分組中,所述數據分組具有多個格式中的一個,所述格式中的每一個通過在所述數據分組內的標識符比特來標識; 以及輸出端,用於輸出所述數據分組;其中,所述多個格式中的一個包括用於通過存儲太大以至於難以在數據分組中存儲的輸出值的一部分而擴展所述數據分組的容量的擴展格式,所述格式化電路響應於接收所述太大以至於難以在所述數據分組中存儲的所述輸出值,以在所述數據分組和至少一個具有所述擴展格式的進一步分組之間分割所述輸出值,並且,在所述輸出端輸出所述數據分組和所述至少一個擴展數據分組。
14.根據權利要求13所述的數據格式化器,其中,所述接收的值包括至少一些通過增量壓縮器壓縮以形成增量值的數據,並且,所述多個格式包括第一格式,該第一格式包括指示值,所述指示值用於指示後續分組是否包括與預定值相關的增量值或者包括包含與之前接收的數據項目相關的數據的增量值,以及所述增量值中的至少一個增量值的至少一部分;第二格式,該第二格式包括所述增量值中的至少一個增量值的至少一部分;並且所述擴展格式用於將太大以至於難以存儲的所述至少一個增量值的一部分存儲在所述第二格式中。
15.根據權利要求14所述的數據格式化器,其中,用於所述第一格式的所述指示值提供了對所述增量值是關於之前接收的哪個數據項目而計算的指示。
16.根據權利要求13所述的數據格式化器,其中,所述格式中的每一個格式包括專用於存儲所述指示值的指示比特和專用於存儲至少一個數據欄位的比特,所述接收的值中的每一個包括所述至少一個數據欄位中的一個的數據。
17.根據權利要求13所述的數據格式化器,其中,所述數據格式化器被配置為在緊接其所擴展的所述數據分組之前輸出具有所述擴展格式的數據分組。
18.—種包括根據權利要求1所述的數據壓縮器的數據壓縮系統,該數據壓縮器與數據格式化器相耦合,所述數據格式化器包括輸入端,用於接收數據壓縮器輸出的值;格式化電路,被配置為將所述輸出值封裝到固定大小的數據分組中,所述數據分組具有多個格式中的一個,所述格式中的每一個通過在所述數據分組內的標識符比特來標識; 以及輸出端,用於輸出所述數據分組;其中,所述多個格式中的一個包括用於通過存儲太大以至於難以在數據分組中存儲的輸出值的一部分而擴展所述數據分組的容量的擴展格式,所述格式化電路響應於接收所述太大以至於難以在所述數據分組中存儲的所述輸出值,以在所述數據分組和至少一個具有所述擴展格式的進一步分組之間分割所述輸出值,並且,在所述輸出端輸出所述數據分組和所述至少一個擴展數據分組;其中,所述接收的值包括至少一些通過增量壓縮器壓縮以形成增量值的數據,並且,所述多個格式包括第一格式,該第一格式包括指示值,所述指示值用於指示後續分組是否包括與預定值相關的增量值或者包括包含與之前接收的數據項目相關的數據的增量值,以及所述增量值中的至少一個增量值的至少一部分;第二格式,該第二格式包括所述增量值中的至少一個增量值的至少一部分;並且所述擴展格式用於將太大以至於難以存儲的所述至少一個增量值的一部分存儲在所述第二格式中。
19.一種數據解壓縮器,包括輸入端,用於接收包括固定大小的多個數據分組的已壓縮數據流,每個數據分組存儲多個值,所述數據分組具有多個格式中的一個,所述多個格式中的每一個通過在所述數據分組內的標識符比特所標識,所述多個格式中的一個包括用於存儲太大以至於難以在相關的數據分組中存儲的至少一個輸出值的一部分的擴展格式;數據解格式化器,用於從所述標識符比特識別所述數據分組的所述格式,並且用於將存儲在所述擴展分組中的至少一個擴展分組中的數據和存儲在所述相關數據分組中的數據相組合;數據解壓縮器,用於解壓縮所述數據。
20.根據權利要求19所述的數據解壓縮器,其中,至少一些所述數據分組包括通過增量壓縮器壓縮以形成增量值的數據,並且,所述多個格式包括第一格式,該第一格式包括指示值,所述指示值用於指示後續分組是否包括與預定值相關的增量值或者包括包含與之前接收的數據項目相關的數據的增量值,以及所述增量值中的至少一個增量值的至少一部分;第二格式,該第二格式包括所述增量值中的至少一個增量值的至少一部分;並且所述擴展格式用於將太大以至於難以存儲的所述增量值的一部分存儲在所述第二格式中;其中,所述格式中的每一個格式包括專用於存儲所述指示值的比特和專用於存儲至少一個數據欄位的比特;所述數據解格式化器被配置為從所述第一格式、所述第二格式和所述擴展格式的分組提取增量值,並且所述數據解壓縮器被配置為從所述所提取的增量值和所述預定值來形成原始數據項目。
21.—種壓縮數據的方法,包括如下步驟 在數據輸入端接收包括多個數據項目的數據流;訪問數據倉庫,並確定與所接收的數據項目相關的數據項目是否存儲在所述數據倉庫中,以及響應於存儲了所述相關數據項目,從所述數據倉庫獲取所述相關數據項目,並且計算包括所述接收的數據項目和所述相關數據項目之間的差異的增量值,並輸出所述增量值;響應於在所述數據倉庫中未存儲所述相關數據項目,計算包括所述接收的數據項目和預定值之間的差異的增量值,並輸出所述增量值;訪問所述數據倉庫,以確定是否給所述接收的數據項目分配了存儲位置,以及 如果否,則將在所述數據倉庫中的存儲位置分配給所述數據項目,並且收回並丟棄存儲在所述存儲位置的數據;將所述數據項目存儲在所述分配的存儲位置中。
22.根據權利要求21所述的壓縮數據的方法,其中,在所述數據流中的所述多個數據項目中的每個被分類為屬於多個數據對象中的一個數據對象,所述數據對象中的每個包括多個數據項目,所述數據倉庫中的每個存儲位置被分配給所述數據對象中的一個並且包括標識所述數據對象的標識符,使得響應於所述相關數據項目被存儲在所述數據倉庫中,所述數據項目被存儲在被分配給所述相關數據項目的所述存儲位置中,並且所述相關數據項目被收回並丟棄。
23.一種格式化已壓縮數據的方法,包括 接收數據壓縮器輸出的值;將所述輸出值封裝到固定大小的數據分組中,所述數據分組具有多個格式中的一個,所述格式中的每一個通過在所述數據分組內的標識符比特來標識;以及輸出所述數據分組;其中,所述多個格式中的一個包括用於通過存儲太大以至於難以在數據分組中存儲的輸出值的一部分而擴展所述數據分組的容量的擴展格式,所述格式化電路響應於接收所述太大以至於難以在所述數據分組中存儲的所述輸出值,以在所述數據分組和至少一個具有所述擴展格式的進一步分組之間分割所述輸出值,並且,在所述輸出端輸出所述數據分組和所述至少一個擴展數據分組。
24.一種壓縮和格式化已壓縮數據的方法,包括根據權利要求21所述的方法,其後是一種格式化已壓縮數據的方法,所述格式化已壓縮數據的方法包括接收數據壓縮器輸出的值;將所述輸出值封裝到固定大小的數據分組中,所述數據分組具有多個格式中的一個, 所述格式中的每一個通過在所述數據分組內的標識符比特來標識;以及輸出所述數據分組;其中,所述多個格式中的一個包括用於通過存儲太大以至於難以在數據分組中存儲的輸出值的一部分而擴展所述數據分組的容量的擴展格式,所述格式化電路響應於接收所述太大以至於難以在所述數據分組中存儲的所述輸出值,以在所述數據分組和至少一個具有所述擴展格式的進一步分組之間分割所述輸出值,並且,在所述輸出端輸出所述數據分組和所述至少一個擴展數據分組。
25.一種解壓縮已壓縮數據的方法,包括接收包括固定大小的多個數據分組的已壓縮數據流,每個數據分組存儲多個值,所述數據分組具有多個格式中的一個,所述多個格式中的每一個通過在所述數據分組內的標識符比特所標識,所述多個格式中的一個包括用於存儲太大以至於難以在相關的數據分組中存儲的至少一個輸出值的一部分的擴展格式;從所述標識符比特識別所述數據分組的所述格式;並且將存儲在所述擴展分組中的至少一個擴展分組中的數據和存儲在所述相關數據分組中的數據相組合;並且解壓縮所述數據。
26.一種電腦程式產品,當運行在數據處理器上時,可操作用於控制所述數據處理器執行根據權利要求21所述的方法的步驟。
全文摘要
利用相對和絕對增量值的數據壓縮和解壓縮。數據壓縮器包括接收數據流的數據輸入端;生成已壓縮數據值的增量值計算器,其接收多個數據項目,訪問數據倉庫以確定數據項目的相關數據項目是否存儲在數據倉庫中,響應於存儲了,從數據倉庫獲取相關數據項目並從接收的數據項目和相關數據項目計算並輸出增量值,響應於未存儲,從接收的數據項目和預定值計算並輸出增量值;數據倉庫;控制數據項目存儲的數據倉庫控制器,其訪問數據倉庫,確定是否對數據項目分配了存儲位置,如果是,則在該位置存儲數據項目;如果否,則分配存儲位置,收回並丟棄存儲在該存儲位置的數據,在分配的存儲位置中存儲數據項目。還公開了用於解壓縮已壓縮數據的數據解壓縮器。
文檔編號H04N7/26GK102404564SQ20111026495
公開日2012年4月4日 申請日期2011年9月5日 優先權日2010年9月3日
發明者喬·多米尼克·麥可·塔帕利, 埃萬德·利蘭, 斯恩·特裡斯拉姆·艾利斯 申請人:Arm有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀