熵解码电路与方法、以及使用流水线方式的熵解码方法

文档序号:7692646阅读:201来源:国知局
专利名称:熵解码电路与方法、以及使用流水线方式的熵解码方法
技术领域
本发明是有关于一种数据处理装置与其运算方法,且特别是有关于一种
可同时解码TILE—HIGHPASS和TILE_FLEXBITS的熵解码电路及其解码方 法。
背景技术
一般的图像压缩编码方式,主要是由 一个原始的图像数据经过转换与编 码压縮后产生编码流(Encoded Stream)的方式,进行取样及色彩空间转换 (Downsampling & Color Space Transform)的处理。而后,进4亍重叠转4吳(Lapped Transform)的处理。接着进行量化(Quantization)及系数预测(Prediction)并产生 区块类型信息(Coded Block Pattem)。而后运用可调扫描(Adaptive Scan)及进行 熵编码(Entropy Coding),以产生编码流。
而若是要将一个经过压缩编码的流,解码回原来的图像数据,必需将编 码的过程进行反向的解码。其主要可以由五个步骤所组成,请参照图l所示, 当收到编码流数据后,则进行步骤110的熵解码(Entropy Decoding),而后进 行步骤120的反向系数预测(Inverse Prediction)与反向量化(Inverse Quantization),接着步骤130的逆重叠转换(Inverse Lapped Transform),而后 进行步骤140的反向色彩空间转换(Inverse Color Space)。以JPEG标准为例, 先将编码流进行可变长度解码(Variable Length Decoding),再对DC项系数进 行反向系数预测、反向量化、逆离散余弦转换(Inverse Discrete Cosine Transform),最后再将色彩空间由YCbCr转至所要的色彩空间完成图像的解 码。
美国微软(Microsoft)公司所推出新的静态图像压缩格式,称为HD Photo 格式,目前已进入JPEG国际标准制订过程中,而命名为JPEG-XR。此HD Photo格式为了减少独立区块转换带来的区块效应,使用了以4乘4区块为单 位的重叠转换(Lapped Transform, LT),其中先对4乘4区块交接处的4乘4 区块进行重叠滤波(Overlap Filter),再对4乘4区块进行核心转换(Core Transform),重叠滤波与核心转换皆使用了提升式结构(Lift)来确保无损压缩的可能性。
请参照图2,主要是说明符合HD Photo格式的重叠滤波转换与核心转换
流程示意图。此内容揭露在美国专利申请第2006/013682号公开案「 Reversible Overlap Operator For Efficient.Lossless Data Compression」,或美国专利申i青 第2007/0036223号公开案「 Efficient Coding 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值集合成区块,并再次进行重叠滤波转换与区块转换。
上述重叠滤波转换与核心转换皆使用了提升式(Lifting)结构来确保无损 (Lossless)压缩的可能性。由于提升式结构每 一 步骤都是完全可逆的 (Reversible),若编码过程采取无损的压缩转换领域的信号,则在解码时先进 行逆核心转换,再进行逆重叠滤波转换,就可得到一模一样的原图。在HD Photo格式可自行选择是否进行第 一 阶的重叠滤波转换与第二阶的重叠滤波 转换。得到的DC系数与AC系数经过量化(Quantization)与熵编码(Entropy Coding)处理后,经过封包化(Packetization)后即可得到压缩比特流(Compressed Bitstream)。
此HDPhoto规格,与以往JPEG标准有许多不同之处,其中包括可以接 受更大范围的像素值域,采用自订的YCoCg色彩空间,自订的两阶重叠转换 (Lapped Transform)运算与系数预测(Prediction)运算。请参照图3,主要是说明 根据HD Photo格式进行两阶段转换后的结果,在熵编码的部分,依照转换的 后的不同位置,可以将系数分为不同的类型,例如标号310所指的内容即属 于经由第一阶转换后得到的结果的大区块(Macroblock),而标号320则是暂存 第一阶转换后得到的结果的所有DC值。并且接着进行第二阶转换,而其结 果则如标号330所示的LOWPASS方块内容。而整个转换的结果,则分为四 种不同类型的数据,包括DC、 LOWPASS、 HIGHPASS及FLEXBITS,再根 据这些数据进行编码。
如图3A经过转换、量化及系数预测后得到一个大区块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)。
DC方块(Tile—DC)中的系数首先会经过系数正规化(Normalization)的动 作,接着进行编码,首先依正规化后的系数是否为零,产生区块类型信息 (Coded Block Pattern),并对其编码,接着将正规化后的系数利用自订的可调 (Adaptive)可变长度编码来编码,最后则将系数因正规化所余下的位利用固定 长度编码来编码,并依照系数是否为零来决定是否对系数的正负号进行固定 长度编码。
LOWPASS方块(Tile—LOWPASS)的编码和TILE—DC类似,在系数经过 正规化后,首先依4乘4区块中15个系数是否全为零产生区块类型信息并对 其编码,接着正规化后的系数将经由可调扫描(Adaptive Scan)的顺序转成游程 编码,再进行可调可变长度编码。对正规化所余下的位则依照固定的扫描方 式利用固定长度编码来编码,当系数不为零而正规化后为零时,系数的正负 号也会进行固定长度编码。
HIGHPASS方块(Tile—HIGHPASS)和FLEXBITS方块(Tile—FLEXBITS) 的编码和TILE一LOWPASS类似,同样是对AC系数部分进行编码, TILE—HIGHPASS中的流包括了区块类型信息和正规化后的系数编码,而 TILE_FLEXBITS中的流则包括了正规化所余下的位和某些系数的正负号固 定长度编码。
HD Photo格式提供了两种不同的流格式,第 一种空间域模式(Spatial Mode)和传统的编码相同,以大区块的串接为主,每一个大区块中先有DC方 块(Tile—DC)与LOWPASS方块(TileJX)WPASS)的流,也就是压缩比特流。 接着,依4乘4区块的顺序,每一个区块中以HIGHPASS方块(TileJlIGHPASS) 和FLEXBITS方块(Tile—FLEXBITS)的顺序将编码串起来。
另夕|、一种流格式为频率域才莫式(Frequency Mode),以方块(Tile)的串接为 主,将四种不同类型的方块(Tile)分别依照大区块编码的顺序编码完后,再将 四种不同类型的方块(Tile)的流串接起来。而其解码的过程,与传统的JPEG
8标准有所不同。
在HD Photo的解码过程方面,请参照图3B,首先将TILE_DC进行熵解 码,可以得到如图3B内标号320的逆转换前4乘4区块的DC值。接着,进 行TILE_LOWPASS的熵解码,可以得到标号330的逆转换前4乘4区块中 的LP值。接着,再进行TILE—HIGHPASS和TILE—FLEXBITS的解码,可以 得到标号为310大区块中所有4乘4区块的AC值,完成熵解码的动作。完 成熵解码之后,标号320的4乘4区块会先进行反向系数预测、反向量化后, 再进行第 一阶的逆重叠转换,得到标号为310大区块中所有4乘4区块的DC 值,再配合上经过反向系数预测、反向量化后的AC值, 一起再进行第二阶 的逆重叠转换。最后,再由自订的YCoCg色彩空间转换至所需的色彩空间, 完成HD Photo的解码。
以硬件来实现HD Photo的熵解码,由于AC部分的系数,需要进行 TILE—HIGHPASS 和TILE_FLEXBITS 的熵角f码才能得到。进行 TILE—HIGHPASS的熵解码,只能得到依正规化参数决定的系数前半段位, 即正规化后系数。必需要再进行TILE一FLEXBITS的熵解码,才能再得到依 正规化参数决定的系数后半段位,解码出完整的系数。使得对一个系数而言, 除了必需对TILE—HIGHPASS进行熵解码外,TILE—FLEXBITS也必需进行熵 解码,才能得到一完整的系数,造成了所需运算频率数的增加。

