熵编码电路及其编码方法转让专利

申请号 : CN200810091004.X

文献号 : CN101557515B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林家平黄朝宗

申请人 : 联咏科技股份有限公司

摘要 :

一种熵编码电路,具有两个熵编码器,分别适用于对编码系数以可调式扫描与固定式扫描方式,读取后进行两类的编码程序。当一熵编码器进行第一类编码程序时,另一熵编码器接收第二类编码系数与正规化判断信号,并据以对第二类编码系数进行第二类编码程序。而上述两类编码程序所产生的第一类编码串行数据与第二类编码串行数据,以时间上交错的方式作为熵编码电路的输出。

权利要求 :

1.一种编码电路,其用来同时对一编码系数进行第一类编码程序与第二类编码程序,其中,该第一类编码程序为对该编码系数进行可调式扫描,该第二类编码程序为对该编码系数进行固定式扫描,该编码电路包括:读取与写入控制电路,用以读取与寄存该编码系数,并用以同时输出第一类编码系数与第二类编码系数;

第一熵编码器,连接到该读取与写入控制电路,该第一熵编码器用以接收该第一类编码系数,并对该第一类编码系数进行该第一类编码程序,并据以输出第一类编码串流数据;

第二熵编码器,连接到该读取与写入控制电路,该第二熵编码器用以接收该第二类编码系数与一正规化判断信号,并根据该正规化判断信号对该第二类编码系数进行该第二类编码程序,并据以输出第二类编码串流数据;以及一寄存装置,连接到该第一熵编码器与该第二熵编码器,用以寄存该第一类编码串流数据与该第二类编码串流数据,并以时间上交错的方式输出,其中,该第一类编码程序与该第二类编码程序分别为符合HD Photo规格的TILE_HIGHPASS和TILE_FLEXBITS的系数熵编码程序。

2.如权利要求1所述的编码电路,还包括:

一正规化系数判断单元,连接到该读取与写入控制电路,用来对该编码系数进行正规化处理,判断经过正规化处理后的编码系数是否为零,并据以输出该正规化判断信号给第二熵编码器。

3.如权利要求1所述的编码电路,其中,该第一熵编码器还接收该编码系数正规化后的第一位区段,该第二熵编码器还接收该编码系数正规化后的第二位区段,其中,该编码系数进行正规化后由该第一位区段与该第二位区段所组成。

4.如权利要求3所述的编码电路,其中,该第一位区段为该编码系数进行正规化后,得到的多个最高有效位,而该第二位区段为该编码系数进行正规化后,得到的多个最低有效位。

5.如权利要求1所述的编码电路,其中,该第一熵编码器另传送一可调控制信号反馈到该读取与写入控制电路,用以调整该可调式扫描进行的方式。

6.如权利要求1所述的编码电路,其中,该读取与写入控制电路包括系数缓存单元,其中,该第一熵编码器与该第二熵编码器同时经由所述系数缓存单元分别读取该编码系数不同位置的数据。

7.如权利要求6所述的编码电路,其中,所述编码系数依不同摆放的顺序,以两组系数阵列的形式存储于所述系数缓存单元中,其中,所述两组系数阵列其中的一组依可调式扫描顺序摆放,而另一组则依固定式扫描顺序摆放。

8.如权利要求6所述的编码电路,其中该读取与写入控制电路还包括可调式扫描位置产生器,其中所述读取与写入控制电路对接收的所述编码系数,依固定式扫描顺序存储一组系数阵列,当所述编码系数以固定式扫描顺序读取时,所述读取与写入控制电路直接以所述固定式扫描顺序读取所述组系数阵列,以提供给所述第二熵编码器,而当所述编码系数以可调式扫描顺序读取时,所述读取与写入控制电路利用所述可调式扫描位置产生器,将所述可调式扫描顺序转成所述组系数阵列的系数位置,使所述读取与写入控制电路由转换后的系数位置,自该组系数阵列读出系数,以提供给该第一熵编码器。

9.如权利要求6所述的编码电路,其中,所述读取与写入控制电路还包括可调式扫描位置产生器,其中对接收的所述编码系数,依可调式扫描顺序存储一组系数阵列,以可调式扫描顺序进行读取时,所述读取与写入控制电路直接以所述可调式扫描顺序读取所述组系数阵列,以提供给所述第一熵编码器,而以固定扫描顺序进行读取时,所述读取与写入控制电路藉由所述可调式扫描位置产生器的反向操作,将所述固定式扫描顺序转成所述组系数阵列的系数位置,自所述组系数阵列读出系数,以提供给所述第二熵编码器。

10.如权利要求6所述的编码电路,其中,该系数缓存单元为多端口静态随机存取内存。

