新四季網

串長編碼數字圖像的製作方法

2023-12-01 07:10:41

專利名稱:串長編碼數字圖像的製作方法
技術領域:
本發明涉及數字圖像的壓縮和/或解壓。
背景技術:
計算設備一般包括顯示控制器,用於渲染數字圖像並將所渲染的數字圖像顯示在如計算機監視器或平板顯示器的顯示設備上。顯示控制器可渲染數字圖像並將所渲染的數字圖像存儲在幀緩衝器中。幀緩衝器可位於共享系統存儲器或專用視頻存儲器中。當到了要顯示所渲染的數字圖像的時間時,顯示控制器可從幀緩衝器檢索數字圖像,並可產生一個信號以在顯示設備上顯示檢索到的數字圖像。存儲數字圖像和從幀緩衝器檢索數字圖像的過程可消耗大量的存儲器帶寬。如果幀緩衝器位於共享系統存儲器中,由於顯示控制器顯著地減少其它任務的可用存儲器帶寬,將極大地降低計算設備的性能。另外,如果幀緩衝器位於專用視頻存儲器中,為了提供足夠的存儲器帶寬,視頻存儲器子系統可能要用昂貴的存儲技術來實現。

發明內容
本發明的目的是提供用於處理數字圖像的新方法和新裝置,以節約存儲器帶寬,提高系統性能。
根據本發明的第一方面,提供了一種方法,該方法包括量化第一象素和第二象素來獲得量化第一象素和量化第二象素;以及響應於所述量化第一象素和所述量化第二象素具有預定的關係而增大和所述第一象素相關聯的串長。
根據本發明的第二方面,提供了一種方法,該方法包括從代表一個或多個象素的符號中獲得串長和量化象素;以及根據所述串長和所述量化象素構造所述一個或多個象素。
根據本發明的第三方面,提供了一種顯示控制器,其包括壓縮器,用於量化第一象素和第二象素來獲得量化第一象素和量化第二象素,響應於所述量化第一象素和所述量化第二象素具有預定的關係來更新串長,以及用所述串長和所述量化第一象素來生成代表所述第一象素和所述第二象素的符號;所述顯示控制器還包括存儲器接口,用於將所述符號傳送到幀緩衝器。
根據本發明的第四方面,提供了一種包括多個指令的機器可讀介質,所述多個指令響應於被執行而導致計算設備進行以下操作量化多個象素來獲得多個量化象素;識別多串的相等的連續量化象素;以及對每串識別出的連續量化象素生成符號,該符號包括串長和所述識別出的串的一個量化象素。
根據本發明的第五方面,提供了一種計算設備,其包括用於存儲幀緩衝器的系統存儲器,還包括集成顯示控制器,用於從所述幀緩衝器獲得符號,從所述符號獲得串長和量化象素,並根據所述串長和所述量化象素構造一個或多個象素。
本發明所公開的基於串長編碼的數字圖像壓縮及解壓的方法和裝置與現有技術相比,可以節約存儲器資源,提高系統性能。


