TWI741919B - 串流解壓縮電路 - Google Patents

串流解壓縮電路 Download PDF

Info

Publication number
TWI741919B
TWI741919B TW109145568A TW109145568A TWI741919B TW I741919 B TWI741919 B TW I741919B TW 109145568 A TW109145568 A TW 109145568A TW 109145568 A TW109145568 A TW 109145568A TW I741919 B TWI741919 B TW I741919B
Authority
TW
Taiwan
Prior art keywords
stream
sub
circuit
bits
shifter
Prior art date
Application number
TW109145568A
Other languages
English (en)
Other versions
TW202130181A (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 TW202130181A publication Critical patent/TW202130181A/zh
Application granted granted Critical
Publication of TWI741919B publication Critical patent/TWI741919B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6005Decoder aspects
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4093Variable length to variable length coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6017Methods or arrangements to increase the throughput
    • H03M7/6023Parallelization
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

本發明揭露一種串流解壓縮電路。串流解壓縮電路包括編碼長度先進先出及計算電路。編碼長度先進先出耦接可變長度編碼電路,用以儲存可變長度編碼電路對複數個子串流進行編碼的編碼長度並於編碼長度累積超過特定位元數時輸出特定位元數。計算電路耦接於編碼長度先進先出與多工器電路之間,用以根據特定位元數計算出解壓縮位元數並輸出多工控制信號至多工器電路,以控制多工器電路依特定順序輸出該複數個子串流。

Description

串流解壓縮電路
本發明係與串流有關,尤其是關於一種以簡單且低成本的硬體架構實現VESA顯示串流壓縮(Display Stream Compression, DSC)多工器電路中的串流解壓縮電路。
一般而言,VESA顯示串流壓縮(DSC)的編碼串流係由三個子串流(Sub-Stream)Y/Co/Cg組合而成(例如Y:Co:Cg=4:4:4模式)。三個子串流Y/Co/Cg分別依序經過可變長度編碼器(Variable Length Coder, VLC)、漏斗位移器(Funnel Shifter)及平衡先進先出(Balance FIFO)之處理後進入多工器(Multiplexer)。
傳統上,多工器會耦接串流解碼器(Stream Decoder)並根據串流解碼器對串流解碼時所消耗的位元數決定其輸出子串流至速率緩衝器(Rate Buffer)的順序。
舉例而言,串流解碼器可根據三個子串流Y/Co/Cg於其各自的漏斗位移器所剩的位元數判斷其是否足夠(例如是否大於或等於36位元)進行下一筆資料的解碼。若上述判斷結果為否,亦即子串流於其漏斗位移器所剩的位元數不足以進行下一筆資料解碼,則需再向各自的平衡先進先出載入新的未解碼的串流,才足夠提供下一筆資料的解碼。此一動作即成為多工器輸出三個子串流Y/Co/Cg至速率緩衝器的順序。
然而,傳統上若欲以硬體形式實現串流解碼器(Stream Decoder),其需包括可變長度解碼器(Variable Length Decoder, VLD)、查找表(Lookup Table)及漏斗位移器等電路,導致其電路架構複雜且龐大,硬體電路設計成本亦大幅增加,不利於產品於市場上之競爭力,亟待改善。
有鑑於此,本發明提出一種串流解壓縮電路,以有效解決先前技術所遭遇到之上述問題。
依據本發明之一具體實施例為一種串流解壓縮電路。於此實施例中,串流解壓縮電路係耦接於可變長度編碼電路與多工器電路之間。串流解壓縮電路包括編碼長度先進先出及計算電路。編碼長度先進先出耦接可變長度編碼電路,用以儲存可變長度編碼電路對複數個子串流進行編碼的編碼長度並於編碼長度累積超過特定位元數時輸出特定位元數。計算電路耦接於編碼長度先進先出與多工器電路之間,用以根據特定位元數計算出解壓縮位元數並輸出包括指標的多工控制信號至多工器電路,以控制多工器電路依特定順序輸出該複數個子串流。
於一實施例中,可變長度編碼電路包括第一可變長度編碼器、第二可變長度編碼器及第三可變長度編碼器,用以分別對該複數個子串流中之第一子串流、第二子串流及第三子串流進行編碼。
於一實施例中,第一可變長度編碼器、第二可變長度編碼器及第三可變長度編碼器分別耦接第一位移器、第二位移器及第三位移器,第一位移器、第二位移器及第三位移器分別用以累加第一可變長度編碼器、第二可變長度編碼器及第三可變長度編碼器分別對第一子串流、第二子串流及第三子串流進行編碼的編碼長度並於編碼長度累積超過特定位元數時輸出第一子串流、第二子串流及第三子串流。
於一實施例中,第一位移器、第二位移器及第三位移器分別耦接第一平衡先進先出、第二平衡先進先出及第三平衡先進先出,第一平衡先進先出、第二平衡先進先出及第三平衡先進先出用以儲存編碼長度為特定位元數的第一子串流、第二子串流及第三子串流。
於一實施例中,多工器電路還耦接第一平衡先進先出、第二平衡先進先出、第三平衡先進先出及速率緩衝器(Rate buffer),用以根據多工控制信號中之指標依特定順序輸出第一子串流、第二子串流及第三子串流至速率緩衝器。
於一實施例中,特定位元數包括第一子串流、第二子串流及第三子串流各自的位元數。
於一實施例中,特定位元數為18位元,其包括第一子串流、第二子串流及第三子串流各6位元,而多工控制信號為3位元,其包括對應於第一子串流、第二子串流及第三子串流的指標各1位元。
依據本發明之另一具體實施例亦為一種串流解壓縮電路。於此實施例中,串流解壓縮電路係耦接於可變長度編碼電路與多工器電路之間。串流解壓縮電路包括計算電路及指標(Flag)先進先出。計算電路耦接可變長度編碼電路,用以根據可變長度編碼電路對複數個子串流進行編碼的編碼長度計算出多工器電路何時需輸出該複數個子串流並輸出包括指標的多工控制信號。指標先進先出耦接於計算電路與多工器電路之間,用以儲存多工控制信號。多工器電路根據多工控制信號中之指標依特定順序輸出該複數個子串流。
於一實施例中,可變長度編碼電路包括第一可變長度編碼器、第二可變長度編碼器及第三可變長度編碼器,用以分別對該複數個子串流中之第一子串流、第二子串流及第三子串流進行編碼。
於一實施例中,第一可變長度編碼器、第二可變長度編碼器及第三可變長度編碼器分別耦接第一位移器、第二位移器及第三位移器,第一位移器、第二位移器及第三位移器分別用以累加第一可變長度編碼器、第二可變長度編碼器及第三可變長度編碼器分別對第一子串流、第二子串流及第三子串流進行編碼的編碼長度並於編碼長度累積超過特定位元數時輸出第一子串流、第二子串流及第三子串流。
於一實施例中,第一位移器、第二位移器及第三位移器分別耦接第一平衡先進先出、第二平衡先進先出及第三平衡先進先出,第一平衡先進先出、第二平衡先進先出及第三平衡先進先出分別用以儲存編碼長度為特定位元數的第一子串流、第二子串流及第三子串流。
於一實施例中,多工器電路還耦接第一平衡先進先出、第二平衡先進先出、第三平衡先進先出及速率緩衝器,用以根據多工控制信號中之指標依特定順序輸出第一子串流、第二子串流及第三子串流至速率緩衝器。
於一實施例中,特定位元數包括第一子串流、第二子串流及第三子串流各自的位元數。
於一實施例中,多工控制信號為3位元,其包括對應於第一子串流、第二子串流及第三子串流的指標各1位元。
相較於先前技術,本發明之串流解壓縮電路不需電路架構複雜且硬體設計成本高的串流解碼器(Stream Decoder)即可控制多工器電路依正確順序輸出VESA顯示串流壓縮(DSC)的編碼串流中的三個子串流Y/Co/Cg至速率緩衝器,故可大幅簡化電路架構並降低成本,有助於提升產品於市場上之競爭力。
關於本發明之優點與精神可以藉由以下的發明詳述及所附圖式得到進一步的瞭解。
現在將詳細參考本發明的示範性實施例,並在附圖中說明所述示範性實施例的實例。在圖式及實施方式中所使用相同或類似標號的元件/構件是用來代表相同或類似部分。
依據本發明之一具體實施例為一種串流解壓縮電路。於此實施例中,串流解壓縮電路係應用於VESA顯示串流壓縮(DSC)多工器電路中,但不以此為限。
請參照圖1,圖1繪示此實施例中之串流解壓縮電路應用於VESA顯示串流壓縮多工器電路的示意圖。
如圖1所示,串流解壓縮電路14係應用於VESA顯示串流壓縮(DSC)多工器電路1。串流解壓縮電路14係耦接於可變長度編碼電路10與多工器電路13之間。可變長度編碼電路10包括第一可變長度編碼器101、第二可變長度編碼器102及第三可變長度編碼器103,用以分別對複數個子串流中之第一子串流Y、第二子串流Co及第三子串流Cg進行編碼。
第一可變長度編碼器101、第二可變長度編碼器102及第三可變長度編碼器103分別耦接第一位移器111、第二位移器112及第三位移器113。第一位移器111、第二位移器112及第三位移器113分別用以累加第一可變長度編碼器101、第二可變長度編碼器102及第三可變長度編碼器103分別對第一子串流Y、第二子串流Co及第三子串流Cg進行編碼的編碼長度並於編碼長度累積超過特定位元數時輸出第一子串流Y、第二子串流Co及第三子串流Cg。
於實際應用中,第一位移器111、第二位移器112及第三位移器113可以是漏斗位移器(Funnel shifter),但不以此為限;特定位元數可包括第一子串流Y、第二子串流Co及第三子串流Cg各自的位元數,但不以此為限。
第一位移器111、第二位移器112及第三位移器113分別耦接第一平衡先進先出121、第二平衡先進先出122及第三平衡先進先出123。第一平衡先進先出121、第二平衡先進先出122及第三平衡先進先出123分別用以儲存編碼長度為特定位元數(例如48位元)的第一子串流Y、第二子串流Co及第三子串流Cg。
於此實施例中,串流解壓縮電路14包括編碼長度先進先出141及計算電路142。編碼長度先進先出141耦接可變長度編碼電路10,用以儲存可變長度編碼電路10對該複數個子串流(第一子串流Y、第二子串流Co及第三子串流Cg)進行編碼的編碼長度EL並於編碼長度EL累積超過特定位元數DL時輸出特定位元數DL。
計算電路142耦接於編碼長度先進先出141與多工器電路13之間,用以根據特定位元數DL計算出解壓縮位元數並輸出包括指標的多工控制信號MC至多工器電路13,以控制多工器電路13依特定順序輸出該複數個子串流(第一子串流Y、第二子串流Co及第三子串流Cg)。需說明的是,此實施例中之特定位元數DL為18位元且多工控制信號MC為3位元(例如包括對應於第一子串流Y、第二子串流Co及第三子串流Cg的指標各1位元),但不以此為限。
假設編碼長度先進先出141的儲存容量為(144x18)位元,則編碼長度先進先出141共可儲存144筆來自編碼長度EL的18位元資料,計算電路142每次從編碼長度先進先出141讀取一筆18位元資料並進行計算後得到3位元的多工控制信號MC(例如包括對應於第一子串流Y、第二子串流Co及第三子串流Cg的指標各1位元),但不以此為限。
多工器電路13還耦接第一平衡先進先出121、第二平衡先進先出122、第三平衡先進先出123及速率緩衝器(Rate buffer)15,用以根據多工控制信號MC依特定順序輸出分別為48位元的第一子串流Y、第二子串流Co及第三子串流Cg至速率緩衝器15。速率緩衝器15根據分別為48位元的第一子串流Y、第二子串流Co及第三子串流Cg輸出144位元的位元串流BS。
藉此,串流解壓縮電路14可控制多工器電路13依正確順序輸出VESA顯示串流壓縮(DSC)的編碼串流中的三個子串流Y/Co/Cg至速率緩衝器15,故能有效取代電路架構複雜且硬體設計成本高的串流解碼器(Stream Decoder),進而達到簡化電路架構並降低成本之具體功效。
於另一實施例中,請參照圖2,串流解壓縮電路24係應用於VESA顯示串流壓縮多工器電路2。串流解壓縮電路24係耦接於可變長度編碼電路20與多工器電路23之間。可變長度編碼電路20包括第一可變長度編碼器201、第二可變長度編碼器202及第三可變長度編碼器203,用以分別對複數個子串流中之第一子串流Y、第二子串流Co及第三子串流Cg進行編碼。
第一可變長度編碼器201、第二可變長度編碼器202及第三可變長度編碼器203分別耦接第一位移器211、第二位移器212及第三位移器213。第一位移器211、第二位移器212及第三位移器213分別用以累加第一可變長度編碼器201、第二可變長度編碼器202及第三可變長度編碼器203分別對第一子串流Y、第二子串流Co及第三子串流Cg進行編碼的編碼長度並於編碼長度累積超過特定位元數時輸出第一子串流Y、第二子串流Co及第三子串流Cg。
第一位移器211、第二位移器212及第三位移器213分別耦接第一平衡先進先出221、第二平衡先進先出222及第三平衡先進先出223。第一平衡先進先出221、第二平衡先進先出222及第三平衡先進先出223分別用以儲存編碼長度為特定位元數(例如48位元)的第一子串流Y、第二子串流Co及第三子串流Cg。
於此實施例中,串流解壓縮電路24包括計算電路241及指標(Flag)先進先出242。計算電路241耦接可變長度編碼電路20,用以即時(Real time)計算可變長度編碼電路20對複數個子串流(第一子串流Y、第二子串流Co及第三子串流Cg)進行編碼的編碼長度EL以得到包括指示多工器電路23何時需輸出該複數個子串流(第一子串流Y、第二子串流Co及第三子串流Cg)之指標的多工控制信號MC並輸出包括指標的多工控制信號MC至指標先進先出242。
指標先進先出242耦接於計算電路241與多工器電路23之間,用以儲存包括指標的多工控制信號MC。多工器電路23還耦接第一平衡先進先出221、第二平衡先進先出222、第三平衡先進先出223及速率緩衝器25,用以根據多工控制信號MC中之指標依特定順序輸出第一子串流Y、第二子串流Co及第三子串流Cg至速率緩衝器25。
需說明的是,此實施例中之特定位元數EL為18位元且其包括第一子串流Y、第二子串流Co及第三子串流Cg各自的位元數,但不以此為限。多工控制信號MC為3位元,其包括對應於第一子串流Y、第二子串流Co及第三子串流Cg的指標各1位元,假設計算電路241即時計算18位元的編碼長度EL得到3位元的多工控制信號MC(包括對應於第一子串流Y、第二子串流Co及第三子串流Cg的指標各1位元)並將其儲存於指標先進先出242,則指標先進先出242的儲存容量僅需(144x3)位元即可儲存144筆3位元的多工控制信號MC,多工器電路23每次從指標先進先出242讀取一筆3位元的多工控制信號MC並根據多工控制信號MC中之對應於第一子串流Y、第二子串流Co及第三子串流Cg的指標依特定順序輸出第一子串流Y、第二子串流Co及第三子串流Cg至速率緩衝器25,但不以此為限。
換言之,若以同樣儲存144筆資料而言,圖2中之指標先進先出242所需的儲存容量(144x3位元)僅為圖1中之編碼長度先進先出141所需的儲存容量(144x18位元)的六分之一,而圖2中之計算電路241則與圖1中之計算電路142相同,故本發明可有效降低硬體成本。
藉此,串流解壓縮電路24可控制多工器電路23依正確順序輸出VESA顯示串流壓縮(DSC)的編碼串流中的三個子串流Y/Co/Cg至速率緩衝器25,故能有效取代電路架構複雜且硬體設計成本高的串流解碼器(Stream Decoder),進而達到簡化電路架構並降低成本之具體功效。
接著,請參照圖3,圖3繪示圖2中之計算電路241計算出三個子串流Y/Co/Cg的指標的示意圖。
如圖3所示,若以十進位的編碼長度為例進行說明,假設一開始的三個子串流{Y1,Co,Cg}={00,00,00},則對應於三個子串流Y1、Co、Cg的起始剩餘位元數分別為48、48、48且對應於三個子串流Y1、Co、Cg的起始指標(Flag)分別為1、1、1。
接著,若三個子串流{Y1,Co,Cg}={21,36,09},則對應於三個子串流Y1、Co、Cg的剩餘位元數分別為48-21=27<36、48-36=12<36、48-9=39>36,由於對應於子串流Y1及Co的剩餘位元數已小於特定位元數36(以斜線表示),所以對應於三個子串流Y1、Co、Cg的指標分別為1、1、0。
然後,若三個子串流{Y1,Co,Cg}={12,05,05},則對應於Y1、Co、Cg的剩餘位元數分別為27+48-12=63>36、12+48-5=55>36、39-5=34<36,由於對應於子串流Cg的剩餘位元數已小於特定位元數36(以斜線表示),所以對應於Y1、Co、Cg的指標分別為0、0、1。
接著,若三個子串流{Y1,Co,Cg}={08,25,12},則對應於Y1、Co、Cg的剩餘位元數分別為63-8=55>36、55-25=30<36、34+48-12=70>36,由於對應於Co的剩餘位元數已小於特定位元數36(以斜線表示),所以對應於Y1、Co、Cg的指標分別為0、1、0。
然後,若三個子串流{Y1,Co,Cg}={08,08,07},則對應於Y1、Co、Cg的剩餘位元數分別為55-8=47>36、30+48-8=70>36、70-7=63>36,由於對應於Y1、Co、Cg的剩餘位元數均未小於特定位元數36,所以對應於Y1、Co、Cg的指標分別為0、0、0。
接著,若三個子串流{Y1,Co,Cg}={04,08,09},則對應於Y1、Co、Cg的剩餘位元數分別為47-4=43>36、70-8=62>36、63-9=54>36,由於對應於Y1、Co、Cg的剩餘位元數均未小於特定位元數36,所以對應於Y1、Co、Cg的指標分別為0、0、0。
然後,若三個子串流{Y1,Co,Cg}={01,12,12},則對應於Y1、Co、Cg的剩餘位元數分別為43-1=42>36、62-12=50>36、54-12=42>36,由於對應於Y1、Co、Cg的剩餘位元數均未小於特定位元數36,所以對應於Y1、Co、Cg的指標分別為0、0、0。
接著,若三個子串流{Y1,Co,Cg}={09,04,04},則對應於三個子串流Y1、Co、Cg的剩餘位元數分別為42-9=33<36、50-4=46>36、42-4=38>36,由於對應於子串流Y1的剩餘位元數已小於特定位元數36(以斜線表示),所以對應於三個子串流Y1、Co、Cg的指標分別為1、0、0。
然後,若三個子串流{Y1,Co,Cg}={04,01,01},則對應於Y1、Co、Cg的剩餘位元數分別為33+48-4=77>36、46-1=45>36、38-1=37>36,由於對應於Y1、Co、Cg的剩餘位元數均未小於特定位元數36,所以對應於Y1、Co、Cg的指標分別為0、0、0。
接著,若三個子串流{Y1,Co,Cg}={05,05,13},則對應於三個子串流Y1、Co、Cg的剩餘位元數分別為77-5=72>36、45-5=40>36、37-13=24<36,由於對應於子串流Cg的剩餘位元數已小於特定位元數36(以斜線表示),所以對應於三個子串流Y1、Co、Cg的指標分別為0、0、1。
之後,若三個子串流{Y1,Co,Cg}={05,04,07},則對應於Y1、Co、Cg的剩餘位元數分別為72-5=67>36、40-4=36、24+48-7=65>36,由於對應於Y1、Co、Cg的剩餘位元數均未小於特定位元數36,所以對應於Y1、Co、Cg的指標分別為0、0、0。其餘情況可依此類推,於此不另行贅述。
請參照圖4,圖4繪示多工器電路根據多工控制信號中之指標輸出子串流至速率緩衝器的示意圖。
如圖4所示,假設根據圖3所得到於先進先出位址0~N時對應於子串流Y、Co、Cg的指標分別為{1,1,1}、{1,1,0}、{0,0,1}、{0,1,0}、{0,0,0}、{0,0,0}、{0,0,0}、{1,0,0}、{0,0,0}、{0,0,1}、…等,並將包括上述指標之3位元的多工控制信號MC儲存於指標先進先出242中。
當先進先出位址為0時,由於多工控制信號MC中之對應於子串流Y、Co、Cg的指標為{1,1,1},所以多工器電路23根據多工控制信號MC依序輸出子串流Y、Co、Cg至速率緩衝器25。
當先進先出位址為1時,由於多工控制信號MC中之對應於子串流Y、Co、Cg的指標為{1,1,0},所以多工器電路23會根據多工控制信號MC依序先輸出子串流Y、Co至速率緩衝器25。接著,當先進先出位址為2時,由於多工控制信號MC中之對應於子串流Y、Co、Cg的指標為{0,0,1},所以多工器電路23會根據多工控制信號MC輸出子串流Cg至速率緩衝器25。換言之,當先進先出位址為1至2時,多工器電路23根據多工控制信號MC輸出三個子串流的順序為Y、Co、Cg。
當先進先出位址為3時,由於多工控制信號MC中之對應於子串流Y、Co、Cg的指標為{0,1,0},所以多工器電路23會根據多工控制信號MC先輸出子串流Co至速率緩衝器25。當先進先出位址為4至6時,由於多工控制信號MC中之對應於子串流Y、Co、Cg的指標均為{0,0,0},所以多工器電路23未輸出子串流至速率緩衝器25。當先進先出位址為7時,由於多工控制信號MC中之對應於子串流Y、Co、Cg的指標為{1,0,0},所以多工器電路23會根據多工控制信號MC輸出子串流Y至速率緩衝器25。當先進先出位址為8時,由於多工控制信號MC中之對應於子串流Y、Co、Cg的指標均為{0,0,0},所以多工器電路23未輸出子串流至速率緩衝器25。當先進先出位址為9時,由於多工控制信號MC中之對應於子串流Y、Co、Cg的指標為{0,0,1},所以多工器電路23會根據多工控制信號MC輸出子串流Cg至速率緩衝器25。換言之,當先進先出位址為3至9時,多工器電路23根據多工控制信號MC輸出三個子串流的順序為Co、Y、Cg。其餘情況可依此類推,於此不另行贅述。
請參照圖5,圖5繪示圖2中之計算電路241之一實施例的功能方塊圖。如圖5所示,計算電路可包括正緣觸發器DFF1~DFF2、減法器SUB、加法器ADD、比較器CMP及多工器MUX。正緣觸發器DFF1~DFF2分別耦接至減法器SUB。減法器SUB分別耦接至加法器ADD及比較器CMP。加法器ADD耦接於減法器SUB與多工器MUX。多工器MUX分別耦接比較器CMP、減法器SUB、加法器ADD及正緣觸發器DFF2。
正緣觸發器DFF1根據幀可變長度編碼Frame VLC提供編碼長度CS至減法器SUB。正緣觸發器DFF2根據重設信號RESET提供剩餘位元數RB至減法器SUB。減法器SUB將剩餘位元數RB減去編碼長度CS得到相減後之剩餘位元數SUB_o並將相減後之剩餘位元數SUB_o分別提供至加法器ADD、比較器CMP及多工器MUX。
比較器CMP比較相減後之剩餘位元數SUB_o與特定位元數36並根據比較結果輸出指標信號FLAG至多工器MUX的輸入端S。若相減後之剩餘位元數SUB_o小於特定位元數36,則指標信號FLAG=1;若相減後之剩餘位元數SUB_o未小於特定位元數36,則指標信號FLAG=0。
加法器ADD係將相減後之剩餘位元數SUB_o加上子串流的原始位元數48後輸出相加後之剩餘位元數ADD_o至多工器MUX的輸入端1。至於多工器MUX的輸入端0則接收相減後之剩餘位元數SUB_o。多工器MUX根據指標信號FLAG為1或0選擇性地輸出相加後之剩餘位元數ADD_o或相減後之剩餘位元數SUB_o作為多工器輸出之剩餘位元數MUX_o提供至正緣觸發器DFF2。其餘可依此類推,於此不另行贅述。
亦請參照圖6,圖6繪示計算電路運作時之一實施例的流程圖。如圖6所示,經重設後,若位移器剩餘位元數=48(步驟S10),則將剩餘位元數減去可變長度編碼之編碼長度(步驟S12)並判斷步驟S12所得到的相減結果是否小於特定位元數36(步驟S14)。
若步驟S14的判斷結果為是,代表剩餘位元數減去可變長度編碼之編碼長度小於特定位元數36,則指標=1(步驟S16)並將剩餘位元數加上子串流的原始位元數48(步驟S20)後回到步驟S12。
若步驟S14的判斷結果為否,代表剩餘位元數減去可變長度編碼之編碼長度未小於特定位元數36,則指標=0(步驟S18)並回到步驟S12。其餘可依此類推,於此不另行贅述。
相較於先前技術,本發明之串流解壓縮電路不需電路架構複雜且硬體設計成本高的串流解碼器(Stream Decoder)即可控制多工器電路依正確順序輸出VESA顯示串流壓縮(DSC)的編碼串流中的三個子串流Y/Co/Cg至速率緩衝器,故可大幅簡化電路架構並降低成本,有助於提升產品於市場上之競爭力。
1、2...顯示串流壓縮電路 10、20...可變長度編碼電路 101、201...第一可變長度編碼器 102、202...第二可變長度編碼器 103、203...第三可變長度編碼器 111、211...第一位移器 112、212...第二位移器 113、213...第三位移器 121、221...第一平衡先進先出 122、222...第二平衡先進先出 123、223...第三平衡先進先出 13、23...多工器電路 14、24...串流解壓縮電路 141...編碼長度先進先出 142...計算電路 241...計算電路 242...指標先進先出 15、25...速率緩衝器 Y、Y1...第一子串流 Co...第二子串流 Cg...第三子串流 EL...編碼長度 DL...解碼長度 MC...多工控制信號 BS...位元串流 Frame VLC... 幀可變長度編碼 DFF1、DFF2...正緣觸發器 SUB...減法器 ADD...加法器 CMP...比較器 MUX...多工器 RESET...重設信號 CS...編碼長度 RB...剩餘位元數 SUB_o...相減後之剩餘位元數 FLAG...指標信號 ADD_o...相加後之剩餘位元數 MUX_o...多工器輸出之剩餘位元數 1、0、S...輸入端 S10~S20...步驟
本發明所附圖式說明如下: 圖1繪示根據本發明之一較佳具體實施例中之串流解壓縮電路應用於VESA顯示串流壓縮(DSC)多工器電路的示意圖。 圖2繪示根據本發明之另一較佳具體實施例中之串流解壓縮電路應用於VESA顯示串流壓縮多工器電路的示意圖。 圖3繪示圖2中之計算電路計算出三個子串流Y/Co/Cg的指標的示意圖。 圖4繪示多工器電路根據多工控制信號中之指標輸出子串流至速率緩衝器的示意圖。 圖5繪示圖2中之計算電路241之一實施例的功能方塊圖。 圖6繪示圖2中之計算電路241運作時之一實施例的流程圖。
2...顯示串流壓縮電路 20...可變長度編碼電路 201...第一可變長度編碼器 202...第二可變長度編碼器 203...第三可變長度編碼器 211...第一位移器 212...第二位移器 213...第三位移器 221...第一平衡先進先出 222...第二平衡先進先出 223...第三平衡先進先出 23...多工器電路 24...串流解壓縮電路 241...計算電路 242...指標先進先出 25...速率緩衝器 Y...第一子串流 Co...第二子串流 Cg...第三子串流 EL...編碼長度 MC...多工控制信號 BS...位元串流

Claims (14)

  1. 一種串流解壓縮電路,耦接於一可變長度編碼電路與一多工器電路之間,該串流解壓縮電路包括: 一編碼長度先進先出,耦接該可變長度編碼電路,用以儲存該可變長度編碼電路對複數個子串流進行編碼的編碼長度並於該編碼長度累積超過一特定位元數時輸出該特定位元數;以及 一計算電路,耦接於該編碼長度先進先出與該多工器電路之間,用以根據該特定位元數計算出一解壓縮位元數並輸出包括指標(Flag)的一多工控制信號至該多工器電路,以控制該多工器電路依一特定順序輸出該複數個子串流。
  2. 如請求項1所述的串流解壓縮電路,其中該可變長度編碼電路包括一第一可變長度編碼器、一第二可變長度編碼器及一第三可變長度編碼器,用以分別對該複數個子串流中之一第一子串流、一第二子串流及一第三子串流進行編碼。
  3. 如請求項2所述的串流解壓縮電路,其中該第一可變長度編碼器、該第二可變長度編碼器及該第三可變長度編碼器分別耦接一第一位移器、一第二位移器及一第三位移器,該第一位移器、該第二位移器及該第三位移器分別用以累加該第一可變長度編碼器、該第二可變長度編碼器及該第三可變長度編碼器分別對該第一子串流、該第二子串流及該第三子串流進行編碼的該編碼長度並於該編碼長度累積超過該特定位元數時輸出該第一子串流、該第二子串流及該第三子串流。
  4. 如請求項3所述的串流解壓縮電路,其中該第一位移器、該第二位移器及該第三位移器分別耦接一第一平衡先進先出、一第二平衡先進先出及一第三平衡先進先出,該第一平衡先進先出、該第二平衡先進先出及該第三平衡先進先出用以儲存該編碼長度為該特定位元數的該第一子串流、該第二子串流及該第三子串流。
  5. 如請求項4所述的串流解壓縮電路,其中該多工器電路還耦接該第一平衡先進先出、該第二平衡先進先出、該第三平衡先進先出及一速率緩衝器(Rate buffer),用以根據該多工控制信號中之指標依該特定順序輸出該第一子串流、該第二子串流及該第三子串流至該速率緩衝器。
  6. 如請求項2所述的串流解壓縮電路,其中該特定位元數包括該第一子串流、該第二子串流及該第三子串流各自的位元數。
  7. 如申請專利範圍第2項所述的串流解壓縮電路,其中該特定位元數為18位元,其包括該第一子串流、該第二子串流及該第三子串流各6位元,而該多工控制信號為3位元,其包括對應於該第一子串流、該第二子串流及該第三子串流的指標各1位元。
  8. 一種串流解壓縮電路,耦接於可變長度編碼電路與多工器電路之間,該串流解壓縮電路包括: 一計算電路,耦接該可變長度編碼電路,用以根據該可變長度編碼電路對複數個子串流進行編碼的編碼長度計算出該多工器電路何時需輸出該複數個子串流並輸出包括指標的一多工控制信號;以及 一指標先進先出,耦接於該計算電路與該多工器電路之間,用以儲存該多工控制信號,該多工器電路根據該多工控制信號中之指標依一特定順序輸出該複數個子串流。
  9. 如請求項8所述的串流解壓縮電路,其中該可變長度編碼電路包括一第一可變長度編碼器、一第二可變長度編碼器及一第三可變長度編碼器,用以分別對該複數個子串流中之一第一子串流、一第二子串流及一第三子串流進行編碼。
  10. 如請求項9所述的串流解壓縮電路,其中該第一可變長度編碼器、該第二可變長度編碼器及該第三可變長度編碼器分別耦接一第一位移器、一第二位移器及一第三位移器,該第一位移器、該第二位移器及該第三位移器分別用以累加該第一可變長度編碼器、該第二可變長度編碼器及該第三可變長度編碼器分別對該第一子串流、該第二子串流及該第三子串流進行編碼的該編碼長度並於該編碼長度累積超過一特定位元數時輸出該第一子串流、該第二子串流及該第三子串流。
  11. 如請求項10所述的串流解壓縮電路,其中該第一位移器、該第二位移器及該第三位移器分別耦接一第一平衡先進先出、一第二平衡先進先出及一第三平衡先進先出,該第一平衡先進先出、該第二平衡先進先出及該第三平衡先進先出分別用以儲存該編碼長度為該特定位元數的該第一子串流、該第二子串流及該第三子串流。
  12. 如請求項11所述的串流解壓縮電路,其中該多工器電路還耦接該第一平衡先進先出、該第二平衡先進先出、該第三平衡先進先出及一速率緩衝器,用以根據該多工控制信號中之指標依該特定順序輸出該第一子串流、該第二子串流及該第三子串流至該速率緩衝器。
  13. 如請求項9所述的串流解壓縮電路,其中該特定位元數包括該第一子串流、該第二子串流及該第三子串流各自的位元數。
  14. 如請求項9所述的串流解壓縮電路,其中該多工控制信號為3位元,其包括對應於該第一子串流、該第二子串流及該第三子串流的指標各1位元。
TW109145568A 2020-01-15 2020-12-22 串流解壓縮電路 TWI741919B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202062961295P 2020-01-15 2020-01-15
US62/961,295 2020-01-15

Publications (2)

Publication Number Publication Date
TW202130181A TW202130181A (zh) 2021-08-01
TWI741919B true TWI741919B (zh) 2021-10-01

Family

ID=76763671

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109145568A TWI741919B (zh) 2020-01-15 2020-12-22 串流解壓縮電路

Country Status (3)

Country Link
US (1) US11329667B2 (zh)
CN (1) CN113132733B (zh)
TW (1) TWI741919B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050254583A1 (en) * 1995-10-26 2005-11-17 Jae-Kyoon Kim Apparatus and method of encoding/decoding a coded block pattern
US20080095454A1 (en) * 2006-10-18 2008-04-24 Wen-Che Wu Image encoding/decoding device and method thereof
US20190313128A1 (en) * 2001-08-31 2019-10-10 Panasonic Intellectual Property Corporation Of America Picture coding method, picture decoding method and apparatuses thereof

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0837662A (ja) * 1994-07-22 1996-02-06 Hitachi Ltd 画像符号化復号化装置
US6313863B1 (en) * 1994-07-29 2001-11-06 Canon Kabushiki Kaisha Image communication apparatus and system
US5781788A (en) * 1995-05-08 1998-07-14 Avc Technology, Inc. Full duplex single clip video codec
US5828426A (en) * 1996-08-20 1998-10-27 Samsung Electronics Co., Ltd. Apparatus for decoding variable length coded data of both MPEG-1 and MPEG-2 standards
US6163573A (en) * 1996-12-12 2000-12-19 Sony Corporation Equipment and method for compressing picture data
KR100396173B1 (ko) * 2000-12-27 2003-08-27 주식회사 팬택앤큐리텔 가변길이 복호화 장치
US7626518B2 (en) * 2006-06-08 2009-12-01 Via Technologies, Inc. Decoding systems and methods in computational core of programmable graphics processing unit
JP2008199100A (ja) * 2007-02-08 2008-08-28 Toshiba Corp 可変長符号復号装置
JP2008252230A (ja) * 2007-03-29 2008-10-16 Toshiba Corp 画像復号装置及び復号方法
US8542727B2 (en) * 2007-12-31 2013-09-24 Intel Corporation Systems and apparatuses for performing CABAC parallel encoding and decoding
US8218644B1 (en) * 2009-05-12 2012-07-10 Accumulus Technologies Inc. System for compressing and de-compressing data used in video processing
US8416104B2 (en) * 2010-04-23 2013-04-09 Certicom Corp. Method and apparatus for entropy decoding
CN107196662B (zh) * 2011-01-14 2021-07-30 Ge视频压缩有限责任公司 熵编码设备和方法、熵解码设备和方法、及存储介质
EP2764692B1 (en) * 2011-10-06 2020-08-26 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. Entropy coding buffer arrangement
CN104718753B (zh) * 2012-10-03 2018-05-11 安华高科技通用Ip(新加坡)公司 利用切片速率控制的有界率压缩
US10250912B2 (en) * 2015-02-17 2019-04-02 Mediatek Inc. Method and apparatus for entropy decoding with arithmetic decoding decoupled from variable-length decoding
AU2016203305A1 (en) * 2016-05-20 2017-12-07 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
TWI625715B (zh) * 2016-05-31 2018-06-01 瑞鼎科技股份有限公司 顯示驅動裝置及其運作方法
US10855989B2 (en) * 2016-06-09 2020-12-01 Qualcomm Incorporated Substream multiplexing for display stream compression
US10743032B2 (en) * 2017-05-24 2020-08-11 Qualcomm Incorporated Substream multiplexing for display stream compression
CN109429069B (zh) * 2017-08-23 2021-08-24 珠海全志科技股份有限公司 一种显示流压缩编码器以及显示引擎

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050254583A1 (en) * 1995-10-26 2005-11-17 Jae-Kyoon Kim Apparatus and method of encoding/decoding a coded block pattern
US20190313128A1 (en) * 2001-08-31 2019-10-10 Panasonic Intellectual Property Corporation Of America Picture coding method, picture decoding method and apparatuses thereof
US20080095454A1 (en) * 2006-10-18 2008-04-24 Wen-Che Wu Image encoding/decoding device and method thereof

Also Published As

Publication number Publication date
TW202130181A (zh) 2021-08-01
CN113132733B (zh) 2023-07-04
US20210218415A1 (en) 2021-07-15
CN113132733A (zh) 2021-07-16
US11329667B2 (en) 2022-05-10

Similar Documents

Publication Publication Date Title
JP3220598B2 (ja) 可変長符号テーブルおよび可変長符号化装置
US7573951B2 (en) Binary arithmetic decoding apparatus and methods using a pipelined structure
US5675332A (en) Plural-step chunk-at-a-time decoder for variable-length codes of Huffman type
JP3227292B2 (ja) 符号化装置、符号化方法、復号化装置、復号化方法、符号化復号化装置及び符号化復号化方法
JP5583106B2 (ja) データデコーディング
US8542727B2 (en) Systems and apparatuses for performing CABAC parallel encoding and decoding
US5717394A (en) Method and apparatus for encoding and decoding data
US6633242B2 (en) Entropy coding using adaptable prefix codes
US5652583A (en) Apparatus for encoding variable-length codes and segmenting variable-length codewords thereof
US8306108B2 (en) Adaptive canonical Huffman decoder and method thereof and video decoder
JP2003023635A (ja) ビデオフレームの圧縮及び伸張ハードウェアシステム
JPH10209879A (ja) 可変長符号器
JPH1065549A (ja) 可変長符号化データ値の長さを決定する装置、可変長符号化データ値のデータストリームを復号化する装置および可変長符号化データ値の長さを決定する方法
US7504970B2 (en) Data encoder
TWI741919B (zh) 串流解壓縮電路
KR0179103B1 (ko) 고속 가변길이 디코더장치
KR930024509A (ko) 가변장 부호 복호기
KR100227273B1 (ko) 가변길이 코드 데이터 스트림 위치정렬을 위한 시스템
US20050174270A1 (en) Programmable variable length decoder including interface of cpu processor
TWI404420B (zh) 可變長度解碼器、視訊解碼器、具有此解碼器的影像顯示系統以及可變長度解碼方法
US6501398B2 (en) Variable-length code decoder using barrel shifters and a look-up table
US5754128A (en) Variable-length code encoding and segmenting apparatus having a byte alignment unit
JP4559652B2 (ja) 可変長復号化回路
GB2360915A (en) Run length compression encoding of selected bits of data words
US20210029380A1 (en) Methods and apparatus for successive intra block prediction