11.如权利要求6所述的编码电路,其中,该系数缓存单元包括多个缓存器与两组多路复用选择器。

12.一种熵编码方法,包括:

寄存用以进行熵编码的编码系数,并据以同时提供第一类编码系数与第二类编码系数,其中该第一类编码系数是对该编码系数进行可调式扫描而取得,该第二类编码系数是对该编码系数进行固定式扫描而取得;

根据该第一类编码系数进行第一类编码程序,并据以输出第一类编码串流数据,同时接收正规化判断信号,并根据该第二类编码系数与该正规化判断信号进行第二类编码程序,据以输出第二类编码串流数据;以及寄存该第一类编码串流数据与该第二类编码串流数据,并以时间上交错的方式输出,其中,该第一类编码程序与该第二类编码程序分别为符合HD Photo规格的TILE_HIGHPASS和TILE_FLEXBITS的系数熵编码程序。

13.如权利要求12所述的熵编码方法,其中,该第一类编码程序完成后,传送可调控制信号,用以调整该可调式扫描进行的方式。

14.如权利要求12所述的熵编码方法,其中,其中寄存该编码系数并同时提供该第一类编码系数与该第二类编码系数的方式包含将该编码系数寄存在系数缓存单元,并且同时经由两读取端口自该系数缓存单元分别读取该编码系数不同位置的数据。

15.如权利要求14所述的熵编码方法,其中,寄存该编码系数是依不同摆放的顺序存储在两组系数阵列,其中,该两组其中的一组依可调式扫描顺序摆放,而该两组其中的另一组则依固定式扫描顺序摆放。

16.如权利要求14所述的熵编码方法,其中,另包含有:

对接收的该编码系数,依固定式扫描顺序存储一组系数阵列,以固定式扫描顺序进行读取时,以该固定式扫描顺序读取该组系数阵列,以提供作为该第二类编码系数,而以可调式扫描顺序进行读取时,依照可调式扫描位置产生程序,将该可调式扫描顺序转成该组系数阵列的系数位置,再依照该系数位置由该组系数阵列中读出系数,以作为该第一类编码系数。

17.如权利要求14所述的熵编码方法,其中,另包含有:

对接收的该编码系数,依可调式扫描顺序存储一组系数阵列,以可调式扫描进行读取时,以该可调式扫描顺序读取该组系数阵列,用以提供作为该第一类编码系数,而以固定扫描顺序进行读取时,藉由可调式扫描位置产生程序的反向操作,以将该固定式扫描顺序转成一系数位置,并依据该系数位置从该组系数阵列中读出系数,以作为该第二类编码系数。

18.一种编码电路,包括:

读取与写入控制电路,用以读取与寄存用以进行熵编码的编码系数,并用以同时输出第一类编码系数与第二类编码系数;

第一熵编码器,连接到该读取与写入控制电路,该第一熵编码器用以接收该第一类编码系数,并对该第一类编码系数进行多个第一类编码程序,并据以输出多个编码串流数据;

第二熵编码器,连接到该读取与写入控制电路,该第二熵编码器用以接收该第二类编码系数与正规化判断信号,并根据该正规化判断信号据以对该第二类编码系数进行第二类编码程序,并据以输出第二类编码串流数据;以及一寄存装置,连接到该第一熵编码器与该第二熵编码器,用以寄存该第一类编码串流数据与该第二类编码串流数据,并以时间上交错的方式输出,其中,该第一类编码程序为符合HD Photo规格的TILE_DC、TILE_LOWPASS与TILE_HIGHPASS的系数熵编码程序,而该第二类编码程序分别为符合HD Photo规格的TILE_FLEXBITS的系数熵编码程序。

说明书 :

熵编码电路及其编码方法

技术领域

[0001] 本发明涉及一种数据处理装置与其运算方法,且特别是涉及一种可同时编码TILE_HIGHPASS和TILE_FLEXBITS的编码电路及其编码方法。

背景技术