在附圖中通過示例而非限制來圖示所描述的本發明。為了圖示的簡單和清楚,圖中所圖示的元素並不一定按比例畫出。例如,為了清楚,可能相對於其它元素誇張了一些元素的尺寸。另外,在認為合適的地方,標號在圖中被重複使用以表示相應或相似的元素。
圖1圖示了具有含集成顯示控制器的晶片組的計算設備的實施例;圖2圖示了數字圖像的一個示例實施例;圖3圖示了具有和晶片組分離的顯示控制器的計算設備的實施例;圖4圖示了一種圖1和圖3的顯示控制器可用來壓縮數字圖像單元的方法;
圖5圖示了一種圖1和圖3的顯示控制器可用來解壓數字圖像單元的方法。
具體實施例方式
下面的說明描述了用於壓縮和解壓數字圖像單元的技術。在以下說明中,給出了大量的具體細節,如邏輯實現、操作碼、指定操作數的方法、資源分配/共享/複製的實現、系統元件的類型和相互關係以及邏輯劃分/集成的選擇,以便於更充分地理解本發明。但是應認識到,沒有這些具體細節,本領域的技術人員也可以實施本發明。在另外一些例子裡,沒有詳細示出控制結構、門級電路和完整的軟體指令序列,以免使本發明難以理解。本領域的一般技術人員用所包括的說明將能夠實現合適的功能,而不必進行不必要的實驗。
本說明書中對「一個實施例」、「實施例」和「一個示例實施例」等等的引用表示所描述的實施例可包括某個特定特徵、結構或特性,但並非每個實施例都必須包括該特定特徵、結構或特性。而且,這種短語並不一定指同一個實施例。另外,如果關於一個實施例描述了某個特定特徵、結構或特性,則無論是否明確描述過,也認為實現與其它實施例相關的該特定特徵、結構或特性是在本領域的技術人員知識範圍之內的。
計算設備100的一個示例實施例如圖1所示。計算設備100可包括一個或多個經由處理器總線106耦合到晶片組104的處理器102。晶片組104可包括一個或多個集成電路封裝或晶片,以將處理器102耦合到系統存儲器108、固件110和/或其它設備112(例如滑鼠、鍵盤、磁碟驅動器、掃描儀和照相機等等)。固件110可包括基本輸入/輸出系統例行程序(BIOS),該例行程序可被處理器102在系統啟動期間執行,以初始化計算設備100的元件並開始執行作業系統。
在一個實施例中,晶片組104可包括存儲器控制器114。但是,在其它實施例中,處理器102可包括存儲器控制器114的全部或一部分。存儲器控制器114可為集成顯示控制器116和計算設備100的其它元件提供訪問系統存儲器108的接口。晶片組104還可支持如下列I/O(輸入/輸出)總線上的I/O操作,例如外圍部件互連(PCI)總線、PCI-Express總線、加速圖形埠(AGP)總線、通用串行總線(USB)總線、低引腳數(LPC)總線或任何其它I/O總線(未示出)。
晶片組104還可包括集成顯示控制器116,用來在例如計算機監視器、平板顯示器或電視的顯示設備118上顯示數字圖像。集成顯示控制器116可包括計算機接口120,用來從計算設備100接收或獲得命令和/或數據。計算機接口120可和存儲器控制器114相互作用以從系統存儲器108檢索圖形命令。此外,計算機接口120可提供一個或多個例如AGP埠、PCI埠或PCI-Express埠的視頻埠,經由這些視頻埠,計算機接口120可從處理器102接收數據和/或命令。集成顯示控制器116還可包括存儲器接口122,用來從視頻存儲器124獲得象素(pel)、區域(zone)、幀和塊(tile)等等。如所描述的,系統存儲器108和視頻存儲器124可共享或被實施為同一物理存儲設備。在這樣一個實施例中,部分存儲設備被靜態或動態地分配給系統存儲器108或視頻存儲器124。相應地,集成顯示控制器116的存儲器接口122可和晶片組104的存儲器控制器114相互作用,以將象素、區域、幀和塊等等向視頻存儲器124讀取或寫入。
集成顯示控制器116的渲染引擎126可執行圖形命令以產生用於顯示的數字圖像。如圖2所示,數字圖像可包括一個或多個矩形的非重疊區域(圖2中的Z)。另外,每個區域可包括一條或多條線的圖象元素(picture element)或象素(圖2中的P),並且每個象素可定義在數字圖像的某一特定點處數字圖像的視覺外觀(例如顏色、陰影、色調和透明度等等)。例如,象素可包括依照例如RGB格式、YUV格式、RGBA格式或其它格式的某一特定視頻格式來定義外觀的一個或多個通道。在RGB格式中,每個象素包括一個紅色(R)通道、一個綠色(G)通道和一個藍色(B)通道。類似地,在RGBA格式中,每個象素包括一個紅色(R)通道、一個綠色(G)通道、一個藍色(B)通道和表示透明程度的阿爾法(A)通道。例如,集成顯示控制器116可通過給每個象素賦一個8位(bit)的紅色通道、一個8位的綠色通道和一個8位的藍色通道來實現24位的顏色。在YUV格式中,每個象素可包括一個亮度(Y)通道、一個第一色度(U)通道和一個第二色度(V)通道。類似地,集成顯示控制器116可通過給每個象素的每個YUV通道賦一個8位的值來實現24位的YUV顏色。但是,集成顯示控制器116可選擇更精確地表示亮度(Y)通道。相應地,集成顯示控制器116可通過給每個象素賦一個12位的亮度(Y)通道、一個6位的第一色度(U)通道和一個6位的第二色度(V)通道來實現24位的顏色。一個以YUV格式編碼的數字圖像還可使用如4∶1∶1格式的空間精簡色度格式。在該4∶1∶1格式中,一個宏象素(macro-pel)可包括四個亮度(Y)通道、一個第一色度(U)通道和一個第二色度(V)通道,這些通道確定部分所述宏象素的視覺外觀。
渲染引擎126可執行由指令/數據單元128從系統存儲器108檢索到的圖形命令,並可更新存儲在集成顯示控制器116的區域高速緩存130中的一個或多個區域。在渲染數字圖像的一個或多個區域之後,渲染引擎126可使所渲染的區域被清除出高速緩存130並被寫入幀緩衝器132。幀緩衝器壓縮器/解壓器(編碼解碼器)134可壓縮所清除的區域並將所壓縮的區域提供給存儲器接口122以存儲在幀緩衝器132中。顯示引擎136可隨後從幀緩衝器132檢索所渲染的數字圖像以在合適的時間顯示該數字圖像。具體而言,顯示引擎136可從幀緩衝器132檢索所壓縮的區域,並且編碼解碼器134可解壓檢索到的區域。顯示引擎136可將數字圖像的解壓區域與例如覆蓋(overlay)、硬體光標等等的其它視頻源混和,並可將合成的視頻信號提供給顯示接口138。顯示接口138可將從顯示引擎136接收到的數字視頻信號轉換為適於顯示設備118的模擬或數位訊號。
現在參考圖3,圖示了計算設備100的另一個實施例。如圖3所示,計算設備100可包括和晶片組104分開的非集成顯示控制器140。和集成顯示控制器116相似,非集成顯示控制器140可包括計算機接口120、存儲器接口122、渲染引擎126、指令/數據單元128、區域高速緩存130、編碼解碼器134、顯示引擎136和顯示接口138。另外,非集成顯示控制器140可包括板載視頻存儲器124,非集成顯示控制器140可以以類似於圖1的集成顯示控制器116的方式操作。但是,非集成顯示控制器140的計算機接口120可包括AGP埠、PCI埠、PCI-Express埠或其它設備接口,用來與晶片組104的相應的圖形接口142傳送命令和/或數據,圖形接口142也可包括AGP埠、PCI埠、PCI-Express埠或其它設備接口。而且,非集成顯示控制器140的存儲器接口122可直接訪問視頻存儲器124,從而使得非集成顯示控制器140能夠向視頻存儲器124以及從視頻存儲器124傳送象素、區域、塊和幀等等,而不必消耗存儲器控制器114和系統存儲器108的大量帶寬。
現在參考圖4,描述了一種方法,可由編碼解碼器134用來在傳送到幀緩衝器132之前壓縮區域線(zone line)、區域、幀線(frame line)、幀場(frame field)、幀或其它數字圖像單元的象素。一般地,所述方法對一個數字圖像單元產生一個或多個符號,其中每個符號代表一串一個或多個象素。在塊200中,編碼解碼器134可獲得包含一個或多個通道的一個當前象素並設置串長為一初始值(例如0)。在塊202中,編碼解碼器134可量化當前象素以獲得包含一個或多個量化通道的量化當前象素。每個量化通道可包括每個通道的一個或多個最高有效位(MSB)並可丟棄每個通道的一個或多個最低有效位(LSB)。例如,編碼解碼器134可在18位的量化水平上量化一個24位的RGB象素(例如10010101-11111001-01110001)以獲得一個包含三個6位的量化通道的量化當前象素(例如100101-111110-011100),這三個量化通道保留了每個通道的六個MSB並丟棄了每個通道的兩個LSB。編碼解碼器134可利用多種不同技術來獲得量化當前象素。在一個實施例中,編碼解碼器134可通過將通道和掩碼進行按位與,和/或通過對當前象素的通道進行合適的移位操作,來獲得量化當前象素。而且,編碼解碼器134可在不同水平上量化一個象素的每個通道。例如,編碼解碼器134對一個24位的YUV象素可保留Y通道的7個MSB、U通道的6個MSB以及V通道的5個MSB。
在塊204中,編碼解碼器134可確定是否已經開始了一個新的象素串和相應的新的符號。在一個實施例中,編碼解碼器134可響應於確定串長和初始值(例如0)有預定的關係(例如相等),而確定已經開始了一個新串。響應於確定已經開始了一個新串,編碼解碼器134可進行到塊210。否則,編碼解碼器134在塊208中可設置量化串象素等於量化當前象素。
在塊210中,編碼解碼器134可確定對當前象素是使用無損還是有損壓縮。在一個實施例中,編碼解碼器134可根據晶片組104或顯示控制器116、140的一個或多個配置寄存器(未示出)的狀態來確定是使用無損還是有損壓縮。在另一個實施例中,編碼解碼器134可根據計算設備100的負載來確定是使用無損還是有損壓縮。例如,響應於計算設備100的存儲系統、處理器和/或其它子系統的負載升高到超過一個臨界水平,編碼解碼器134可確定使用有損壓縮甚至增加損失的水平。具體而言,編碼解碼器134可響應於確定到系統存儲器108的可用存儲器帶寬已降到低於某一水平,而確定增大損失。之後編碼解碼器134可響應於確定可用存儲器帶寬已升高到高於某一水平,而減小損失或使用無損壓縮。
響應於確定使用無損壓縮,編碼解碼器134在塊212中可產生一個包含當前象素每個通道的無損通道誤差的無損誤差向量。具體而言,每個無損通道誤差可包括在塊202中從量化通道丟棄的一個或多個LSB。例如,編碼解碼器134可產生一個6位的無損誤差向量(例如
),該無損誤差向量對當前象素的每個通道都包括一個2位的無損通道誤差。具體而言,每個無損通道誤差可包括在塊202的象素量化期間從相應通道丟棄的2個LSB。編碼解碼器134可利用多種不同技術來獲得無損誤差向量。在一個實施例中,編碼解碼器134可通過將通道和塊202中所使用的掩碼進行按位與,和/或通過對當前象素的通道進行合適的移位操作,來獲得無損誤差向量。
響應於確定使用有損壓縮,編碼解碼器134在塊214中可產生一個包含當前象素的每個通道的有損通道誤差的有損誤差向量。具體而言,每個有損通道誤差可包括在當前象素的量化期間丟棄的位的子集。如上所述,所述壓縮的損失可根據計算設備100所受的負載來調整。例如,可通過減少用來定義有損誤差向量的丟棄位子集中的位數來增加損失。類似地,可通過增大用來定義有損誤差向量的丟棄位子集中的位數來減小損失。例如,響應於將子集定義為一位,編碼解碼器134可生成一個3位的有損誤差向量(例如0-0-0),其對當前象素的每個通道都包括一個1位的有損通道誤差。具體而言,每個有損通道誤差可包括在塊202中從當前的24位RGB象素的每個通道丟棄的2個LSB中的MSB。此外,編碼解碼器134可利用多種不同技術來獲得有損誤差向量。在一個實施例中,編碼解碼器134可通過將通道和塊202中所用掩碼的取反進行按位與,和/或通過對當前象素的通道進行合適的移位操作,來獲得有損誤差向量。而且,在一個實施例中,有損誤差向量可不包括位,以進一步增加壓縮的損失。
在塊215中,編碼解碼器134可確定量化當前象素和量化串象素是否有預定關係(例如相等)。如果量化象素有預定關係,則編碼解碼器134可進行到塊217。否則,編碼解碼器134在塊216中可向輸出緩衝器輸出一個代表一個或多個象素的符號,可更新串長以表示新的象素串,可為下一個符號清除誤差向量緩衝器,並可設置量化串象素等於量化當前象素。在一個實施例中,由編碼解碼器134生成的符號可包括串長(例如0011)、量化當前象素(例如100101-111110-011100)和存儲在誤差向量緩衝器中的串的象素的誤差向量(例如
[11-11-10])。在另一個實施例中,所述符號還可包括表示該串使用了無損壓縮或某一水平的有損壓縮的壓縮模式(例如一個1位的值)。所述符號一般比這些一位或多位的原始象素表示包含更少的位。但是,在一個實施例中,所述符號比原始表示實際上包含更多的位。例如,在一個實施例中,表示或編碼單個24位的RGB象素的符號可包括一個4位的串長、一個18位的量化象素和一個6位的無損誤差向量,總共28位。但是,表示或編碼兩個24位的RGB象素的符號可包括一個4位的串長、一個18位的量化象素和一個12位的無損誤差向量,總共34位。
編碼解碼器134在塊217中可將所獲得的無損或有損誤差向量存儲到誤差向量緩衝器中。在塊218中,編碼解碼器134可更新與當前象素和當前串相關的串長以表示將另一個象素加入了符號。在一個實施例中,編碼解碼器134可通過將串長加一來更新串長。編碼解碼器134在塊220中可確定是否結束當前串。在一個實施例中,編碼解碼器134可響應於確定當前象素是區域線、區域、幀線、幀場、幀或被編碼的數字圖像單元的某一部分的最後一個象素,而結束當前串。在另一個實施例中,編碼解碼器134還可根據編碼解碼器134的限制來確定結束當前串。例如,編碼解碼器134可將由符號所代表的象素串限制為一個數,這個數使得編碼解碼器134的用來存儲串長和/或誤差向量的寄存器、緩衝器等等不會溢出。
響應於在塊220中確定結束當前串,編碼解碼器134在塊222中可向輸出緩衝器輸出一個代表一個或多個象素的符號,可更新串長以表示一個新串,並可為下一個符號清除誤差向量緩衝器。在塊222中輸出符號或在塊220中決定不結束串之後,編碼解碼器134在塊223中可確定是否數字圖像的所有象素已被編碼。如果所有象素已被編碼,則數字圖像單元的編碼完成了,編碼解碼器134可退出。否則,編碼解碼器134在塊224中可設置當前象素等於數字圖像單元的下一象素。隨後編碼解碼器134可返回塊202以量化和編碼當前象素。
現在參考圖5,描述了一種方法,可由編碼解碼器134用來從獲得自幀緩衝器132的多個符號來重構區域線、區域、幀線、幀場、幀或其它數字圖像單元。一般地,所述方法可用來從代表數字圖像象素的一個或多個符號重構數字圖像。編碼解碼器134在塊300中可獲得從幀緩衝器132檢索到的壓縮數字圖像的一個符號。在塊302中,編碼解碼器134可從所述符號獲得串長。編碼解碼器134在塊304中可從所述符號中獲得一個量化象素(例如[100101-111110-011100])。在塊306中,編碼解碼器134可根據串長來確定所述符號的解壓是否完成了。在一個實施例中,編碼解碼器134可響應於串長和停止值(例如0)有預定的關係(例如大於)而確定解壓未完成。
響應於確定解壓完成了,編碼解碼器134在塊307中可確定是否數字圖像單元的所有符號都已被解碼。如果數字圖像單元的所有符號都已被解碼,則數字圖像單元的解碼完成了,編碼解碼器134可退出。否則,編碼解碼器134可返回塊300以得到數字圖像單元的下一符號。
響應於確定解壓未完成,編碼解碼器134在塊308中可確定是進行有損還是無損解壓。在一個實施例中,編碼解碼器134可根據晶片組104、集成顯示控制器116、和/或非集成顯示控制器140的一個或多個寄存器來確定是進行無損還是有損解壓。在另一個實施例中,編碼解碼器134可根據從所述符號所獲得的壓縮模式來確定是進行無損解壓還是某個水平的無損解壓。響應於確定將使用無損解壓,編碼解碼器134在塊310中可從所述符號獲得下一個無損誤差向量(例如
)。
響應於確定將使用有損解壓,編碼解碼器134在塊312中可從所述符號獲得下一個有損誤差向量(例如
)。編碼解碼器134在塊314中可替換有損誤差向量的丟棄位以獲得重構的誤差向量。在一個實施例中,編碼解碼器134可對有損誤差向量(例如
)的每個有損通道誤差添加預定的值(例如0)以獲得重構的誤差向量(例如
)。在另一個實施例中,編碼解碼器134可對有損誤差向量(例如
)的每個通道誤差添加當前的抖動值(例如10)以獲得重構的誤差向量(例如
)。在另一個實施例中,編碼解碼器134可用抖動值替換有損誤差向量的丟棄位以獲得重構的誤差向量。例如,編碼解碼器134可將抖動值0更新為抖動值1和將抖動值1更新為抖動值0,並可用更新後的抖動值來替換丟棄位。對丟棄多於單個位的實施例,編碼解碼器134可通過在兩個中心值之間切換來更新抖動值。具體而言,編碼解碼器134可通過在01和10之間切換來抖動兩位,可通過在011和100之間切換來抖動三位,並可通過在0111和1000之間切換來抖動四位。
在塊316中,編碼解碼器134可從所獲得的量化象素和所獲得的誤差向量(例如無損向量或重構誤差向量)來生成象素並將重構的象素存儲到輸出緩衝器中。在一個實施例中,編碼解碼器134可將誤差向量的每個通道誤差添加到量化象素的每個量化通道中。編碼解碼器134可使用很多不同的技術來將通道誤差添加到量化通道中。具體而言,編碼解碼器134可將量化通道合適地移位,並可將移位後的量化通道和通道誤差進行按位或。
編碼解碼器134可在塊318中更新串長以表示所述符號的象素已被重構。在一個實施例中,編碼解碼器134可通過將串長減一來更新串長。編碼解碼器134隨後可回到塊306來確定所述符號的解壓是否完成。如果完成了,則編碼解碼器134可回到300來獲得從幀緩衝器132檢索到的壓縮數字圖像的下一個符號。
計算設備100可響應於執行機器可讀介質的指令來進行圖4和圖5示例方法中的全部或子集,所述機器可讀介質例如只讀存儲器(ROM)、隨機訪問存儲器(RAM)、磁碟存儲介質、光存儲介質、快閃記憶體設備和/或電、光、聲或其它形式的傳播信號,例如載波、紅外信號、數位訊號和模擬信號。另外,雖然圖4和圖5的示例方法圖示為操作序列,但在一些實施例中計算設備100可並行或以不同順序來進行所述方法的各種圖示操作。
在以下表1到7示出了一個無損壓縮/解壓的例子和一個有損壓縮/解壓的例子。具體而言,表1示出了一條具有四個24位RGB象素的區域線,表2示出了在被使用每個通道6位量化到18位的量化水平之後的所述四個24位RGB象素。由表可見,編碼解碼器可簡單地通過每個通道去掉2個LSB來生成18位的量化象素。
表1四個24位RGB象素的區域線