发明内容
本发明提供一种解码电路与解码方法,针对频率域模式的流位数据,同 时进行TILE—HIGHPASS和TILE—FLEXBITS的熵解码处理。
本发明提出的熵解码电路,包括系数暂存单元、第一熵解码器、读取与 写入控制电路与第二熵解码器。此第 一 熵解码器读取欲解码的第 一 类流进行 第一熵解码处理并经由读取与写入控制电路以可调扫描顺序写入系数暂存单 元。此第二熵解码器读取欲解码的第二类流及根据正规化参数及正规化后系 数是否为零进行解码。配合经由读取与写入控制电路以固定扫描顺序读出系 数暂存单元中的正规化后系数,完成解码动作。
本发明提出的解码电路,包括系数暂存单元、第一熵解码器、读取与写 入控制电路与第二熵解码器。此系数暂存单元可同时写入和读取暂存系数, 并加以储存。此第一熵解码器用以进行第一熵解码处理,并据以产生正规化后系数、解码顺序控制信号与正规化后系数是否为零的信号。而读取与写入 控制电路连接到第一熵解码器,用以依照第一熵解码器输出的解码顺序控制 信号,将可调扫描顺序转成固定扫描顺序后,依照取得的位置暂存正规化后 系数,并根据正规化后系数是否为零的信号进行可调扫描顺序的调整。此第 二熵解码器连接到正规化系数判断单元和读取与写入控制电路,根据正规化 参数及由正规化系数判断单元输出的正规化后系数是否为零信息,进行第二 熵解码处理,并从读取与写入控制电路单元读出符合固定扫描顺序的正规化 后系数,完成系数解码。
在上述解码电路中,还包括正规化参数产生器,连接到第一熵解码器, 用以接收正规化后系数是否为零的信号,并在加以统计后计算区块所有非零 的正规化后系数的个数,以进行正规化参数的调整,并作为第二解码器进行 的第二熵解码处理调整的依据。
在上述解码电路中,位流数据为符合HD Photo格式中频率域模式的编码 流位数据。而第一熵解码处理与第二熵解码处理为TILE—HIGHPASS熵解码 处理及TILEJFLEXBITS熵解码处理。
在上述解码电路中,第一熵解码处理与该第二熵解码处理可以解码出AC 部分系数,再加上TILE—DC熵解码处理和TILE—LOWPASS熵解码处理所解 码出的系数,经过反向预测、反向量化、及二阶逆重叠转换后即可得到该HD Photo标准中自订YCoCg色彩空间的图像。
本发明提出的熵解码方法,包括以时间交错的方式读取并暂存第 一位流 数据与第二位流数据。接着对第一位流数据进行第一熵解码处理,并产生正 规化后系数、解码顺序控制信号与正规化后系数是否为零的信号。根据解码 顺序控制信号,将可调扫描顺序转成固定扫描顺序后,依照取得的位置暂存 正规化后系数,并根据正规化后系数是否为零的信号进行可调扫描顺序的调 整。将对应于固定扫描顺序的位置的正规化后系数读出,配合正规化参数及 正规化系数是否为零以进行第二熵解码处理。
上述的熵解码方法中,还包括统计正规化后系数是否为零的信号,以计 算区块所有非零的正规化后系数的个数,以进行正规化参数的调整,并作为 第二熵解码处理调整的依据。
在上述解码电路中,第一熵解码处理与该第二熵解码处理可以解码出AC 部分系数,再加上TILE—DC燏解码处理和TILE_LOWPASS熵解码处理所解码出的系数,经过反向预测、反向量化、及二阶逆重叠转换后即可得到该HD Photo标准中自订YCoCg色彩空间的图像。
本发明提出的流水线(pipeline)方式的熵解码方法,适用于对符合HD Photo格式中频率域模式的编码流位数据同时进行TILE—HIGHPASS熵解码 处理及TILE_FLEXBITS熵解码处理。此方法包括读取编码流位数据并暂存 为第一位流数据与第二位流数据,其中第一位流数据在时间轴上早于第二位 流数据至少一区块熵解码周期。对第一位流数据进行TILE—HIGHPASS熵解 码处理,并产生正规化后系数、解码顺序控制信号与正规化后系数是否为零 的信号。根据解码顺序控制信号,将可调扫描顺序转成固定扫描顺序后,依 照取得的位置暂存该正规化后系数,并根据正规化后系数是否为零的信号进 行可调扫描顺序的调整。将对应于固定扫描顺序的位置的正规化后系数读出, 及根据正规化参数及正规化系数是否为零以对第二位流数据进行 TILE—FLEXBITS熵解码处理。
上述的熵解码方法,还包括统计正规化后系数是否为零的信号,以计算 区块所有非零的正规化后系数的个数,以进行正规化参数的调整,并作为 TILE—FLEXBITS熵解码处理调整的依据。
上述的熵解码方法,TILE—HIGHPASS熵解码处理与TILE—FLEXBITS 熵解码处理可以解码出AC部分系数,再加上TILE_DC熵解码处理和 TILE_LOWPASS熵解码处理所解码出的系数,经过反向预测、反向量化、及 二阶逆重叠转换后即可得到该HD Photo标准中自订YCoCg色彩空间的图像。
为让本发明的上述特征和优点能更明显易懂,下文以优选的实施例,并 配合所附附图,作详细说明如下。


