TW201926909A - 基於推斷控制資訊之無失真像素壓縮技術 - Google Patents

基於推斷控制資訊之無失真像素壓縮技術 Download PDF

Info

Publication number
TW201926909A
TW201926909A TW107136056A TW107136056A TW201926909A TW 201926909 A TW201926909 A TW 201926909A TW 107136056 A TW107136056 A TW 107136056A TW 107136056 A TW107136056 A TW 107136056A TW 201926909 A TW201926909 A TW 201926909A
Authority
TW
Taiwan
Prior art keywords
memory area
compression
pixel memory
logic
pixel
Prior art date
Application number
TW107136056A
Other languages
English (en)
Other versions
TWI804517B (zh
Inventor
詹姆斯 賀蘭
曉輝 陳
傅方文
徐強
李相熙
維德亞 克里希南
Original Assignee
美商英特爾公司
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 美商英特爾公司 filed Critical 美商英特爾公司
Publication of TW201926909A publication Critical patent/TW201926909A/zh
Application granted granted Critical
Publication of TWI804517B publication Critical patent/TWI804517B/zh

Links

Classifications

    • 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/182Methods 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 pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一種無失真像素壓縮器可包括用以偵測一像素記憶體區之一格式,且將該像素記憶體區與指示該像素記憶體區之該偵測到之格式的嵌入式控制資訊一起壓縮的技術。揭示及主張其他實施例。

Description

基於推斷控制資訊之無失真像素壓縮技術
發明領域
實施例大體上係關於圖形系統。更特定而言,實施例係關於基於推斷控制資訊之無失真像素壓縮技術。
發明背景
無失真壓縮可指代允許原始資料自經壓縮資料完全恢復之資料壓縮。另一方面,失真壓縮可僅准許原始資料之近似復原。失真壓縮可改良壓縮率且減小資料大小。可通過各種應用程式(諸如ZIP(.zip檔案)及GZIP(.gz檔案))來使用無失真資料壓縮。在需要原始及經解壓縮資料相同(諸如可執行規劃、文字文獻、源碼等)之情況下,無失真壓縮可能更為合適。在原始之近似可為可接受(諸如音訊檔案/格式(例如WMA、MP3)、圖片檔案/格式(例如JPEG、PNG)、視訊檔案/格式(例如WMV、MP4))之情況下,失真壓縮可能更為合適。
依據本發明之一實施例,係特地提出一種半導體封裝設備,其包含:一基體;以及邏輯,其耦接至該基體,其中該邏輯至少部分地實施於可組配邏輯及固定功能性硬體邏輯中之一或多者中,該邏輯耦接至該基體以:偵測一像素記憶體區之一格式,以及將該像素記憶體區與指示該像素記憶體區之該偵測到之格式的嵌入式控制資訊一起壓縮。
現轉而參考圖1,電子處理系統10之實施例可包括處理器11、以通訊方式耦接至處理器11之記憶體12以及以通訊方式耦接至處理器11之邏輯13以偵測像素記憶體區之格式,且將像素記憶體區與指示像素記憶體區之偵測到之格式的嵌入式控制資訊一起壓縮。在一些實施例中,邏輯13可進一步組配以判定兩種或更多種壓縮技術之壓縮結果,基於所判定之壓縮結果選擇兩種或更多種壓縮技術中之一者,且使用經選擇之壓縮技術將像素記憶體區與嵌入式控制資訊一起壓縮。舉例而言,邏輯13可經組配以使用兩種或更多種壓縮技術中之一者壓縮像素記憶體區之一部分,且基於像素記憶體區之經壓縮部分之壓縮結果估計整個像素記憶體區之壓縮結果。另外或替代地,邏輯13亦可經組配以將兩種或更多種壓縮技術中之一者的壓縮結果與臨限值進行比較,且基於臨限值比較來選擇兩種或更多種壓縮技術中之一者。在一些實施例中,邏輯13可進一步組配以將快取行細分成可獨立壓縮之子區,和/或將快取行細分成可獨立解壓縮之子區。在一些實施例中,邏輯13亦可經組配以基於偵測到之像素格式將像素記憶體區之位元組重新配置成子區(例如,子區可在經適當重新配置時更加均質或更加可壓縮)。舉例而言,邏輯13亦可經組配以偵測像素記憶體區之深度。在一些實施例中,嵌入式控制資訊可包括對多階應用壓縮表之索引(例如,如本文中更詳細所描述)。
以上處理器11、記憶體12、邏輯13以及其他系統組件中之每一者之實施例可實施於硬體、軟體或其任何合適組合中。舉例而言,硬體實施方案可包括可組配邏輯,諸如(例如)可規劃邏輯陣列(PLAs)、場可規劃閘陣列(FPGA)、複雜可規劃邏輯裝置(CPLDs)或使用電路技術之固定功能性邏輯硬體,諸如(例如)特殊應用積體電路(ASIC)、互補金屬氧化物半導體(CMOS)或電晶體-電晶體邏輯(TTL)技術,或其任何組合。
替代地或另外,此等組件之所有或部分可實施於作為儲存於機器或電腦可讀儲存媒體中待由處理器或計算裝置執行之邏輯指令集之一或多個模組中,該機器或電腦可讀儲存媒體諸如隨機存取記憶體(RAM)、唯讀記憶體(ROM)、可規劃ROM(PROM)、韌體、快閃記憶體等。舉例而言,可將進行組件之操作之電腦程式碼寫入一或多個操作系統(OS)適用/適當規劃語言之任何組合中,該等規劃語言包括物件導向規劃語言(諸如PYTHON、PERL、JAVA、SMALLTALK、C++、C#或類似者)及習知程序規劃語言,諸如「C」規劃語言,或類似規劃語言。舉例而言,記憶體12、持久儲存媒體或其他系統記憶體可儲存指令集,該指令集在由處理器11執行時使得系統10實施系統10之一或多個組件、特徵或態樣(例如邏輯13,該邏輯偵測像素記憶體區之格式,將像素記憶體區與指示像素記憶體區之偵測到之格式的嵌入式控制資訊一起壓縮等)。
現轉而參考圖2,半導體封裝設備20之實施例可包括基體21及耦接至基體之邏輯22,其中邏輯22至少部分地實施於可組配邏輯及固定功能性硬體邏輯中之一或多者中。耦接至基體21之邏輯22可經組配以偵測像素記憶體區之格式,且將像素記憶體區與指示像素記憶體區之偵測到之格式的嵌入式控制資訊一起壓縮。在一些實施例中,邏輯22可進一步組配以判定兩種或更多種壓縮技術之壓縮結果,基於所判定之壓縮結果選擇兩種或更多種壓縮技術中之一者,且使用經選擇之壓縮技術將像素記憶體區與嵌入式控制資訊一起壓縮。舉例而言,邏輯22可經組配以使用兩種或更多種壓縮技術中之一者壓縮像素記憶體區之一部分,且基於像素記憶體區之經壓縮部分之壓縮結果估計整個像素記憶體區之壓縮結果。另外或替代地,邏輯22亦可經組配以將兩種或更多種壓縮技術中之一者的壓縮結果與臨限值進行比較,且基於臨限值比較來選擇兩種或更多種壓縮技術中之一者。在一些實施例中,邏輯22可進一步組配以將快取行細分成可獨立壓縮之子區,和/或將快取行細分成可獨立解壓縮之子區。在一些實施例中,邏輯22亦可經組配以基於偵測到之像素格式將像素記憶體區之位元組重新配置成子區(例如,子區可在經適當重新配置時更加均質或更加可壓縮)。舉例而言,邏輯22亦可經組配以偵測像素記憶體區之深度。在一些實施例中,嵌入式控制資訊可包括對多階應用壓縮表之索引。
邏輯22之實施例及設備20之其他組件可實施於硬體、軟體或其包括硬體中之至少部分實施方案的任何組合中。舉例而言,硬體實施方案可包括可組配邏輯,諸如(例如)PLA、FPGA、CPLD,或使用電路技術之固定功能性邏輯硬體,該電路技術諸如(例如)ASIC、CMOS或TTL技術,或其任何組合。另外,此等組件之部分可實施於作為儲存於機器或電腦可讀儲存媒體中待由處理器或計算裝置執行之邏輯指令集之一或多個模組中,該機器或電腦可讀儲存媒體諸如RAM、ROM、PROM、韌體、快閃記憶體等。舉例而言,可將進行組件之操作之電腦程式碼寫入一或多個OS適用/適當規劃語言之任何組合中,該等規劃語言包括物件導向規劃語言(諸如PYTHON、PERL、JAVA、SMALLTALK、C++、C#或類似者)及習知程序規劃語言,諸如「C」規劃語言,或類似規劃語言。
現轉而參考圖3A至3D,壓縮像素之方法25之實施例可包括在方塊26處偵測像素記憶體區之格式,且在方塊27處將像素記憶體區與指示像素記憶體區之偵測到之格式的嵌入式控制資訊一起壓縮。本發明之一些實施例可進一步包括在方塊28處判定兩種或更多種壓縮技術之壓縮結果,在方塊29處基於所判定之壓縮結果選擇兩種或更多種壓縮技術中之一者,且在方塊30處使用經選擇之壓縮技術將像素記憶體區與嵌入式控制資訊一起壓縮。舉例而言,方法25可包括在方塊31處使用兩種或更多種壓縮技術中之一者壓縮像素記憶體區之一部分,且在方塊32處基於像素記憶體區之經壓縮部分之壓縮結果估計整個像素記憶體區之壓縮結果。另外或替代地,方法25可包括在方塊33處將兩種或更多種壓縮技術中之一者的壓縮結果與臨限值進行比較,且在方塊34處基於臨限值比較來選擇兩種或更多種壓縮技術中之一者。舉例而言,方法25亦可包括在方塊35處偵測像素記憶體區之深度。在一些實施例中,在方塊36處,嵌入式控制資訊可包括對多階應用壓縮表之索引。方法25之一些實施例可進一步包括在方塊37處將快取行細分成可獨立壓縮之子區,和/或在方塊38處將快取行細分成可獨立解壓縮之子區。舉例而言,方法25亦可包括在方塊39處基於偵測到之像素格式將像素記憶體區之位元組重新配置成子區(例如,子區可在經適當重新配置時更加均質或更加可壓縮)。
方法25之實施例可實施於例如諸如本文中所描述之彼等系統、設備、電腦、裝置等中。更特定而言,方法25之硬體實施方案可包括可組配邏輯,諸如(例如)PLA、FPGA、CPLD,或使用電路技術之固定功能性邏輯硬體,該電路技術諸如(例如)ASIC、CMOS或TTL技術,或其任何組合。替代地或另外,方法25可實施於作為儲存於機器或電腦可讀儲存媒體中待由處理器或計算裝置執行之邏輯指令集之一或多個模組中,該機器或電腦可讀儲存媒體諸如RAM、ROM、PROM、韌體、快閃記憶體等。舉例而言,可將進行組件之操作之電腦程式碼寫入一或多個OS適用/適當規劃語言之任何組合中,該等規劃語言包括物件導向規劃語言(諸如PYTHON、PERL、JAVA、SMALLTALK、C++、C#或類似者)及習知程序規劃語言,諸如「C」規劃語言,或類似規劃語言。
舉例而言,方法25可實施於如結合以下實例19至27所描述之電腦可讀媒體上。方法25之實施例或部分可實施於韌體、應用程式(例如,經由應用程式規劃介面(API))或在操作系統(OS)上運行之驅動器軟體中。
現轉而參考圖4,無失真像素壓縮器44之實施例可包括以通訊方式耦接至壓縮選擇器46及壓縮器47之格式偵測器45。格式偵測器45可包括用以偵測像素記憶體區之格式的技術,且壓縮器47可包括用以將像素記憶體區與指示像素記憶體區之偵測到之格式的嵌入式控制資訊一起壓縮的技術。在一些實施例中,壓縮選擇器46可包括用以判定兩種或更多種無失真像素壓縮技術之壓縮結果,且基於所判定之壓縮結果選擇兩種或更多種無失真像素壓縮技術中之一者的技術。壓縮器47可使用經選擇之無失真像素壓縮技術將像素記憶體區與嵌入式控制資訊一起壓縮。舉例而言,壓縮選擇器46可與壓縮器47共同作用以使用兩種或更多種無失真像素壓縮技術中之一者壓縮像素記憶體區之一部分,且基於像素記憶體區之經壓縮部分之壓縮結果估計整個像素記憶體區之壓縮結果。另外或替代地,壓縮選擇器46亦可包括用以將兩種或更多種無失真像素壓縮技術中之一者的壓縮結果與臨限值進行比較,且基於臨限值比較來選擇兩種或更多種無失真像素壓縮技術中之一者的技術。舉例而言,格式偵測器45亦可包括用以偵測像素記憶體區之深度的技術。在一些實施例中,嵌入式控制資訊可包括對多階應用壓縮表之索引。在一些實施例中,壓縮器47可進一步組配以將快取行細分成可獨立壓縮之子區,和/或將快取行細分成可獨立解壓縮之子區。在一些實施例中,壓縮器47亦可經組配以基於偵測到之像素格式將像素記憶體區之位元組重新配置成子區(例如,以增大壓縮)。舉例而言,可使ARGBARGB重新格式化至AARRGGBB,因此每一子區可更加均質且可更好地壓縮。類似地,將ARGBARGB重新配置為ARARGBGB可能未必更加均質,但ARARGBGB在一些情況下仍可比ARGBARGB更好地壓縮。
無失真像素壓縮器44之格式偵測器45、壓縮選擇器46、壓縮器47以及其他組件之實施例可實施於硬體、軟體或其包括硬體中之至少部分實施方案的任何組合中。舉例而言,硬體實施方案可包括可組配邏輯,諸如(例如)PLA、FPGA、CPLD,或使用電路技術之固定功能性邏輯硬體,該電路技術諸如(例如)ASIC、CMOS或TTL技術,或其任何組合。另外,此等組件之部分可實施於作為儲存於機器或電腦可讀儲存媒體中待由處理器或計算裝置執行之邏輯指令集之一或多個模組中,該機器或電腦可讀儲存媒體諸如RAM、ROM、PROM、韌體、快閃記憶體等。舉例而言,可將進行組件之操作之電腦程式碼寫入一或多個OS適用/適當規劃語言之任何組合中,該等規劃語言包括物件導向規劃語言(諸如PYTHON、PERL、JAVA、SMALLTALK、C++、C#或類似者)及習知程序規劃語言,諸如「C」規劃語言,或類似規劃語言。
一些實施例可有利地將推斷控制資訊利用於無失真像素記憶體壓縮。例如在2D影像應用程式之無失真記憶體壓縮中,各種記憶體包裝結構為共用的。一些實施例可有利地自動偵測共用格式且將偵測到之格式嵌入於經壓縮快取行內。一些實施例可有利地減少或消除對傳輸旁頻帶資訊之需要,且未必要求傳輸器對將由壓縮器使用之記憶體佈局顯式地進行編碼。
一些實施例可另外或替代地在某種像素圖案可使用格式實現更高壓縮之情況下改良壓縮,該格式可不同於原先所聲明之格式。舉例而言,當將一對(或更多)快取行提供至壓縮器區塊之實施例,而非顯式地傳訊佈局為何(例如,僅使用10位元之8-8-8-8、10-10-10-2、16-16)時,壓縮器可藉由嘗試位元組分組之各種組合來偵測格式。可接著選擇最佳壓縮技術且可將控制資訊嵌入於經壓縮快取行中以供解壓縮器使用。
一些實施例可有利地提供基於視訊及像素之記憶體應用程式之改進功率及效能,而不降低比若在整個壓縮及解壓縮之內部處理中管理所有類型則或許有可能之更大一組像素格式及佈局上之影像品質。舉例而言,P010格式可利用每一像素值之字(16位元),儘管任何像素之可允許範圍限於1023,僅要求10位元。上層六個(6)位元始終為零(0)且壓縮器之實施例可使用此圖案及具有一個(1)位元之訊號偵測192個零之存在(例如,提供約192至1之無失真壓縮)。
在一些其他系統中,除種子以外,每一像素可經可變長度編碼,且關於如何壓縮資料之各種細節可經由旁頻帶資訊來處理。一些實施例可分析整個快取行以偵測可在快取行內作為待由解壓縮器使用之嵌入式資訊來傳訊之關鍵圖案,而非將每一像素嚴格作為位元組或字來處理且逐個計算每一像素當中之增量。一些實施例可(例如藉由軟體)簡化控制資訊處理且亦可在同一記憶體區內使用混合格式之情況下改良壓縮。
現轉而參考圖5,經壓縮快取行50之殘餘格式之實施例可包括嵌入式控制資訊。舉例而言,快取行50可包括格式索引51以指示整個快取行50之格式、表索引52、位元映射部分53以及殘餘資料54。舉例而言,快取行可包括512位元,其可經組織為表示十六個(16)位元組之四個(4)群組或四個(4)4x4像素區塊之六十四個(64)八個(8)位元位元組。在一些實施例中,格式索引51可包括五個(5)位元以索引達至32不同格式,表索引52可包括四個4x4區塊中之每一者的三個(3)位元以索引達至多階應用壓縮表中之8項(例如,表索引52之總共12位元),且位元映射部分53可包括每經編碼4x4區塊之十五個(15)位元(例如,達至位元映射部分53之總共60位元)。殘餘資料54可包括每一經編碼4x4區塊內之每像素適應性兩長度殘餘。取決於快取行50中之資料,位元映射部分53及/或殘餘資料54可能未經編碼以供用於4x4區塊中之一或多者。
現轉而參考圖6,多階應用壓縮表60之實施例可包括八個(8)表項。每一項零(0)至七(7)可包括0階(L0)值、一階(L1)值、位元映射值、最小(Min)值以及最大(Max)值。表60可視為兩階應用壓縮表。其他實施例可包括更多階及/或更多或更少表項。表60可用以判定已將何種壓縮技術應用於快取行。舉例而言,可利用表60中之資訊以產生先前可能已作為連同經壓縮資料中之每一組標記之旁頻帶資訊傳達之資訊。有利的是,由於Min值及Max值並未包括於旁頻帶資訊中,故可支援更寬範圍之Min殘餘值及Max殘餘值且一些實施例可提供經改良或更優之壓縮。
對表60之一些實施例而言,對表項零(0)而言可能不存在位元映射及殘餘以進行編碼(例如,可始終顯式地對種子進行編碼)。對表項一(1)及二(2)而言,可能不存在位元映射以進行編碼。對表項三(3)至七(7)而言,可存在位元映射及殘餘兩者以進行編碼。對表項七(7)而言,若要求8位元,則一些實施例可對原始資料而非殘餘進行編碼。
在表60中,L0值可對應於在對應位元映射值為0時用來表示殘餘值之位元的數目。L1值可對應於在對應位元映射值為1時用來表示殘餘值之位元的數目。位元映射值提供4x4區塊之一位元每像素,不包括種子(例如,15位元每4x4區塊)。若位元映射經編碼,則每一位元表示正使用以對對應殘餘進行編碼之L0或L1。Min值可表示項之最小殘餘值,而Max值可表示項之最大殘餘值。
現轉而參考圖7,對快取行進行解碼之起點計算70之實施例可包括以下計算:
starting_point = k + L0 * #bitmap0 + L1 * #bitmap1 [Eq. 1]
其中k對應於位元的數目以表示每一4x4區塊中之第一像素值(例如k=8),#bitmap0對應於4x4區塊中之規定位置處之位元映射值0,且#bitmap1對應於4x4區塊中之規定位置處之位元映射值1。使用表60,可如下對每一像素進行殘餘解碼。若像素為種子像素,則可使用8位元以對像素值進行解碼(例如,可將種子拉出至單獨段中)。若像素之快取行位元映射值為0,則可使用L0以對像素值進行解碼。否則,可使用L1以對像素值進行解碼。
對壓縮器側之預測可與解壓縮器中之預測相同。除進行預測及對殘餘進行編碼之外,壓縮器可拾取(對應於表索引之)右長度以對殘餘進行編碼。為判定表索引選擇,一些實施例可判定快取行中之每一4x4區塊之最小殘餘及最大殘餘。壓縮器可接著選擇多階應用壓縮表中之規定最密切覆蓋所判定之最小/最大殘餘之範圍的項。舉例而言,在表60中,項可配置有最小/最大殘餘對之增大範圍(例如,Min減小且Max增大)。壓縮器可起始於項0處且選擇覆蓋所判定之快取行的混合/最大殘餘值之最低編號項。
現轉而參考圖8,可將經壓縮快取行(CLs)之說明性組如上文結合圖7所描述進行解碼。UC之值可對應於未經壓縮之種子值。1D之值可對應於基於頂部/左/底部/右預測之1的經壓縮誤差。2D之值可對應於基於頂部/底部及左/右預測之經壓縮誤差。可存在4預測之4臨界路徑以使512位元完整。一些其他經壓縮快取行佈局可採取18階段以解壓縮整個區塊。一些實施例可藉由將16x4快取行細分成4個4x4子快取行來改良潛時。每一子快取行可具有其自身之未經壓縮種子值,允許對該等4個子快取行並行地進行解壓縮。可將UC朝向中心置放以允許自中心朝外進行解壓縮(例如,半徑可小於直徑)。一些實施例可有利地僅需要可並行完成之4階段。
每一4x4之位元之大小可基於每一區塊之複雜度而變化。有利的是,藉由得知每一4x4之位元的數目,可計算對每一4x4之起點的偏移以賦能並行解壓縮。解碼器之一些實施例可基於由標頭提供之其他資訊來計算偏移,而非包括快取行標頭內部之三個(3)9位元偏移值。
圖8中展示之圖示可對應於單色情況。在將像素偵測為ARGBARGBARGB等等之情況下,壓縮器可作出4x4之A、4x4之R、4x4之G以及4x4之B。在每一4x4內,可與單色情況相同地處理壓縮/解壓縮,接著解壓縮器可將位元組拌和回至ARGBARGBARGB中。對YUYV(YUY2)之類似情況而言,兩個(2)4x4區塊將為Y,一個(1)4x4將為U,且一個(1)4x4將為V。此等情況可均包括8位元值每組件。就更高位元深度而言,一些實施例可利用16位元資料類型之4x2區塊,此可仍具有16像素每4x4資料群組。
在一些實施例中,可對細分區中之僅一者進行偵測邏輯。可接著將對一個細分區之分析應用於整個區塊以減少冗餘分析的量。有利的是,可藉由標頭檢查來推斷(例如,未顯式地傳訊)經壓縮快取行內之對起始位元位置之偏移。一些實施例可提供一或多個未經壓縮之種子。舉例而言,一些實施例可為第一子區提供僅一個種子,且接著自僅有之原始編碼種子將其他三個偽種子壓縮為增量。提供四個原始種子可進一步減少潛時,但可僅需要一個種子(例如,未經壓縮像素值)。
現轉而參考圖9,壓縮器80之實施例可包括以通訊方式耦接至快取行緩衝器82之格式及深度偵測器(FDD)81。舉例而言,快取行緩衝器82可儲存像素資料之兩種或更多種快取行。FDD 81可包括兩種或更多種偵測器81a至81n。偵測器中之每一者可包括用以偵測具體像素包裝格式及/或像素深度的技術。實例像素深度可包括八個(8)位元深度(例如,位元組深度)、十六個(16)位元深度(例如,字深度)、十個(10)位元深度(例如,具有6始終零之16位元)、十二個(12)位元深度(例如,具有4始終零之16位元)等。舉例而言,偵測器81a可經組配以偵測Y21(dist=2)格式(例如,其中「dist」對應於像素記憶體區中之同一通道像素之距離),偵測器81b可經組配以偵測UV21(dist=2)格式,偵測器81c可經組配以偵測YUYV(dist=2,4)格式,偵測器81d可經組配以偵測RGBA(dist=4)格式,偵測器81e可經組配以在Y410轉換器83之後偵測RGBA(dist=4)格式,偵測器81f可經組配以偵測Y216(dist=4,8)格式,偵測器81g可經組配以偵測Y416(dist=8)格式,偵測器81n可經組配以在FP16轉換器84之後偵測Y416格式等等(例如,可包括其他轉換器及/或格式偵測器)。
偵測器81a至81n可針對效能並聯耦接且FDD 81可將格式偵測之結果提供至壓縮選擇器85。壓縮選擇器85可分析快取行緩衝器82中之資料及/或偵測到之格式資訊以為快取行緩衝器82中之資料選擇最佳壓縮技術。舉例而言,壓縮選擇器85可將一或多個壓縮技術應用於快取行緩衝器82中之資料之一部分,以判定可用壓縮技術中之任一者是否實現目標壓縮率(例如,2:1壓縮、3:2壓縮、4:3壓縮、3:1壓縮等)。在一些實施例中,壓縮選擇器85可應用所有可用壓縮技術且選擇提供最佳壓縮之壓縮技術。替代性地,在一些實施例中,壓縮選擇器85可選擇(例如,相較於臨限值或可接受壓縮之範圍)提供良好足夠壓縮之第一應用壓縮技術。
可如下表示針對多格式、多深度偵測結構之偽碼:
常數 表面格式 表面組配[ ] =
{
//組配索引, 組配名稱, 組配類別, 移位, 可偵測移位,種子號
{0, “NV12_Y”, Y21, {0, 0, 0, 0}, {0, 0, 0, 0}, {1, 1, 1, 1}},
{1, “NV12_UV_P016_P216_Y”, UV21, {0, 0, 0, 0}, {1, 0, 1, 0}, {1, 1, 1, 1}},
{2, “P010_P210_Y”, UV21, {6, 0, 6, 0}, {1, 0, 1, 0}, {0, 1, 0, 1}},
{3, “P012_P212_Y”, UV21, {4, 0, 4, 0}, {1, 0, 1, 0}, {0, 1, 0, 1}},
{4, “P014_P214_Y”, UV21, {2, 0, 2, 0}, {1, 0, 1, 0}, {0, 1, 0, 1}},
{5, “RGBA_P016_P216_UV”, RGBA, {0, 0, 0, 0}, {1, 0, 1, 0}, {1, 1, 1, 1}},
{6, “P010_P210_UV”, RGBA, {6, 0, 6, 0}, {1, 0, 1, 0}, {0, 1, 0, 1}},
{7, “P012_P212_UV”, RGBA, {4, 0, 4, 0}, {1, 0, 1, 0}, {0, 1, 0, 1}},
{8, “P014_P214_UV”, RGBA, {2, 0, 2, 0}, {1, 0, 1, 0}, {0, 1, 0, 1}},
{9, “Y410”, RGBA, {0, 0, 0, 2}, {0, 0, 0, 1}, {1, 1, 1, 0}},
{10, “YUY2”, YUYV, {0, 0, 0, 0}, {0, 0, 0, 0}, {1, 1, 1, 1}},
{11, “UYVY”, YUYV, {0, 0, 0, 0}, {0, 0, 0, 0}, {1, 1, 1, 1}},
{12, “Y216”, Y216, {0, 0, 0, 0}, {1, 0, 1, 0}, {1, 1, 2, 2}},
{13, “Y210”, Y216, {6, 0, 6, 0}, {1, 0, 1, 0}, {0, 1, 0, 2}},
{14, “Y212”, Y216, {4, 0, 4, 0}, {1, 0, 1, 0}, {0, 1, 0, 2}},
{15, “Y214”, Y216, {2, 0, 2, 0}, {1, 0, 1, 0}, {1, 1, 2, 2}},
{16, “Y416”, RGBA16, {0, 0, 0, 0}, {1, 0, 1, 0}, {2, 2, 2, 2}},
{17, “Y410F”, RGBA16, {6, 0, 6, 0}, {1, 0, 1, 0}, {0, 2, 0, 2}},
{18, “Y412”, RGBA16, {4, 0, 4, 0}, {1, 0, 1, 0}, {0, 2, 0, 2}},
{19, “Y414”, RGBA16, {2, 0, 2, 0}, {1, 0, 1, 0}, {0, 2, 0, 2}},
{20, “FP16P16_Y”, RGBA16, {0, 0, 0, 0}, {1, 0, 1, 0}, {2, 2, 2, 2}},
{21, “FP16P10_Y”, RGBA16, {6, 0, 6, 0}, {1, 0, 1, 0}, {0, 2, 0, 2}},
{22, “FP16P12_Y”, RGBA16, {4, 0, 4, 0}, {1, 0, 1, 0}, {0, 2, 0, 2}},
{23, “FP16P16_Y”, RGBA16, {2, 0, 2, 0}, {1, 0, 1, 0}, {0, 2, 0, 2}}
};
現轉而參考圖10,格式及深度偵測器90之實施例可包括預測子91以基於快取行資料、格式類別資訊(例如,包括預測dist)等判定預測,且基於該預測提供殘餘資料。偵測器90可進一步包括位元成本估計器92以估計各種深度值之位元成本且提供最佳深度值之所估計位元成本。舉例而言,位元成本估計器92可包括用於4x4區塊0之第一估計器93及用於4x4區塊3之第二估計器94以判定各種深度之不同位元成本估計值。位元成本估計器93可包括邏輯以對4x4區塊0之2位元、3位元以及4位元之殘餘移位零操作之數目(例如,numRes_shift0(2位元、3位元、4位元))進行計數,且若允許深度偵測,則對移位二、移位三以及移位四操作(例如,numRes_shift2(2位元、3位元、4位元)等等)進行類似操作。舉例而言,numRes_shiftx(2位元)可指代可在藉由一個4x4群組內之x位元使殘餘偏移之後以2位元表示之殘餘的數目。邏輯93b可計算移位零操作(例如,見下方圖11)之位元成本。當需要移位偵測時,邏輯93c可將移位二操作之位元成本原始編碼為16*6=96,邏輯93d可將移位三操作之位元成本原始編碼為16*4=64,且邏輯93e可將移位四操作之位元成本原始編碼為16*2=32。
類似地,位元成本估計器94可包括邏輯以對4x4區塊3之2位元、3位元以及4位元之殘餘移位零操作之數目(例如,numRes_shift0(2位元、3位元、4位元))進行計數,且若允許深度偵測,則對移位二、移位三以及移位四操作(例如,numRes_shift2(2位元、3位元、4位元)等等)進行類似操作。相同操作亦可應用於4x4區塊1及4x4區塊2。邏輯94b可計算移位零操作(例如,見下方圖11)之位元成本。當需要移位偵測時,邏輯94c可將移位二操作之位元成本原始編碼為16*6=96,邏輯94d可將移位三操作之位元成本原始編碼為16*4=64,且邏輯94e可將移位四操作之位元成本原始編碼為16*2=32。最佳深度選擇器95可經組配以基於所估計位元成本判定最佳深度值。
現轉而參考圖11,計算位元成本之方法100之實施例可包括在方塊101處找出最佳碼,且在方塊102處判定是否L1=0。若如此,則可在方塊103處將位元成本計算為位元映射之位元的數目(例如15)加上L0加上4x4區塊中之種子之位元的數目(例如8)加上表索引之位元的數目(例如3)。否則,可在方塊104處如下計算位元成本:
bitcost = numRes_shift(L0) * L0 [Eq. 2]
+ (bitmap_size - numRes_shift0(L0)) * L1
+ bitmap_size + seed_size_in_bits + table_index_size
其中bitmap_size對應於位元映射中之位元的數目,seed_size_in_bits對應於位元的數目以表示4x4區塊中之種子,且table_index_size對應於表索引之位元的數目。在一些實施例中,計算可均為或主要為整數計算。一些實施例可另外或替代地利用浮點計算。
有利的是,一些實施例可利用多階應用壓縮表與嵌入式控制資訊一起以在無旁頻帶資訊之情況下簡化壓縮/解壓縮過程。一些實施例可另外或替代地在不降低影像品質之情況下改良基於視訊及像素之記憶體應用程式之功率及效能。
圖12說明系統700之實施例。在實施例中,系統700可為媒體系統,但系統700並不限於此上下文。舉例而言,系統700可併入至個人電腦(PC)、膝上型電腦、超膝上型電腦、平板電腦、觸控板、攜帶型電腦、手持型電腦、掌上型電腦、個人數位助理(PDA)、蜂巢式電話、組合蜂巢式電話/PDA、電視、智慧型裝置(例如,智慧型手機、智慧型平板電腦或智慧型電視)、行動網際網路裝置(MID)、傳信裝置、資料通訊裝置等中。
在實施例中,系統700包含耦接至呈現視覺內容之顯示器720的平台702。平台702可自諸如內容服務裝置730或內容傳送裝置740或其他類似內容源之內容裝置接收視訊位元串流內容。包含一或多個巡覽特徵之巡覽控制器750可用以與例如平台702及/或顯示器720互動。下文更詳細地描述此等組件中之每一者。
在實施例中,平台702可包含晶片組705、處理器710、記憶體712、儲存器714、圖形子系統715、應用程式716及/或無線電718(例如,網路控制器)之任何組合。晶片組705可提供處理器710、記憶體712、儲存器714、圖形子系統715、應用程式716及/或無線電718間的內部通訊。舉例而言,晶片組705可包括能夠提供與儲存器714之內部通訊的儲存器配接器(未描繪)。
處理器710可實施為複雜指令集電腦(CISC)或精簡指令集電腦(RISC)處理器、x86指令集相容處理器、多核心或任何其他微處理器或中央處理單元(CPU)。在實施例中,處理器710可包含雙核心處理器、雙核心行動處理器等。
記憶體712可實施為揮發性記憶體裝置,諸如但不限於隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)或靜態RAM(SRAM)。
儲存器714可實施為非揮發性儲存裝置,諸如但不限於磁碟機、光碟機、磁帶機、內部儲存裝置、附接儲存裝置、快閃記憶體、電池備用式SDRAM(同步DRAM)及/或網路可存取儲存裝置。在實施例中,儲存器714可包含當例如包括多個硬碟機時用以增加對有價值之數位媒體的儲存器效能增強型保護的技術。
圖形子系統715可對諸如用於顯示之靜態或視訊的影像進行處理。舉例而言,圖形子系統715可為圖形處理單元(GPU)或視覺處理單元(VPU)。類比或數位介面可用於以通訊方式將圖形子系統715與顯示器720耦接。舉例而言,介面可為高清晰度多媒體介面(HDMI)、顯示埠、無線HDMI及/或無線HD相容技術中之任一者。圖形子系統715可整合至處理器710或晶片組705中。圖形子系統715可為以通訊方式耦接至晶片組705之單機卡。在一個實例中,圖形子系統715包括如本文所描述之雜訊減小子系統。
本文中所描述之圖形及/或視訊處理技術可實施於各種硬體架構中。舉例而言,圖形及/或視訊功能性可整合於晶片組內。替代性地,可使用離散之圖形及/或視訊處理器。如又一實施例,可由通用處理器(包括多核心處理器)實施圖形及/或視訊功能。在另一實施例中,可在消費型電子裝置中實施該等功能。
無線電718可為包括能夠使用各種合適的無線通訊技術傳輸及接收訊號之一或多個無線電之網路控制器。此等技術可涉及跨一或多個無線網路之通訊。例示性無線網路包括(但不限於)無線區域網路(WLANs)、無線個人區域網路(WPANs)、無線都會區域網路(WMANs)、蜂巢式網路以及衛星網路。在跨此等網路進行通訊時,無線電718可根據任何版本的一或多個適用標準進行操作。
在實施例中,顯示器720可包含任何電視類型之監視器或顯示器。顯示器720可包含例如電腦顯示螢幕、觸控螢幕顯示器、視訊監視器、類電視裝置及/或電視。顯示器720可為數位及/或類比顯示器。在實施例中,顯示器720可為全像顯示器。此外,顯示器720可為可接收視覺投影的透明表面。此等投影可運輸各種形式之資訊、影像及/或物件。舉例而言,此等投影可為用於行動擴增實境(MAR)應用程式之視覺重疊。在一或多個軟體應用程式716之控制下,平台702可在顯示器720上顯示使用者介面722。
在實施例中,內容服務裝置730可由任何國家、國際及/或獨立之服務代管,且因此平台702可例如經由網際網路對其進行存取。內容服務裝置730可耦接至平台702及/或耦接至顯示器720。平台702及/或內容服務裝置730可耦接至網路760以將媒體資訊傳達至網路760及自網路760傳達媒體資訊(例如,發送及/或接收)。內容傳送裝置740亦可耦接至平台702及/或耦接至顯示器720。
在實施例中,內容服務裝置730可包含有線電視盒、個人電腦、網路、電話、具備網際網路之裝置或能夠傳送數位資訊及/或內容之器具,及能夠在內容提供者與平台702及/顯示器720之間經由網路760或直接地單向或雙向傳達內容的任何其他類似裝置。應瞭解,內容可經由網路760單向及/或雙向地傳達至系統700中之組件中的任一者,且自該等組件中之任一者進行傳達。內容之實例可包括任何媒體資訊,該媒體資訊包括例如視訊、音樂、醫療以及遊戲資訊等。
內容服務裝置730接收諸如有線電視節目之內容,該內容包括媒體資訊、數位資訊及/或其他內容。內容提供者之實例可包括任何有線電視或衛星電視或無線電或網際網路內容提供者。所提供實例並不意謂限制實施例。
在實施例中,平台702可自具有一或多個巡覽特徵的巡覽控制器750接收控制訊號。舉例而言,控制器750之巡覽特徵可用於與使用者介面722互動。在實施例中,巡覽控制器750可為指標裝置,其可為允許使用者將空間(例如,連續及多維之)資料輸入至電腦中的電腦硬體組件(具體而言為人性化介面裝置)。諸如圖形使用者介面(GUI)及電視及監視器之許多系統允許使用者使用實體示意動作對電腦或電視進行控制,並將資料提供至電腦或電視。
藉由移動指標、游標、聚焦環或顯示於顯示器上的其他視覺指示符,可在顯示器(例如,顯示器720)上回應控制器750之巡覽特徵的移動。舉例而言,在軟體應用程式716之控制下,位於巡覽控制器750上之巡覽特徵可映射至顯示於例如使用者介面722上的虛擬巡覽特徵。在實施例中,控制器750可能並非單獨組件,而是整合至平台702及/或顯示器720中。然而,實施例不限於該等元件,或在本文中所展示或描述的上下文中不受限制。
在實施例中,驅動器(未展示)可包含用以使得使用者能夠(例如,在具備此功能時)類似於電視地,藉由在初始啟動之後觸摸按鈕而即刻接通及關斷平台702的技術。當「關斷」平台時,程式邏輯可允許平台702將內容串流至媒體配接器或其他內容服務裝置730或內容傳送裝置740。另外,晶片組705可包含支援例如5.1環繞聲音訊及/或高清晰度7.1環繞聲音訊的硬體及/或軟體。驅動器可包括用於整合式圖形平台之圖形驅動器。在實施例中,圖形驅動器可包含周邊組件互連(PCI)高速圖形卡。
在各種實施例中,可整合系統700中所展示之組件中的任何一或多者。舉例而言,可例如整合平台702與內容服務裝置730,或可整合平台702與內容傳送裝置740,或可整合平台702、內容服務裝置730與內容傳送裝置740。在各種實施例中,平台702及顯示器720可為一體式單元。舉例而言,可整合顯示器720及內容服務裝置730,或可整合顯示器720與內容傳送裝置740。此等實例並不意謂限制實施例。
在各種實施例中,系統700可實施為無線系統、有線系統或兩者之組合。當實施為無線系統時,系統700可包括適於在無線共用媒體上進行通訊的組件及介面,諸如一或多個天線、傳輸器、接收器、收發器、放大器、濾波器、控制邏輯等。無線共享媒體之實例可包括無線頻譜之部分,諸如RF頻譜等。當實施為有線系統時,系統700可包括適於在有線通訊媒體上進行通訊的組件及介面,諸如輸入/輸出(I/O)配接器、用以將I/O配接器與對應有線通訊媒體連接的實體連接件、網路介面卡(NIC)、磁碟控制器、視訊控制器、音訊控制器等。有線通訊媒體之實例可包括電線、纜線、金屬導線、印刷電路板(PCB)、底板、交換網狀架構、半導體材料、雙絞線、同軸纜線、光纖等。
平台702可建立一或多個邏輯或實體通道以傳達資訊。資訊可包括媒體資訊及控制資訊。媒體資訊可指表示意欲用於使用者之內容的任何資料。內容之實例可包括例如來自語音會話、視訊會議、串流視訊、電子郵件(「email」)訊息、語音郵件訊息、文數字符號、圖形、影像、視訊、文字等的資料。來自語音會話之資料可為例如話音資訊、靜默週期、背景雜訊、舒適雜訊、音調等。控制資訊可指表示意欲用於自動化系統之命令、指令或控制字的任何資料。舉例而言,控制資訊可用以經由系統而導引媒體資訊,或指示節點以預定方式來處理媒體資訊。然而,實施例不限於該等元件,或在圖12中所展示或描述的上下文中不受限制。
如上文所描述,系統700可以變化之實體型式或外觀尺寸體現。圖13說明其中可體現系統700的較小外觀尺寸裝置800之實施例。在實施例中,例如,裝置800可經實施為具有無線能力之行動計算裝置。行動計算裝置可指例如具有處理系統及行動電源或供應器(諸如,一或多個電池)之任何裝置。
如上文所描述,行動計算裝置之實例可包括個人電腦(PC)、膝上型電腦、超膝上型電腦、平板電腦、觸控板、攜帶型電腦、手持型電腦、掌上型電腦、個人數位助理(PDA)、蜂巢式電話、組合蜂巢式電話/PDA、電視、智慧型裝置(例如,智慧型手機、智慧型平板電腦或智慧型電視)、行動網際網路裝置(MID)、傳信裝置、資料通訊裝置等。
行動計算裝置之實例亦可包括經配置以由個人佩戴之電腦,諸如,腕式電腦、手指式電腦、環式電腦、鏡片式電腦、帶夾式電腦、臂帶式電腦、鞋式電腦、服裝式電腦及其他可佩戴式電腦。在實施例中,例如,行動計算裝置可實施為能夠執行電腦應用程式,以及語音通訊及/或資料通訊的智慧型手機。儘管作為實例,可藉由實施為智慧型手機之行動計算裝置來描述一些實施例,但可瞭解,亦可使用其他無線行動計算裝置實施其他實施例。實施例並不受限於此上下文中。
如圖13中所展示,裝置800可包含外殼802、顯示器804、輸入/輸出(I/O)裝置806以及天線808。裝置800亦可包含巡覽特徵812。顯示器804可包含用於顯示適合於行動計算裝置之資訊的任何合適顯示單元。I/O裝置806可包含用於將資訊鍵入至行動計算裝置中的任何合適I/O裝置。用於I/O裝置806之實例可包括文數字鍵盤、數字小鍵盤、觸控板、輸入鍵、按鈕、開關、搖臂開關、麥克風、揚聲器、語音辨識裝置及軟體等。亦可藉助於麥克風將資訊鍵入至裝置800中。可由語音辨識裝置使此資訊數位化。實施例並不受限於此上下文中。
根據一些實施例,系統700及/或裝置800可有利地經組配有如本文所描述之無失真像素壓縮器/解壓縮器之一或多個特徵(例如,包括多深度及/或多格式偵測)。舉例而言,系統700及/或裝置800可包括下文額外註釋及實例中所描述之特徵中之一或多者。
額外註釋及實例:
實例1可包括一種半導體封裝設備,其包含:基體;以及邏輯,其耦接至基體,其中邏輯至少部分地實施於可組配邏輯及固定功能性硬體邏輯中之一或多者中,邏輯耦接至基體以偵測像素記憶體區之格式,且將像素記憶體區與指示像素記憶體區之偵測到之格式的嵌入式控制資訊一起壓縮。
實例2可包括實例1之設備,其中邏輯進一步判定兩種或更多種壓縮技術之壓縮結果,基於所判定之壓縮結果選擇兩種或更多種壓縮技術中之一者,且使用經選擇之壓縮技術將像素記憶體區與嵌入式控制資訊一起壓縮。
實例3可包括實例2之設備,其中邏輯進一步使用兩種或更多種壓縮技術中之一者壓縮像素記憶體區之一部分,且基於像素記憶體區之經壓縮部分之壓縮結果估計整個像素記憶體區之壓縮結果。
實例4可包括實例2之設備,其中邏輯進一步將兩種或更多種壓縮技術中之一者的壓縮結果與臨限值進行比較,且基於臨限值比較來選擇兩種或更多種壓縮技術中之一者。
實例5可包括實例1之設備,其中邏輯進一步將快取行細分成可獨立壓縮之子區。
實例6可包括實例1之設備,其中邏輯進一步將快取行細分成可獨立解壓縮之子區。
實例7可包括實例1之設備,其中邏輯進一步基於偵測到之像素格式將像素記憶體區之位元組重新配置成子區。
實例8可包括實例1至7中之任一者之設備,其中邏輯進一步偵測像素記憶體區之深度。
實例9可包括實例1至7中之任一者之設備,其中嵌入式控制資訊包括對多階應用壓縮表之索引。
實例10可包括一種壓縮像素之方法,其包含偵測像素記憶體區之格式,且將像素記憶體區與指示像素記憶體區之偵測到之格式的嵌入式控制資訊一起壓縮。
實例11可包括實例10之方法,其進一步包含判定兩種或更多種壓縮技術之壓縮結果,基於所判定之壓縮結果選擇兩種或更多種壓縮技術中之一者,且使用經選擇之壓縮技術將像素記憶體區與嵌入式控制資訊一起壓縮。
實例12可包括實例11之方法,其進一步包含使用兩種或更多種壓縮技術中之一者壓縮像素記憶體區之一部分,且基於像素記憶體區之經壓縮部分之壓縮結果估計整個像素記憶體區之壓縮結果。
實例13可包括實例11之方法,其進一步包含將兩種或更多種壓縮技術中之一者的壓縮結果與臨限值進行比較,且基於臨限值比較來選擇兩種或更多種壓縮技術中之一者。
實例14可包括實例10之方法,其進一步包含將快取行細分成可獨立壓縮之子區。
實例15可包括實例10之方法,其進一步包含將快取行細分成可獨立解壓縮之子區。
實例16可包括實例10之方法,其進一步包含基於偵測到之像素格式將像素記憶體區之位元組重新配置成子區。
實例17可包括實例10至16中之任一者之方法,其進一步包含偵測像素記憶體區之深度。
實例18可包括實例10至16中之任一者之方法,其中嵌入式控制資訊包括對多階應用壓縮表之索引。
實例19可包括至少一個電腦可讀媒體,其包含指令集,指令集在由計算裝置執行時使得計算裝置偵測像素記憶體區之格式,且將像素記憶體區與指示像素記憶體區之偵測到之格式的嵌入式控制資訊一起壓縮。
實例20可包括實例19之至少一個電腦可讀媒體,其包含另一指令集,另一指令集在由計算裝置執行時使得計算裝置判定兩種或更多種壓縮技術之壓縮結果,基於所判定之壓縮結果選擇兩種或更多種壓縮技術中之一者,且使用經選擇之壓縮技術將像素記憶體區與嵌入式控制資訊一起壓縮。
實例21可包括實例20之至少一個電腦可讀媒體,其包含另一指令集,另一指令集在由計算裝置執行時使得計算裝置使用兩種或更多種壓縮技術中之一者壓縮像素記憶體區之一部分,且基於像素記憶體區之經壓縮部分之壓縮結果估計整個像素記憶體區之壓縮結果。
實例22可包括實例20之至少一個電腦可讀媒體,其包含另一指令集,另一指令集在由計算裝置執行時使得計算裝置將兩種或更多種壓縮技術中之一者的壓縮結果與臨限值進行比較,且基於臨限值比較來選擇兩種或更多種壓縮技術中之一者。
實例23可包括實例19之至少一個電腦可讀媒體,其包含另一指令集,另一指令集在由計算裝置執行時使得計算裝置將快取行細分成可獨立壓縮之子區。
實例24可包括實例19之至少一個電腦可讀媒體,其包含另一指令集,另一指令集在由計算裝置執行時使得計算裝置將快取行細分成可獨立解壓縮之子區。
實例25可包括實例19之至少一個電腦可讀媒體,其包含另一指令集,另一指令集在由計算裝置執行時使得計算裝置基於偵測到之像素格式將像素記憶體區之位元組重新配置成子區。
實例26可包括實例19至25中之任一者之至少一個電腦可讀媒體,其包含另一指令集,另一指令集在由計算裝置執行時使得計算裝置偵測像素記憶體區之深度。
實例27可包括實例19至25中之任一者之至少一個電腦可讀媒體,其中嵌入式控制資訊包括對多階應用壓縮表之索引。
實例28可包括一種電子處理系統,其包含處理器、以通訊方式耦接至處理器之記憶體以及以通訊方式耦接至處理器之邏輯以偵測像素記憶體區之格式,且將像素記憶體區與指示像素記憶體區之偵測到之格式的嵌入式控制資訊一起壓縮。
實例29可包括實例28之系統,其中邏輯進一步判定兩種或更多種壓縮技術之壓縮結果,基於所判定之壓縮結果選擇兩種或更多種壓縮技術中之一者,且使用經選擇之壓縮技術將像素記憶體區與嵌入式控制資訊一起壓縮。
實例30可包括實例29之系統,其中邏輯進一步使用兩種或更多種壓縮技術中之一者壓縮像素記憶體區之一部分,且基於像素記憶體區之經壓縮部分之壓縮結果估計整個像素記憶體區之壓縮結果。
實例31可包括實例29之系統,其中邏輯進一步將兩種或更多種壓縮技術中之一者的壓縮結果與臨限值進行比較,且基於臨限值比較來選擇兩種或更多種壓縮技術中之一者。
實例32可包括實例28之系統,其中邏輯進一步將快取行細分成可獨立壓縮之子區。
實例33可包括實例28之系統,其中邏輯進一步將快取行細分成可獨立解壓縮之子區。
實例34可包括實例28之系統,其中邏輯進一步基於偵測到之像素格式將像素記憶體區之位元組重新配置成子區。
實例35可包括實例28至34中之任一者之系統,其中邏輯進一步偵測像素記憶體區之深度。
實例36可包括實例28至34中之任一者之系統,其中嵌入式控制資訊包括對多階應用壓縮表之索引。
實例37可包括一種像素壓縮器設備,其包含用於偵測像素記憶體區之格式的構件,以及將像素記憶體區與指示像素記憶體區之偵測到之格式的嵌入式控制資訊一起壓縮的構件。
實例38可包括實例37之設備,其進一步包含用於判定兩種或更多種壓縮技術之壓縮結果的構件、用於基於所判定之壓縮結果選擇兩種或更多種壓縮技術中之一者的構件,以及用於使用經選擇之壓縮技術將像素記憶體區與嵌入式控制資訊一起壓縮的構件。
實例39可包括實例38之設備,其進一步包含用於使用兩種或更多種壓縮技術中之一者壓縮像素記憶體區之一部分的構件,以及用於基於像素記憶體區之經壓縮部分之壓縮結果估計整個像素記憶體區之壓縮結果的構件。
實例40可包括實例38之設備,其進一步包含用於將兩種或更多種壓縮技術中之一者的壓縮結果與臨限值進行比較的構件,以及用於基於臨限值比較來選擇兩種或更多種壓縮技術中之一者的構件。
實例41可包括實例37之設備,其進一步包含用於將快取行細分成可獨立壓縮之子區的構件。
實例42可包括實例37之設備,其進一步包含用於將快取行細分成可獨立解壓縮之子區的構件。
實例43可包括實例37之設備,其進一步包含用於基於偵測到之像素格式將像素記憶體區之位元組重新配置成子區的構件。
實例44可包括實例37至43中之任一者之設備,其進一步包含用於偵測像素記憶體區之深度的構件。
實例45可包括實例37至43中之任一者之設備,其中嵌入式控制資訊包括對多階應用壓縮表之索引。
實施例適合於供所有類型之半導體積體電路(「IC」)晶片使用。此等IC晶片之實例包括但不限於處理器、控制器、晶片組組件、可規劃邏輯陣列(PLAs)、記憶體晶片、網路晶片、系統單晶片(SOCs)、SSD/NAND控制器ASICs,及其類似者。另外,在該等圖式中之一些中,藉由線表示訊號導體線。一些線可不同,以指示較多組份之訊號路徑;可具有編號標記,以指示多個組份之訊號路徑;及/或在一或多個末端處具有箭頭,以指示主要資訊流動方向。然而,不應以限制性方式解釋此情況。實情為,可結合一或多個例示性實施例使用此等添加之細節,以促進對電路之更容易理解。無論是否具有額外資訊,任何所表示之訊號線可實際上包含可沿多個方向行進之一或多個訊號且可以任何合適類型之訊號方案來實施,例如以不同的對來實施之數位或類比線、光纖線及/或單端線。
實例大小/模型/值/範圍可已給出,儘管實施例不限於前述各者。隨著製造技術(例如,光微影)隨時間推移變得成熟,預期可製造較小大小之裝置。另外,為簡單地說明及論述起見,及以便不混淆實施例的某些態樣,諸圖內可展示或未展示至IC晶片及其他組件的熟知電源/接地連接。另外,為了避免混淆實施例,且又鑒於關於此等方塊圖配置之實施方案的細節高度取決於實施例經實施所在的平台而定亦即此等細節應良好地在熟習此項技術者之見識內的事實,配置可以方塊圖形式展示。在具體細節(例如,電路)經闡述以便描述實例實施例之處,熟習此項技術者應顯而易見可在無此等具體細節之情況下或在此等具體細節變化之情況下實踐實施例。因此,應將描述視為說明性而非限制性的。
術語「耦接」可在本文中用以指所討論之組件之間的任何類型之直接或間接關係,且可適用於電氣、機械、流體、光學、電磁、機電或其他連接。另外,除非另外指示,否則術語「第一」、「第二」等可在本文中僅用於促進論述,且並不攜有特定時間或時序意義。
如本申請案及申請專利範圍中所使用,藉由術語「中之一或多者」接合的項目清單可意謂所列舉術語之任何組合。舉例而言,短語「A、B以及C中之一或多者」及短語「A、B或C中之一或多者」兩者可意謂A;B;C;A及B;A及C;B及C;或A、B以及C。
熟習此項技術者自前述描述內容將瞭解,實施例之廣泛技術可以各種形式來實施。因此,雖然已結合實施例之特定實例描述了實施例,但實施例之真實範疇不應因此受限,此係由於其他修改對於熟習此項技術者在研究圖式、說明書以及以下申請專利範圍之後將變得顯而易見。
10‧‧‧電子處理系統
11、710‧‧‧處理器
12、712‧‧‧記憶體
13、22、93b~93e、94b~94e‧‧‧邏輯
20‧‧‧半導體封裝設備
21‧‧‧基體
25、100‧‧‧方法
26~39、101~104‧‧‧方塊
44‧‧‧無失真像素壓縮器
45‧‧‧格式偵測器
46、85‧‧‧壓縮選擇器
47、80、86‧‧‧壓縮器
50‧‧‧快取行
51‧‧‧格式索引
52‧‧‧表索引
53‧‧‧位元映射部分
54‧‧‧殘餘資料
60‧‧‧多階應用壓縮表
70‧‧‧起點計算
81、81a~81n、90‧‧‧格式及深度偵測器
82‧‧‧快取行緩衝器
83‧‧‧Y410轉換器
84‧‧‧FP16轉換器
91‧‧‧預測子
92‧‧‧位元成本估計器
93‧‧‧第一估計器
94‧‧‧第二估計器
95‧‧‧最佳深度選擇器
700‧‧‧系統
702‧‧‧平台
705‧‧‧晶片組
714‧‧‧儲存器
715‧‧‧圖形子系統
716‧‧‧應用程式
718‧‧‧無線電
720‧‧‧顯示器
722‧‧‧使用者介面
730‧‧‧內容服務裝置
740‧‧‧內容傳送裝置
750‧‧‧巡覽控制器
760‧‧‧網路
800‧‧‧較小外觀尺寸裝置
802‧‧‧外殼
804‧‧‧顯示器
806‧‧‧輸入/輸出裝置
808‧‧‧天線
812‧‧‧巡覽特徵
實施例之各種優點藉由研讀以下說明書及隨附申請專利範圍且藉由參考以下圖式對於熟習此項技術者將變得顯而易見,其中:
圖1為根據實施例之電子處理系統之實例的方塊圖;
圖2為根據實施例之半導體封裝設備之實例的方塊圖;
圖3A至3D為根據實施例之壓縮像素之方法的實例之流程圖;
圖4為根據實施例之無失真像素壓縮器之實例的方塊圖;
圖5為根據實施例之經壓縮快取行之殘餘格式之實例的說明性圖;
圖6為根據實施例之多階應用壓縮表之實例的說明性圖;
圖7為根據實施例之經壓縮快取行之起點計算的說明性圖;
圖8為根據實施例之經壓縮快取行佈局之說明性圖;
圖9為根據實施例之無失真像素壓縮器之另一實例的方塊圖;
圖10為根據實施例之格式及深度偵測器之實例的方塊圖;
圖11為根據實施例之位元成本(bitcost)計算器之實例的方塊圖;
圖12為根據實施例之具有巡覽控制器之系統的實例之方塊圖;以及
圖13為根據實施例之具有小型外觀尺寸之系統的實例之方塊圖。

Claims (36)

  1. 一種半導體封裝設備,其包含: 一基體;以及 邏輯,其耦接至該基體,其中該邏輯至少部分地被實施於可組配邏輯及固定功能性硬體邏輯中之一或多者中,該邏輯耦接至該基體以: 偵測一像素記憶體區之一格式,以及 將該像素記憶體區與指示該像素記憶體區之偵測到之該格式的嵌入式控制資訊一起壓縮。
  2. 如請求項1之設備,其中該邏輯係進一步用以: 判定針對兩種或更多種壓縮技術之壓縮結果; 基於所判定之該等壓縮結果來選擇該兩種或更多種壓縮技術中之一者;以及 使用經選擇之該壓縮技術來將該像素記憶體區與該嵌入式控制資訊一起壓縮。
  3. 如請求項2之設備,其中該邏輯係進一步用以: 使用該兩種或更多種壓縮技術中之一者來壓縮該像素記憶體區之一部分;以及 基於針對該像素記憶體區之經壓縮的該部分之一壓縮結果來估計針對整個像素記憶體區之該等壓縮結果。
  4. 如請求項2之設備,其中該邏輯係進一步用以: 將針對該兩種或更多種壓縮技術中之一者的一壓縮結果與一臨限值進行比較;以及 基於該臨限值比較來選擇該兩種或更多種壓縮技術中之一者。
  5. 如請求項1之設備,其中該邏輯係進一步用以: 將快取行細分成可獨立壓縮之子區。
  6. 如請求項1之設備,其中該邏輯係進一步用以: 將快取行細分成可獨立解壓縮之子區。
  7. 如請求項1之設備,其中該邏輯係進一步用以: 基於偵測到之該像素格式來將該像素記憶體區之位元組重新配置成子區。
  8. 如請求項1之設備,其中該邏輯係進一步用以: 偵測該像素記憶體區之一深度。
  9. 如請求項1之設備,其中該嵌入式控制資訊包括對一多階應用壓縮表之一索引。
  10. 一種壓縮像素之方法,其包含: 偵測一像素記憶體區之一格式;以及 將該像素記憶體區與指示該像素記憶體區之偵測到之該格式的嵌入式控制資訊一起壓縮。
  11. 如請求項10之方法,其進一步包含: 判定針對兩種或更多種壓縮技術之壓縮結果; 基於所判定之該等壓縮結果來選擇該兩種或更多種壓縮技術中之一者;以及 使用經選擇之該壓縮技術來將該像素記憶體區與該嵌入式控制資訊一起壓縮。
  12. 如請求項11之方法,其進一步包含: 使用該兩種或更多種壓縮技術中之一者來壓縮該像素記憶體區之一部分;以及 基於針對該像素記憶體區之經壓縮的該部分之一壓縮結果來估計針對整個像素記憶體區之該等壓縮結果。
  13. 如請求項11之方法,其進一步包含: 將針對該兩種或更多種壓縮技術中之一者的一壓縮結果與一臨限值進行比較;以及 基於該臨限值比較來選擇該兩種或更多種壓縮技術中之一者。
  14. 如請求項10之方法,其進一步包含: 將快取行細分成可獨立壓縮之子區。
  15. 如請求項10之方法,其進一步包含: 將快取行細分成可獨立解壓縮之子區。
  16. 如請求項10之方法,其進一步包含: 基於偵測到之該像素格式來將該像素記憶體區之位元組重新配置成子區。
  17. 如請求項10之方法,其進一步包含: 偵測該像素記憶體區之一深度。
  18. 如請求項10之方法,其中該嵌入式控制資訊包括對一多階應用壓縮表之一索引。
  19. 一種包含一指令集之至少一個電腦可讀媒體,該指令集在由一計算裝置執行時使得該計算裝置: 偵測一像素記憶體區之一格式;以及 將該像素記憶體區與指示該像素記憶體區之偵測到之該格式的嵌入式控制資訊一起壓縮。
  20. 如請求項19之至少一個電腦可讀媒體,其包含另一指令集,該另一指令集在由該計算裝置所執行時致使該計算裝置: 判定針對兩種或更多種壓縮技術之壓縮結果; 基於所判定之該等壓縮結果來選擇該兩種或更多種壓縮技術中之一者;以及 使用經選擇之該壓縮技術來將該像素記憶體區與該嵌入式控制資訊一起壓縮。
  21. 如請求項20之至少一個電腦可讀媒體,其包含另一指令集,該另一指令集在由該計算裝置所執行時致使該計算裝置: 使用該兩種或更多種壓縮技術中之一者來壓縮該像素記憶體區之一部分;以及 基於針對該像素記憶體區之經壓縮的該部分之一壓縮結果來估計針對整個像素記憶體區之該等壓縮結果。
  22. 如請求項20之至少一個電腦可讀媒體,其包含另一指令集,該另一指令集在由該計算裝置所執行時致使該計算裝置: 將針對該兩種或更多種壓縮技術中之一者的一壓縮結果與一臨限值進行比較;以及 基於該臨限值比較來選擇該兩種或更多種壓縮技術中之一者。
  23. 如請求項19之至少一個電腦可讀媒體,其包含另一指令集,該另一指令集在由該計算裝置所執行時致使該計算裝置: 將快取行細分成可獨立壓縮之子區。
  24. 如請求項19之至少一個電腦可讀媒體,其包含另一指令集,該另一指令集在由該計算裝置所執行時致使該計算裝置: 將快取行細分成可獨立解壓縮之子區。
  25. 如請求項19之至少一個電腦可讀媒體,其包含另一指令集,該另一指令集在由該計算裝置所執行時致使該計算裝置: 基於偵測到之該像素格式來將該像素記憶體區之位元組重新配置成子區。
  26. 如請求項19之至少一個電腦可讀媒體,其包含另一指令集,該另一指令集在由該計算裝置所執行時致使該計算裝置: 偵測該像素記憶體區之一深度。
  27. 如請求項19之至少一個電腦可讀媒體,其中該嵌入式控制資訊包括對一多階應用壓縮表之一索引。
  28. 一種電子處理系統,其包含: 一處理器: 記憶體,其以通訊方式耦接至該處理器;以及 邏輯,其以通訊方式耦接至該處理器以: 偵測一像素記憶體區之一格式,以及 將該像素記憶體區與指示該像素記憶體區之偵測到之該格式的嵌入式控制資訊一起壓縮。
  29. 如請求項28之系統,其中該邏輯係進一步用以: 判定針對兩種或更多種壓縮技術之壓縮結果; 基於所判定之該等壓縮結果來選擇該兩種或更多種壓縮技術中之一者;以及 使用經選擇之該壓縮技術來將該像素記憶體區與該嵌入式控制資訊一起壓縮。
  30. 如請求項29之系統,其中該邏輯係進一步用以: 使用該兩種或更多種壓縮技術中之一者來壓縮該像素記憶體區之一部分;以及 基於針對該像素記憶體區之經壓縮的該部分之一壓縮結果來估計針對整個像素記憶體區之該等壓縮結果。
  31. 如請求項29之系統,其中該邏輯係進一步用以: 將針對該兩種或更多種壓縮技術中之一者的一壓縮結果與一臨限值進行比較;以及 基於該臨限值比較來選擇該兩種或更多種壓縮技術中之一者。
  32. 如請求項28之系統,其中該邏輯係進一步用以: 將快取行細分成可獨立壓縮之子區。
  33. 如請求項28之系統,其中該邏輯係進一步用以: 將快取行細分成可獨立解壓縮之子區。
  34. 如請求項28之系統,其中該邏輯係進一步用以: 基於偵測到之該像素格式來將該像素記憶體區之位元組重新配置成子區。
  35. 如請求項28之系統,其中該邏輯係進一步用以: 偵測該像素記憶體區之一深度。
  36. 如請求項28之系統,其中該嵌入式控制資訊包括對一多階應用壓縮表之一索引。
TW107136056A 2017-12-05 2018-10-12 基於推斷控制資訊之無失真像素壓縮技術 TWI804517B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/CN2017/114614 WO2019109248A1 (en) 2017-12-05 2017-12-05 Lossless pixel compression based on inferred control information
WOPCT/CN2017/114614 2017-12-05
??PCT/CN2017/114614 2017-12-05

Publications (2)

Publication Number Publication Date
TW201926909A true TW201926909A (zh) 2019-07-01
TWI804517B TWI804517B (zh) 2023-06-11

Family

ID=66750358

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107136056A TWI804517B (zh) 2017-12-05 2018-10-12 基於推斷控制資訊之無失真像素壓縮技術

Country Status (5)

Country Link
US (1) US11729403B2 (zh)
CN (1) CN111149345A (zh)
DE (1) DE112017008181T5 (zh)
TW (1) TWI804517B (zh)
WO (1) WO2019109248A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11405622B2 (en) * 2020-04-22 2022-08-02 Apple Inc. Lossless compression techniques
US11664816B2 (en) 2020-04-22 2023-05-30 Apple Inc. Lossy compression techniques

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366289B1 (en) * 1998-07-17 2002-04-02 Microsoft Corporation Method and system for managing a display image in compressed and uncompressed blocks
CN101142821B (zh) 2005-02-28 2011-06-15 Nxp股份有限公司 新压缩格式和用其在帧存储器中暂存图像数据的设备
WO2007107924A1 (en) * 2006-03-17 2007-09-27 Nxp B.V. Compression scheme using qualifier watermarking and apparatus using the compression scheme for temporarily storing image data in a frame memory
JP5203513B2 (ja) * 2009-01-19 2013-06-05 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 画像処理
JP5381189B2 (ja) * 2009-03-16 2014-01-08 株式会社リコー 画像処理方法および画像処理装置
JP5595151B2 (ja) * 2010-07-13 2014-09-24 キヤノン株式会社 画像処理装置、画像処理装置における圧縮方法、および、プログラム
US9106936B2 (en) 2012-01-25 2015-08-11 Altera Corporation Raw format image data processing
US9778937B1 (en) * 2013-10-16 2017-10-03 American Megatrends, Inc. Method and implementation for starting and stopping the playing of media content during booting process
KR102285332B1 (ko) * 2014-11-11 2021-08-04 삼성전자주식회사 반도체 패키지 및 이를 포함하는 반도체 장치

Also Published As

Publication number Publication date
US20200288152A1 (en) 2020-09-10
WO2019109248A1 (en) 2019-06-13
TWI804517B (zh) 2023-06-11
US11729403B2 (en) 2023-08-15
CN111149345A (zh) 2020-05-12
DE112017008181T5 (de) 2020-09-03

Similar Documents

Publication Publication Date Title
KR101717915B1 (ko) 동적 생성 그래픽 자원들에 대한 압축 기술들
CN110072033B (zh) 使用选择性色彩变换的色彩压缩
KR101634134B1 (ko) 블록 압축 이미지들의 압축 해제를 위한 시스템, 방법, 및 컴퓨터 프로그램 제품
US20130265305A1 (en) Compressed Depth Cache
US10621691B2 (en) Subset based compression and decompression of graphics data
EP3011539B1 (en) Compression and decompression of graphics data using pixel region bit values
JP6182225B2 (ja) カラーバッファ圧縮
TWI804517B (zh) 基於推斷控制資訊之無失真像素壓縮技術
TWI550552B (zh) 適應性深度偏移壓縮技術
US10186236B2 (en) Universal codec
TWI544802B (zh) 影像資料之無感知損失壓縮以縮減記憶體頻寬及儲存的技術
JP6412530B2 (ja) ビデオ符号化及び復号のためのヒストグラム分割ベースのローカル適応フィルタ
US20140307808A1 (en) Protection against packet loss during transmitting video information
CN113875243A (zh) 一般性旁路仓格和在熵编码中的应用
CN102215400A (zh) 无线模拟电视接收机的缓冲减量