[0002] 在一般的图像压缩编码方式,主要是由一个原始的图像数据经过转换与编码压缩后产生编码串流(Encoded Stream)的方式,请参照图1所示,包括步骤110,进行取样及色彩空间转换(Downsampling&Color Space Transform)的处理。而后,经由步骤120进行重迭转换(Lapped Transform)的处理。接着如步骤130,进行量化(Quantization)及系数预测(Prediction)并产生区块类型信息(Coded Block Pattern)。而后经由步骤140,运用可调式扫瞄(Adaptive Scan)及进行熵编码(Entropy Coding),以产生编码串流。 [0003] 以JPEG标准为例,先将色彩转换至YCbCr色彩空间,再经过离散余弦转换(Discrete Cosine Transform),经过量化处理后,再对DC项系数进行预测差分,最后再将系数以锯齿形扫描(Zig-Zag Scan)顺序扫描成游程编码(Run-Length Encoding),再以可变长度编码(Variable Length Coding)完成编码。
[0004] 例如美国微软(Microsoft)公司所推出新的静态图像压缩格式,称为HDPhoto格式,目前已进入JPEG国际标准制订过程中,而命名为JPEG-XR。此HD Photo格式为了减少独立区块转换带来的区块效应,使用了以4乘4区块为单位的重迭转换(Lapped Transform,LT),其中先对4乘4区块交接处的4乘4区块进行重迭滤波(Overlap Filter),再对4乘4区块进行核心转换(Core Transform),重迭滤波与核心转换皆使用了提升式结构(Lift)来确保无失真压缩的可能性。
[0005] 请参照图2,主要是说明符合HD Photo格式的重迭滤波转换与核心转换流程示意图。此内容揭露在美国专利申请案第2006/013682号公开案「Reversible Overlap Operator For Efficient Lossless Data Compression」,与美国专利申请案第2007/0036223号公开案「EfficientCoding And Decoding Of Transform Blocks」。这些都是提到上述的HD Photo格式,先将例如图示的2维(2-D)输入数据进行分割(Tiling),而后为了减少独立区块转换带来的区块效应,因此先进行重迭转换,如图所示的向前重迭(Forward Overlap)滤波转换。而后再对原切割的区块进行区块转换,也就是HD Photo格式的核心转换(HD Photo Core Transform,PCT),可以取得一个DC系数(DC coefficient)与十五个AC系数(AC coefficients)。而此HD Photo格式采用两阶式的转换,因此再将DC值集合成区块,并再次进行重迭滤波转换与区块转换。
[0006] 上述重迭滤波转换与核心转换皆使用了提升式(Lifting)结构来确保无失真(Lossless)压缩的可能性。由于提升式结构每一步骤都是完全可逆(Reversible),若编码过程采取无失真的压缩转换领域的信号,则在译码时先进行逆核心转换,再进行逆重迭滤波转换,就可得到一模一样的原图。在HD Photo格式可自行选择是否进行第一阶的重迭滤波转换与第二阶的重迭滤波转换。得到的DC系数与AC系数经过量化(Quantization)与熵编码(EntropyCoding)处理后,经过封包化(Packetization)后即可得到压缩比特流(Compressed Bitstream)。
[0007] 此HD Photo规格,与以往JPEG标准有许多不同之处,其中包括可以接受更大范围的像素值域,采用自订的YCoCg色彩空间,自订的两阶重迭转换(Lapped Transform)运算与系数预测(Prediction)运算。请参照图3,主要是说明根据HD Photo格式进行两阶段转换后的结果,在熵编码的部分,依转换之后的不同位置,可以将系数分为不同的类型,例如标号310所指的内容即属于经由第一阶转换后得到的结果的大区块(Macroblock),而标号320则是寄存第一阶转换后得到的结果的所有DC值。并且接着进行第二阶转换,而其结果则如标号330所示的LOWPASS方块内容。而整个转换的结果,则分为四种不同类型的数据,包括DC、LOWPASS、HIGHPASS及FLEXBITS,再根据这些数据进行编码。
[0008] 如图3经过转换、量化及系数预测后得到一个大区块(Macroblock)310的系数,包括16个小方块,每个小方块有4乘4个系数。这些系数包括一个DC方块(Tile_DC)与十五个AC系数,而这些AC系数则是属于HIGHPASS方块(Tile_HIGHPASS)类型的系数及FLEXBITS方块(Tile_FLEXBITS)类型的系数。 而经过第一阶转换后将所有DC方块(Tile_DC)集合成为标号320所指的4乘4区块。而标号330内则包括一个DC系数以及其它十五个图示中标示为LP的LOWPASS方块(Tile_LOWPASS)。
[0009] DC方块(Tile_DC)中的系数首先会经过系数正规化(Normalization)的动作,接着进行编码,首先依正规化后的系数是否为零,产生区块类型信息(Coded Block Pattern),并对其编码,接着将正规化后的系数利用自订的可调式(Adaptive)可变长度编码来编码,最后则将系数因正规化所余下的位利用固定长度编码来编码,并依系数是否为零来决定是否对系数的正负号进行固定长度编码。
[0010] LOWPASS方块(Tile_LOWPASS)的编码和TILE_DC类似,在系数经过正规化后,首先依4乘4区块中15个系数是否全为零产生区块类型信息并对其编码,接着正规化后的系数将经由可调式扫描(Adaptive Scan)的顺序转成游程编码,再进行可调式可变长度编码。对正规化所余下的位则依固定的扫描方式利用固定长度编码来编码,当系数不为零而正规化后为零时,系数的正负号也会进行固定长度编码。
[0011] HIGHPASS方块(Tile_HIGHPASS)和FLEXBITS方块(Tile_FLEXBITS)的编码和TILE_LOWPASS类似,同样是对AC系数部分进行编码,TILE_HIGHPASS中的串流包括了区块类型信息和正规化后的系数编码,而TILE_FLEXBITS中的串流则包括了正规化所余下的位和某些系数的正负号固定长度编码。
[0012] HD Photo格式提供了两种不同的串流格式,第一种空间域模式(SpatialMode)和传统的编码相同,以大区块的串接为主,每一个大区块中先有DC方块(Tile_DC)与LOWPASS方块(Tile_LOWPASS)的串流,也就是压缩比特流。接着,依4乘4区块的顺序,每一个区块中以HIGHPASS方块(Tile_HIGHPASS)和FLEXBITS方块(Tile_FLEXBITS)的顺序将编码串起来。
[0013] 另外一种串流格式为频率域模式(Frequency Mode),以方块(Tile)的串接为主,将四种不同类性的方块(Tile)各别依照大区块编码的顺序编码完后,再将四种不同类性的方块(Tile)的串流串接起来。
[0014] 根据上述HD Photo格式的编码处理过程,若是以硬件来实现HD Photo格式的熵编码(Entropy Encoding),由于HD Photo格式会对一个系数进行正规化的动作,使得对一个系数而言,除了必需对正规化后的系数进行编码外,正规化后余下的位也必需进行编码,造成了所需运算时钟数的增加,影响处 理的效率。