表2區域線的18位量化象素

表3還示出了表2的18位量化象素的無損誤差向量。從表3可見,編碼解碼器可簡單地通過保留在象素量化期間從每個通道去掉的2個LSB來生成6位的無損誤差向量。現在參考表4,示出了表2的18位量化象素的有損誤差向量。編碼解碼器可簡單地通過保留在象素量化期間從每個通道所去掉的MSB來生成3位的有損誤差向量。
表318位量化象素的無損誤差向量

表418位量化象素的有損誤差向量

現在參考表5,示出了對表1的四個24位RGB象素的無損編碼。如所描述的,無損編碼包括將表1的象素0、1和2編碼的符號0,和將表1的象素3編碼的符號1。符號0包括一個表示所述符號代表三個象素的4位串長。而且,符號0包括一個等於表2的18位量化象素0、1和2的18位量化象素。此外,符號0包括如表3所示的對象素0、1和2的三個6位無損誤差向量。類似地,符號1包括一個表示符號1代表單個象素的串長、象素3的18位量化象素以及象素3的無損誤差向量。表5表示這兩個符號僅用68位就代表了96位的象素數據,由此提供了對象素0、1、2和3的一種壓縮表示。之後編碼解碼器可將每個符號的無損誤差向量添加到每個符號的量化象素而解壓符號並獲得表1的四個象素。
表5區域線的無損符號

