串流解压缩电路的制作方法

文档序号:25906647发布日期:2021-07-16 21:16阅读:130来源:国知局
1.本发明是与串流有关,尤其是关于一种以简单且低成本的硬体架构实现vesa显示串流压缩(displaystreamcompression,dsc)多工器电路中的串流解压缩电路。
背景技术
::2.一般而言,vesa显示串流压缩(dsc)的编码串流是由三个子串流(sub‑stream)y/co/cg组合而成(例如y:co:cg=4:4:4模式)。三个子串流y/co/cg分别依序经过可变长度编码器(variablelengthcoder,vlc)、漏斗位移器(funnelshifter)及平衡先进先出(balancefifo)的处理后进入多工器(multiplexer)。3.传统上,多工器会耦接串流解码器(streamdecoder)并根据串流解码器对串流解码时所消耗的位元数决定其输出子串流至速率缓冲器(ratebuffer)的顺序。4.举例而言,串流解码器可根据三个子串流y/co/cg于其各自的漏斗位移器所剩的位元数判断其是否足够(例如是否大于或等于36位元)进行下一笔数据的解码。若上述判断结果为否,亦即子串流于其漏斗位移器所剩的位元数不足以进行下一笔数据解码,则需再向各自的平衡先进先出载入新的未解码的串流,才足够提供下一笔数据的解码。此一动作即成为多工器输出三个子串流y/co/cg至速率缓冲器的顺序。5.然而,传统上若欲以硬体形式实现串流解码器(streamdecoder),其需包括可变长度解码器(variablelengthdecoder,vld)、查找表(lookuptable)及漏斗位移器等电路,导致其电路架构复杂且庞大,硬体电路设计成本亦大幅增加,不利于产品于市场上的竞争力,亟待改善。技术实现要素:6.有鉴于此,本发明提出一种串流解压缩电路,以有效解决现有技术所遭遇到的上述问题。7.依据本发明的一具体实施例为一种串流解压缩电路。于此实施例中,串流解压缩电路是耦接于可变长度编码电路与多工器电路之间。串流解压缩电路包括编码长度先进先出及计算电路。编码长度先进先出耦接可变长度编码电路,用以储存可变长度编码电路对多个子串流进行编码的编码长度并于编码长度累积超过特定位元数时输出特定位元数。计算电路耦接于编码长度先进先出与多工器电路之间,用以根据特定位元数计算出解压缩位元数并输出包括指标(flag)的多工控制信号至多工器电路,以控制多工器电路依特定顺序输出该多个子串流。8.于一实施例中,可变长度编码电路包括第一可变长度编码器、第二可变长度编码器及第三可变长度编码器,用以分别对该多个子串流中的第一子串流、第二子串流及第三子串流进行编码。9.于一实施例中,第一可变长度编码器、第二可变长度编码器及第三可变长度编码器分别耦接第一位移器、第二位移器及第三位移器,第一位移器、第二位移器及第三位移器分别用以累加第一可变长度编码器、第二可变长度编码器及第三可变长度编码器分别对第一子串流、第二子串流及第三子串流进行编码的编码长度并于编码长度累积超过特定位元数时输出第一子串流、第二子串流及第三子串流。10.于一实施例中,第一位移器、第二位移器及第三位移器分别耦接第一平衡先进先出、第二平衡先进先出及第三平衡先进先出,第一平衡先进先出、第二平衡先进先出及第三平衡先进先出用以储存编码长度为特定位元数的第一子串流、第二子串流及第三子串流。11.于一实施例中,多工器电路还耦接第一平衡先进先出、第二平衡先进先出、第三平衡先进先出及速率缓冲器(ratebuffer),用以根据多工控制信号中的指标依特定顺序输出第一子串流、第二子串流及第三子串流至速率缓冲器。12.于一实施例中,特定位元数包括第一子串流、第二子串流及第三子串流各自的位元数。13.于一实施例中,特定位元数为18位元,其包括第一子串流、第二子串流及第三子串流各6位元,而多工控制信号为3位元,其包括对应于第一子串流、第二子串流及第三子串流的指标各1位元。14.依据本发明的另一具体实施例亦为一种串流解压缩电路。于此实施例中,串流解压缩电路是耦接于可变长度编码电路与多工器电路之间。串流解压缩电路包括计算电路及指标(flag)先进先出。计算电路耦接可变长度编码电路,用以根据可变长度编码电路对多个子串流进行编码的编码长度计算出多工器电路何时需输出该多个子串流并输出包括指标的多工控制信号。指标先进先出耦接于计算电路与多工器电路之间,用以储存多工控制信号。多工器电路根据多工控制信号中的指标依特定顺序输出该多个子串流。15.于一实施例中,可变长度编码电路包括第一可变长度编码器、第二可变长度编码器及第三可变长度编码器,用以分别对该多个子串流中的第一子串流、第二子串流及第三子串流进行编码。16.于一实施例中,第一可变长度编码器、第二可变长度编码器及第三可变长度编码器分别耦接第一位移器、第二位移器及第三位移器,第一位移器、第二位移器及第三位移器分别用以累加第一可变长度编码器、第二可变长度编码器及第三可变长度编码器分别对第一子串流、第二子串流及第三子串流进行编码的编码长度并于编码长度累积超过特定位元数时输出第一子串流、第二子串流及第三子串流。17.于一实施例中,第一位移器、第二位移器及第三位移器分别耦接第一平衡先进先出、第二平衡先进先出及第三平衡先进先出,第一平衡先进先出、第二平衡先进先出及第三平衡先进先出分别用以储存编码长度为特定位元数的第一子串流、第二子串流及第三子串流。18.于一实施例中,多工器电路还耦接第一平衡先进先出、第二平衡先进先出、第三平衡先进先出及速率缓冲器,用以根据多工控制信号中的指标依特定顺序输出第一子串流、第二子串流及第三子串流至速率缓冲器。19.于一实施例中,特定位元数包括第一子串流、第二子串流及第三子串流各自的位元数。20.于一实施例中,多工控制信号为3位元,其包括对应于第一子串流、第二子串流及第三子串流的指标各1位元。21.相较于现有技术,本发明的串流解压缩电路不需电路架构复杂且硬体设计成本高的串流解码器(streamdecoder)即可控制多工器电路依正确顺序输出vesa显示串流压缩(dsc)的编码串流中的三个子串流y/co/cg至速率缓冲器,故可大幅简化电路架构并降低成本,有助于提升产品于市场上的竞争力。22.关于本发明的优点与精神可以通过以下的发明详述及附图得到进一步的了解。附图说明23.图1为本发明一较佳具体实施例中的串流解压缩电路应用于vesa显示串流压缩(dsc)多工器电路的示意图。24.图2为本发明的另一较佳具体实施例中的串流解压缩电路应用于vesa显示串流压缩多工器电路的示意图。25.图3为图2中的计算电路计算出三个子串流y/co/cg的指标的示意图。26.图4为多工器电路根据多工控制信号中的指标输出子串流至速率缓冲器的示意图。27.图5为图2中的计算电路241的一实施例的功能方块图。28.图6为图2中的计算电路241运作时的一实施例的流程图。29.主要元件符号说明:30.1、2...显示串流压缩电路31.10、20...可变长度编码电路32.101、201...第一可变长度编码器33.102、202...第二可变长度编码器34.103、203...第三可变长度编码器35.111、211...第一位移器36.112、212...第二位移器37.113、213...第三位移器38.121、221...第一平衡先进先出39.122、222...第二平衡先进先出40.123、223...第三平衡先进先出41.13、23...多工器电路42.14、24...串流解压缩电路43.141...编码长度先进先出44.142...计算电路45.241...计算电路46.242...指标先进先出47.15、25...速率缓冲器48.y、y1...第一子串流49.co...第二子串流50.cg...第三子串流51.el...编码长度52.dl...解码长度53.mc...多工控制信号54.bs...位元串流55.framevlc...帧可变长度编码56.dff1、dff2...正缘触发器57.sub...减法器58.add...加法器59.cmp...比较器60.mux...多工器61.reset...重设信号62.cs...编码长度63.rb...剩余位元数64.sub_o...相减后的剩余位元数65.flag...指标信号66.add_o...相加后的剩余位元数67.mux_o...多工器输出的剩余位元数68.1、0、s...输入端69.s10~s20...步骤具体实施方式70.现在将详细参考本发明的具体实施例,并在附图中说明所述具体实施例的实例。在附图及实施方式中所使用相同或类似标号的元件/构件是用来代表相同或类似部分。71.依据本发明的一具体实施例为一种串流解压缩电路。于此实施例中,串流解压缩电路应用于vesa显示串流压缩(dsc)多工器电路中,但不以此为限。72.请参照图1,图1为此实施例中的串流解压缩电路应用于vesa显示串流压缩多工器电路的示意图。73.如图1所示,串流解压缩电路14应用于vesa显示串流压缩(dsc)多工器电路1。串流解压缩电路14耦接于可变长度编码电路10与多工器电路13之间。可变长度编码电路10包括第一可变长度编码器101、第二可变长度编码器102及第三可变长度编码器103,用以分别对多个子串流中的第一子串流y、第二子串流co及第三子串流cg进行编码。74.第一可变长度编码器101、第二可变长度编码器102及第三可变长度编码器103分别耦接第一位移器111、第二位移器112及第三位移器113。第一位移器111、第二位移器112及第三位移器113分别用以累加第一可变长度编码器101、第二可变长度编码器102及第三可变长度编码器103分别对第一子串流y、第二子串流co及第三子串流cg进行编码的编码长度并于编码长度累积超过特定位元数时输出第一子串流y、第二子串流co及第三子串流cg。75.于实际应用中,第一位移器111、第二位移器112及第三位移器113可以是漏斗位移器(funnelshifter),但不以此为限;特定位元数可包括第一子串流y、第二子串流co及第三子串流cg各自的位元数,但不以此为限。76.第一位移器111、第二位移器112及第三位移器113分别耦接第一平衡先进先出121、第二平衡先进先出122及第三平衡先进先出123。第一平衡先进先出121、第二平衡先进先出122及第三平衡先进先出123分别用以储存编码长度为特定位元数(例如48位元)的第一子串流y、第二子串流co及第三子串流cg。77.于此实施例中,串流解压缩电路14包括编码长度先进先出141及计算电路142。编码长度先进先出141耦接可变长度编码电路10,用以储存可变长度编码电路10对该多个子串流(第一子串流y、第二子串流co及第三子串流cg)进行编码的编码长度el并于编码长度el累积超过特定位元数dl时输出特定位元数dl。78.计算电路142耦接于编码长度先进先出141与多工器电路13之间,用以根据特定位元数dl计算出解压缩位元数并输出包括指标的多工控制信号mc至多工器电路13,以控制多工器电路13依特定顺序输出该多个子串流(第一子串流y、第二子串流co及第三子串流cg)。需说明的是,此实施例中的特定位元数dl为18位元且多工控制信号mc为3位元(例如包括对应于第一子串流y、第二子串流co及第三子串流cg的指标各1位元),但不以此为限。79.假设编码长度先进先出141的储存容量为(144x18)位元,则编码长度先进先出141共可储存144笔来自编码长度el的18位元数据,计算电路142每次从编码长度先进先出141读取一笔18位元数据并进行计算后得到3位元的多工控制信号mc(例如包括对应于第一子串流y、第二子串流co及第三子串流cg的指标各1位元),但不以此为限。80.多工器电路13还耦接第一平衡先进先出121、第二平衡先进先出122、第三平衡先进先出123及速率缓冲器(ratebuffer)15,用以根据多工控制信号mc依特定顺序输出分别为48位元的第一子串流y、第二子串流co及第三子串流cg至速率缓冲器15。速率缓冲器15根据分别为48位元的第一子串流y、第二子串流co及第三子串流cg输出144位元的位元串流bs。81.基于此,串流解压缩电路14可控制多工器电路13依正确顺序输出vesa显示串流压缩(dsc)的编码串流中的三个子串流y/co/cg至速率缓冲器15,故能有效取代电路架构复杂且硬体设计成本高的串流解码器(streamdecoder),进而达到简化电路架构并降低成本的具体功效。82.于另一实施例中,请参照图2,串流解压缩电路24应用于vesa显示串流压缩多工器电路2。串流解压缩电路24耦接于可变长度编码电路20与多工器电路23之间。可变长度编码电路20包括第一可变长度编码器201、第二可变长度编码器202及第三可变长度编码器203,用以分别对多个子串流中的第一子串流y、第二子串流co及第三子串流cg进行编码。83.第一可变长度编码器201、第二可变长度编码器202及第三可变长度编码器203分别耦接第一位移器211、第二位移器212及第三位移器213。第一位移器211、第二位移器212及第三位移器213分别用以累加第一可变长度编码器201、第二可变长度编码器202及第三可变长度编码器203分别对第一子串流y、第二子串流co及第三子串流cg进行编码的编码长度并于编码长度累积超过特定位元数时输出第一子串流y、第二子串流co及第三子串流cg。84.第一位移器211、第二位移器212及第三位移器213分别耦接第一平衡先进先出221、第二平衡先进先出222及第三平衡先进先出223。第一平衡先进先出221、第二平衡先进先出222及第三平衡先进先出223分别用以储存编码长度为特定位元数(例如48位元)的第一子串流y、第二子串流co及第三子串流cg。85.于此实施例中,串流解压缩电路24包括计算电路241及指标(flag)先进先出242。计算电路241耦接可变长度编码电路20,用以即时(realtime)计算可变长度编码电路20对多个子串流(第一子串流y、第二子串流co及第三子串流cg)进行编码的编码长度el以得到包括指示多工器电路23何时需输出该多个子串流(第一子串流y、第二子串流co及第三子串流cg)的指标的多工控制信号mc并输出包括指标的多工控制信号mc至指标先进先出242。86.指标先进先出242耦接于计算电路241与多工器电路23之间,用以储存包括指标的多工控制信号mc。多工器电路23还耦接第一平衡先进先出221、第二平衡先进先出222、第三平衡先进先出223及速率缓冲器25,用以根据多工控制信号mc中的指标依特定顺序输出第一子串流y、第二子串流co及第三子串流cg至速率缓冲器25。87.需说明的是,此实施例中的特定位元数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,但不以此为限。88.换言之,若以同样储存144笔数据而言,图2中的指标先进先出242所需的储存容量(144x3位元)仅为图1中的编码长度先进先出141所需的储存容量(144x18位元)的六分之一,而图2中的计算电路241则与图1中的计算电路142相同,故本发明可有效降低硬体成本。89.基于此,串流解压缩电路24可控制多工器电路23依正确顺序输出vesa显示串流压缩(dsc)的编码串流中的三个子串流y/co/cg至速率缓冲器25,故能有效取代电路架构复杂且硬体设计成本高的串流解码器(streamdecoder),进而达到简化电路架构并降低成本的具体功效。90.接着,请参照图3,图3为图2中的计算电路241计算出三个子串流y/co/cg的指标的示意图。91.如图3所示,若以十进位的编码长度为例进行说明,假设一开始的三个子串流{y1,co,cg}={00,00,00},则对应于三个子串流y1、co、cg的起始剩余位元数分别为48、48、48且对应于三个子串流y1、co、cg的起始指标(flag)分别为1、1、1。92.接着,若三个子串流{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。93.然后,若三个子串流{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。94.接着,若三个子串流{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。95.然后,若三个子串流{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。96.接着,若三个子串流{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。97.然后,若三个子串流{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。98.接着,若三个子串流{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。99.然后,若三个子串流{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。100.接着,若三个子串流{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。101.之后,若三个子串流{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。其余情况可依此类推,于此不另行赘述。102.请参照图4,图4为多工器电路根据多工控制信号中的指标输出子串流至速率缓冲器的示意图。103.如图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中。104.当先进先出位址为0时,由于多工控制信号mc中的对应于子串流y、co、cg的指标为{1,1,1},所以多工器电路23根据多工控制信号mc依序输出子串流y、co、cg至速率缓冲器25。105.当先进先出位址为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。106.当先进先出位址为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。其余情况可依此类推,于此不另行赘述。107.请参照图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。108.正缘触发器dff1根据帧可变长度编码framevlc提供编码长度cs至减法器sub。正缘触发器dff2根据重设信号reset提供剩余位元数rb至减法器sub。减法器sub将剩余位元数rb减去编码长度cs得到相减后的剩余位元数sub_o并将相减后的剩余位元数sub_o分别提供至加法器add、比较器cmp及多工器mux。109.比较器cmp比较相减后的剩余位元数sub_o与特定位元数36并根据比较结果输出指标信号flag至多工器mux的输入端s。若相减后的剩余位元数sub_o小于特定位元数36,则指标信号flag=1;若相减后的剩余位元数sub_o未小于特定位元数36,则指标信号flag=0。110.加法器add是将相减后的剩余位元数sub_o加上子串流的原始位元数48后输出相加后的剩余位元数add_o至多工器mux的输入端1。至于多工器mux的输入端0则接收相减后的剩余位元数sub_o。多工器mux根据指标信号flag为1或0选择性地输出相加后的剩余位元数add_o或相减后的剩余位元数sub_o作为多工器输出的剩余位元数mux_o提供至正缘触发器dff2。其余可依此类推,于此不另行赘述。111.请参照图6,图6为计算电路运作时的一实施例的流程图。如图6所示,经重设后,若位移器剩余位元数=48(步骤s10),则将剩余位元数减去可变长度编码的编码长度(步骤s12)并判断步骤s12所得到的相减结果是否小于特定位元数36(步骤s14)。112.若步骤s14的判断结果为是,代表剩余位元数减去可变长度编码的编码长度小于特定位元数36,则指标=1(步骤s16)并将剩余位元数加上子串流的原始位元数48(步骤s20)后回到步骤s12。113.若步骤s14的判断结果为否,代表剩余位元数减去可变长度编码的编码长度未小于特定位元数36,则指标=0(步骤s18)并回到步骤s12。其余可依此类推,于此不另行赘述。114.相较于现有技术,本发明的串流解压缩电路不需电路架构复杂且硬体设计成本高的串流解码器(streamdecoder)即可控制多工器电路依正确顺序输出vesa显示串流压缩(dsc)的编码串流中的三个子串流y/co/cg至速率缓冲器,故可大幅简化电路架构并降低成本,有助于提升产品于市场上的竞争力。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1