发明内容

[0015] 本发明提供一种编码电路,适用于同时对编码系数进行第一类编码程序与第二类编码程序。此第一类编码程序为对编码系数进行可调式扫描,第二类编码程序为对编码系数进行固定式扫描。此编码电路包括读取与写入控制电路、第一熵编码器、第二熵编码器与寄存装置。此读取与写入控制电路用以读取与寄存编码系数,并用以同时输出第一类编码系数与第二类编码系数。此第一熵编码器连接到读取与写入控制电路,并且用以接收第一类编码系数,并对第一类编码系数进行第一类编码程序,并据以输出第一类编码串流数据。第二熵编码器连接到读取与写入控制电路,此第二熵编码器用以接收第二类编码系数与正规化判断信号,并据以对第二类编码系数进行第二类编码程序,并据以输出第二类编码串流数据。上述寄存装置连接到第一熵编码器与第二熵编码器,用以寄存第一类编码串行数据与第二类编码串行数据,并以时间上交错的方式输出。
[0016] 上述的编码电路,在一实施例中,第一类编码程序与第二类编码程序分别为符合HD Photo规格的TILE_HIGHPASS和TILE_FLEXBITS的系数熵编码程序。
[0017] 本发明提供一种熵编码方法,包括寄存用以进行熵编码的编码系数,并据以同时提供第一类编码系数与第二类编码系数,其中,第一类编码系数是对编码系数进行可调式扫描而取得,第二类编码系数是对编码系数进行固定式扫描而取得。接着根据第一类编码系数进行第一类编码程序,并据以输出第一类编码串流数据,同时接收正规化判断信号,并根据第二类编码系数该与该正规化判断信号进行第二类编码程序,据以输出第二类编码串流数据。寄存第一类编码串行数据与第二类编码串行数据,并以时间上交错的方式输出。 [0018] 为让本发明的上述特征和优点能更明显易懂,下文特举较佳实施例,并配合附图,作详细说明如下。

附图说明