現在參考表6,示出了對表1的四個24位RGB象素的有損編碼。如所描述的,有損編碼包括將表1的象素0、1和2編碼的符號0,和將表1的象素3編碼的符號1。符號0包括一個表示符號0代表三個象素的4位串長。而且,符號0包括一個等於表2的18位量化象素0、1和2的18位量化象素。此外,符號0對每個象素0、1和2包括表4的3位有損誤差向量。類似地,符號1包括一個表示符號1代表單個象素的串長,表2中的象素3的18位量化象素,以及表4中的象素3的有損誤差向量。表6還表示這兩個符號僅用56位就代表了96位的象素數據,由此提供了對象素0、1、2和3的一種壓縮表示。
表6區域線的有損符號

之後編碼解碼器可向表6的有損誤差向量添加一位而獲得重構誤差向量,還可將重構誤差向量添加到表6的每個符號的量化象素而解壓符號並獲得四個24位象素。表7示出了可從表6的有損符號獲得的一組可能的四個24位象素。具體而言,通過將象素0的每個通道的最後一位狀態設為0並對每個象素切換通道的最後一位狀態,就得到表7的四個象素。從對表7的重構象素和表1的原始象素的比較可見,每個通道的LSB有時正確有時不正確,但一般而言,重構通道即使不等於也非常接近於原始通道。在大多數情況下,用戶不能辨別出原始數字圖像和從有損符號重構的數字圖像之間的不同。
表7從有損符號重構的區域線(w/抖動)

