专利名称:扫描方法、处理装置以及处理顺序决定方法
技术领域:
本发明涉及处理数字数据,例如视频数据或图像数据,尤其涉及基于变换式数字 数据处理的扫描方法、处理装置以及处理顺序决定方法。
背景技术:
通常将基于变换方式(transform-based)的数字数据处理应用于编码中以压缩/ 编码将被传送的视频数据/图像数据,并且也将基于变换方式的数字数据处理应用于解码 器中以解压缩/解码来自编码器的已压缩/已编码数据。以MPEG-4或H. 264标准为例,将 离散余弦变换(Discrete CosineTransform,DCT)用于编码将被传送的数据,将离散余弦反 变换(Inverse Discrete Cosine Transform, IDCT)用于解码已编码数据。图1为根据现 有技术编码器的方块示意图。传统编码器100包括DCT编码器102、量化器104、扫描单元 106以及熵编码器108。DCT编码器102接收数字数据(例如视频数据或图像数据),并将 空间域(spatial domain)数字数据变换为频域系数。量化器104接着量化变换系数(即 DCT系数)以产生已量化变换系数。通常,编码器100逐区块(block byblock)的处理数字 数据。因此,扫描单元利用预设扫描顺序将通过前面电路获得的二维数据转换为一维数据, 一维数据通过后续电路用于进一步处理。通常利用锯齿扫描顺序扫描每个数据区块中位于 不同位置的已量化变换系数(即已量化DCT系数)。图2为用于帧编码区块和字段编码区 块的较佳传统锯齿扫描顺序,其中,帧编码区块的区块大小分别为4x4和8x8,字段编码区 块的区块大小分别为4x4和8x8。从扫描单元106接收扫描输出后,熵编码器108通过运行级(rim-level)编码方 案与长度变化编码产生比特流。运行级编码是将每个非零系数作为(运行,级)对来进行 编码,其中“运行”代表先前非零系数与当前非零系数之间的零的个数,“级”代表当前非零 系数的值。举例来说,假设数据序列包括以下值:0、3、0、1、-1、-1、0、1、0、0、0、0、0、0、0以 及0,上述数据序列的(运行,级)对为(1,3)、(1,1)、(0,-1)、(0,-1)以及(1,1)。接着利 用长度变化编码方式编码每个得到的(运行,级)对。图3为根据现有技术解码器的方块示意图。传统解码器200包括熵解码器202、反 扫描单元204、反量化器206以及IDCT解码器208。解码器200执行编码器100的反操作。 熵解码器202将从编码器100产生的比特流解码为(运行,级)对用于每个数据区块,并接 着根据(运行,级)对输出由零值与非零值组成的序列。接着,反扫描单元204根据编码器 100中实施的相同的锯齿扫描顺序恢复已量化DCT系数的二维数据区块。将这些二维数据 区块输入至反量化器206中并在IDCT解码器208中将反量化器206的输出进行反变换。如前所述,根据已选择锯齿扫描顺序扫描数据区块中不同位置的已量化系数。(运 行,级)对的结果与用于扫描量化系数的锯齿扫描顺序密切相关。因此,编码性能与应用的 扫描顺序有关。相同的锯齿扫描顺序不一定原始数字数据中的所有数据区块的编码都有 效。因此利用固定的扫描顺序会导致编码性能下降。
发明内容
有鉴于此,本发明提供一种基于变换式数字数据处理的扫描方法、处理装置以及 处理顺序决定方法。—种基于变换式数字数据处理的扫描方法,包括当处理数据区块时,各自为不同 区块类别记录特性信息;根据所述特性信息调整所述区块类别的数据处理的扫描顺序;以 及根据相应于一个区块类别的一个扫描顺序对当前数据区块执行所述数据处理,其中所述 当前数据区块属于所述一个区块类别。一种基于变换式数字数据处理的处理顺序决定方法,其特征在于,包括当处理数 据区块时记录特性信息;根据所述特性信息调整处理顺序;保持所述处理顺序中的至少一 个位置固定,而不考虑所述处理顺序的改变;以及根据所述处理顺序对当前数据区块执行 数据处理。一种基于变换式数字数据的处理装置,支持固定的扫描顺序与条件-调整扫描顺 序,并且选择性的利用所述固定扫描顺序或所述条件_调整扫描顺序处理基于变换式数字 数据,其特征在于,所述基于变换式数字数据处理装置包括第一存储模块,用于储存扫描 顺序;第二存储模块,用于储存特性信息;第一处理模块,用于将所述特性信息记录于所述 第二存储模块;第二处理模块,用于调整所述扫描顺序;以及第三处理模块,用于处理所述 基于变换式数字数据。本发明所提供的基于变换式数字数据处理的扫描方法、处理装置以及处理顺序决 定方法的效果之一在于可优化编码性能。以下为根据多个图式对本发明的较佳实施例进行详细描述,本领域普通技术人员 阅读后应可明确了解本发明的目的。
图1为根据现有技术编码器的方块示意图。图2为用于帧编码区块和字段编码区块的较佳传统锯齿扫描顺序。图3为根据现有技术解码器的方块示意图。图4为根据本发明实施例决定用于编码/解码数据区块的扫描顺序的方法流程示 意图。图5为更新特定区块类别的扫描顺序的实施例的示意图。图6为具有多个位置的4X4数据区块。图7为通过从尾位置至头位置检查候选扫描顺序而处理区块后更新候选扫描顺 序的操作示意图。图8为通过从头位置至尾位置检查候选扫描顺序而处理区块后更新候选扫描顺 序的操作方法示意图。图9为通过从尾位置至头位置检查候选扫描顺序而处理区块后更新候选扫描顺 序的操作方法示意图。图10为通过从头位置至尾位置检查候选扫描顺序而处理区块后更新候选扫描顺 序的操作方法示意图。图11为根据本发明一个实施例基于变换式数字数据处理装置的方块示意图。
具体实施例方式在说明书及后续的权利要求当中使用了某些词汇来指称特定的组件。所属领域中 具有通常知识者应可理解,硬件制造商可能会用不同的名词来称呼同一个组件。本说明书 及后续的权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异 来作为区分的准则。在通篇说明书及后续的请求项当中所提及的“包含”为开放式的用语, 故应解释成“包含但不限定于”。以外,“耦接”一词在此包含任何直接及间接的电气连接手 段。因此,若文中描述第一装置耦接于第二装置,则代表该第一装置可直接电气连接于该第 二装置,或透过其它装置或连接手段间接地电气连接至该第二装置。本发明揭露一种基于变换方式的数据数据处理方法,此方法根据已处理数据区块 的统计信息决定扫描顺序。另外,因为解码器能够轻松的根据编码器产生的已编码数据的 统计信息得到预期扫描顺序,所以不需从编码器将扫描顺序信息传送至解码器。更具体的, 当处理数据区块时应用于编码器或解码器中的本发明的扫描方法各自记录用于不同区块 类别的特性信息,并且根据已记录特性信息调整区块类别的数据处理的扫描顺序。另一方 面,可将所述扫描方法实施于整数或非整数基于变换方式的数字数据应用。详细描述如下。图4为根据本发明实施例决定用于编码/解码数据区块的扫描顺序的方法流程示 意图。如果结果实质上相同,则并不需以完全相同的顺序执行图4所示的步骤。决定扫描 顺序的方法包括如下步骤步骤400:开始。步骤401 所有数据区块已处理?如果是,则继续步骤414 ;否则,继续步骤402。步骤402 决定将被处理的当前数据区块。步骤404:检查多个区块类别以选择区块类别,其中当前数据区块属于所述区块 类别。步骤406 根据已选择区块类别的扫描顺序处理当前数据区块。步骤408 相应于已选择区块类别更新特性信息。步骤410 特性信息的当前收集期是否到期?是,则继续步骤412 ;否则,继续步骤 401。步骤412 基于特性信息调整已选择区块类别的扫描顺序。返回步骤401。步骤414:结束。流程开始于步骤400。开始时,没有数据区块被处理。因此,步骤401使得决定/ 更新扫描顺序的流程继续下一步骤402。接着,步骤402选择将被处理的当前数据区块。举 例来说,选择具有4X4量化系数的区块。决定将被处理的数据区块后,步骤404检查多个区 块类比,以选择区块类别,其中当前数据区块属于所述区块类别。在一个实施例中,区块类 比可分为不同颜色成分(例如Y、Cb以及Cr或亮度与色度)、不同区块大小(例如16X16、 8X16、16X8、8X8、4X8、8X4以及4X4等)、不同区块处理模式(例如内编码模式与间编 码模式等)或不同变换类型(例如应用于分层变换架构中的整数变换与Hadamard变换)。 换句话说,用于一个区块类别的扫描顺序可以不同于应用于另一个区块类别的扫描顺序。 这样可优化编码性能。步骤406接着根据已选择区块类别的扫描顺序处理当前数据区块。开始时,承载
7已选择区块类别的起始(标称)扫描顺序。举例来说,可利用图2所示传统锯齿扫描顺序 或预设扫描顺序。接着,根据起始(标称)扫描顺序扫描当前数据区块,并且记录位于被处 理的当前数据区块的每个位置的特性信息(步骤408)。当前数据区块被处理后,流程检查特性信息的收集期是否到期(步骤410)。举例 来说,在一个实施例中,收集期用于积累N个数据区块的特性信息。若当前数据区块不是第 N个数据区块,则流程继续处理下个数据区块。当步骤410发现在特性信息的收集期中已 经处理了 N个数据区块时,流程继续步骤412以基于收集期集合的特性信息调整已选择区 块类别的扫描顺序。若调整了已选择区块类别的扫描顺序,则在特性信息的下一个收集期 中应用已调整扫描顺序,用于处理相应于相同区块类别的接下来的数据区块。因此,流程继 续步骤401以开始对下一个数据区块进行新的数据处理。请注意,不同区块类别的收集期 可能不同。举例来说,具有4:2:0采样信号的宏模块(MaCr0bl0Ck,MB)包括四个具有8X8 区块的Y成分,但仅有两个具有8X8区块的Cb成分。手机16区块的Y成分的收集期与收 集16区块的Cb成分的收集期不同。图5为更新特定区块类别的扫描顺序的实施例的示意图。如图5所示,特性信息 CPU CP2以及CP3的每个收集期积累具有区块索引1-N的N个数据区块的特性信息,区块 索引1-N相应于相同区块类别。TO时,承载起始(标称)扫描顺序A1并且利用起始(标 称)扫描顺序A1扫描正被处理的数据区块中位于每个位置的相关数据。举例来说,在收集 期CP1期间,利用传统锯齿扫描顺序扫描位于正被处理的数据区块BKi-BKN的每个位置的已 量化系数。在收集期CP1期间处理每个数据区块BKi-BKN时,当必要时则记录或更新位于 每个位置的特性信息。图6为具有多个位置的4X4数据区块,其中所述多个位置由位置索 引0-15、扫描顺序以及已调整扫描顺序索引。假设在收集期CP1、CP2以及CP3期间每个数 据区块具有区块大小4X4,如图6所示。TO时,使用图6子图⑶中所示扫描顺序A1。因 此,在收集期CP1中利用传统锯齿扫描顺序A1扫描每个将被处理的数据区块BKi-BK,。本发 明一个实施例中,已记录特性信息包括将被处理的数据区块中的非零相关数据的个数(例 如,非零已量化DCT系数)。此实施例的已记录特性信息可由以下方程式表示 上述方程式(1)中,NZi,b代表由区块索引b索引的数据区块中位于具有位置索引 i的位置的特性信息;NZi代表在收集期多个数据区块中(即相应于相同区块类别的P数据 区块)位于具有位置索引i的位置的已积累特性信息。另外,如果位于由区块索引b索引的 数据区块中的具有位置索引i的位置的相关数据(例如已量化DCT系数)为非零,则将预 设值(例如1)分配给特性信息NZi,b ;否则,将另一个预设值(例如0)分配给特性信息NZi, b。遵循扫描顺序A 1扫描每个数据区块BKi-BK,*的所有位置。当收集期CP1到期时,得到 位于具有位置索引0-15的位置的特性信息NZfNZu。换句话说,= NZ0j1+NZ0j2+. . . +NZQ, i5,NZi = NZi,i+NZi,2+...+NZi,i5 等。如上所述,通过积累在多个数据区块中产生于具有位置索引i的相同位置的非零 相关数据的个数,获得具有位置索引i的位置的特性信息NZ”当P远大于N时可规范化已 积累特性信息。举例来说,当最大已记录非零相关数据的个数超过预设临界值时,规范化所 有已记录特性信息(例如N&-NZJ。规范化的一个实施例为将已记录特性信息的已积累值 除以等于二的值。然而,此处仅用于解释本发明,并不能用于限制本发明。
本发明另一个实施例中,已记录特性信息包括位于正被处理的数据区块的每个位 置的非零相关数据的加权个数(例如非零已量化DCT系数)。另一种设计中,已记录特性信 息可由以下方程式表示
(2)上述方程式(2)中,位于由区块索引b索引的数据区块中具有位置索引i的位置 的特性信息NZi,b由加权因子2LA/M」进行调整。举例来说,设置M为4(即M = 4)用于宏模块的四个8X8数据区块。这样,没有 必要去重新排列代表已记录特性NZi的加权值;另外,通过移位(bit-shifting)特性信息 NZi,b并接着将已移位特性信息相加以得到已加权特性信息NZi的加权功能很容易实现。请参考图5,T1时(即收集期CP1结束时),根据已记录特性信息NZ^NZu w值调整 /重新排列扫描顺序A1。如图6子图(B)所示,得到已调整扫描顺序A2并且利用已调整扫 描顺序A2扫描位于正被处理的数据区块中的每个位置的相关数据,即紧接着收集期CP1的 收集期CP2中位于正被处理的数据区块BK’ rBK' N的每个位置的已量化系数。另外,通过 按升序或降序分类特性信息NZ^NZu的值得到已调整扫描顺序A2。另外,当分类特性信息NZfNZu的值时,本发明一个实施例的扫描方法保持扫描顺 序中至少一个位置固定,而不考虑扫描顺序的改变。以图2中所示扫描顺序为例,在扫描中 保持由0索引的位置(左上角位置处)的顺序不变,其中由0索引的位置通常存储DC系 数。然而,需要注意的是,这并不代表本发明的扫描方法必须保持扫描顺序的起始位置固定 于由0索引的位置。另外,当按升序或降序分类特性信息%-似15的值时,本发明一个实施例的扫描方 法在于保持具有相同非零相关数据的两个相邻位置的顺序不变。根据本发明另一个实施 例,已记录特性信息进一步包括位于正被处理的数据区块的每个位置的具有大小为一(即 +1或-1)的相关数据的个数。因此,当按升序或降序分类特性信息%_似15的值时,所述扫 描方法根据位于两个相邻位置具有大小为一的相关数据的个数分类具有相同非零相关数 据个数的两个相邻位置。类似的,当处理数据区块时,重复执行上述相同程序以根据已记录特性信息更新 扫描顺序。如图5所示,在接下来每个收集期CP2与CP3中记录或更新特性信息(例如位 于正被处理的数据区块中每个位置的非零相关数据个数或位于正被处理的数据区块中每 个位置的非零加权个数),并且根据已记录特性信息在调整时机(timing) T2或T3时分别调 整扫描顺序。另外,为了降低在每个调整时机分类已记录特性信息(例如在时间T1分类 NZ0-NZ15)的复杂度,提出一种在收集期中更新候选扫描顺序的替代设计。也就是说,当处理 每个数据区块时进一步更新候选扫描顺序。一个第一较佳实施例中,从尾位置至头位置检 查候选扫描,以判断是否需要交换两个相邻位置的顺序。此操作可由下面伪码表示for(i = Scan_Length-l ;i ≥ 0 ;i--)if(NZ_Count[i] > NZ_Count[i-1]+u)swap_scan(i, i-l)
简要来说,排列于候选扫描顺序中的位置总数等于扫描_长度(ScaruLength), 从尾位置(即NZ_C0unt[Scan_Length-l])至头位置(即NZ_CountW])检查候选扫描顺 序中定义的位置。请注意,若设置上述伪码中的参数u为大于零的正值,则参数u可以避 免两个相邻位置的顺序的不必要交换。特别的,非零参数u的功能可滤除或抑制非期望 的噪声干扰。举例来说,一些局部化(localized)扫描顺序特性有时可导致NZ_Count[i] > NZ_Count[i-l]0若经常利用局部化扫描顺序特性执行顺序交换,则会降低整体编码 性能。因此,只有当相应已记录特性信息之差足够大以满足不等式NZ_Coimt[i] >NZ_ Count [i-1]+u时,才会交换两个相邻位置的顺序。然而,上述参数u是可选的并且根据设计 的需要可以省略。举例来说,局部化扫描顺序特性可忽略的情况下,则设置参数u为等于零 的值。因此,当相应已记录特性信息之差满足不等式NZ_Count[i] >NZ_Count[i-l]时,交 换两个相邻位置的顺序。请注意,无论是否设着参数u为等于零的值,具有相同非零相关数 据个数的两个相邻位置的顺序保持不变。下面的实施例中省略参数u。若已记录特性信息彼此相同或者位于后面位置(即NZ_Coimt[i])的已记录特性 信息比位于前面位置(即NZ_Coimt[i-l])的已记录特性信息少,则不交换两个相邻位置 的顺序;然而,若位于后面位置(即NZ_Coimt[i])的已记录特性信息比位于前面位置(即 NZ_Count[i-l])的已记录特性信息多,则交换两个相邻位置的顺序。图7为通过从尾位置 至头位置检查候选扫描顺序而处理区块后更新候选扫描顺序的操作示意图。如图7所示, 用于4X4数据区块的决定于调整时机(例如图5所示T1)的扫描顺序具有下面的位置索 引顺序:0、4、1、2、5、8、12、9、6、3、7、10、13、14、11以及15。因此,利用决定于调整时机的扫 描顺序设置调整时机后面的收集期(例如图5所示收集期CP2)过程中的将被更新的候选 扫描顺序的起始设置,并且起始候选扫描顺序中排列的位置因此而具有降序的相应已记录 特性信息 NZ_Count[i] :10、9、7、7、7、6、4、1、0、0、0、0、0、0、0 以及 0。处理完一个数据区块 之后可更新特性信息。如图7中所示实施例,相应于位置索引0、4、5以及8的已记录特性 信息的值增加一。因此,当从尾位置至头位置检查候选扫描顺序时,交换由位置索引2与5 索引的位置的顺序,并且交换由位置索引1与5索引的位置的顺序,以使重新排列的候选扫 描顺序具有如下位置索引顺序:0、4、5、1、2、8、12、9、6、3、7、10、13、14、11以及15。收集期结束后重新排列候选扫描顺序,以获得实际上用于后面特性信息收集期中 的扫描数据区块中的已调整扫描顺序。请注意,收集期中候选扫描顺序的更新并不影响用 于扫描在相同收集期中处理的数据区块的实际扫描顺序。换句话说,只有当收集期到期时 (例如图5中T1、T2或T3)才调整实际扫描顺序。由于已经预先在收集期结束时重新排列 候选扫描顺序,因此可以通过根据已记录特性信息分类预先已更新候选扫描顺序而快速获 得实际扫描顺序。因此可以极大地降低分类复杂度。上述实施例仅为在收集期中实现候选扫描顺序更新的可能实施方式中的一种。更 新候选顺序的第二较佳实施例中,从头位置至尾位置检查候选扫描顺序,以判断是否需要 交换两个相邻位置的顺序。此操作可由下面伪码表示for(I = 0 ;1 < Scan_Length ;i++)if(NZ_Count[i] < NZ_Count[i+1]+u)swap_scan (i, i+1)简要来说,排列于候选扫描顺序中的位置总数等于扫描_长度(ScaruLength),从头位置(即NZ_Count W])至尾位置(即NZ_C0unt[Scan_Length-l])检查候选扫描顺序中 定义的位置。类似的,若设置上述伪码中的参数u为大于零的正值,则参数u可以避免两个 相邻位置的顺序的不必要交换。因此,只有当相应已记录特性信息之差足够大以满足不等 式NZ_Count[i] <NZ_Count[i+l]+u时,才会交换两个相邻位置的顺序。所属技术领域技 术人员在阅读上述内容之后应可了解可选参数u的特征,因此省略进一步描述。下面的实 施例中省略参数u。若已记录特性信息彼此相同或者位于前面位置(即NZ_Coimt[i])的已记录特性 信息比位于后面位置(即NZ_Coimt[i+l])的已记录特性信息多,则不交换两个相邻位置的 顺序;然而,若位于前面位置(即NZ_Coimt[i])的已记录特性信息比位于后面位置(即NZ_ Count [i+1])的已记录特性信息少,则交换两个相邻位置的顺序。图8为通过从头位置至尾 位置检查候选扫描顺序而处理区块后更新候选扫描顺序的操作方法示意图。如图8所示, 用于4X4数据区块的决定于调整时机(例如图5所示T1)的扫描顺序具有下面的位置索引 顺序:0、4、1、2、5、8、12、9、6、3、7、10、13、14、11以及15。因此,利用决定于调整时机的扫描 顺序设置调整时机后面的收集期(例如图5所示收集期CP2)过程中的将被更新的候选扫 描顺序的起始设置,并且起始候选扫描顺序中的位置因此而具有降序的相应已记录特性信 息 NZ_Count[i] :10、9、7、7、7、6、4、1、0、0、0、0、0、0、0 以及 0。处理完一个数据区块之后,如 图8中所示实施例,相应于位置索引0、4、5以及8的已记录特性信息的值增加一。因此,当 从头位置至尾位置检查候选扫描顺序时,仅交换由位置索引2与5索引的位置的顺序,并且 交换由位置索引1与5索引的位置的顺序,使得重新排列的候选扫描顺序具有如下位置索 引顺序:0、4、5、1、2、8、12、9、6、3、7、10、13、14、11以及15。类似的,收集期结束后,重新排列 预先已更新候选扫描顺序,以获得用于特性信息后面收集期中的已调整扫描顺序。尽管利 用反向检查方案更新的候选扫描顺序可能与利用正向检查方案更新的候选扫描顺序不同, 但是由重新排列这两个候选扫描顺序而获得的已调整扫描顺序可彼此相同。对于利用正向或反向检查方案更新候选扫描顺序的方法,必须比较每两个相邻位 置处的已记录特性信息(例如非零相关数据的个数或非零相关数据的加权个数),以决定 是否交换候选扫描顺序中两个位置的顺序。为了提高候选扫描顺序的更新效率,可以记录 或参考辅助信息。通过利用正向检查方案或反向检查方案更新候选扫描顺序的修改方法 中,记录相应于正被处理的每个数据区块的位置的标志值(flag value),以指示与标志值 相应的位置处的已记录特性信息(例如非零相关数据的个数或非零相关数据的加权个数) 是否改变。举例来说,若当在收集期处理数据区块时,将相应于数据区块中特定位置的非零 相关数据的个数加一,则特定位置的标志值从起始值(例如0)改变为已调整值(例如1); 否则,标志值保持不变。根据特性信息更新候选扫描顺序包括相应于候选扫描顺序中的每 个位置检查标志值,以及仅当候选扫描顺序的两个相邻位置具有不同标志值时交换两个相 邻位置的顺序。通过从尾位置至头位置检查候选扫描顺序而处理区块后,更新候选扫描顺序的操 作方法可由以下伪码表示for(i = Scan_Length-l ;i ^ 0 ;i—)if ((NZ_Map[i] == l)&&(NZ_Map[i_l] ==0))if(NZ_Count[i] > NZ_Count[i_l]+u)
swap_scan (i, i~l)因此,只有当候选扫描顺序中位于两个相邻位置的前面位置的标志值储存“0”并 且当候选扫描顺序中位于两个相邻位置的后面位置的标志值储存“ 1”的时候,检验已记录 特性信息。如前所述,若设置上述伪码中的参数u为大于零的正值,则可选参数u可以避免 两个相邻位置的顺序的不必要交换。可选参数U的特征已描述清楚,因此省略进一步描述。 下面实施例中省略参数U。图9为通过从尾位置至头位置检查候选扫描顺序而处理区块后更新候选扫描顺 序的操作方法示意图。处理一个数据区块后可更新特性信息(如上所述)。图9所示实施 例中,将相应于位置索引0、4、5以及8的已记录特性信息的值加一。因此,相应标志值储存 非零值(例如1)。当从尾位置至头位置检查候选扫描顺序时,因为两个相邻标志值中前面 标志值与后面标志值没有分别储存“0”与“1”((NZ_Map[i-l] == 0)&&(NZ_Map[i]== 1)),因此不检查位于由位置索引15、11、14、13、10、7、3、6、9、12以及8而索引的位置的已记 录特性信息;因为相应于位置索引2的标志值储存“0”并且相应于位置索引5的标志值储 存“1”,因此检查位于由位置索引2与位置索引5索引的位置的已记录特性信息。接着,因 为位于后面位置的已记录特性信息大于位于前面位置的已记录特性信息,因此交换候选扫 描顺序中由位置索引2与位置索引5索引的位置的顺序。交换候选扫描顺序中由位置索引 2与位置索引5索引的位置的顺序之后,因为相应于位置索引1的标志值储存“0”并且相应 于位置索引5的标志值储存“1”,因此检查位于由位置索引1与位置索引5索引的位置的已 记录特性信息。因此而交换已更改候选扫描顺序中由位置索引1与位置索引5索引的位置 的顺序。因为标志值储存都为“1”,因此不检查位于由位置索引4和位置索引0索引的位置 的已记录特性信息。因此,重新排列的候选扫描顺序具有下列位置索引顺序0、4、5、1、2、8、 12、9、6、3、7、10、13、14、11 以及 15。通过从头位置至尾位置检查候选扫描顺序而更新候选扫描顺序的操作方法可由 以下伪码表示for(i = 0 ;i < Scan_Length ;i++)if ((NZ_Map[i] == 0)&&(NZ_Map[i+l] ==1))if(NZ_Count[i] < NZ_Count[i+1]+u)swap_scan (i, i+1)因此,只有当候选扫描顺序中位于两个相邻位置的前面位置的标志值储存“0”并 且当候选扫描顺序中位于两个相邻位置的后面位置的标志值储存“ 1”的时候,检验已记录 特性信息。如前所述,若设置上述伪码中的参数u为大于零的正值,则可选参数u可以避免 两个相邻位置的顺序的不必要交换。可选参数U的特征已描述清楚,因此省略进一步描述。 下面实施例中省略参数U。图10为通过从头位置至尾位置检查候选扫描顺序而处理区块后更新候选扫描顺 序的操作方法示意图。处理一个数据区块之后可更新特性信息(如上所述)。图10所示 实施例中,将相应于位置索引0、4、5以及8的已记录特性信息的值加一。因此,相应标志值 储存非零值(例如1)。当从头位置至尾位置检查候选扫描顺序时,因为两个相邻标志值中 前面标志值与后面标志值没有分别储存“0”与“1”,因此不检查位于由位置索引0、4以及 1而索引的位置的已记录特性信息;因为相应于位置索引2的标志值储存“0”并且相应于
12位置索引5的标志值储存“1”,因此检查位于由位置索引2与位置索引5索引的位置的已 记录特性信息。接着,检查已记录特性信息之后,交换候选扫描顺序中由位置索引2与位置 索引5索引的位置的顺序。交换候选扫描顺序中由位置索引2与位置索引5索引的位置的 顺序之后,因为相应于位置索引2的标志值储存“0”并且相应于位置索引8的标志值储存 “1”,因此检查位于由位置索引2与位置索引8索引的位置的已记录特性信息。然而,此实 施例中,因为相应于位置索引2与位置索引8的已记录特性信息的值彼此相同,所以由位置 索引2与位置索引8索引的位置的顺序并不改变。因为标志值储存都为“0”,因此不检查由 余下位置索引12、9、6、3、7、10、13、14、11以及15索引的的位置的已记录特性信息。因此, 重新排列的候选扫描顺序具有下列位置索引顺序0、4、5、1、2、8、12、9、6、3、7、10、13、14、11 以及15。请参考图11。图11为根据本发明一个实施例基于变换式数字数据处理装置 的方块示意图。基于变换式数字数据处理装置1100支持固定扫描顺序与条件-调整 (conditionally-adjusted)扫描顺序,并且选择性的利用固定扫描顺序或条件-调整扫 描顺序处理基于变换式数字数据。基于变换式数字数据处理装置1100包括第一存储模块 1102、第二存储模块1104、第一处理模块1106、第二处理模块1108、第三处理模块1110以 及第四处理模块1112,其中,第一存储模块1102用于储存扫描顺序,第二存储模块1104用 于储存特性信息,第一处理模块1106用于将特性信息记录于第二存储模块1104中,第二处 理模块1108用于调整扫描顺序,第三处理模块1110用于处理基于变换式数字数据,第四处 理模块1112用于决定执行固定扫描顺序与条件-调整扫描顺序其中之一,以处理基于变换 式数字数据。请注意,根据设计的需要,可利用硬件、软件或硬件软件的组合来实施第一、第 二、第三以及第四处理模块1106、1108、1110以及1112。此实施例中,第四处理模块1112参考将被处理的基于变换式数字数据的视频或 图像标准,用于决定执行固定扫描顺序与条件-调整扫描顺序其中之一,以处理基于变换 式数字数据。另外,只有当选择条件-调整扫描顺序处理基于变换式数字数据时,才使能用 于得到条件-调整扫描顺序的第二存储模块1104、第一处理模块1106以及第二处理模块 1108。换句话说,当基于变换式数字数据处理装置1100利用传统方法(即选择固定扫描顺 序处理基于变换式数字数据)处理基于变换式数字数据时,则不需要相关于条件-调整扫 描顺序的数据处置(data handling)。所属技术领域技术人员已熟知利用固定扫描顺序(即传统锯齿扫描顺序)处理基 于变换式数字数据的方法,因此省略进一步描述。类似的,因阅读以上描述后所属技术领域 技术人员可知晓相关于得到条件-调整扫描顺序与利用条件-调整扫描顺序处理基于变换 式数字数据的功能模块的操作与功能,因此省略进一步描述。简要来说,根据本发明的基于变换式数字数据处理扫描方法当处理数据区块时为 不同区块类别记录特性信息、根据特性信息调整区块类别的数据处理的扫描顺序并且根据 相应于区块类别的扫描顺序对当前数据区块执行数据处理,其中当前区块属于所述区块类 别。扫描方法可用于非整数基于变换式数字数据处理应用中或整数基于变换式数字数据 处理应用中。区块类别分为不同颜色成分(例如Y、Cb、以及Cr或亮度和色度)、不同区 块大小(例如16X16、8X16、16X8、8X8、4X8、8X4以及4X 4等)、不同区块处理模式 (例如内编码模式与间编码模式等)或不同变换类型(例如整数变换与Hadamard变换)。一个区块类别的扫描顺序并不需要与另一个区块类别的扫描顺序相同。举例来说,分层 (hierarchical)变换中的DC系数数据区块(例如包括预测为16 X 16模式的内编码宏模块 中亮度DC系数的4X4数据区块或包括色度DC系数的2X2数据区块)与AC系数数据区 块各自熵编码。由于DC系数数据区块与AC系数数据区块具有不同非零数据分布,因此利 用各自的扫描顺序用于编码DC系数数据区块与AC系数数据区块能够产生较佳的熵编码性 能。本发明的扫描方法根据特性信息有调教的调整区块类别的数据处理的扫描顺序, 其中,特性信息可为位于区块类别(例如4X4区块或8X8区块)的数据区块中每个位置 处的非零相关数据(例如非零已量化DCT系数)的个数,或者位于区块类别(例如4X4区 块或8X8区块)的数据区块中每个位置处的非零相关数据(例如非零已量化DCT系数) 的加权个数。另外,直接通过积累产生于数据区块中的每个位置处的非零相关数据得到特 性信息的情况下,在达到特定条件时执行已积累值的规范化。对于更新扫描顺序,可在特性信息的收集期实施候选扫描顺序更新方案,以降低 时机用于扫描数据区块更新扫描顺序的复杂度。另外,可利用反向检查方案或正向检查方 案对候选扫描顺序进行更新。另外,可通过在相应于特定区块类别的数据区块的每个位置处,以升序或降序分 类非零相关数据的个数或非零相关数据的加权个数来调整扫描顺序。当扫描顺序中两个相 邻位置具有不同非零相关数据个数或非零相关数据的加权个数时,交换扫描顺序中两个相 邻位置的顺序。然而,当两个相邻位置具有相同非零相关数据的个数或相同非零相关数据 的加权个数时,一种实施方式是保持两个相关位置的顺序不变,另一种实施方式是根据位 于两个相邻位置具有大小为一(即+1或-1)的相关数据的个数来分类两个相关位置。一 个特定实施方式中,保持扫描顺序中的至少一个位置相同,而不考虑扫描顺序的改变。具体 的,这种实施方式可概括为利用基于变换式数字数据处理的处理顺序决定方法,包括处理 数据区块时记录特性信息(例如正被处理的数据区块中位于每个位置的非零相关数据的 个数)、根据特性信息调整处理顺序(例如扫描顺序)、保持扫描顺序中的至少一个位置相 同而不考虑扫描顺序的改变以及根据处理顺序对当前数据区块执行数据处理。由于可根据从将被处理的区块数据得到的统计信息更新扫描顺序,因此不需要将 用于编码器中的扫描顺序传送至解码器,解码器利用与编码器相同的起始(标称)扫描顺 序。举例来说,传统锯齿扫描顺序或任何预设扫描顺序可用于作为解码器的起始(标称) 扫描顺序。换句话说,当解码器利用基于变换式数字数据处理的扫描方法时,可从统计信息 中得到期望的扫描顺序,其中从已编码比特流得到统计信息,已编码比特流产生于编码器。 因此,解码器可通过根据特性信息更新起始(标称)扫描顺序来获得已调整扫描顺序,且 扫描顺序的起始设置不需要经由已编码数据传送,其中特性信息从已解码量化DCT系数得 到,已编码数据产生于编码器。上述的实施例仅用来例举本发明的实施态样,以及阐释本发明的技术特征,并非 用来限制本发明的范畴。本领域普通技术人员可依据本发明的精神轻易完成的改变或均等 性的排列均属于本发明所主张的范围,本发明的权利范围应以权利要求为准。
权利要求
一种基于变换式数字数据处理的扫描方法,其特征在于,包括当处理数据区块时,分别为不同的区块类别记录特性信息;根据所述特性信息调整所述区块类别的数据处理的扫描顺序;以及根据相应于一个区块类别的一个扫描顺序对当前数据区块执行所述数据处理,其中所述当前数据区块属于所述一个区块类别。
2.根据权利要求1所述的基于变换式数字数据处理的扫描方法,其特征在于,所述区 块类别分为不同颜色成分、不同区块大小、不同区块处理模式或不同变换类型。
3.根据权利要求1所述的基于变换式数字数据处理的扫描方法,其特征在于,所述特 性信息包括正被处理的数据区块中位于每个位置的非零相关数据的个数。
4.根据权利要求3所述的基于变换式数字数据处理的扫描方法,其特征在于,根据所 述特性信息调整所述区块类别的数据处理的扫描顺序的步骤包括当所述特性信息的特定收集期到期时,基于所述特性信息调整相应区块类别的扫描顺序。
5.根据权利要求4所述的基于变换式数字数据处理的扫描方法,其特征在于,调整所 述相应区块类别的所述扫描顺序的步骤包括通过以升序或降序分类位于所述数据区块的每个位置处的非零相关数据的所述个数 来调整所述扫描顺序。
6.根据权利要求5所述的基于变换式数字数据处理的扫描方法,其特征在于,分类位 于所述数据区块的每个位置处的非零相关数据的所述个数的步骤包括当所述扫描顺序中的两个相邻位置具有不同非零相关数据的个数时,交换所述扫描顺 序中的所述两个相邻位置的顺序。
7.根据权利要求6所述的基于变换式数字数据处理的扫描方法,其特征在于,所述已 记录特性信息进一步包括位于正被处理的所述数据区块的每个位置的具有大小为一的相 关数据的个数;并且分类位于所述数据区块的每个位置的非零相关数据的所述个数的步骤 进一步包括当两个相邻位置具有相同非零相关数据的个数时,根据位于所述两个相邻位 置处具有大小为一的相关数据的个数来分类所述两个相邻位置。
8.根据权利要求4所述的基于变换式数字数据处理的扫描方法,其特征在于,根据所 述特性信息调整所述区块类别的数据处理的扫描顺序的步骤进一步包括在所述特性信息的所述特定收集期中产生候选扫描顺序,并且根据所述特性信息,通 过交换所述候选顺序的两个相邻位置的顺序,更新所述候选扫描顺序,其中所述候选扫描 顺序的两个相关位置具有不同非零相关数据的个数;以及当所述特定收集期到期时,根据所述候选扫描顺序与所述特性信息重新排列所述扫描 顺序。
9.根据权利要求8所述的基于变换式数字数据处理的扫描方法,其特征在于,根据所 述特性信息调整所述区块类别的数据处理的扫描顺序的步骤进一步包括在所述特性信息的所述特定收集期中,记录正被处理的所述数据区块的每个位置处的 标志值,以指示位于相应于所述标志值的位置处的非零相关数据的所述个数是否改变;其中根据所述特性信息更新所述候选扫描顺序的步骤进一步包括检查位于正被处理的所述数据区块的每个位置处的所述标志值;以及只有当所述候选扫描顺序的所述两个相邻位置具有不同标志值时才交换所述两个相 邻位置的所述顺序。
10.根据权利要求3所述的基于变换式数字数据处理的扫描方法,其特征在于,当非零 相关数据的最大个数超过预设临界值时,规范化所述已记录特性信息。
11.根据权利要求1所述的基于变换式数字数据处理的扫描方法,其特征在于,所述特 性信息包括位于正被处理的数据区块的每个位置处的非零相关数据的加权个数。
12.根据权利要求11所述的基于变换式数字数据处理的扫描方法,其特征在于,根据 所述特性信息调整所述区块类别的数据处理的扫描顺序的步骤包括当所述特性信息的特定收集期到期时,基于所述特性信息调整相应区块类别的扫描顺序。
13.根据权利要求12所述的基于变换式数字数据处理的扫描方法,其特征在于,调整 所述相应区块类别的所述扫描顺序的步骤包括通过以升序或降序分类位于所述数据区块的每个位置处的非零相关数据的所述加权 个数来调整所述扫描顺序。
14.根据权利要求13所述的基于变换式数字数据处理的扫描方法,其特征在于,扫描 位于所述数据区块的每个位置处的非零相关数据的所述加权个数的步骤包括若所述扫描顺序中的两个相邻位置具有不同非零相关数据的加权个数,则交换所述扫 描顺序中所述两个相邻位置的顺序。
15.根据权利要求14所述的基于变换式数字数据处理的扫描方法,其特征在于,所述 已记录特性信息进一步包括位于所述数据区块的每个位置处的具有大小为一的相关数据 的个数;并且分类位于所述数据区块的每个位置处的非零相关数据的所述加权个数的步骤 进一步包括当两个相邻位置具有相同的非零相关数据的加权个数时,根据位于所述两个位置的具 有大小为一的相关数据的个数来分类所述两个相邻位置。
16.根据权利要求12所述的基于变换式数字数据处理的扫描方法,其特征在于,根据 所述特性信息调整所述区块类别的数据处理的扫描顺序的步骤进一步包括在所述特性信息的所述特定收集期中,产生候选扫描顺序,并且根据所述特性信息通 过交换所述候选扫描顺序的两个相邻位置的顺序来更新所述候选扫描顺序,其中所述候选 扫描顺序的两个相邻位置具有不同的非零相关数据的加权个数;其中当所述特定收集期到期时,根据所述候选扫描顺序与所述特性信息重新排列所述 扫描顺序。
17.根据权利要求16所述的基于变换式数字数据处理的扫描方法,其特征在于,根据 所述特性信息调整所述区块类别的数据处理的扫描顺序的步骤进一步包括在所述特性信息的所述特定收集期中,记录所述数据区块的每个位置处的标志值,以 指示位于所述位置处的非零相关数据的所述个数是否改变,其中所述标志值相应于所述位 置;其中根据所述特性信息更新所述候选扫描顺序的步骤包括检查位于所述数据区块的每个位置处的所述标志值;以及只有当所述候选扫描顺序的所述两个相邻位置具有不同标志值时才交换所述两个相邻位置的所述顺序。
18.一种基于变换式数字数据处理的处理顺序决定方法,其特征在于,包括 当处理数据区块时记录特性信息;根据所述特性信息调整处理顺序;保持所述处理顺序中的至少一个位置固定,而不考虑所述处理顺序的改变;以及 根据所述处理顺序对当前数据区块执行数据处理。
19.根据权利要求18所述的基于变换式数字数据处理的处理顺序决定方法,其特征在 于,所述特性信息包括位于正被处理的数据区块中的每个位置的非零相关数据的个数。
20.一种基于变换式数字数据的处理装置,支持固定的扫描顺序与条件-调整扫描顺 序,并且选择性的利用所述固定扫描顺序或所述条件_调整扫描顺序处理基于变换式数字 数据,其特征在于,所述基于变换式数字数据处理装置包括第一存储模块,用于储存扫描顺序; 第二存储模块,用于储存特性信息;第一处理模块,用于将所述特性信息记录于所述第二存储模块; 第二处理模块,用于调整所述扫描顺序;以及 第三处理模块,用于处理所述基于变换式数字数据。
21.根据权利要求20所述的基于变换式数字数据的处理装置,其特征在于,进一步包括第四处理模块,用于决定执行所述固定扫描顺序与所述条件-调整扫描顺序其中之 一,以处理所述基于变换式数字数据;只有当选择所述条件_调整扫描顺序处理所述基于变换式数字数据时,才使能所述第 二存储模块、所述第一处理模块以及所述第二处理模块。
22.根据权利要求21所述的基于变换式数字数据的处理装置,其特征在于,所述第四 处理模块参考将被处理的所述基于变换式数字数据的视频或图像标准,用于决定执行所述 固定扫描顺序与所述条件_调整扫描顺序其中之一,以处理所述基于变换式数字数据。
全文摘要
一种基于变换式数字数据处理的扫描方法、处理装置以及处理顺序决定方法。其中,基于变换式数字数据处理的扫描方法包括当处理数据区块时,各自为不同区块类别记录特性信息;根据所述特性信息调整所述区块类别的数据处理的扫描顺序;以及根据相应于一个区块类别的一个扫描顺序对当前数据区块执行所述数据处理,其中所述当前数据区块属于所述一个区块类别。本发明所提供的基于变换式数字数据处理的扫描方法、处理装置以及处理顺序决定方法的效果之一在于可优化编码性能。
文档编号H04N7/30GK101854542SQ200910223339
公开日2010年10月6日 申请日期2009年11月18日 优先权日2008年11月20日
发明者李坤傧, 雷少民 申请人:联发科技股份有限公司