[0019] 图1说明传统的图像压缩编码方式,主要是由一个原始的图像数据经过 转换与编码压缩后产生编码串流(Encoded Stream)流程示意图。
[0020] 图2为说明符合HD Photo格式的重迭滤波转换与核心转换流程示意图。 [0021] 图3是说明根据HD Photo格式进行两阶段转换后的结果示意图。 [0022] 图4是说明本发明实施例的可同时编码TILE_HIGHPASS和TILE_FLEXBITS的硬件架构的编码电路方块示意图。
[0023] 图4A与4B是说明本发明图4实施例的可同时编码TILE_HIGHPASS和TILE_FLEXBITS的硬件架构中,分别采用实时执行正规化运算,或是预先正规化运算并将结果存在正规化系数判断单元的实施例电路方块示意图。
[0024] 图5A是说明可同时编码TILE_HIGHPASS和TILE_FLEXBITS的编码电路,运用在编码器时的电路方块示意图。
[0025] 图5B是说明本发明的可同时编码TILE_HIGHPASS和TILE_FLEXBITS的硬件架构中,采用实时执行正规化运算的实施例电路方块示意图。
[0026] 附图符号说明
[0027] 110:进行取样及色彩空间转换的处理模块
[0028] 120:进行重迭转换(Lapped Transform)的处理模块
[0029] 130:进行取样及色彩空间转换的处理模块
[0030] 140:进行进行量化(Quantization)及系数预测(Prediction)并产生区块类型信息(Coded Block Pattern)的处理模块
[0031] 400:编码电路
[0032] 410:读取/写入控制电路
[0033] 420:TILE_HIGHPASS熵编码器(Entropy Encoder)
[0034] 430:TILE_FLEXBITS熵编码器
[0035] 440:正规化系数(Normalized Coefficient)判断单元
[0036] 450:TILE_HIGHPASS和TILE_FLEXBITS位串流缓存单元(BitstreamBuffer) [0037] 500:熵编码电路
[0038] 510:读取/写入控制电路
[0039] 511:可调式扫描位置产生器
[0040] 515:系数缓存单元
[0041] 520:处理TILE_DC、TILE_LOWPASS与TILE_HIGHPASS熵编码器
[0042] 530:TILE_FLEXBITS熵编码器
[0043] 540:正规化系数判断单元
[0044] 560:寄存装置
[0045] 562:TILE_DC、TILE_LOWPASS与TILE_HIGHPASS位串流缓存单元 [0046] 564:TILE_FLEXBITS位串流缓存单元
[0047] 570:写出电路
[0048] 572:多路复用器
[0049] 574:内存写入单元
[0050] 580:内存单元。

具体实施方式

