TWI639336B - 紋理磚壓縮及解壓縮方法以及使用該方法的裝置 - Google Patents

紋理磚壓縮及解壓縮方法以及使用該方法的裝置 Download PDF

Info

Publication number
TWI639336B
TWI639336B TW105138799A TW105138799A TWI639336B TW I639336 B TWI639336 B TW I639336B TW 105138799 A TW105138799 A TW 105138799A TW 105138799 A TW105138799 A TW 105138799A TW I639336 B TWI639336 B TW I639336B
Authority
TW
Taiwan
Prior art keywords
value
texture
pixels
pixel
channel
Prior art date
Application number
TW105138799A
Other languages
English (en)
Other versions
TW201820878A (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 TW201820878A publication Critical patent/TW201820878A/zh
Application granted granted Critical
Publication of TWI639336B publication Critical patent/TWI639336B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/413Classification of content, e.g. text, photographs or tables
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • 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/17Methods 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 an image region, e.g. an object
    • H04N19/176Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/186Methods 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 colour or a chrominance component
    • 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/439Methods 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 using cascaded computational arrangements for performing a single operation, e.g. filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Discrete Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本發明的實施例提出一種紋理磚壓縮方法,至少包含以下步驟。將紋理磚中的每一畫素分至多個群組中之一者並產生紋理磚的位元圖,其中,位元圖包含紋理磚中每一畫素屬於群組中之何者的資訊。針對每一群組,降低此群組中之畫素間的關聯性。之後,無損編碼紋理磚中的畫素以產生壓縮結果,以及輸出壓縮結果及位元圖。

Description

紋理磚壓縮及解壓縮方法以及使用該方法的裝置
本發明關連於一種視訊編碼技術,特別是一種紋理磚壓縮及解壓縮方法以及使用該方法的裝置。
圖像壓縮使用先進的編碼技術,用以移除圖像資料中的冗餘。於目前的高解析度屏幕,例如4K屏幕,圖形處理中的紋理磚若全部使用無損壓縮,可能需要耗費大量的內存空間,進而增加硬件成本。因此,需要一種紋理磚壓縮及解壓縮方法以及使用該方法的裝置,用以節省內存空間的使用。
本發明的實施例提出一種紋理磚壓縮方法,至少包含以下步驟。將紋理磚中的每一畫素分至多個群組中之一者並產生紋理磚的位元圖,其中,位元圖包含紋理磚中每一畫素屬於群組中之何者的資訊。針對每一群組,降低此群組中之畫素間的關聯性。之後,無損編碼紋理磚中的畫素以產生壓縮結果,以及輸出壓縮結果及位元圖。
本發明的實施例提出一種紋理磚壓縮裝置,至少包含位元圖產生器、壓縮器及資料產生控制器。資料產生控制器耦接至位元圖產生器及壓縮器,用以指示位元圖產生器將紋理磚中的每一畫素分至多個群組中之一者並產生紋理磚的位 元圖,包含紋理磚中每一畫素屬於群組中何者的資訊。資料產生控制器指示壓縮器針對每一群組,降低此群組中之畫素間的關聯性,並且,於降低畫素間的關聯性後,無損編碼紋理磚中的畫素以產生壓縮結果。資料產生控制器接著輸出壓縮結果及位元圖。
本發明的實施例提出一種紋理磚解壓縮方法,至少包含以下步驟。接收壓縮結果及文字旗標後,依據文字旗標判斷編碼器使用第一種算法或第二種算法降低紋理磚中畫素間的關聯性。當編碼器使用第一種算法降低紋理磚中畫素間的關聯性時,無損解碼壓縮結果及使用第一種算法回復紋理磚中畫素間的關聯性。當編碼器使用上述第二種算法降低紋理磚中畫素間的關聯性時,取得位元圖,無損解碼壓縮結果,以及依據位元圖使用第二種算法回復紋理磚中畫素間的關聯性,用以產生回復結果。
S110~S190‧‧‧方法步驟
210‧‧‧記憶體控制器
220‧‧‧記憶體
221、223‧‧‧記憶體中的區域
230‧‧‧壓縮器
241‧‧‧減法器
243‧‧‧解多工器
245‧‧‧寄存器
250‧‧‧資料縮減控制器
260‧‧‧輸出介面
S310~S360‧‧‧方法步驟
410、430‧‧‧紋理磚
S510~S540‧‧‧方法步驟
611‧‧‧前景群組
613‧‧‧背景群組
631‧‧‧前景群組
633‧‧‧中間群組
635‧‧‧背景群組
710‧‧‧壓縮器
730‧‧‧資料產生控制器
750‧‧‧位元圖產生器
770‧‧‧記憶體中的區域
S810~S843‧‧‧方法步驟
第1圖係依據本發明實施例的紋理磚壓縮方法流程圖。
第2圖係依據本發明實施例的紋理磚壓縮裝置的方塊圖。
第3圖係依據本發明實施例的紋理磚解壓縮方法流程圖。
第4A及4B圖係依據本發明實施例的紋理磚示意圖。
第5圖係依據本發明實施例的紋理磚壓縮方法流程圖。
第6A及6B圖係依據本發明實施例的紋理磚分群示意圖。
第7圖係依據本發明實施例的紋理磚壓縮裝置的方塊圖。
第8圖係依據本發明實施例的紋理磚解壓縮方法流程圖。
以下說明係為完成發明的較佳實現方式,其目的在於描述本發明的基本精神,但並不用以限定本發明。實際的發明內容必須參考之後的權利要求範圍。
必須了解的是,使用於本說明書中的”包含”、”包括”等詞,係用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。
於權利要求中使用如”第一”、"第二"、"第三"等詞係用來修飾權利要求中的元件,並非用來表示之間具有優先權順序,先行關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元件。
為了不影響紋理磚的信息,本發明實施例首先無損壓縮紋理磚的原始資料,並且判斷原始資料的無損壓縮結果的長度是否降低至目標長度之內。當原始資料的無損壓縮結果的長度大於目標長度時,對原始資料進行縮減。然而,資料縮減會減損紋理磚的原始資料的信息。為了讓壓縮後紋理磚的信息縮減程度越低越好,本發明實施例提出一種多層次資料縮減控制,最小程度地縮減原始資料來產生縮減資料,並且產生縮減資料的無損壓縮結果,使得縮減資料的無損壓縮結果的長度小於或等於目標長度。於多層次資料縮減控制中,先縮減原始資料至一個程度以產生縮減資料,並且無損壓縮此縮減資料。 當縮減資料的無損壓縮結果的長度不能降低至目標長度時,對原始資料進行更大程度的縮減(亦即是,下一層次的縮減)。此外,當資料縮減的次數達到預設值時,直接將原始資料縮減至目標長度之內的長度,用以避免消耗太多時間來執行資料縮減及無損壓縮。第1圖係依據本發明實施例的紋理磚壓縮方法流程圖。此方法可執行於紋理編碼器(texture encoder)。於接收一個紋理磚(texture tile)的原始資料後(步驟S110),對原始資料執行無損壓縮演算法(步驟S131)。舉例來說,紋理磚可包含8x8畫素,格式可為RGBA8888,其中,R、G、B及A通道各使用8比特表示,使得原始資料的長度為2048比特。目標長度可設為1024比特。接著,計算無損壓縮結果的長度(步驟S133),並判斷是否超過目標長度(步驟S151)。如果沒有超過目標長度(步驟S151中”否”的路徑),代表原始資料的無損壓縮成功,輸出無損壓縮結果及減損程度旗標(lossy-level flag)(步驟S190)。減損程度旗標可為”0b00”,表示紋理磚的原始資料沒有經過縮減。如果超過目標長度(步驟S151中”是”的路徑),代表原始資料的無損壓縮失敗,接著,進行多層次的資料縮減(步驟S171或S173)以及對縮減後紋理磚資料進行無損壓縮(步驟S131)。
於每個層次的資料縮減及縮減後紋理磚資料的無損壓縮中,首先判斷執行過的資料縮減次數是否超過預設值(步驟S153)。可使用計數器來表示執行過的資料縮減次數。計數器初始為0,並且於每次執行完縮減紋理磚的原始資料後(步驟S171),將計數器加1。如果沒有超過預設值(步驟S153中”否”的路徑),縮減紋理磚的原始資料(步驟S171)。如果超過預設值 (步驟S153中”是”的路徑),縮減紋理磚的原始資料至目標長度之內的長度(步驟S173)。於一些實施例中,可使用公式(1)、(2)及(3)來縮減紋理磚的原始資料:Ri=Ri/mj (1)
Gi=Gi/mj (2)
Bi=Bi/mj (3)Ri代表原始資料的第i個畫素的R值,Gi代表原始資料的第i個畫素的G值,Bi代表原始資料的第i個畫素的B值,以及mj代表第j次資料縮減的常數且j越大則mj越大。於此須注意的是,公式(1)至(3)產生的餘數直接捨棄。
於一些實施例中,步驟S153的預設值可設為2。此外,m1可設為2,m2可設為3,m3可設為8。於第一層資料縮減時,可將紋理磚的原始資料(包含R、G及B通道,或者R、G、B及A通道)除以m1(步驟S171)。接著,對縮減資料執行無損壓縮演算法(步驟S131),並判斷無損壓縮結果的長度是否超過目標長度(步驟S151)。如果沒有超過目標長度(步驟S151中”否”的路徑),代表縮減資料的無損壓縮成功,輸出縮減資料的無損壓縮結果及減損程度旗標”0b01”,用以表示紋理磚的原始資料已經過第一層資料縮減(步驟S190)。如果超過目標長度(步驟S151中”是”的路徑),代表原始資料壓縮失敗,接著,進行下一層次的資料縮減處理(步驟S153、S171及S173)。於第二層資料縮減時,可將紋理磚的原始資料(包含R、G及B通道,或者R、G、B及A通道)除以m2(步驟S171)。接著,對縮減資料執行無損壓縮演算法(步驟S131),並判斷無損壓縮結果的長度是否超過目 標長度(步驟S151)。如果沒有超過目標長度(步驟S151中”否”的路徑),代表縮減資料的無損壓縮成功,輸出縮減資料的壓縮結果及減損程度旗標”0b10”,用以表示紋理磚的原始資料已經過第二層資料縮減(步驟S190)。於第三層資料縮減時,可直接將紋理磚的原始資料(包含R、G及B通道,或者R、G、B及A通道)除以m3(步驟S173),輸出縮減資料及減損程度旗標”0b11”,表示紋理磚的原始資料已強迫縮減至目標長度內的長度(步驟S190)。
於另一些實施例中,步驟S153的預設值可設為3。m1可設為2,m2可設為3,m3可設為8,m4可設為16。步驟S190中的減損程度旗標可使用三個比特表示,其中,”0b000”表示紋理磚的原始資料沒有經過縮減,”0b001”表示紋理磚的原始資料已經過第一層資料縮減,”0b010”表示紋理磚的原始資料已經過第二層資料縮減,”0b011”表示紋理磚的原始資料已經過第三層資料縮減,”0b100”或”0b111”表示紋理磚的原始資料已強迫縮減至目標長度內的長度。
於一些實施例中,無損壓縮演算法可先降低畫素內或/以及畫素間的關聯性,然後再進行無損編碼。為降低畫素內的關聯性,可使用公式(4)及(5)對每一畫素中R、G及B通道進行運算。為降低畫素間的關聯性,除了紋理磚的畫素(0,0)外,每一個畫素的R值、G值及B值可分別減去畫素(0,0)的R值、G值及B值。
於另一些實施例中,無損壓縮演算法可先偵測紋理磚是否符合數個預測模式中之一者。如果是,則保留幾個畫 素的資料,產生預測旗標以表示符合的預測模式,以及記錄此預測模式的必要資訊,例如,角度、長度、寬度等。例如,當紋理磚包含純色(solid color)時,可只留下一個畫素的資料並使用預測旗標表示此為純色磚。若找不到符合的預測模式,先降低畫素內或/畫素間的關聯性,然後再進行無損編碼。
無損編碼可使用適應性字典編碼(adaptive dictionary encoding)、一元編碼(unary encoding)、熵編碼(entropy encoding)等。
第2圖係依據本發明實施例的紋理磚壓縮裝置的方塊圖。資料縮減控制器250指示記憶體控制器210輸出紋理磚的原始資料至壓縮器230,使得壓縮器230產生原始資料的無損壓縮結果。接著,資料縮減控制器250判斷原始資料的無損壓縮結果的長度是否大於目標長度。如果是,資料縮減控制器250執行多層次資料縮減控制,用以指示減法器241縮減原始資料以產生縮減資料,並指示記憶體控制器210輸出縮減資料至壓縮器230,使得壓縮器230產生縮減資料的無損壓縮結果,其中,縮減資料的無損壓縮結果小於或等於上述目標長度。多層次資料縮減控制最小程度地縮減原始資料來產生縮減資料。於多層次資料縮減控制中,資料縮減控制器250指示減法器241縮減原始資料至一個程度以產生縮減資料,並且指示記憶體控制器210輸出縮減資料至壓縮器230,使得壓縮器230產生縮減資料的無損壓縮結果。當縮減資料的無損壓縮結果的長度大於目標長度且資料縮減的次數沒有達到預設值時,資料縮減控制器250指示減法器241對原始資料進行更大程度的縮減。當縮減資 料的無損壓縮結果的長度大於目標長度且資料縮減的次數達到預設值時,資料縮減控制器250指示減法器241直接將原始資料縮減至目標長度內的長度,並且輸出縮減結果而不進行無損壓縮。
詳細來說,資料縮減控制器250可於接收到一個紋理磚的原始資料後,指示記憶體控制器210儲存原始資料至記憶體220中的區域221並輸出原始資料至壓縮器230,使得壓縮器230可針對原始資料執行無損壓縮演算法。壓縮器230可對從記憶體控制器210接收的原始資料執行無損壓縮演算法,並且將壓縮結果輸出至資料縮減控制器250。壓縮器230的細節可參考步驟S131的說明,不再贅述。
資料縮減控制器250可包含計數器來表示執行過的資料縮減次數,初始為0。資料縮減控制器250可使用多種方式實施,例如以專用硬體電路或通用硬體(例如,單一處理器、具平行處理能力的多處理器、圖形處理器或其他具運算能力的處理器),並且在執行程式碼或軟體時,提供特定的功能。資料縮減控制器250計算無損壓縮結果的長度,並且判斷是否超過目標長度。當計數器為0且無損壓縮結果的長度不超過目標長度時,資料縮減控制器250透過輸出介面260輸出無損壓縮結果及減損程度旗標給其他電子元件,其中的減損程度旗標表示紋理磚的原始資料沒有經過縮減。當計數器小於或等於預設值且無損壓縮結果的長度超過目標長度時,資料縮減控制器250控制除法器241用以將記憶體220中原始資料的每一畫素的R、G及B值除以常數m1至mj-1中之相應一者來產生縮減資料,控制 解多工器(de-multiplexer)243將縮減資料輸出到記憶體220中的區域223,以及控制記憶體控制器210從記憶體220的區域223讀取縮減資料並輸出至壓縮器230,其中,j為預設值加1。寄存器245可儲存常數m1至mj。常數m1至mj的設定實施例可參考以上段落的說明,不再贅述。當計數器小於或等於預設值且無損壓縮結果的長度沒有超過目標長度時,資料縮減控制器250輸出無損壓縮結果及減損程度旗標給其他電子元件,其中的減損程度旗標表示紋理磚的原始資料經過特定層次的縮減。減損程度旗標的設定實施例可參考以上段落的說明,不再贅述。當計數器大於預設值且壓縮結果的長度超過目標長度時,資料縮減控制器250控制除法器241用以將記憶體220中原始資料的每一畫素的R、G及B通道除以常數mj來產生縮減資料,控制解多工器243將縮減資料輸出到資料縮減控制器250,以及透過輸出介面260輸出縮減資料及減損程度旗標給其他電子元件,其中的減損程度旗標表示紋理磚的原始資料已強迫縮減至目標長度內的長度。除法器241可實施公式(1)至(3)來縮減紋理磚的原始資料。
為了回復如上所述的經多層次資料縮減的紋理磚,第3圖係依據本發明實施例的紋理磚解壓縮方法流程圖。此方法可執行於紋理解碼器。於接收一個壓縮結果及減損程度旗標後(步驟S310),依據減損程度旗標判斷紋理磚的原始資料是否強迫縮減至目標長度內的長度(步驟S320)。例如,判斷減損程度旗標是否為”0b11(以二個比特表示)”、”0b100(以三個比特表示)”或”0b111(以三個比特表示)”。如果是(步驟S320中”是”的路 徑),直接回復壓縮結果至原始長度(步驟S351)及輸出回復結果給三維(3D,three-dimensional)繪圖流水線中的紋理操作(步驟S360)。於一些實施例中,可使用公式(4)、(5)及(6)來直接回復壓縮結果:Ri=Ri*mmax+cmax (4)
Gi=Gi*mmax+cmax (5)
Bi=Bi*mmax+cmax (6)Ri代表壓縮結果的第i個畫素的R值,Gi代表壓縮結果的第i個畫素的G值,Bi代表壓縮結果磚的第i個畫素的B值,mmax代表回復常數,cmax代表補償常數。假設紋理磚的原始資料長度為2048比特,而壓縮結果的目標長度設為1024比特:mmax可依據經驗設為8,cmax可依據經驗設為3或6。
當紋理磚的原始資料並非強迫縮減至目標長度內的長度時(步驟S320中”否”的路徑),解壓縮接收到的壓縮結果以產生解壓縮資料(步驟S330)。
於一些實施例中,步驟S330可先進行無損解碼,再回復畫素內或/以及畫素間的關聯性。無損解碼可使用適應性字典解碼(adaptive dictionary decoding)、一元解碼(unary decoding)、熵解碼(entropy decoding)等。為回復畫素內的關聯性,可使用公式回復每一畫素中的R、G及B通道。為回復畫素間的關聯性,除了紋理磚的第一個畫素外,每一個畫素的R值、G值、B值及A值可分別加上第一個畫素的R值、G值、B值及A值。
於另一些實施例中,步驟S330可先依據預測旗標 來偵測接收到的紋理磚資料是否符合數個預測模式中之一者。如果是,則依據偵測到的預測模式及相關的畫素資料產生紋理磚的原始資料。例如,當偵測到紋理磚包含純色(solid color)時,則將其中的唯一畫素資料填滿整個紋理磚(8x8畫素)。若找不到符合的預測模式,先進行無損解碼,再回復畫素內或/以及畫素間的關聯性。
接著,依據減損程度旗標判斷壓縮結果是否經過資料縮減(步驟S340)。例如,可判斷減損程度旗標是否為”0b00(以二個比特表示)”或”0b000(以三個比特表示)”。如果不是(步驟S340中”否”的路徑),輸出解碼結果給3D繪圖流水線中的紋理操作(步驟S360)。
如果壓縮結果經過資料縮減(步驟S340中”是”的路徑),依據減損程度旗標回復解壓縮資料至原始長度以產生回復結果(步驟S353)及輸出回復結果給3D繪圖流水線中的紋理操作(步驟S360)。於一些實施例中,可使用公式(7)、(8)及(9)來回復解壓縮資料:Ri=Ri*mj+cj (7)
Gi=Gi*mj+cj (8)
Bi=Bi*mj+cj (9)Ri代表解壓縮資料的第i個畫素的R值,Gi代表解壓縮資料的第i個畫素的G值,Bi代表解壓縮資料的第i個畫素的B值,mj代表第j次縮減的回復常數,j越大則mj越大,mj小於mmax,cj代表第j次縮減的補償常數,j越大則cj越大,並且cj小於cmax。mj可根據壓縮減損旗標決定,並且Cj可根據過去經驗設為2、4等。
紋理磚可能包含文字的信息。第4A及4B圖係依據本發明實施例的紋理磚示意圖。於一些實施例中,參考第4A圖,紋理磚410包含英文字母”J”,其中,英文字母中的畫素(如斜線所示,又可稱為前景畫素)通常為純色或接近純色,並且前景畫素與背景畫素間的差異較大。於另一些實施例中,參考第4B圖,除了前景畫素與背景畫素外,紋理磚430中的文字畫素與背景畫素間包含陰影(如網點所示,又可稱為中間畫素)。然而,降低畫素間關聯性的算法應該考量紋理磚是否包含文字信息,否則,可能妨害之後的無損編碼而無法將紋理磚的資料壓縮至目標長度。
第5圖係依據本發明實施例的紋理磚壓縮方法流程圖。此方法可執行於紋理編碼器。於接收一個紋理磚(texture tile)的原始資料後(步驟S110),對原始資料執行無損壓縮演算法(步驟S510)。於步驟S110中,將文字旗標初始設為”0”用以指示使用第一種算法來降低畫素間的關聯性。舉例來說,紋理磚可包含8x8畫素,格式可為RGBA8888,其中,R、G、B及A通道各使用8比特表示,使得原始資料的長度為2048比特。目標長度可設為1024比特。於步驟S510中,由於文字旗標為”0”,無損壓縮演算法可先以第一種算法來降低畫素間的關聯性,然後再進行無損編碼。第一種算法將紋理磚的資料視為不包含文字的信息。於第一種算法的一些實施例中,除了紋理磚的畫素(0,0)外,每一個畫素的R值、G值及B值可分別減去畫素(0,0)的R值、G值及B值。熟習此技藝人士可根據不同的設計需求使用不同的第一種算法,本發明並不因此受限。無損編碼可使用 適應性字典編碼(adaptive dictionary encoding)、一元編碼(unary encoding)、熵編碼(entropy encoding)等。
接著,計算無損壓縮結果的長度(步驟S133),並判斷是否超過目標長度(步驟S151)。如果無損壓縮結果的長度沒有超過目標長度(步驟S151中”否”的路徑),代表原始資料的無損壓縮成功,輸出壓縮結果、文字旗標及減損程度旗標(步驟S540)。文字旗標為”0”用以指示壓縮結果使用第一種算法來降低畫素間的關聯性。減損程度旗標可為”0b00”,表示紋理磚的原始資料沒有經過縮減。如果無損壓縮結果的長度超過目標長度(步驟S151中”是”的路徑),代表原始資料的無損壓縮失敗,判斷文字旗標是否為”0”(步驟S520)。如果是(步驟S520中”是”的路徑),將文字旗標設為”1”用以指示使用第二種算法來降低畫素間的關聯性,並且產生位元圖用以包含紋理磚中每一畫素屬於多個群組中之一者的資訊(步驟S530)。第二種算法係先將紋理磚中的畫素分至多個群組,並將降低每一群組中的畫素間的關聯性。例如,標示紋理磚中每一畫素為前景(foreground)或背景(background),或者標示紋理磚中每一畫素為前景、中間(intermediary)或背景。於步驟S530的一些實施例,詳細來說,產生紋理磚的R、G及B通道直方圖,並據以分別計算R、G及B通道邊界值(boundary values)。邊界值可為直方圖的平均數或中位數。接著,判斷每一畫素中的R、G及B值是否分別大於R、G及B通道的邊界值。當一個畫素的R、G及B值中的任意二者大於相應邊界值,則將此畫素標示前景畫素。否則,將此畫素標示為背景畫素。舉例來說,可使用表1的位元圖(bitmap)來表示 紋理磚410,其中,每個畫素以一個比特表示為前景或背景畫素: 其中,”1”代表前景畫素,”0”代表背景畫素,前景畫素集合起來可形成一個字母、數字、符號等。於步驟S530的另一些實施例,詳細來說,產生紋理磚的R、G及B通道直方圖,並據以分別計算R、G及B通道中間範圍(middle ranges),每一個中間範圍包含一個下限值(lower value)及一個上限值(upper value)。接著,分別比對每一畫素中的R、G及B值是否大於R、G及B通道的上限值,以及是否小於R、G及B通道的下限值。當一個畫素的R、G及B值中的任意二者大於相應上限值,則將此畫素標示前景畫素。當一個畫素的R、G及B值中的任意二者小於相應下限值,則將此畫素標示背景畫素。當一個畫素既非前景畫素亦非背景畫素,將此畫素標示為中間畫素。舉例來說,可使用表2的位元圖來表示紋理磚430,其中,每個畫素以二個比特表示為前景、中間或背景畫素: 其中,”11”代表前景畫素,”10”代表中間畫素,”00”代表背景畫素,前景畫素集合起來可形成一個字母、數字、符號等,中間畫素可形成陰影。
接著,於步驟S510中,由於文字旗標為”1”,無損壓縮演算法可以第二種算法來降低畫素間的關聯性,然後再進行無損編碼。第二種算法將紋理磚的資料視為包含文字的信息。第二種算法先依據位元圖(如表1或表2所示)把畫素分為二或三個群組。第6A圖係依據本發明實施例的紋理磚分群示意圖。例如,依據表1的位元圖,紋理磚410可分為前景群組611及背景群組613。第6B圖係依據本發明實施例的紋理磚分群示意圖。例如,依據表2的位元圖,紋理磚430可分為前景群組631、中間群組633及背景群組635。在一些實施例中,於每一個群組中,除了最左上畫素外,每一個畫素的R值、G值及B值可分別減去最左上畫素的R值、G值及B值。
接著,計算壓縮結果的長度(步驟S133),並判斷是 否超過目標長度(步驟S151)。如果壓縮結果的長度沒有超過目標長度(步驟S151中”否”的路徑),代表原始資料的無損壓縮成功,輸出壓縮結果、文字旗標、位元圖及減損程度旗標(步驟S540)。文字旗標為”1”用以指示壓縮結果使用第二種算法來降低畫素間的關聯性。減損程度旗標可為”0b00”,表示紋理磚的原始資料沒有經過縮減。如果超過目標長度(步驟S151中”是”的路徑),代表原始資料壓縮失敗,接著,進行多層次的資料縮減(步驟S520及步驟S171或S173)以及對縮減資料進行無損壓縮(步驟S131)。
於多層次的資料縮減中,如果文字旗標不是”0”(步驟S520中”否”的路徑),判斷執行過的資料縮減次數是否超過預設值(步驟S153)。如果沒有超過預設值(步驟S153中”否”的路徑),縮減紋理磚的原始資料(步驟S171)。縮減紋理磚的原始資料後(步驟S171),對縮減執行無損壓縮演算法(步驟S510)。於步驟S510中,由於文字旗標為”1”,無損壓縮演算法可先以第二種算法來降低畫素間的關聯性,然後再進行無損編碼。如果壓縮結果的長度沒有超過目標長度(步驟S151中”否”的路徑),代表原始資料壓縮成功,輸出壓縮結果、文字旗標、位元圖及減損程度旗標(步驟S540)。文字旗標為”1”用以指示壓縮結果使用第二種算法來降低畫素間的關聯性。於一些實施例中,減損程度旗標可使用二個比特表示為”0b01”或”0b10”,用以表示紋理磚的原始資料經過特定層次的縮減。於另一些實施例中,減損程度旗標可使用三個比特表示為”0b001”、”0b010”或”0b011”,用以表示紋理磚的原始資料經過特定層次的縮減。減損程度旗 標的設定可參考第1圖的相關說明。如果壓縮結果的長度超過目標長度(步驟S151中”是”的路徑),代表原始資料壓縮失敗,判斷執行過的資料縮減次數是否超過預設值(步驟S153)。如果沒有超過預設值(步驟S153中”否”的路徑),進行紋理磚的原始資料的下一層次縮減(步驟S171)。步驟S153及步驟S171的技術細節可參考第1圖中的相關說明。
如果超過預設值(步驟S153中”是”的路徑),縮減紋理磚的原始資料至目標長度內的長度(步驟S173),並且輸出壓縮結果及減損程度旗標(步驟S540)。於一些實施例中,減損程度旗標可使用二個比特表示為”0b11”,用以表示紋理磚的原始資料已強迫縮減至目標長度內的長度。於另一些實施例中,減損程度旗標可使用三個比特表示為”0b100”或”0b111”,用以表示紋理磚的原始資料已強迫縮減至目標長度內的長度。
於此須注意的是,熟習此技藝人士可修改第5圖所示的流程圖,而不進行資料縮減(如步驟S153、S171及S173),本發明並不因此受限。也就是說,步驟S250中”否”的路徑可連接至步驟S540,並且,步驟S540不輸出減損程度旗標。
第7圖係依據本發明實施例的紋理磚壓縮裝置的方塊圖。壓縮器710可使用如步驟S510所示的二種算法中之一者來降低畫素間的關聯性,然後再進行無損編碼。壓縮器710中實施的無損壓縮演算法的細節可參考步驟S510的說明,不再贅述。資料產生控制器730可於接收到一個紋理磚的原始資料後,指示記憶體控制器210儲存原始資料至記憶體220中的區域221並輸出原始資料至壓縮器710,並且指示壓縮器710使用第 一種算法來降低畫素間的關聯性,使得壓縮器710可針對原始資料執行包含第一種算法的無損壓縮演算法。壓縮器710將壓縮結果輸出至資料產生控制器730後,資料產生控制器730計算壓縮結果的長度,並且判斷是否超過目標長度。當壓縮結果的長度不超過目標長度時,資料產生控制器730透過輸出介面260輸出壓縮結果、文字旗標及減損程度旗標給其他電子元件,其中的文字旗標表示使用第一種算法來降低畫素間的關聯性,而減損程度旗標表示紋理磚的原始資料沒有經過縮減。
當壓縮結果的長度超過目標長度時,資料縮減控制器730指示位元圖產生器750,用以依據原始資料221產生如表1或表2所示的位元圖770,並且儲存位元圖770至記憶體220。位元圖產生器750產生位元圖770的細節可參考步驟S530的說明,不再贅述。於位元圖770產生後,資料產生控制器730指示壓縮器710參考位元圖770並使用第二種算法來降低畫素間的關聯性,使得壓縮器710可針對原始資料執行包含第二種算法的無損壓縮演算法。壓縮器710執行無損壓縮演算法的細節可參考步驟S510的說明。接著,壓縮器710將壓縮結果輸出至資料產生控制器730。資料產生控制器730計算壓縮結果的長度,並且判斷是否超過目標長度。當壓縮結果的長度不超過目標長度時,資料產生控制器730透過輸出介面260輸出壓縮結果、文字旗標、位元圖及減損程度旗標給其他電子元件,其中的文字旗標表示使用第二種算法來降低畫素間的關聯性,而減損程度旗標表示紋理磚的原始資料沒有經過縮減。
於一些實施例中,當壓縮器710使用第二種算法來 降低畫素間的關聯性尚無法將壓縮結果的長度縮減至目標長度內時,資料產生控制器730可協調除法器241、解多工器243及記憶體控制器210執行多層次的資料縮減,使得壓縮器710可對縮減資料執行無損壓縮演算法。除法器241、解多工器243、寄存器245及記憶體控制器210於多層次資料縮減的技術細節可參考第2圖的說明,不再贅述。
為了回復如上所述的經不同算法來降低畫素間的關聯性以及經多層次資料縮減的紋理磚,第8圖係依據本發明實施例的紋理磚解壓縮方法流程圖。此方法可執行於紋理解碼器。於接收一個壓縮結果及減損程度旗標後(步驟S310),依據減損程度旗標判斷紋理磚的原始資料是否強迫縮減至目標長度(步驟S320)。如果是(步驟S320中”是”的路徑),直接回復壓縮結果至原始長度(步驟S351)及輸出回復結果給3D繪圖流水線中的紋理操作(步驟S360)。步驟S310、S320、S351及S360的技術細節可參考第3圖的說明,不再贅述。
接著,取得文字旗標(S810),並且判斷編碼器是否使用第一種算法降低畫素間的關聯性(步驟S820)。若是(步驟S820中”是”的路徑),無損解碼壓縮結果以及使用第一種算法回復畫素間的關聯性(步驟S830)。否則(步驟S820中”否”的路徑),取得位元圖(步驟S841),無損解碼壓縮結果以及依據位元圖使用第二種算法回復畫素間的關聯性(步驟S843)。無損解碼可使用適應性字典解碼、一元解碼、熵解碼等。
於步驟S830的一些實施例中,除了紋理磚的畫素(0,0)外,第一種算法可將每一個畫素的R值、G值及B值分別加 上畫素(0,0)的R值、G值及B值。熟習此技藝人士可根據不同的設計需求使用不同的第一種算法,本發明並不因此受限。於步驟S830中所述的第一種算法關聯於第5圖步驟S510中的第一種算法。因此,亦可稱作,關聯於第5圖步驟S510中第一種算法的第三種算法。
於步驟S841中,取得的位元圖可如表1或表2所示。於步驟S843中,詳細來說,可依據位元圖將紋理磚中的畫素分成二或三個群組。接著,在一些實施例中,針對每一個群組,除最左上畫素外的每一個畫素的R值、G值及B值,分別加上最左上畫素的R值、G值及B值。於步驟S843中所述的第二種算法關聯於第5圖步驟S510中的第二種算法。因此,亦可稱作,關聯於第5圖步驟S510中第二種算法的第四種算法。
於無損解碼及回復畫素間的關聯性後(步驟S830或S843),依據減損程度旗標判斷接收到的壓縮結果是否經過資料縮減(步驟S340)。如果接收到的壓縮結果沒有經過資料縮減(步驟S340中”否”的路徑),輸出解碼結果給3D繪圖流水線中的紋理操作(步驟S360)。如果接收到的壓縮結果經過資料縮減(步驟S340中”是”的路徑),依據減損程度旗標回復解壓縮資料至原始長度(步驟S353)及輸出回復結果給3D繪圖流水線中的紋理操作(步驟S360)。步驟S340、S353及S360的技術細節可參考第3圖的說明,不再贅述。
雖然第2及7圖中包含了以上描述的元件,但不排除在不違反發明的精神下,使用更多其他的附加元件,以達成更佳的技術效果。此外,雖然第1、3、5及8圖的方法流程圖採 用特定的順序來執行,但是在不違法發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。
雖然本發明使用以上實施例進行說明,但需要注意的是,這些描述並非用以限縮本發明。相反地,此發明涵蓋了熟習此技藝人士顯而易見的修改與相似設置。所以,申請權利要求範圍須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設置。

Claims (15)

  1. 一種紋理磚壓縮方法,包含:將一紋理磚中的每一畫素分至多個群組中之一者並產生上述紋理磚的一位元圖,其中,上述位元圖包含上述紋理磚中每一上述畫素屬於上述群組中何者的資訊;針對每一上述群組,降低此群組中之上述畫素間的關聯性;於降低上述畫素間的關聯性後,無損編碼上述紋理磚中的上述畫素以產生一第一壓縮結果;輸出上述第一壓縮結果及上述位元圖;無損壓縮上述紋理磚中的上述畫素以產生一第二壓縮結果;判斷上述第二壓縮結果的一長度是否大於一目標長度;以及當上述第二壓縮結果的上述長度大於上述目標長度時,產生上述紋理磚的上述位元圖。
  2. 如申請專利範圍第1項所述的紋理磚壓縮方法,其中,上述群組包含前景及背景。
  3. 如申請專利範圍第2項所述的紋理磚壓縮方法,其中,於將一紋理磚中的每一畫素分至多個群組中之一者並產生上述紋理磚的一位元圖的步驟中,包含:產生上述紋理磚的一R通道直方圖、一G通道直方圖及一B通道直方圖,並據以分別計算一R通道邊界值、一G通道邊界值及一B通道邊界值;判斷每一上述畫素中的一R值、一G值及一B值是否分別大於上述R通道邊界值、上述G通道邊界值及上述B通道邊界值;以及當上述畫素中之任一者的上述R值、上述G值及上述B值中的任意二者大於上述相應邊界值,則將此畫素標示一前景畫素;否則,將此畫素標示一背景畫素。
  4. 如申請專利範圍第1項所述的紋理磚壓縮方法,其中,上述群組包含前景、中間及背景。
  5. 如申請專利範圍第4項所述的紋理磚壓縮方法,其中,於將一紋理磚中的每一畫素分至多個群組中之一者並產生上述紋理磚的一位元圖的步驟中,包含:產生上述紋理磚的一R通道直方圖、一G通道直方圖及一B通道直方圖,並據以分別計算一R通道中間範圍、一G通道中間範圍及一B通道中間範圍;判斷每一上述畫素中的一R值、一G值及一B值是否分別大於上述R通道中間範圍的一上限值、上述G通道中間範圍的一上限值及上述B通道中間範圍的一上限值;判斷每一上述畫素中的上述R值、上述G值及上述B值是否分別小於上述R通道中間範圍的一下限值、上述G通道中間範圍的一下限值及上述B通道中間範圍的一下限值;以及當上述畫素中之任一者的上述R值、上述G值及上述B值中的任意二者大於上述相應上限值,則將此畫素標示一前景畫素;當上述畫素中之任一者的上述R值、上述G值及上述B值中的任意二者大於上述相應下限值,則將此畫素標示一背景畫素;否則,將此畫素標示一中間畫素。
  6. 如申請專利範圍第1項所述的紋理磚壓縮方法,其中,於針對每一上述群組,降低上述群組中之上述畫素間的關聯性的步驟中,包含:於每一上述群組中,除了最左上畫素外的每一上述畫素的一R值、一G值及一B值分別減去上述最左上畫素的一R值、一G值及一B值。
  7. 一種紋理磚壓縮裝置,包含:一位元圖產生器;一壓縮器;以及一資料產生控制器,耦接至上述位元圖產生器及上述壓縮器,用以指示上述位元圖產生器將一紋理磚中的每一畫素分至多個群組中之一者並產生上述紋理磚的一位元圖,其中,上述位元圖包含上述紋理磚中每一上述畫素屬於上述群組中何者的資訊;以及指示上述壓縮器針對每一上述群組,降低此群組中之上述畫素間的關聯性,並且,於降低上述畫素間的關聯性後,無損編碼上述紋理磚中的上述畫素以產生一第一壓縮結果;以及輸出上述第一壓縮結果及上述位元圖;其中,上述資料產生控制器指示上述壓縮器無損壓縮上述紋理磚中的上述畫素以產生一第二壓縮結果;判斷上述第二壓縮結果的一長度是否大於一目標長度;以及當上述第二壓縮結果的上述長度大於上述目標長度時,指示上述位元圖產生器以產生上述紋理磚的上述位元圖。
  8. 如申請專利範圍第7項所述的紋理磚壓縮裝置,其中,上述群組包含前景及背景。
  9. 如申請專利範圍第8項所述的紋理磚壓縮裝置,其中,上述位元圖產生器產生上述紋理磚的一R通道直方圖、一G通道直方圖及一B通道直方圖,並據以分別計算一R通道邊界值、一G通道邊界值及一B通道邊界值;判斷每一上述畫素中的一R值、一G值及一B值是否分別大於上述R通道邊界值、上述G通道邊界值及上述B通道邊界值;以及當上述畫素中之任一者的上述R值、上述G值及上述B值中的任意二者大於上述相應邊界值,則將此畫素標示一前景畫素;否則,將此畫素標示一背景畫素。
  10. 如申請專利範圍第7項所述的紋理磚壓縮裝置,其中,上述群組包含前景、中間及背景。
  11. 如申請專利範圍第10項所述的紋理磚壓縮裝置,其中,上述位元圖產生器產生產生上述紋理磚的一R通道直方圖、一G通道直方圖及一B通道直方圖,並據以分別計算一R通道中間範圍、一G通道中間範圍及一B通道中間範圍;判斷每一上述畫素中的一R值、一G值及一B值是否分別大於上述R通道中間範圍的一上限值、上述G通道中間範圍的一上限值及上述B通道中間範圍的一上限值;判斷每一上述畫素中的上述R值、上述G值及上述B值是否分別小於上述R通道中間範圍的一下限值、上述G通道中間範圍的一下限值及上述B通道中間範圍的一下限值;以及當上述畫素中之任一者的上述R值、上述G值及上述B值中的任意二者大於上述相應上限值,則將此畫素標示一前景畫素;當上述畫素中之任一者的上述R值、上述G值及上述B值中的任意二者大於上述相應下限值,則將此畫素標示一背景畫素;否則,將此畫素標示一中間畫素。
  12. 如申請專利範圍第7項所述的紋理磚壓縮裝置,其中,上述壓縮器於每一上述群組中,除了最左上畫素外的每一上述畫素的一R值、一G值及一B值分別減去上述最左上畫素的一R值、一G值及一B值,用以降低此群組中之上述畫素間的關聯性。
  13. 一種紋理磚解壓縮方法,包含:接收一壓縮結果及一文字旗標;依據上述文字旗標判斷一編碼器使用一第一種算法或一第二種算法降低一紋理磚中畫素間的關聯性;當上述編碼器使用上述第一種算法降低上述紋理磚中畫素間的關聯性時,無損解碼上述壓縮結果及使用上述第一種算法回復上述紋理磚中畫素間的關聯性;當上述編碼器使用上述第二種算法降低上述紋理磚中畫素間的關聯性時,取得一位元圖,無損解碼上述壓縮結果,以及參考上述位元圖來使用上述第二種算法回復上述紋理磚中畫素間的關聯性,用以產生一第一回復結果;接收一減損程度旗標;依據上述減損程度旗標判斷上述壓縮結果是否經過一資料縮減;當上述壓縮結果經過上述資料縮減時,回復上述第一回復結果至一原始長度以產生一第二回復結果;以及輸出上述第二回復結果給一三維繪圖流水線中的一紋理操作。
  14. 如申請專利範圍第13項所述的紋理磚壓縮方法,其中,於參考上述位元圖來使用上述第二種算法回復上述紋理磚中畫素間的關聯性的步驟中,包含:依據上述位元圖將上述紋理磚中的多個畫素分成多個群組;以及針對每一上述群組,除了最左上畫素外,每一上述畫素的一R值、一G值及一B值可分別加上最左上畫素的一R值、一G值及一B值。
  15. 如申請專利範圍第13項所述的紋理磚壓縮方法,包含:當上述壓縮結果沒有經過上述資料縮減時,輸出上述第一回復結果給上述三維繪圖流水線中的上述紋理操作。
TW105138799A 2016-11-18 2016-11-25 紋理磚壓縮及解壓縮方法以及使用該方法的裝置 TWI639336B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
??201611018688.1 2016-11-18
CN201611018688.1A CN106534874B (zh) 2016-11-18 2016-11-18 纹理砖压缩及解压缩方法以及使用该方法的装置

Publications (2)

Publication Number Publication Date
TW201820878A TW201820878A (zh) 2018-06-01
TWI639336B true TWI639336B (zh) 2018-10-21

Family

ID=58352977

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105138799A TWI639336B (zh) 2016-11-18 2016-11-25 紋理磚壓縮及解壓縮方法以及使用該方法的裝置

Country Status (3)

Country Link
US (1) US10074040B2 (zh)
CN (2) CN106534874B (zh)
TW (1) TWI639336B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11159798B2 (en) * 2018-08-21 2021-10-26 International Business Machines Corporation Video compression using cognitive semantics object analysis
US10984560B1 (en) * 2019-03-29 2021-04-20 Amazon Technologies, Inc. Computer vision using learnt lossy image compression representations

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120297B2 (en) 2002-04-25 2006-10-10 Microsoft Corporation Segmented layered image system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594385B2 (en) 1998-10-27 2003-07-15 Hewlett-Packard Development Company, L.P. Image compression of background and text tiles
US7689051B2 (en) 2004-04-15 2010-03-30 Microsoft Corporation Predictive lossless coding of images and video
US7899258B2 (en) 2005-08-12 2011-03-01 Seiko Epson Corporation Systems and methods to convert images into high-quality compressed documents
JP4996501B2 (ja) * 2007-04-06 2012-08-08 キヤノン株式会社 多次元データの符号化装置及び復号装置並びにその制御方法
CN101919250B (zh) * 2008-01-21 2012-11-21 艾利森电话股份有限公司 压缩多个像素块的方法和压缩器、以及对压缩像素块进行解压的方法和解压器
JP2011528194A (ja) * 2008-04-16 2011-11-10 テクブリッジ インコーポレイテッド 分離されたイメージ圧縮のためシステムおよび方法
US8508543B2 (en) * 2008-06-18 2013-08-13 Microsoft Corporation Layered texture compression architecture
JP4732488B2 (ja) * 2008-06-24 2011-07-27 シャープ株式会社 画像処理装置、画像形成装置、画像読取装置、画像処理方法、画像処理プログラムおよびコンピュータ読み取り可能な記録媒体
US8810562B2 (en) 2009-05-19 2014-08-19 Advanced Micro Devices, Inc. Hierarchical lossless compression
HU230953B1 (hu) 2011-12-13 2019-05-28 MTA Számítástechnikai és Automatizálási Kutató Intézet Kép dekompozíciós eljárás pixelekből álló képnek alakzatképre és/vagy textúraképre való bontására
CN103024383B (zh) * 2012-12-14 2016-02-10 北京工业大学 一种基于hevc框架的帧内无损压缩编码方法
US11259020B2 (en) * 2013-04-05 2022-02-22 Qualcomm Incorporated Determining palettes in palette-based video coding
CN103413335B (zh) * 2013-07-23 2016-01-27 沈阳东软医疗系统有限公司 数据压缩的方法及装置
CN104702897B (zh) * 2013-12-10 2018-05-15 明泰科技股份有限公司 网络视频录影的快速历史回放及事件锁定的方法
US10419774B2 (en) * 2013-12-10 2019-09-17 Canon Kabushiki Kaisha Palette mode in HEVC

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120297B2 (en) 2002-04-25 2006-10-10 Microsoft Corporation Segmented layered image system

Also Published As

Publication number Publication date
CN110674796A (zh) 2020-01-10
CN106534874A (zh) 2017-03-22
US20180144215A1 (en) 2018-05-24
CN106534874B (zh) 2019-11-29
US10074040B2 (en) 2018-09-11
CN110674796B (zh) 2022-05-03
TW201820878A (zh) 2018-06-01

Similar Documents

Publication Publication Date Title
US10535162B2 (en) Attribute mapping to encode and decode 3D models
JP7266686B2 (ja) 点群圧縮のための方法、装置、およびコンピュータプログラム
US11503367B2 (en) Techniques and apparatus for weighted-median prediction for point-cloud attribute coding
JP2022528528A (ja) 点群コーディングのための方法、装置、およびコンピュータプログラム
US20160092155A1 (en) Screen Map and Standards-Based Progressive Codec for Screen Content Coding
BR112017004490B1 (pt) Método para a construção de uma tabela de hash para correspondência de bloco baseada em hash, dispositivo de computação e meio de armazenamento legível por computador
US10229537B2 (en) System and method for compressing and decompressing time-varying surface data of a 3-dimensional object using a video codec
US10896536B2 (en) Providing output surface data to a display in data processing systems
WO2014186886A1 (en) System and method having transparent composite model for transform coefficients
TWI639336B (zh) 紋理磚壓縮及解壓縮方法以及使用該方法的裝置
KR102343648B1 (ko) 영상 부호화 장치 및 영상 부호화 시스템
WO2019037471A1 (zh) 视频处理方法、视频处理装置以及终端
US11989919B2 (en) Method and apparatus for encoding and decoding volumetric video data
CN116325746A (zh) 用于网格压缩的基于段的压缩方法
TWI599216B (zh) 紋理磚壓縮及解壓縮方法以及使用該方法的裝置
CN118215940A (zh) 使用实例分段的点云优化
TW202036483A (zh) 拼貼擴充方法、編碼器與解碼器
US20140146134A1 (en) Method and system for encoding 3d video
Shanmathi et al. Comparative study of predictors used in lossless image compression
US10834413B2 (en) Fast and accurate block matching for computer generated content
US20240078713A1 (en) Texture coordinate prediction in mesh compression
JP6654549B2 (ja) 映像符号化装置、映像符号化方法及びコンピュータプログラム
Kang et al. Compressing JPEG compressed image using reversible data hiding technique
Wu Robust Data Hiding Method for Palette Images Using Double Messages Embedding
CN115474064A (zh) 编码、解码控制方法及装置