图1说明传统的编码流(EncodedStream)进行解码搡作的流程示意图。 图2为说明符合HD Photo格式的重叠滤波转换与核心转换流程的示意图。
图3A与3B是说明根据HD Photo格式进行两阶段编码与解码转换后的 结果示意图。
图4是说明本发明实施例的、能支持HD Photo规格的熵解码电路。
图5是说明本发明实施例的、支持HD Photo规格的熵解码架构详细电路。图6是说明读取与写入控制电路的实施例的电路方块示意图。
图7是说明读取与写入控制电路的另一实施例的电路方块示意图。 图8是说明TILE—HIGHPASS和TILE—FLEXBITS以一个区块进行流水 线处理的流程示意图。
图9是说明正规化参数在HD Photo标准的更新流程示意图。主要组件符号说明
400:熵解码电路
410:位流暂存单元
420:TILE—HIGHPASS熵解码器
430:TILE—FLEXBITS熵解码器
440:读取与写入控制电路
441:可调扫描位置产生器
443:系数暂存单元
450:正规化系数判断单元
460:正规化参数产生器
500:熵解码电路
501:储存装置
503:存储器读取电路
505:多任务器
510:位流暂存单元
511:TILE—HIGHPASS位流暂存单元
513:TILE—FLEXBITS位流暂存单元
520:TILE—HIGHPASS熵解码器
530:TILE_FLEXBITS熵解码器
540:读取与写入控制电路
541:可调扫描位置产生器
543:系数写入单元
545:系数读取单元
550:正规化系数判断单元
560:正规化参数产生器547、 549:地址暂存单元
具体实施例方式
本发明提出针对频率域模式的流位数据,同时进行TILE一HIGHPASS和 TILE—FLEXBITS的熵解码处理。
HD Photo格式的编码处理过程,若是以硬件来实现HD Photo格式的熵 编码(Entr叩y Encoding),由于HD Photo格式会对一个系数进行正规化的动 作,使得对一个系数而言,除了必需对正规化后的系数进行编码外,正规化 后余下的位也必需进行编码。而这些运算处理过程中,HIGHPASS方块 (Tile—HIGHPASS)和FLEXBITS方块(Tile—FLEXBITS)负责AC部分所有系数 的编码,占整个图像全部系数的90%以上,是硬件进行HD Photo格式熵编码 中最消耗频率的部分。
同样的,以硬件来实现HD Photo的熵解码,由于AC部分的系数,需要 进行TILE—HIGHPASS和TILE—FLEXBITS的熵解码才能得到。进行 TILE—HIGHPASS的熵解码,只能得到依照正规化参数决定的系数前半段位, 即正规化后系数。必需要再进行TILE一FLEXBITS的熵解码,才能再得到依 照正规化参数决定的系数后半段位,解码出完整的系数。使得对一个系数而 言,除了必需对TILE—HIGHPASS进行熵解码外,TILE—FLEXBITS也必需进 行熵解码。因为AC部分的系数占整个图像全部系数的卯%以上,必需经由 TILE—HIGHPASS和TILE—FLEXBITS的熵解码才能得到,是硬件进行HD Photo熵解码中最消耗频率的部分。
本发明针对HD Photo格式的熵解码处理,提出一套可同时解码 TILE—HIGHPASS和TILE—FLEXBITS的硬件架构,藉以降低硬件解码所需要 的运算频率数。
由于TILE—HIGHPASS和TILE—FLEXBITS是针对同样的系数进行解码, 差别在于解码时系数扫描的顺序不同及负责正规化后产生的不同位区段, TILE—HIGHPASS负责前)殳,例如前几个位的最高有效位(Most Significant Bits, MSB)区段。TILE—FLEXBITS负责后段,例如最后几个位的最低有效位 (Least Significant Bits, LSB)区段,而经由正规化后的结杲就是由此前位区段 与后位区段所组成。
本发明针对HD Photo的熵解码,当欲解码 流是以频率域模式(Frequency Mode)串接时,提出 一 套可同时解码TILEJfflGHPASS和 TILE—FLEXBITS的硬件架构,藉以降低硬件解码所需要的运算频率数。
要同时进行TILE—HIGHPASS和TILE_FLEXBITS的解码,有下列问题 必需解决。
第1点是TILE_FLEXBITS的熇解码需要知道依照正规化参数决定的系 数前段位是否为零,以决定是否进行正负号的解码,因此先进行一个系数的 TILE—HIGHPASS熵解码,才能进行TILE_FLEXBITS的熵解码。
第2点是必需同时知道TILE—HIGHPASS及TILE—FLEXBITS流在整个 图像编码流中的位置。
由于上述第1点的限制, 一个系数必需先进行TILE一HIGHPASS的熵解 码才能再进行TILE—FLEXBITS的熵解码,但是,TILE—HIGHPASS和 TILE—FLEXBITS,两者系数位置的解码顺序是不同的,TILE一HIGHPASS是 以可调扫描(AdaptiveScan)的顺序,而TILE_FLEXBITS是固定。所以,若两 者都依照解码顺序同时进行熵解码的动作,将不能保证第1点问题的限制可 以被满足,而会有无法解码的情形发生。
另外,关于第2点,当欲解码的流是以频率域模式(Frequency Mode)串接 时,将可以由流的首标(Header)部分得知。而当欲解码的流是以空间域模式 (Spatial Mode)串接时,将会较难达成。
因此,本发明提出针对频率域模式的流位数据,同时进行 TILE—HIGHPASS和TILE—FLEXBITS的熵解码处理。
本发明提出一个系数暂存区,将TILE—HIGHPASS解码完的前段系数先 行写入此暂存区中,待足够多的前段系数解码完后,再由系数暂存区读出, 进行TILE—FLEXBITS的熵解码,以解码出完整的系数。
本发明还提出 一 个包含可调扫描位置产生器的读写控制器,使得 TILE—FLEXBITS所需系数的正确位置可以被得知。如此,第1点问题将可以 由通过读出暂存区中的正确位置的前段系数被解决。而在此同时, TILE—HIGHPASS可以继续进行前段系数解码的动作,并写入暂存区中,达 成两者的同时熵解码。
下面将以具体实施例说明本发明所提出 一种硬件架构,可针对频率域模
式的流位凄t据,同时进行TILE—HIGHPASS和TILE—FLEXBITS的熵解码处 理。首先,请参照图4所示,本发明实施例的熵解码电路为能支持HD Photo 规格的熵解码电路。此熵解码电路400包括一个位流暂存单元410,可以同 时读取TILE—HIGHPASS与TILE—FLEXBITS的位流数据,并加以储存。而 TILE—HIGHPASS熵解码器420与TILE—FLEXBITS熵解码器430分别经由信 号412与414读取位流数据。
在该熵解码电路400运作的方式,首先,TILE—HIGHPASS熵解码器420 读取欲解码的第一类流并进行TILE—HIGHPASS熵解码处理,并经由读取与 写入控制电路以可调扫描顺序写入系数暂存单元443。该TILE—FLEXBITS熵 解码器430读取欲解码的第二类流及根据正规化参数及正规化后系数是否为 零进行解码。配合经由读取与写入控制电路440以固定扫描顺序读出系数暂 存单元443中的正规化后系数,完成解码动作。此实施例将系数暂存单元443 置于读取与写入控制电路440内,但也可安排在任何具有可读取或写入的任 何存储器内,而不受此限制,特此说明。下面将依照附图进行详述。
TILE—HIGHPASS熵解码器420为可进行TILE—HIGHPASS燏解码处理 的解码器。TILE_HIGHPASS熵解码器420解码完后的正规化后系数 (Normalized Coefficient)422(如图所示的"Coeff,)及可调扫描方式的解码顺序 控制信号424(如图所示的"Index一0,,)传送给读取与写入控制电路440,并将正 规化后系数是否为零的信息(Normalized—Coeff is zero)透过信号426传送给正 规化参数产生器460与读取与写入控制电路440。
读取与写入控制电路440包括可调扫描位置产生器441与系数暂存单元 443。该可调扫描位置产生器441为符合HD Photo规格的扫描位置产生器。 在写入时将TILE_HIGHPASS熵解码器420输入的可调扫描方式的解码顺序, 转成固定扫描位置后,写入系数暂存单元443,并根据信号426所取得的正 规化后系数是否为零信息,进行可调扫描顺序的调整。而TILE—FLEXBITS 熵解码器430可经由信号442读取系数暂存单元443所储存的系数数据Coeff, 直接将符合固定扫描格式数据的解码顺序位置的系数读出,以进行 TILE—FLEXBITS熵解码处理。另外,正规化系数判断单元450经由信号444 可以取得系数暂存单元443所储存的系数数据Coeff。
同时,TILE一FLEXBITS熵解码器430传送控制信号434(如图所示的 Index—l)给读取与写入控制电路440,作为读取固定扫描顺序的位置。该 TILE FLEXBITS熵解码器430,通过读取与写入控制电路440读取所需要的系数与正规化后是否为零的信息。读出正规化后系数并重建原来的系数,而
上述正规化后是否为零的信息是由正规化系数判断单元450经由信号452所 提供。在设计上,TILE—FLEXBITS熵解码器430在解码的同一频率内,会同 时进行系数重建的工作,所以会需要读出系数。如果单純解码的操作,那么 只要知道正规化参数与正规化后是否为零的信息即可。
正规化参数产生器460为符合HD Photo标准的正规化参数产生器,其接 收由TILE一HIGHPASS熵解码器420所输出的正规化后系数是否为零信息, 统计一个大区块中非零正规化后系数的个数,进行正规化参数的调整,将正 确的正规化参数输入至TILE—FLEXBITS熵解码器430中。TILE—FLEXBITS 熵解码器430为可进行TILE—FLEXBITS熵解码的解码器,根据由正规化参 数产生器460所输出的正规化参数(Normalization Parameter)462进行解码。由 位流暂存单元410经由信号414所输出的流数据,配合正规化系数判断单元 450所输出的信号452,也就是系数是否为零的信息,进行TILE—FLEXBITS 熵解码,再由系数暂存单元443所读出的系数数据Coeff,经由信号432(如图 标的Coeff—out)输出,来重建原来的系数。
此正规化参数在HD Photo标准中称为iMode旧its,为此标准中所使用的 变量名称,代表一个决定解码长度的参数,在此称为正规化参数。此iMode旧its 会依不同的系数位置,例如DC、 HIGHPASS(HP)、 LOWPASS(LP)和Y或UV, 而有六个不同的值,它的值会依照 一个大区块(Macroblock)在这六个不同位置 中,正规化后为零的系数个数有多少进行动态的调整(每个大区块编/解码完 后,进行一次调整)。调整方式下面将详细介绍。
上述的架构中,将依照频率域模式的HD Photo编码流位数据,其中 TILE—HIGHPASS及TILE—FLEXBITS部分流输入至熵解码电路400,并可解 码出AC部分系数,再配合上由TILE—DC和TILE—LOWPASS所解码出的系 数,经过反向预测、反向量化、及二阶逆重叠转换后即可得到在HD Photo标 准中自订YCoCg色彩空间的图像。接着,再将YCoCg色彩空间转换至适当 的色彩空间,即可完成符合HD Photo标准的图像解码。
而上述的架构中,可加入一个存储器读取电路,依照编码流的首标部分 信息,可以在时间上用交^"的方式,将正确位置的TILE—HIGHPASS及 TILE—FLEXBITS流,由存储器读出并写入到位流暂存单元410中,以供解码 使用。
16请参照图5,说明本发明实施例的、支持HD Photo规格的熵解码架构详 细电路。此熵解码电路500包括存储器读取电路503,连接到储存装置501。 而后经由多任务器505将位流数据分别传送到位流暂存单元510内的 TILE—HIGHPASS位流暂存单元511与TILE—FLEXBITS位流暂存单元513。 另夕卜,TILE—HIGHPASS熵解码器520与TILE—FLEXBITS熵解码器530分别 经由信号512与514连接到TILE—HIGHPASS位流暂存单元511与 TILE—FLEXBITS位流暂存单元513,以读取位流数据。读取与写入控制电路 540连接到TILE—HIGHPASS熵解码器520与TILE—FLEXBITS熵解码器530。 该读取与写入控制电路540包括可调扫描位置产生器541、系数写入暂存单 元543与系数读取暂存单元545。另外,该熵解码电路500包括正规化系数 判断单元550与正规化参数产生器560,分别连接到读取与写入控制电路540 与TILE—HIGHPASS熵解码器520。
下面将详细介绍此熵解码电路500。
首先,存储器读取电路503为读取电路,可以依照时间上交错的方式, 读取存储器装置501内所储存的数据。此存储器装置501例如是一种动态随 机存取存储器(DRAM),而存储器读取电路503将储存在存储器装置501内的 位流数据,以时间上交错的方式将TILE—HIGHPASS或TILE—FLEXBITS流 内容读出,并经由多任务器505分别传送到TILE—HIGHPASS位流暂存单元 511与TILE_FLEXBITS位流暂存单元513中暂存。
位流暂存单元510为可同时读出两组编码流的流緩沖区,可利用两个静 态随机并取存储器(SRAM)来实现,其中一个SRAM储存TILE—HIGHPASS 的流,另夕|、 一个SRAM储存TILE—FLEXBITS的流,也就是如图所示的 TILE—HIGHPASS位流暂存单元511与TILE—FLEXBITS位流暂存单元513。
TILE—HIGHPASS熵解码器520为可进行TILE—HIGHPASS熵解码处理 的解码器。TILE—HIGHPASS熵解码器520解码完后的正规化后系数 (Normalized Coeffident)522(如图所示的"Normalized—Coeff,)传送给读取与写 入控制电路540的系数写入单元543。而可调扫描方式的解码顺序控制信号 524(如图所示的"IndexJ),,)传送给可调扫描位置产生器541。除此之外, TILE—HIGHPASS熵解码器520还将正规化后系数是否为零信息 (Normalized—Coeff is zero)通过信号526传送给正规化参数产生器560与读取 与可调扫描位置产生器541。该可调扫描位置产生器541为符合HD Photo规格的扫描位置产生器。在 写入时将TILE一HIGHPASS熵解码器520输入的解码(可调扫描)顺序,转成 固定扫描位置后,依照此位置将正规化后系数522写入系数写入单元543, 并根据信号526所取得的正规化后系数是否为零信息,进行可调扫描顺序的 调整。当一个区块解码完成之后,会将系数写入单元543的内容一次写到系 数读取单元545中。
同时,TILE—FLEXBITS熵解码器530传送控制信号534(如图所示的 Index—l)给系数读取暂存单元545,为固定扫描顺序,读出的正规化后系数即 为信号542。 TILE—FLEXBITS熵解码器530经由控制信号534传送解码顺序 至系数读取单元545 ,经由信号542读出正规化后系数Normalized—Coeff。系 数写入暂存单元543和系数读取暂存单元545内的系数为不同区块的系数, 写入的比读取的快一个区块,写入完成后,将系数写入单元543的内容一次 写到系数读取单元545,此后系数写入单元543就会继续写入新的区块的系 数,而系数读取单元545的内容就会转给TILE—FLEXBITS熵解码器530读 耳又,不再改变。
上述架构中,采用系数写入单元543与系数读取单元545的目的,是为 了形成一个可同时读取和写入的系数緩沖区,其中系数写入单元543可利用 暂存器来实现,可以提供TILE—HIGHPASS熵解码器520写入正规化后系数 Normalized—Coeff。当一个区块解码完成之后,会将系数写入单元543的内容 一次写到系数读取单元545的中,而系数读取单元545则可利用暂存器配合 多任务选择器来实现,可以同时提供TILE—FLEXBITS熵解码器530的读取。
正规化参数产生器560为符合HD Photo标准的正规化参数产生器,其接 收由TILEJHIGHPASS熵解码器520所输出的正规化后系数是否为零信息, 统计一个大区块中非零正规化后系数的个数,进行正规化参数的调整,将正 确的正规化参数输入至TILE—FLEXBITS熵解码器530中。
TILE—FLEXBITS熵解码器530为可进行TILE—FLEXBITS熵解码的解码 器,根据由正规化参数产生器560所输出的正规化参数(Normalization Parameter)562进行解码。由TILE—FLEXBITS位流暂存单元513经由信号514 所输出的流数据,配合正规化系数判断单元550所输出的信号552,也就是 系数是否为零的信息,进行TILE—FLEXBITS熵解码,再由系数读取单元545 所读出的正》见化后系数Normalized一Coeff,重建原来的系数,并经由信号532(如图标的Coeff一dec)输出。
正规化系数判断单元550为可产生依照TILE_FLEXBITS需求读出的正 规化后系数,其是否为零信息的电路,其输入为系数读取单元545所读出的 正规化后系数Normalized_Coeff,利用逻辑电路即可判定此系数是否为零。
上述的熵解码电路500,在实施例的熵解码流程,则如下所述。首先, 将符合HD Photo标准的频率域模式(Fr叫uency Mode)编码流进行TILE—DC和 TILE—LOWPASS熵解码后,得到4氐频部分的系数。
接着,先利用存储器读取电路503,以时间交错的方式将存储器中的 TILE—HIGHPASS和TILE—FLEXBITS流读入位流暂存单元510中的位流暂存 单元511与513。接着,利用TILE—HIGHPASS熵解码器520进行 TILE_HIGHPASS的熵解码。在解码完第一个区块,并通过读取与写入控制 电路540的帮助,写入系数写入单元543中正确的位置之后,将系数写入单 元543中的数据一次写入系数读取单元545之中。
而后,TILE_HIGHPASS熵解码器520与TILE—FLEXBITS熵解码器530 便可以同时进行熵解码的动作。在TILE—HIGHPASS熵解码器520进行下一 个区块的TILE—HIGHPASS解码时,TILE_FLEXBITS熵解码器530便可以由 系数读取单元545、正规化系数判断单元550和正规化参数产生器560的输 入,从位流暂存单元510的位流暂存单元513中,读出流数据来同时进行第 一个区块的解码动作,并将最后解出的完整系数写出。
利用本实施例解出的AC部分系数及之前的低频部分系数,再经过反向 预测、反向量化、逆转换后,得到在YCoCg定义的图像,再进行色彩空间转 换,完成HD Photo的图像解码。
请参照图6,以便说明上述读取与写入控制电路540的实施例的电路方 块示意图。因为HD Photo标准中,可调扫描位置的调整是依照编码(或解码) 顺序逐一调整。在编码(或解码)完一个系数之后,即会根据此系数正规化后是 否为零,而调整整个可调扫描的顺序,所以如图所示,符合HD Photo标准的 可调扫描位置产生器将需要正规化后系数是否为零的信息。
因此,可调扫描位置产生器541接收解码顺序控制信号524与正规化后 系数是否为零信息(Normalized—Coeff is zero)的信号526,以便产生对应的地 址信号Addr一0,经由信号544传送到系数写入单元543。而系数写入单元543 则根据地址信号Addr—0将接收到的正规化后系数522(Normalized—Coeff)储存在对应的位置。而后,当一个区块解码完成之后系数写入单元543的内容经 多端口的传输线546 —次写到系数读取单元545中。
这一种作法在写入时即将系数写到转换后的位置,如此一来,在读取时, 就不再需要对解码顺序进行转换,以解码顺序当成位置即可读出所要的系数 (因为TILE—FLEXBITS的扫描顺序为固定,其解码顺序即是由左至右,再由 上而下的扫描顺序)。在系数暂存区部分,可以利用两组由暂存器构成的緩沖 来实现, 一组可以接受写入,在写满一定内容后,再一次将内容传到第二组 的中以供读取。
请参照图7,以便说明上述读取与写入控制电路540的另一实施例的电 路方块示意图。此架构与图6不同点在于写入时将扫描顺序暂存起来,而读 取时再对照储存的扫描位置转成正确的读取位置读出,顺序上有所不同,详 细i兌明i口下。
可调扫描位置产生器541接收解码顺序控制信号524与正规化后系数是 否为零信息(Normalized—Coeff is zero)的信号526,以便产生对应的地址信号 Addr—0,经由信号544传送到地址暂存单元547。当一个区块解码完成之后, 经由多端口的传输线548将整个区块对应的地址数据传送到地址暂存单元 549。另外,系数写入单元543则根据地址信号Index—O(解码顺序)将接收到 的正规化后系数522(Normalized—Coeff)储存在对应的位置。而后,当一个区 块解码完成之后,系数写入单元543的内容经多端口的传输线546 —次写到 系数读取单元545中。而读取时,TILE—FLEXBITS熵解码器530传送控制信 号534(如图所示的Index—l)给地址暂存单元549,而根据此控制信号534,从 地址暂存单元549经由对照暂存的扫描位置转成正确的读取位置,并将读出 的地址信号Addr—1传送给系数读取单元545,以取得正确的数据。
因为HD Photo标准中可调扫描位置的调整是依照编码(即解码)顺序逐个 调整。所以可调扫描位置的更新动作仍必需在TILE—HIGHPASS解码时更新 (因为在TILE_FLEXBITS解码顺序和TILE_HIGHPASS不同)。但是,可以将 扫描顺序暂存起来,等读取时再进行转换的动作。如此一来,可以在写入时, 依照解码顺序写入,并将扫描顺序暂存起来,等读取时,再将读取顺序经由 对照暂存的扫描位置转成正确的读取位置读出。在系数暂存区部分,可以利 用两组由暂存器构成的緩冲来实现, 一组可以接受写入,在写满一定内容后, 再一次将内容传到第二组的中以供读取。上述的熵解码电路500架构中,因为TILE—FLEXBITS的解码必须依赖 TILE_HIGHPASS解码出的部分结果,所以两者进行同一个区块的熵解码仍 必需有先后的次序关系,而形成流水线(pipeline)结构。请参照图8,以便说明 TILE—HIGHPASS和TILE—FLEXBITS以一个区块进行流水线处理的流程。可 以清楚的看出,在时间轴上,由于流水线延迟的关系,解码16个区块所需要 的频率数总共为处理17个区块所需的时间。例如图所标示的16个区块801 ~ 816为进行TILE—HIGHPASS熵解码,而另夕卜16个区块821 - 836为进行 TILE—FLEXBITS熵解码。也就是,当区块841在进行TILE—HIGHPASS熵解 码的同时,另一个在流水线上延迟一个频率周期的区块842正在进行 TILE_FLEXBITS的熵解码,这两个过程是可以同时进行解码。
请参照图9,主要说明正规化参数在HD Photo标准的更新流程示意图。 正规化参数在HD Photo标准中,会依不同的系数位置(DC、 LP、 HP)和Y或 UV,而有六个不同的值,它的值会依照一个大区块(Macroblock)在这六个不 同位置中,正规化后为零的系数个数有多少进行动态的调整(每个大区块编/ 解码完后,进行一次调整)。如图所示,如步骤910,当完成编码或是解码一 个区块(MB)后,会对此区块中非零的正规化系数进行统计,如步骤920。若 是正规化后为零的系数个数太多时,表示正规化参数的值需要增加,使得正 规化后的系数变小,增加为零的个数,让正规化后为零的系数个数保持合理 值,也就是更新iMode旧its的值。
举一实际的范例说明,假定原来给HIGHPASS(HP)中Y使用的正规化参 数为0,也就是代表TILE—FLEXBITS中固定长度编码(Fixed Length Coded, FLC)的长度为O,其状态值(一累计变量)也为0。但编码完一个大区块之后, 得到在此部分的正规化后系数有240个不为零,则经过调整之后,下个大区 块HP中Y的正规化参数将变成1,状态值为0。其基本的精神在于,当正规 化后为零的系数个数太多时,表示正规化参数的值需要增加,使得正规化后 的系数变小,增加为零的个数,让正规化后为零的系数个数保持合理值。上 述提到TILE—FLEXBITS中的固定长度编码(FLC)长度,此为JPEG XR图像 编码规格书中可以参照。
虽然本发明已以优选实施例如上公开,然而其并非用以限定本发明,任 何所属技术领域中的技术人员,在不脱离本发明的精神和范围内,可进行些 许的更动与润饰,因此本发明的保护范围应以所附的权利要求中界定的为准。
权利要求
1.一种熵解码电路,包括位流暂存单元,可以写入位流并加以储存,并可以同时读取第一类与第二类位流数据;第一熵解码器,接收该第一类位流,以进行第一熵解码处理,并据以产生正规化后系数、解码顺序控制信号与正规化后系数是否为零的信号;系数暂存单元,可同时读取与写入系数;读取与写入控制电路,连接到该第一熵解码器,该读取与写入控制电路用以依照该第一熵解码器输出的解码顺序控制信号,将可调扫描顺序转成固定扫描顺序后,依照取得的位置暂存该正规化后系数至该系数暂存单元中,并根据该正规化后系数是否为零的信号进行该可调扫描顺序的调整;第二解码器,接收该第二类位流及正规化参数,连接到该读取与写入控制电路,并从该读取与写入控制电路单元读取该系数暂存单元以取得该正规化后系数,并将符合该固定扫描顺序的位置的正规化后系数读出,以进行第二熵解码处理。
2. 如权利要求1所述的熵解码电路,还包括正规化参数产生器,连接到 所述第一熵解码器,用以接收所述正规化后系数是否为零的信号,并在加以 统计后计算区块所有非零的所述正规化后系数的个数,以进行正规化参数的 调整,并作为该第二解码器进行的所述第二熵解码处理调整的依据。
3.如权利要求1所述的熵解码电路,其中所述位流数据为符合HD Photo 格式中频率域模式的编码流位数据。
4. 如权利要求3所述的熵解码电路,其中所述第一熵解码处理与所述第 二熵解码处理为TILE_HIGHPASS熵解码处理及TILE—FLEXBITS熵解码处 理。
5. 如权利要求4所述的熵解码电路,其中所述第一熵解码处理与所述第 二熵解码处理可以解码出AC部分系数,再加上TILE—DC熵解码处理和 TILE—LOWPASS熵解码处理所解码出的系数,经过反向预测、反向量化、及 二阶逆重叠转换后可得到该HD Photo标准中自订YCoCg色彩空间的图像。
6. 如权利要求1所述的熵解码电路,其中还包括存储器读取电路,根据 该编码流的首标部分信息,可以在时间上用交错的方式,将适用于所述第一熵解码处理及所述第二熵解码处理的该位流数据从外部存储器读出。
7. 如权利要求1所述的熵解码电路,其中该位流暂存单元包括第一类位 流暂存单元与第二类位流暂存单元,其中该第一类位流暂存单元储存适用于 所述第一熵解码处理的位流数据,而该第二类位流暂存单元储存适用于所述 第二熵解码处理的位流数据。
8. 如权利要求7所述的熵解码电路,其中还包括存储器读取电路,根据 所述该编码流的首标部分信息,可以在时间上用交错的方式,将适用于所述 第一熵解码处理及所述第二熵解码处理的流数据从外部存储器读出,并分别 储存在该第一类位流暂存单元与该第二类位流暂存单元。
9. 如权利要求1所述的熵解码电路,其中所述第二熵解码器传送控制信 号到所述读取与写入控制单元,控制所述系数暂存单元读出所述正规化后系 数。
10. 如权利要求1所述的熵解码电路,其中所述读取与写入控制电路包括 可调扫描位置产生器,该可调扫描位置产生器用于依照所述第一熵解码器输 出的所述解码顺序控制信号,将可调扫描顺序转成固定扫描顺序后,依照取 得的位置将所述正规化后系数暂存在所述系数暂存单元内,并根据所述正规 化后系数是否为零的信号进行所述可调扫描顺序的调整。
11. 如权利要求1所述的熵解码电路,其中所述系数暂存单元包括系数写 入单元与系数读取单元,其中将所述正规化后系数暂存在所述系数写入单元的所述取得的位置,并在完成一个区块解码后,将该系数写入单元储存的内 容一 次写到所述系数读取单元。
12. 如权利要求1所述的熵解码电路,其中所述读取与写入控制电路包括 可调扫描位置产生器、第一地址暂存单元、第二地址暂存单元,该可调扫描 位置产生器用以依照所述第一熵解码器输出的所述解码顺序控制信号,将可 调扫描顺序转成固定扫描顺序后,将取得的多个位置的多个地址暂存在该第 一地址暂存单元,并在完成一个区块解码后,将所述地址一次写到该第二地 址暂存单元内,而根据所述解码顺序控制信号将所述正规化后系数暂存在所 述系数暂存单元内,并依照所述第二熵解码器输入的解码顺序及该第二地址 暂存单元的内容控制读取的位置。
13. 如权利要求12所述的熵解码电路,其中所述第二熵解码器传送控制 信号反馈控制所述第二地址暂存单元,以取得所述正规化后系数。
14. 如权利要求1所述的熵解码电路,其中所述第一熵解码处理及所述第 二熵解码处理是以流水线方式进行,其中该第一熵解码处理早于该第二熵解 码处理至少一个区块进行解码的时间。
15. —种熵解码方法,包括以时间交错的方式读取并暂存第一位流数据与第二位流数据;对该第一位流数据进行第一熵解码处理,并产生正规化后系数、解码顺 序控制信号与正规化后系数是否为零的信号;根据该解码顺序控制信号,将可调扫描顺序转成固定扫描顺序后,依照 取得的位置暂存该正规化后系数,并根据该正规化后系数是否为零的信号进 行该可调扫描顺序的调整;以及将对应于该固定扫描顺序的位置的该正规化后系数读出,以进行第二熵 解码处理。
16. 如权利要求15所述的熵解码方法,还包括统计该正规化后系数是否 为零的信号,以计算区块所有非零的所述正规化后系数的个数,以进行正规 化参数的调整,并作为该第二熵解码处理调整的依据。
17. 如权利要求15所述的熵解码方法,其中所述位流数据为符合HD Photo 格式中频率域模式的编码流位数据。
18. 如权利要求17所述的熵解码方法,其中所述第一熵解码处理与所述 第二熵解码处理为TILE—HIGHPASS熵解码处理及TILE—FLEXBITS熵解码 处理。
19. 如权利要求18所述的熵解码方法,其中所述第一熵解码处理与所述 第二熵解码处理可以解码出AC部分系数,再加上TILE—DC熵解码处理和 TILE—LOWPASS熵解码处理所解码出的系数,经过反向预测、反向量化、及 二阶逆重叠转换后可得到该HD Photo标准中自订YCoCg色彩空间的图像。
20. 如权利要求15所述的熵解码方法,其中所述时间交错读取该第一位 流数据与该第二位流数据的方式为根据编码流数据的首标部分信息,并以在 时间上用交错的方式,分别读出该第 一位流数据与该第二位流数据。
21. 如权利要求15所述的熵解码方法,其中所述第二熵解码处理解码后 产生控制信号,并反馈调整取得该正规化后系数。
22. 如权利要求15所述的熵解码方法,其中所述暂存该正规化后系数的 步骤包括将该正规化后系数暂存在第一暂存单元的所取得的位置,并在完成一个区块解码后,将该第 一暂存单元储存的内容一次写到第二暂存单元。
23. 如权利要求15所述的熵解码方法,其中依照所述解码顺序控制信号, 将该可调扫描顺序转成该固定扫描顺序后,将取得的多个位置的多个地址暂 存在所述第一地址暂存单元,并在完成一个区块解码后,将所述地址一次写 到该第二地址暂存单元内,而根据所述解码顺序控制信号将该正规化后系数 暂存在第三暂存单元内,并根据所述地址输出该正规化后系数。
24. 如权利要求〗5所述的熵解码方法,其中所述第一熵解码处理及所述 第二熵解码处理是以流水线方式进行,其中该第一熵解码处理早于该第二熵 解码处理至少 一个区块进行解码的时间。
25. —种流水线方式的熵解码方法,适用于对符合HD Photo格式中频率 域模式的编码流位数据同时进行TILE一HIGHPASS熵解码处理及 TILE—FLEXBITS熵解码处理,该方法包括读取所述编码流位数据并暂存为第 一位流数据与第二位流数据,其中该 第 一位流数据在时间轴上早于该第二位流数据至少 一 区块熵解码周期;对该第一位流数据进行TILE一HIGHPASS熵解码处理,并产生正规化后 系数、解码顺序控制信号与正规化后系数是否为零的信号;根据该解码顺序控制信号,将可调扫描顺序转成固定扫描顺序后,依照 取得的位置暂存该正规化后系数,并根据该正规化后系数是否为零的信号进 行该可调扫描顺序的调整;以及将对应于该固定扫描顺序的位置的该正规化后系数读出,以对该第二位 流数据进行TILE—FLEXBITS熵解码处理。
26. 如权利要求25所述的熵解码方法,还包括统计该正规化后系数是否 为零的信号,以计算区块所有非零的所述正规化后系数的个数,以进行正规 化参数的调整,并作为该TILE—FLEXBITS熵解码处理调整的依据。
27. 如权利要求25所述的燏解码方法,其中该TILE—HIGHPASS熵解码 处理与该TILE—FLEXBITS熵解码处理可以解码出AC部分系数,再加上 TILE_DC熵解码处理和TILE—LOWPASS熵解码处理所解码出的系数,经过 反向预测、反向量化、及二阶逆重叠转换后可得到该HD Photo标准中自订 YCoCg色彩空间的图像。
28. 如权利要求25所述的熵解码方法,其中读取该编码流位数据是根据 编码流位数据的首标部分信息,并以在时间上用交错的方式分别读出。
全文摘要
一种熵解码电路、熵解码方法、以及使用流水线(pipeline)方式的熵解码方法。此熵解码电路包括系数暂存单元、第一熵解码器、读取与写入控制电路与第二熵解码器。第一熵解码器读取欲解码的第一类流进行第一熵解码处理并经由读取与写入控制电路以可调扫描顺序写入系数暂存单元。第二熵解码器读取欲解码的第二类流及根据正规化参数及正规化后系数是否是零进行解码。配合经由读取与写入控制电路以固定扫描顺序读出系数暂存单元中的正规化后系数,完成解码动作。
文档编号H04N11/04GK101583029SQ20081009954
公开日2009年11月18日 申请日期2008年5月13日 优先权日2008年5月13日
发明者林家平, 黄朝宗 申请人:联咏科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1