[0051] HD Photo格式的编码处理过程,若是以硬件来实现HD Photo格式的熵编码(Entropy Encoding),由于HD Photo格式会对一个系数进行正规化的动作,使得对一个系数而言,除了必需对正规化后的系数进行编码外,正规化后余下的位也必需进行编码。而这些运算处理过程中,HIGHPASS方块(Tile_HIGHPASS)和FLEXBITS方块(Tile_FLEXBITS)负责AC部分所有系数的编码,占整个图像全部系数的90%以上,是硬件进行HD Photo格式熵编码中最消耗时钟的部份。
[0052] 本发明针对HD Photo格式的熵编码,提出一套可同时编码TILE_HIGHPASS和TILE_FLEXBITS的硬件架构,藉以降低硬件编码所需要的运算时钟数。
[0053] 由于TILE_HIGHPASS和TILE_FLEXBITS是针对同样的系数进行编码,差别在于编码时系数扫描的顺序不同及负责正规化后产生的不同位区段,TILE_HIGHPASS负责前段,例如最高有效位(Most Significant Bits,MSB)区段。TILE_FLEXBITS负责后段,例如最低有效位(Least Significant Bits,LSB)区段,而经由正规化后的结果就是由此前位区段与后位区段所组成。因此,本发明针对TILE_HIGHPASS及TILE_FLEXBITS所要编码的系数提供有两个读取端口的寄存区,使得TILE_HIGHPASS及TILE_FLEXBITS所需的不同位置系数可同时被读取,配合可以编码TILE_HIGHPASS和TILE_FLEXBITS的电路及可以同时写入两组串流的串流缓冲区,使两个tile同时进行编码,来下降硬件编码的时钟数。 [0054] 最后,编码产生的分属不同类性的方块(Tile)的串流,将可在整个图像编码完成之后以频率域模式(Frequency Mode)的串流格式,将四个不同类性 的方块(Tile)的串流进行串接,来完成符合HD Photo规格的串流。
[0055] 请参照图4A或4B,说明本发明实施例的可同时编码TILE_HIGHPASS和TILE_FLEXBITS的硬件架构的编码电路方块示意图。在此编码电路400中,包括用以读取与寄存系数的读取/写入控制电路410、连接到读取/写入控制电路410的TILE_HIGHPASS熵编码器(Entropy Encoder)420与TILE_FLEXBITS熵编码器430、正规化系数(Normalized Coefficient)判断单元440与TILE_HIGHPASS和TILE_FLEXBITS位串流缓存单元(Bitstream Buffer)450。
[0056] 在此编码电路400架构中,藉由同时进行TILE_HIGHPASS和TILE_FLEXBITS的编码,使得硬件进行熵编码时所需要的时钟数。根据HDPhoto格式所进行的编码处理过程中,上述两种编码所需要的处理时间占整个图像处理时间90%以上,因此,若能有效采用此架构,将可有效增加处理的效率与减少处理的时间。
[0057] 由于TILE_HIGHPASS和TILE_FLEXBITS中对系数进行编码的扫描顺序不同,TILE_HIGHPASS为可调式扫描(Adaptive Scan),而TILE_FLEXBITS为固定式扫描。本实施例的读取/写入控制电路410,可以接受两种目前编码的顺序,依各别的扫描方式转变成正确的系数位置,再同时将两者所需的系数读出给下一阶的编码器进行编码。 [0058] 此读取/写入控制电路410包括一个符合HD Photo规格的可调式扫描位置产生器411与系数缓存单元(Coefficient Buffer)415,并可依照底下的任何一种方式,完成所需的读取与写入正确位置的动作。
[0059] 其中一种方式为,写入系数至系数缓存单元415时,依不同摆放的顺序存储两组系数阵列,其中一组依可调式扫描顺序摆放,而另一组则依固定式扫描顺序摆放。如此,在读取时,只要分别从两组系数阵列,依阵列摆放顺序读出即可。
[0060] 另外一种方式为,在写入系数至系数缓存单元415时,依固定式扫描顺序储存一组系数阵列。如此,当系数以固定式扫描顺序读取时,由于该组系数阵列原本便对应固定式扫描顺序,因此读取/写入控制电路410可直接地依照固定式扫描顺序来读取该系数阵列;同一时间,当系数另以可调式扫描顺序进行读取时,读取/写入控制电路410利用可调式扫描位置产生器411,将可调式扫描顺序转成该组系数阵列中的对应系数位置,如此,读取/写入控制电路410便可由对应的系数位置,读取出所须的系数;如此一来,读取/写入 控制电路410便可依照固定式与可调式扫描顺序,将所须的系数同时由系数阵列的两个位置读出即可。
[0061] 而又另一种方式为,在写入系数至系数缓存单元415时,依可调式扫描顺序储存一组系数阵列。相同地,由于所储存的系数阵列原本便对应可调式扫描顺序,因此,在以可调式扫描顺序进行读取时,读取/写入控制电路410可直接读取该组系数阵列;另一方面,当以固定式扫描顺序进行读取时,读取/写入控制电路410则利用可反向的可调式扫描位置产生器411,将固定式扫描顺序转成该组系数阵列的对应系数位置;如此一来,读取/写入控制电路410便可同时依照固定式扫描顺序与可调式扫描顺序,将所须的系数同时由系数阵列的两个位置读出。
[0062] 系数缓存单元415必需可以同时读两个以上不同位置的系数,在选择实施例中,此系数缓存单元415可以由内存,例如多端口静态随机存取内存(Static Random Access Memory,SRAM),或由缓存器搭配两组多路复用选择器来实现。
[0063] 因为TILE_FLEXBITS在HD Photo规格的规定中,最多只会用到系数中后段的15个位进行编码,所以,其实,只要系数中后段的15个位可以支持两个系数同时读取即可。 [0064] 为了决定系数的正负号是否需要在TILE_FLEXBITS中进行编码,本实施例利用一个可以得知依TILE_FLEXBITS需求读出的系数,其正规化后是否为零的电路,来达成此项要求,也就是如图4中的正规化系数(NormalizedCoefficient)判断单元440。而其判断正规化系数是否为零的结果,经由信号442传送给TILE_FLEXBITS熵编码器430。 [0065] 此判断正规化系数是否为零的电路,可以按照不同的方法加以实现。例如,在选择实施例中,可以提供另一寄存区,在将输入的系数信息写入系数缓存单元415时,同时以实时的方式计算并依固定式扫描写入系数,并加以正规化后判断是否为零,编码时再藉由读取此寄存区数据得知系数正规化后是否为零。
[0066] 在一实施例中,上述判断正规化系数是否为零的电路,包括运算电路与缓存器,都可置于正规化系数判断单元440内。此正规化系数判断单元440的运算电路可进行正规化的运算,而缓存器则用以存储正规化的结果。
[0067] 另一种作法,是直接自系数缓存单元415中读出给TILE_FLEXBITS熵编码器430使用的系数,进行正规化是否为零的计算。
[0068] TILE_HIGHPASS熵编码器420接收由读取/写入控制电路410所输出,经由可调式扫描顺序扫描而取得,并且适用于TILE_HIGHPASS熵编码方式的系数412(如图所示的Coeff_0),并据以进行TILE_HIGHPASS熵编码处理程序。除此之外,经由TILE_HIGHPASS熵编码处理程序后,TILE_HIGHPASS熵编码器420也会输出控制信号422反馈给读取/写入控制电路410,用以调整扫描方式。而经由TILE_HIGHPASS熵编码处理后的结果经由信号424传送到下一阶的位串流缓存单元450。
[0069] 而TILE_FLEXBITS熵编码器430接收由读取/写入控制电路410所输出,经由固定式扫描顺序扫描而取得,并且适用于TILE_FLEXBITS熵编码方式的系数414(如图所示的Coeff_1),以及正规化系数是否为零的结果的信号442,并据以进行TILE_FLEXBITS熵编码处理程序。而经由TILE_FLEXBITS熵编码处理后的结果经由信号434传送到下一阶的位串流缓存单元450。TILE_FLEXBITS熵编码器430也会输出控制信号432(如图所示的Index_1)反馈给读取/写入控制电路410,用以达成上述可调式扫描位置产生器411与系数缓存单元415之间所需的读取与写入正确位置的操作依据。
[0070] 当TILE_HIGHPASS熵编码器420和TILE_FLEXBITS熵编码器430同时进行编码时,为了处理同时产生的两组编码。本实施例利用一个可以同时将两组编码分别进行连接,再同时将两组串流写入的串流缓冲区以进行缓冲的位串流缓存单元450。此位串流缓存单元450可以利用两个以上的SRAM或缓存器加以实现。
[0071] 当上述条件满足时,TILE_HIGHPASS和TILE_FLEXBITS便可以同时进行编码,并将连接好的编码串流存储于位串流缓存单元450中暂时存储。
[0072] 最后,可以利用一组写出电路,并在时间上以交错的方式,写出位串流缓存单元450中的数据至内存中。配合其它可进行TILE_DC和TILE_LOWPASS编码的电路将编码完成后,将四组串流再进行串接的动作,完成HD Photo中频率域模式的编码串流处理。 [0073] 上述正规化系数判断单元440包括可进行正规化运算的运算电路与用以存储正规化结果的缓存器。具体实施例中可参照图4A所示,系分别说明采用实时计算正规化结果的实施例示意图。当TILE_FLEXBITS熵编码器430接收由读取/写入控制电路410所输出,经由固定式扫描顺序扫描而取得,并且适用于TILE_FLEXBITS熵编码方式的系数414(如图所示的Coeff_1)时,这些系数414(Coeff_1)同时传送到正规化系数判断单元440进行实时的正规化运算。而正规化系数判断单元440则接着将正规化系数是否为零的结果,经由信号442传送到TILE_FLEXBITS熵编码器430。
[0074] 另一正规化的运算的具体实施例可参照图4B所示,直接将系数输入至正规化系数判断单元440中,并经过正规化运算后,将其结果存在正规化系数判断单元440内。当TILE_FLEXBITS熵编码器430输出控制信号432(Index_1)反馈给读取/写入控制电路410,用以达成可调式扫描位置产生器411与系数 缓存单元415之间所需的读取与写入正确位置操作的依据。并同时传送到正规化系数判断单元440,读出正确位置的正规化运算结果,并经由信号442传送到TILE_FLEXBITS熵编码器430。
[0075] 上述实施例所提出可同时编码TILE_HIGHPASS和TILE_FLEXBITS的电路,运用在熵编码器时,其电路方块示意图如图5A所示,是提出一种具有可以完成HIGHPASS方块(Tile_HIGHPASS)和FLEXBITS方块(Tile_FLEXBITS)同时编码,以降低编码处理时钟数的熵编码电路架构500。
[0076] 此熵编码电路架构500包括读取与寄存系数的读取/写入控制电路510的可调式扫描位置产生器511与系数缓存单元515,还包括可处理TILE_DC、TILE_LOWPASS与TILE_HIGHPASS熵编码器(Entropy Encoder)520与TILE_FLEXBITS熵编码器530、正规化系数(Normalized Coefficient)判断单元540、寄存装置560、写出电路570与内存单元580。而此寄存装置560包括TILE_DC、TILE_LOWPASS与TILE_HIGHPASS位串流缓存单元(BitstreamBuffer)562和TILE_FLEXBITS位串流缓存单元(Bitstream Buffer)564。而写出电路570则包括一个多路复用器572与内存写入单元574。
[0077] 此系数缓存单元515可同时读出两个不同位置系数的寄存区,并输出两种不同位置的系数512(如图的系数Coeff_0)与514(如图的系数Coeff_1)分别传送到熵编码器520与TILE_FLEXBITS熵编码器530。而此系数缓存单元515在选择实施例中可以使用多个缓存器搭配两组多路复用选择器加以实现。
[0078] 而此读取/写入控制电路510是利用一个符合HD Photo规格的可调式扫描位置产生器511,在读取时将可调式扫描顺序转成读出的系数位置。如图中所示的可调式扫描位置产生器511接收熵编码器520所输出的调整控制信号522,而据以调整输出的地址信号Addr_0,而系数缓存单元515可根据此地址信号Addr_0将对应的系数(Coeff_0)读出。 [0079] 为了决定系数的正负号是否需要在TILE_FLEXBITS中进行编码,本实施例利用一个可以得知依TILE_FLEXBITS需求读出的系数,其正规化后是否为零的电路,来达成此项要求,也就是正规化系数判断单元540,其用以判断系数正规化后是否为零。在实施例中,此正规化系数判断单元540可利用多个缓存器搭配多路复用选择器来实现,缓存器中的内容可以在将系数写入系数缓存单元515时,同步计算此系数正规化后是否为零,并将此结果传送给TILE_FLEXBITS熵编码器530。
[0080] 熵编码器520为可以进行TILE_DC、TILE_LOWPASS及TILE_HIGHPASS熵编码三种运算的的编码器,并输出调整控制信号522到可调式扫描位置产生器511,以便调整扫瞄的方式。而TILE_FLEXBITS熵编码器530为可以进行TILE_FLEXBITS熵编码的编码器,可以由读入的系数、系数正规化后是否为零、及正规化系数进行固定长度的编码。 [0081] TILE_FLEXBITS熵编码器530输出地址控制信号532(如图所示的Addr_1)反馈给读取/写入控制电路510,用以达成上述可调式扫描位置产生器511与系数缓存单元515之间所需的读取与写入正确位置的操作依据。而同时将此地址控制信号532(Addr_1)传送到正规化系数判断单元540,读出正确位置的正规化运算结果传送到TILE_FLEXBITS熵编码器530。
[0082] 另外,熵编码器520与TILE_FLEXBITS熵编码器530的编码结果,分别经由信号524与534传送到寄存装置560。此寄存装置560为可同时写入两组编码结果的位串流缓冲区,包括用以寄存TILE_DC、TILE_LOWPASS与TILE_HIGHPASS编码后的结果的位串流缓存单元562,以及用以存储TILE_FLEXBITS编码后的结果的位串流缓存单元564。 [0083] 上述的寄存装置560在选择实施例中,可以利用两个内存,例如多端口静态随机存取内存(SRAM)来实现。其中一个SRAM存储TILE_DC、TILE_LOWPASS及TILE_HIGHPASS编码后的串流,另外一个SRAM存储TILE_FLEXBITS编码后的串流。
[0084] 写出电路570可由一个多路复用器572与内存写入单元574所组成。此多路复用器572的两个输入端分别经由线路563与565连接到位串流缓存单元562与564。而多路复用器572的输出则传送到内存写入单元574。而利用内存写入单元574,可将多路复用器572的输出575传送到内存单元580。此写出电路570可以利用时间上交错的方式,将位串流缓存单元562与564所寄存的数据读出并写出至内存单元580中;亦即,写出电路570一次仅进行其中一个串流缓存单元562/564的数据的读出,并且交错地读取不同串流缓存单元564/562的数据,以将全部数据读取出来。
[0085] 在图像压缩编码方式,经过HD Photo格式的色彩空间转换、重迭转换、量化及系数预测后的系数,将依固定式扫描顺序写入至系数缓存单元515中。同时,经过计算后,写入正规化系数判断单元540中纪录系数正规化是否为零的缓存器。接着,本实施例会根据输入的区块类型信息(Coded Block Pattern)及正规化系数(Normalized Coefficient),利用熵编码器520进行TILE_DC及TILE_LOWPASS的编码,并存储到寄存装置560。 [0086] 接着同时利用熵编码器520及TILE_FLEXBITS熵编码器530分别同时进行TILE_HIGHPASS及TILE_FLEXBITS的编码,存储到寄存装置560,并藉由写出电路570交错地将寄存装置560的位串流缓存单元562与564串流位数据写出到内存单元580。最后,再将内存单元580中的四份分属不同tile的串流,以频率域模式的方式,进行串流重组,完成符合HD Photo格式的编码。
[0087] 上述正规化系数判断单元540包括可进行正规化运算的运算电路与用以存储正规化结果的缓存器。在此实施例中,是直接将系数输入至正规化系数判断单元540中,并经过正规化运算后,将其结果存在正规化系数判断单元540内。当TILE_FLEXBITS熵编码器530输出地址控制信号532(Add_1)反馈给系数缓存单元515,用以达成与系数缓存单元515之间所需的读取与写入正确位置操作的依据。并同时将地址控制信号532(Add_1)传送到正规化系数判断单元540,读出正确位置的正规化运算结果,并传送到TILE_FLEXBITS熵编码器530。
[0088] 另一具体实施例,可参照图4A所示的电路设计架构,请参照图5B所示,也就是可以采用具有实时计算正规化的设计。当TILE_FLEXBITS熵编码器530接收由读取/写入控制电路510所输出,经由固定式扫描顺序扫描而取得,并且适用于TILE_FLEXBITS熵编码方式的系数514(如图所示的Coeff_1)时,这些系数514(Coeff_1)则同时传送到正规化系数判断单元540进行实时的正规化运算。而正规化系数判断单元540则接着将正规化系数是否为零的结果传送到TILE_FLEXBITS熵编码器530。
[0089] 虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视本发明的申请专利范围所界定者为准。