雖然已經參照示例實施例對本發明的某些特徵進行了描述,但並不意於在限定的意義上理解說明書。對本發明所屬領域的技術人員很清楚的是,對於所述示例實施例的各種修改以及本發明的其它實施例,都被認為包含在本發明的精神和範圍之內。
權利要求
1.一種方法,包括量化第一象素和第二象素來獲得量化第一象素和量化第二象素;和響應於所述量化第一象素和所述量化第二象素具有預定的關係,增大和所述第一象素相關聯的串長。
2.如權利要求1所述的方法,還包括生成一個包括所述量化第一象素和所述串長的符號來代表所述第一象素和所述第二象素。
3.如權利要求1所述的方法,其中所述量化包括丟棄所述第一象素的一個或多個最低有效位;和丟棄所述第二象素的一個或多個最低有效位。
4.如權利要求3所述的方法,還包括生成包括從所述第一象素丟棄的所述一個或多個最低有效位的第一誤差向量;生成包括從所述第二象素丟棄的所述一個或多個最低有效位的第二誤差向量;生成代表所述第一象素和所述第二象素的符號,所述符號包括所述量化第一象素、所述串長、所述第一誤差向量和所述第二誤差向量。
5.如權利要求3所述的方法,還包括生成第一誤差向量,該第一誤差向量包括從所述第一象素丟棄的所述一個或多個最低有效位的子集;生成第二誤差向量,該第二誤差向量包括從所述第二象素丟棄的所述一個或多個最低有效位的子集;以及生成代表所述第一象素和所述第二象素的符號,所述符號包括所述量化第一象素、所述串長、所述第一誤差向量和所述第二誤差向量。
6.如權利要求1所述的方法,其中所述第一象素包括多個第一通道,所述第二象素包括多個第二通道,並且所述量化包括從所述多個第一通道丟棄一個或多個最低有效位;和從所述多個第二通道丟棄一個或多個最低有效位。
7.如權利要求6所述的方法,還包括生成包括從所述多個第一通道丟棄的所述一個或多個最低有效位的第一誤差向量;生成包括從所述多個第二通道丟棄的所述一個或多個最低有效位的第二誤差向量;生成代表所述第一象素和所述第二象素的符號,所述符號包括所述量化第一象素、所述串長、所述第一誤差向量和所述第二誤差向量。
8.如權利要求6所述的方法,還包括生成第一誤差向量,該第一誤差向量包括從所述多個第一通道丟棄的所述一個或多個最低有效位的子集;生成第二誤差向量,該第二誤差向量包括從所述多個第二通道丟棄的所述一個或多個最低有效位的子集;生成代表所述第一象素和所述第二象素的符號,所述符號包括所述量化第一象素、所述串長、所述第一誤差向量和所述第二誤差向量。
9.如權利要求6所述的方法,其中根據計算設備的負載來調整包括在所述子集中的位數。
10.一種方法,包括從代表一個或多個象素的符號中獲得串長和量化象素;和根據所述串長和所述量化象素構造所述一個或多個象素。
11.如權利要求10所述的方法,還包括從所述符號獲得一個或多個誤差向量,所述一個或多個誤差向量對應於所述符號的所述一個或多個象素;並且還根據所述一個或多個誤差向量來構造所述一個或多個象素。
12.如權利要求10所述的方法,還包括從所述符號獲得一個或多個有損誤差向量,所述一個或多個有損誤差向量對應於所述符號的所述一個或多個象素;並且還根據所述一個或多個有損誤差向量和所述一個或多個象素的丟失位的預定值來構造所述一個或多個象素。
13.如權利要求10所述的方法,還包括從所述符號獲得一個或多個有損誤差向量,所述一個或多個有損誤差向量對應於所述符號的所述一個或多個象素;還根據所述一個或多個有損誤差向量來構造所述一個或多個象素;和抖動所述一個或多個象素的丟失位。
14.一種顯示控制器,包括壓縮器,用於量化第一象素和第二象素來獲得量化第一象素和量化第二象素,響應於所述量化第一象素和所述量化第二象素具有預定的關係來更新串長,以及用所述串長和所述量化第一象素來生成代表所述第一象素和所述第二象素的符號;和存儲器接口,用於將所述符號傳送到幀緩衝器。
15.如權利要求14所述的顯示控制器,還包括視頻存儲器,所述視頻存儲器包括所述幀緩衝器。
16.如權利要求14所述的顯示控制器,其中所述壓縮器從所述第一象素的多個第一通道丟棄一個或多個最低有效位,並從所述第二象素的多個第二通道丟棄一個或多個最低有效位。
17.如權利要求16所述的顯示控制器,其中所述壓縮器生成包括從所述多個第一通道丟棄的所述一個或多個最低有效位的第一誤差向量,生成包括從所述多個第二通道丟棄的所述一個或多個最低有效位的第二誤差向量,並經由所述第一誤差向量和所述第二誤差向量生成進一步代表所述第一象素和所述第二象素的所述符號。
18.如權利要求17所述的顯示控制器,其中所述存儲器接口還從所述幀緩衝器獲得所述符號,所述顯示控制器還包括解壓器,用於從獲得自所述幀緩衝器的所述符號來獲得所述串長、所述量化第一象素、所述第一誤差向量和所述第二誤差向量,並根據來自所述符號的所述串長、所述量化第一象素、所述第一誤差向量和所述第二誤差向量來構造所述第一象素和所述第二象素。
19.如權利要求16所述的顯示控制器,其中所述壓縮器生成第一誤差向量,該第一誤差向量包括從所述多個第一通道丟棄的所述一個或多個最低有效位的子集;所述壓縮器生成第二誤差向量,該第二誤差向量包括從所述多個第二通道丟棄的所述一個或多個最低有效位的子集;以及所述壓縮器經由所述第一誤差向量和所述第二誤差向量,生成進一步代表所述第一象素和所述第二象素的所述符號。
20.如權利要求19所述的顯示控制器,其中所述存儲器接口還從所述幀緩衝器獲得所述符號,所述顯示控制器還包括解壓器,用於從獲得自所述幀緩衝器的所述符號來獲得所述串長、所述量化第一象素、所述第一誤差向量和所述第二誤差向量,並根據來自所述符號的所述串長、所述量化第一象素、所述第一誤差向量和所述第二誤差向量來構造所述第一象素和所述第二象素。
21.如權利要求20所述的顯示控制器,其中所述解壓器還使用預定值來作為所述第一象素和所述第二象素的丟失位。
22.如權利要求20所述的顯示控制器,其中所述解壓器還抖動所述第一象素和所述第二象素的丟失位。
23.如權利要求19所述的顯示控制器,其中根據計算設備的負載來調整包括在所述子集中的位數。
24.如權利要求19所述的顯示控制器,其中所述存儲器接口還從所述幀緩衝器獲得所述符號,所述顯示控制器還包括解壓器,用於從獲得自所述幀緩衝器的所述符號來獲得所述串長,從所述符號獲得所述量化第一象素,並根據所述串長和所述量化第一象素來構造來自所述符號的所述第一象素和所述第二象素。
25.一種機器可讀介質,包括多個指令,所述多個指令響應於被執行而導致計算設備量化多個象素來獲得多個量化象素;識別多串相等的連續量化象素;並且對每串識別出的連續量化象素生成符號,該符號包括串長和所述識別出的串的一個量化象素。
26.如權利要求25所述的機器可讀介質,其中,所述多個指令響應於被執行還導致所述計算設備對所述多個象素中的每一個生成誤差向量,該誤差向量包括從其各個象素丟棄的一個位或多個位;並且對每個識別出的串生成所述符號,使得所述符號包括和所述串的每個象素相關聯的所述誤差向量。
27.如權利要求25所述的機器可讀介質,其中,所述多個指令響應於被執行還導致所述計算設備對所述多個象素中的每一個生成誤差向量,所述誤差向量包括從其各個象素丟棄的一個位或多個位的子集;並且對每個識別出的串生成所述符號,使得所述符號包括和所述串的每個象素相關聯的所述誤差向量。
28.如權利要求25所述的機器可讀介質,其中所述多個指令響應於被執行,還導致所述計算設備根據所述計算設備的負載來調整包括在所述子集中的位數。
29.一種計算設備,包括系統存儲器,用於存儲幀緩衝器;和集成顯示控制器,用於從所述幀緩衝器獲得符號,從所述符號獲得串長和量化象素,並根據所述串長和所述量化象素構造一個或多個象素。
30.如權利要求29所述的計算設備,其中所述集成顯示控制器從所述符號獲得一個或多個誤差向量,所述一個或多個誤差向量對應於所述符號的所述一個或多個象素,並且還根據所述一個或多個誤差向量來構造所述一個或多個象素。
31.如權利要求29所述的計算設備,其中所述集成顯示控制器從所述符號獲得一個或多個有損誤差向量,所述一個或多個有損誤差向量對應於所述符號的所述一個或多個象素,並且還根據所述一個或多個有損誤差向量和用於所述一個或多個象素的丟失位的預定值來構造所述一個或多個象素。
32.如權利要求29所述的計算設備,其中所述集成顯示控制器從所述符號獲得一個或多個有損誤差向量,所述一個或多個有損誤差向量對應於所述符號的所述一個或多個象素,並且還根據所述一個或多個有損誤差向量和丟失位的抖動來構造所述一個或多個象素。
全文摘要
本發明描述了以無損或有損方式壓縮和/或解壓數字圖像的方法、裝置和計算機可讀介質。在一些實施例中,顯示控制器可量化數字圖像的象素並可識別多串相等的連續量化象素。顯示控制器可生成符號來代表識別出的一串象素。所述符號可包括可用來重構該串象素的串長和量化象素。所述符號還可包括串中每個象素的誤差向量,所述誤差向量還可被用來重構象素串。
文檔編號G06T9/00GK1512782SQ20031011729
公開日2004年7月14日 申請日期2003年12月10日 優先權日2002年12月30日
發明者麥可·K·德懷爾, 麥可 K 德懷爾, A 皮亞扎, 託馬斯·A·皮亞扎 申請人:英特爾公司

同类文章

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

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