对有序熵切片执行平行cabac码处理的方法及装置的制作方法

文档序号:7732054阅读:148来源:国知局
专利名称:对有序熵切片执行平行cabac码处理的方法及装置的制作方法
技术领域
本发明涉及视频编码及译码领域,尤其涉及一种对有序熵切片(orderedentropy slices)执行平行基于上下文的自适应二进制算术码处理(Context-basedAdaptive Binary Arithmetic Coding, CABAC)码处理的方法及相应装置。
背景技术
基于上下文的自适应二进制算术码处理(Context-based Adaptive BinaryArithmetic Coding, CABAC)是一种强大的熵码处理工具,且被应用于压缩标准中。 可是,传统的序列基于上下文的自适应二进制算术码处理(sequentialCABAC)因其序列比 特级处理(serial order of bit-level processing)的特性,成为平行处理的瓶颈。近来, 因为当采用多核心处理器时平行CABAC能大幅加速编码流程,所以CABAC的平行化已成为 讨论课题。根据平行CABAC的现有技术的译码流,请参考A. Segall与J. Zhao于2008年4月 在瑞士 日内瓦发表在 ITU-T SGI 6/Q. 6 Doc. C0M16-C405 上的文章 “Entropy slices for parallel entropy decoding” 以及 J. Zhao 与 A. Segall 于 2008 年 7 月在德国柏林发表 在 ITU-T SGI 6/Q.6 Doc. VCEG-AI32 上的文章"Newresults using entropy slices for parallel decoding”,其中说明前文信息不能用于各熵切片中,其导致压缩效率比传统序 列CABAC较差。并且,在整个图像的所有宏块的CABAC剖析(parsing of all macroblocks) 中,整个图像的变换系数(transform coefficients)及移动向量差异(motion vector differences),需要被储存以供后续译码处理的存取。结果,平行处理可加快剖析处理;可 是,这将引起大量副作用,如X. Guo,Y. -W. Huang与S. Lei于2009年4月在日本横滨在ITU-T SGI 6/Q.6 Doc. VCEG-AK25发表的文章“Ordered entropy slices forparallel CABAC”中 所述。更具体地,对于软件或硬件的实施,图像的预测残余以及移动向量差异的缓冲 器大小与数据存取都非常大。另外,当缓冲器太大以致无法实施为芯片上静态随机存储 器(Static Random Access Memory, SRAM)时,缓冲器会被实施为芯片外动态随机存储器 (Dynamic Random Access Memory,DRAM)。结果,因为芯片外存储器的存取速度一般比芯片上存储器慢10倍,所以处理速度会显著降低。

发明内容
因此本发明的一个目的是对有序熵切片执行CABAC的一种方法,以及一种相应装 置,来解决上述的问题。本发明提供一种用于对有序熵切片执行平行CABAC码处理的方法,上述方法包 含提供图像内的多个熵切片给多个处理元件,其中熵切片具有基于因果约束的处理顺序, 以及每一熵切片包含多个宏块,且每一熵切片具有至少一宏块的熵切片高度;以及分别开 始每一处理元件,以根据因果约束对多个熵切片执行CABAC码处理,如此在至少一部分处 理时间内,至少一部分处理元件平行执行上述CABAC码处理。本发明另提供一种用于对有序熵切片执行平行CABAC码处理的装置,上述装置包 含多个处理元件;以及控制器。处理元件设置为处理图像内多个熵切片,其中每一熵切片 包含多个宏块;且每一熵切片具有至少一宏块的熵切片高度。另外,控制器设置为使熵切片 的处理顺序符合因果约束。另外,在控制器的控制下,处理元件根据因果约束分别开始对熵 切片执行CABAC码处理,如此至少一部分的处理元件,在至少一部分CABAC操作时间内平行 处理。本发明的上述及其它目的在本领域内的技术人员读完本发明的后续较佳实施方 式后无疑会变得显而易见,其中较佳实施方式以不同的图示来说明。


图1显示根据本发明的第一实施方式的用于对有序熵切片执行平行CABAC码处理 的装置的示意图;图2显示根据本发明的实施方式的对有序熵切片执行平行CABAC码处理的方法流 程图;图3显示根据不同于图2中实施方式的对应不同熵切片高度的宏块CABAC处理顺 序的示意图;图4显示根据图2实施方式的特殊例的示例熵切片;图5显示译码器执行的CABAC码处理的示例时序图,其中64个处理元件用来对64 个熵切片执行CABAC译码;图6显示编码器执行的CABAC码处理的示例时序图,其中64个处理元件用来对64 个熵切片执行CABAC编码;图7显示译码器执行的CABAC码处理的示例时序图,其中16个处理元件用来对64 个熵切片执行CABAC译码;图8显示编码器执行的CABAC码处理的示例时序图,其中16个处理元件用来对64 个熵切片执行CABAC编码;图9显示译码器执行的CABAC码处理的示例时序图,其中64个处理元件用来对64 个熵切片执行CABAC译码;图10显示编码器执行的CABAC码处理的示例时序图,其中64个处理元件用来对 64个熵切片执行CABAC编码;
图11显示译码器执行的CABAC码处理的示例时序图,其中16个处理元件用来对64个熵切片执行CABAC译码;图12显示编码器执行的CABAC码处理的示例时序图,其中16个处理元件用来对 64个熵切片执行CABAC编码。
具体实施例方式在说明书及权利要求书当中使用了某些词汇来称呼特定的元件。本领域的技术 人员应可理解,硬件制造商可能会用不同的名词来称呼同一个元件。本说明书及权利要求 书并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的准 贝U。在通篇说明书及权利要求书当中所提及的“包含”是开放式的用语,故应解释成“包含 但不限定于”。此外,“耦接”一词在此是包含任何直接及间接的电气连接手段。因此,若文 中描述第一装置耦接于第二装置,则代表第一装置可直接电气连接于第二装置,或通过其 它装置或连接手段间接地电气连接到第二装置。请参考图1,其显示根据本发明的第一实施方式的用于对有序熵切片执行平行码 处理的装置100的示意图,其中平行码处理可为平行译码或平行编码。如图1所示,装置 100包含多个处理元件112-1,112-2,...及112-Z (标示为“PE”)以及控制器114,其中总 线处于控制器114及处理元件112-1,112-2,...与112-Z之间,用于其间的通讯。总而言之,本实施方式的装置100能够执行例如视频编码或视频译码等视频处 理。更具体地,处理元件112-1,112-2,...及112-Z被设置来能够平行处理多个熵切 片,其中每一熵切片包含多个宏块。另外,控制器1 14被设置来控制处理元件112-1, 112-2,...及112-Z的操作。实施的细节根据图2作进一步说明。图2显示根据本发明的实施方式的对有序熵切片执行平行码处理的方法流程图。 如图2所示的实施方式可被应用于如图1所示的装置100。上述方法如下所述。在步骤910中,控制器114被设置来提供多个熵切片,其中上述熵切片的处理顺序
(causal constraint)。在步骤920中,在控制器114的控制下,处理元件112-1,112-2,...及112-Z根据 因果约束分别开始来执行多个熵切片的码处理流程,使得一定数量的熵切片被平行处理。更具体地,在控制器114的控制下,处理元件112-1,112-2,...及112-Z根据因果 约束分别开始来对熵切片执行码处理流程,使得一定数量的熵切片被平行处理。更进一步, 当Z (即处理元件的数量)等于或大于熵切片的数量,假定最后处理元件在第一处理元件结 束处理前开始处理,平行处理的熵切片的数量可扩展为所有熵切片的数量。根据本实施方式,装置100能够利用一个或更多既定延迟量来控制一些或所有熵 切片的码处理流程的开始时间点之间的间隔。举例来说,图像包含第一熵切片与第二熵切 片,第二熵切片位于第一熵切片的下方。本实施方式的装置100基于既定延迟量控制第一 熵切片的码处理流程的开始时间点与第二熵切片的码处理流程的开始时间点之间的间隔, 其中既定延迟量对应因果约束。图3显示根据不同于图2中实施方式的对应不同熵切片高度的宏块处理顺序的示 意图,其中图3中的各方块表示宏块。举例来说,熵切片高度H用宏块的个数来量测,且H 是一个正整数。根据第一例,假定H= 1,图3上部显示熵切片内的处理顺序例子,其中最左面的宏块是熵切片内要被处理的第一宏块,且处理顺序是从左到右。根据第二例,假定H = 2,然后显示熵切片内的处理宏块顺序的例子,其中第一宏块行(macroblock row)的最左的 宏块是熵切片内要处理的第一宏块,接着第一宏块行的左面第二个宏块以及第二宏块行最 左面的宏块分别是第二个与第三个被处理的宏块。根据第三例,假定H = 3,显示熵切片内 宏块要处理的顺序,其中熵切片内第一宏块行中最左面的宏块是要被处理的第一宏块。在图2显示的实施方式中的一些情形下(例如上述的第二与第三例),熵切片高度 等于多个宏块的高度的和,在处理每一熵切片之中,装置100在熵切片内利用斜光栅宏块 位置变换(diagonal raster MB location transitions),来分别处理熵切片的宏块。大体上,在本实施方式中,同一熵切片内第一宏块行中最左面的宏块MBk^是熵切 片内第一个被处理的。同一熵切片内第一宏块行中左面第二个的宏块MBu^是熵切片内 第二个被处理的。假定当前宏块[xn,yn]正在被处理,下一个要被处理的宏块的索引[χη+1, yn+1]可如下表示<formula>formula see original document page 8</formula>
其中当由宏块索引[xn+1,yn+1]指示的宏块位置表示在熵切片外时,该宏块位置就 被忽略接着执行下一个循环直到[Xn+1,yn+1]指示的宏块位置在熵切片内。结果,熵切片边 界上适当的宏块位置能够被后续的循环获取。根据本实施方式的变化例,既定延迟量可与不同时间依存(various timedependencies)有关,下面的描述提供两种方案方案A与方案B。这里,方案A的既定 延迟量的实施方式对应DaS块的处理时间,其中Da根据下列等式获取<formula>formula see original document page 8</formula>
上述等式决定延迟的最小量,所以任何大于或等于Da宏块的处理时间的延迟量都 能够被用作既定延迟量。另外,方案B的既定延迟量对应Db宏块的处理时间,其中Db根据下面等式获取<formula>formula see original document page 8</formula>
请注意,上述的第一例中,假定H= 1,Da= 1,Db = 2。上述的第二例中,假定H = 2,Da = 3, Db = 5。上述的第三例中,假定H = 3,Da = 6,Db = 9。图4显示视频图像中的示例熵切片,其中具有同样点图案密度表示的宏块位于同 一熵切片内,且H= 2。图5显示根据一实施方式的平行视频译码的示例时序示意图,其中用64个处理 元件(例如ΡΕ00, PEOl,PE02, PE03,...及PE63)来译码64个熵切片(例如熵切片00, 01,02,03,...及 63)。上述操作标示为 “REC ΜΒ0", "REC MBl", "REC MB2”...等等,其分 别表示宏块0 (MBO),宏块1 (MBl),宏块2 (MB2),...等等的译码操作,其中“REC”表示重建 (reconstruction)。对应Da宏块的处理时间的既定延迟量被应用于开始时间点的控制上。方案A实施方式中的因果约束确保处理每一宏块前,它上面的宏块(若存在)与 它左面的宏块(若存在)已被CABAC剖析。举例来说,熵切片03的特定宏块具有位于熵切 片02内上面的宏块。作为利用对应Da宏块的处理时间的既定延迟量的结果,在控制器114 的控制下,在上面的宏块被CABAC剖析后再处理该特定宏块。方案B实施方式的因果约束确保处理每一宏块前,其左上方宏块(若存在),其上 方宏块(若存在),其右上方宏块(若存在),以及左面的宏块(若存在)被完全重建。举例来说,假定熵切片03的特定宏块在熵切片02内有左上方宏块,上方宏块,右上方宏块,以 及左面宏块。作为利用对应Db宏块的处理时间的既定延迟量的结果,在控制器114的控制 下,特定宏块在左上方宏块,上方宏块,右上方宏块,以及左面宏块重建后处理。根据图5所示的时序示意图,当译码特定宏块时,装置100确保特定宏块的上面宏 块(若存在)以及特定宏块的左面宏块(若存在)已被剖析。请注意,对宏块进行CABAC 剖析操作需要其左面的宏块与其上面的宏块。在本实施方式中,内预测,移动向量预测,以 及CABAC前文信息在整个熵切片内都可用。仅仅前文初始化可能会导致压缩效率损失。请注意,熵切片内的每一宏块的CABAC处理时长(processing duration)可不一 样,举例来说,虽然图5中的时序图显示每一熵切片内的宏块CABAC译码在时间上是连续进 行的,一些宏块可能仍要等到上方的熵切片内的对应上面宏块被剖析后才译码,以遵守因 果约束。CABAC编码也是如此。根据本实施方式,高度平行化(high degree of parallelism)的目的可以达成。 虽然当采用因果约束时,会引入与熵切片的形状及图像的大小所相关的延迟,本发明的方 法与装置与传统的序列CABAC相比,确实能够减轻现有技术的压缩效率损失的问题,在上 述例子中,当潜伏期(latency)是主要考量点时,较佳的做法是设置H = 1来减少延迟。图6显示根据本发明的平行视频编码的时序示意图,其中64个处理元件(例 如PEOO, PEOl,PE02, PE03,...以及PE63)被用来编码64个熵切片(例如熵切片00,01, 02,03. · · R 63) ο 上述操作被标示为 “MD&REC MBO", “MD&REC MBl", “MD&RECMB2” ...等 等,其分别代表MBO,MBl, MB2,...等等的一些非CABAC编码操作(non-CABAC encoding operations),其中“MD”表示模式决定(mode decision),“REC”表示重建。对应Da宏块的 处理时间的既定延迟量用来控制开始时间点。图7显示根据另一实施方式的平行视频译码的时序示意图,其中16个处理元件 (例如PE00,PE01,PE02,PE03,...及PE15)用来译码64个熵切片(例如熵切片ES00,ES01, ES02,ES03,...及ES63)。如图7所示,每一处理元件负责一定数量的熵切片,且并不限定 分配同样数目的熵切片给每一处理元件。对应Da宏块的处理时间的既定延迟量用来控制 开始时间点。举例来说,在装置100开始剖析当前熵切片(例如熵切片ES03)之前,之前的 熵切片(例如熵切片ES02)的DaS块已被剖析。图8显示根据另一实施方式的平行处理视频编码的时序示意图,其中16个处理元 件(例如ΡΕ00, PE01,PE02,PE03,...及PE15)用来编码64个熵切片(例如熵切片ES00, ESOl,ES02, ES03,...及ES63)。对应Da宏块的处理时间的既定延迟量用来控制开始时间 点。结果,在装置100开始写入当前熵切片前(例如熵切片ES03),之前熵切片(例如熵切 片ES02)的DaS块已被写入。根据对应方案A的实施方式/变化例,本发明的方法及装置可支持整个熵切片的 内预测,移动向量预测以及前文信息,以增强压缩能力。虽然引入较长译码/编码潜伏期, 可是当处理元件的数量(即处理元件数Z)少于熵切片的数量η (ES)时(例如Z= 16及 η(ES) =64),潜伏期开销仅为整个潜伏期的很小比例。可是,仍需要图像大小的缓冲器来 储存预测残余及移动向量差异。根据上述揭露的实施方式的变化例,在编码Da宏块后,每一熵切片可被初始化为 之前熵切片的CABAC状态。在另一变化例中,每一熵切片可被初始化为既定的CABAC状态。在一些实施方式中,对应方案A的每一显示的写入操作(例如那些标示为“写入熵切片...” 或者“写入ES... ”)只要处理单元空闲无须DaS块延迟就可被开始,因为在模式决定与重 建中每一宏块的相邻宏块需要的信息已被获取。图9显示对应方案B的变化例的平行视频译码的时序示意图,其中64个处理元件 (例如PEOO, PEOl,PE02, PE03, · · ·以及PE63)用来译码64个熵切片(例如熵切片ES00, ES01, ES02, ES03,...以及ES63)。在本实施方式中,每一处理元件连续剖析及重建宏块, 以及对应Db宏块的处理时间的既定延迟量用来控制开始时间点。根据图9所示的时序图,当译码特定宏块时,装置100遵守因果约束,其确保左上 方宏块(若存在),上方宏块(若存在),右上方宏块(若存在)以及左面宏块(若存在) 都已被剖析与重建。请注意,宏块的完全重建需要其左面宏块,其左上方宏块,其上方宏块 以及右上方宏块。在本实施方式中,内预测,移动向量预测以及CABAC前文信息在整个熵切 片内都可用。类似地,可达成高度平行化的目标。虽然与图像大小及熵切片形状有关的延迟被 引入,但本发明的方法与装置能解决现有技术的问题例如高存储器成本,CABAC处理的 DRAM存取瓶颈以及压缩效率损失。对于较小潜伏期,较佳的做法是设置H= 1以减少延迟。
图10显示平行视频编码的示例时序图,其中64个处理元件(例如ΡΕ00,PEO1, PE02,PE03,...及PE63)用来编码64个熵切片(例如熵切片ES00,ES01,ES02,ES03,...及 ES63)。对应Db宏块的处理时间的既定延迟量用于控制开始时间点。图11显示根据如图9中所示的变化例的平行视频译码的时序示意图,其中16个 处理元件(例如ΡΕ00,PEOl,PE02, PE03,...及PE15)用来译码64个熵切片(例如熵切 片ES00, ESOl,ES02, ES03,...及ES63)。标示为"Proc. ES. · · ”的操作表示处理熵切片 “ES... ”,例如,包含在熵切片内逐宏块地剖析及重建每一宏块。对应Db宏块的处理时间的 既定延迟量用于控制开始时间点。举例来说,在装置100开始处理当前熵切片(例如熵切 片ES03)之前,前一熵切片(例如熵切片ES02)的Db宏块已被处理。图12显示根据如图10中所示的变化例的平行视频编码的时序示意图,其中16 个处理元件(例如PEOO, PEOl,PE02, PE03,...及PE15)用来编码64个熵切片(例如熵 切片ES00, ESOl,ES02, ES03,...及ES63)。标示为"Proc. ES. · · ”的操作表示处理熵切片 “ES... ”,例如,包含在熵切片内逐宏块的模式决定,重建,及写入每一宏块。对应Db宏块的 处理时间的既定延迟量用于控制开始时间点。举例来说,在装置100开始处理当前熵切片 (例如熵切片ES03)之前,前一熵切片(例如熵切片ES02)的Db宏块已被处理。根据方案B的实施方式,本发明的方法及装置能通过采用因果约束在整个熵切片 内支持内预测,移动向量预测,以及前文信息,以增强编码效率。虽然引入更长的译码/编 码潜伏期,整体潜伏期仍会比传统方法短,因为需要较少DRAM存取操作。当处理元件(例 如处理元件数量Z)的数量小于熵切片数量η (ES)(例如Z= 16且η (ES) =64)时,潜伏期 开销(latency overhead)是整个潜伏期的一小部分。在对应方案B的实施方式中,当处理元件的数量等于或大于熵切片的数量,例如 当Z Sn(ES)时,仅需要宏块级(MB-Ievel)的缓冲器来储存包含预测残余及移动向量差异 的宏块信息。另外,当Z<n(ES)时,仅需要宏块行级(MB-row-level)的缓冲器来储存宏 块fe息。
根据上面揭露的一些变化例,每一熵切片可在之前熵切片的Db宏块处理后被初始 化。举例来说,每一熵切片可被初始化作为预定的CABAC状态,或在处理之前熵切片的Db宏 块后被初始化为之前熵切片的CABAC状态。本发明虽用较佳实施方式说明如上,然而其并非用来限定本发明的范围,任何本 领域中技术人员,在不脱离本发明的精神和范围内,做的任何更动与改变,都在本发明的保 护范围内,具体以权利要求界定的范围为准。
权利要求
一种用于对有序熵切片执行平行CABAC码处理的方法,其特征在于,所述方法包含提供图像内的多个熵切片给多个处理元件,其中所述多个熵切片具有基于因果约束的处理顺序,以及每一所述多个熵切片包含多个宏块,且每一所述多个熵切片具有至少一宏块的熵切片高度;以及分别开始每一所述多个处理元件,以根据所述因果约束对对应熵切片执行CABAC码处理,如此在至少一部分CABAC码处理时间内,至少一部分所述多个处理元件平行执行所述CABAC码处理。
2.如权利要求1所述的用于对有序熵切片执行平行CABAC码处理的方法,其特征在于, 所述图像包含第一熵切片与第二熵切片,且所述第二熵切片位于所述第一熵切片下方;所 述方法进一步包含利用既定延迟量来控制所述第一熵切片的所述CABAC码处理的开始时间点与所述第 二熵切片的所述CABAC码处理的开始时间点之间的间隔,其中所述既定延迟量对应所述因 果约束。
3.如权利要求2所述的用于对有序熵切片执行平行CABAC码处理的方法,其特征在于, 所述熵切片的高度等于H个宏块的高度,H为正整数;以及所述既定延迟量对应所述第一熵 切片的至少DA宏块的处理时间,其中DA根据下列等式获取Da = 1+2+. . +(H-1)+H。
4.如权利要求2所述的用于对有序熵切片执行平行CABAC码处理的方法,其特征在于, 所述熵切片的高度等于H个宏块的高度,H为正整数;以及所述既定延迟量对应所述第一熵 切片的至少Db宏块的处理时间,其中Db根据下列等式获取Db = (1+2+. . . +(H-1)+H)+H。
5.如权利要求1所述的用于对有序熵切片执行平行CABAC码处理的方法,其特征在于, 所述多个熵切片的高度等于多个宏块的高度;且所述方法进一步包含在每一所述多个熵切片上执行所述CABAC码处理时,利用所述熵切片内的序列斜光栅 宏块位置转换,来对所述熵切片内的宏块分别执行所述CABAC码处理。
6.如权利要求1所述的用于对有序熵切片执行平行CABAC码处理的方法,其特征在于, 所述因果约束确保译码时,若存在上面宏块及左面宏块时,每一所述多个宏块在所述上面 宏块及所述左面宏块剖析后被剖析。
7.如权利要求1所述的用于对有序熵切片执行平行CABAC码处理的方法,其特征在于, 所述因果约束确保编码时,若存在上面宏块及左面宏块时,每一所述多个宏块在所述上面 宏块及所述左面宏块写入后被写入。
8.如权利要求1所述的用于对有序熵切片执行平行CABAC码处理的方法,其特征在于, 所述因果约束确保译码时,若存在左上面宏块、上面宏块、右上面宏块及左面宏块时,每一 所述多个宏块在所述左上面宏块、所述上面宏块处理、所述右上面宏块及所述左面宏块被 剖析及重建后被剖析。
9.如权利要求1所述的用于对有序熵切片执行平行CABAC码处理的方法,其特征在于, 所述因果约束确保编码时,若存在左上面宏块、上面宏块、右上面宏块及左面宏块时,每一 所述多个宏块在所述左上面宏块、所述上面宏块处理、所述右上面宏块及所述左面宏块被 模式决定、重建及写入处理后被写入。
10.如权利要求1所述的用于对有序熵切片执行平行CABAC码处理的方法,其特征在 于,所述CABAC码处理是CABAC译码或CABAC编码。
11.一种用于对有序熵切片执行平行CABAC码处理的装置,上述装置包含多个处理元件,设置为处理图像内多个熵切片,其中每一所述多个熵切片包含多个宏 块,且每一所述多个熵切片具有至少一个宏块的熵切片高度;以及控制器,设置为给所述多个处理元件提供所述多个熵切片,其中所述多个熵切片具有 基于因果约束的处理顺序;其中,在所述控制器的控制下,所述多个处理元件根据所述因果约束分别开始执行所 述多个熵切片的CABAC码处理,如此至少一部分的所述多个处理元件,在至少一部分CABAC 码处理时间内平行处理所述CABAC码处理。
12.如权利要求11所述的用于对有序熵切片执行平行CABAC码处理的装置,其特征在 于,所述图像包含第一熵切片与第二熵切片,所述第二熵切片位于所述第一熵切片的下方, 所述装置利用既定延迟量来控制所述第一熵切片的所述码处理的开始时间点与所述第二 熵切片的所述码处理的开始时间点之间的间隔,以及所述既定延迟量对应所述因果约束。
13.如权利要求12所述的用于对有序熵切片执行平行CABAC码处理的装置,其特征在 于,所述熵切片的高度等于H个宏块的高度,且H为正整数;以及所述既定延迟量对应所述 第一熵切片的块的处理时间,其中DA根据下列等式获取Da = 1+2+. . +(H-1)+H。
14.如权利要求12所述的用于对有序熵切片执行平行CABAC码处理的装置,其特征在 于,所述熵切片的高度等于H个宏块的高度,且H为正整数;以及所述既定延迟量对应所述 第一熵切片的Db宏块的处理时间,其中Db根据下列等式获取Db = (1+2+. . . +(H-1)+H)+H。
15.如权利要求11所述的用于对有序熵切片执行平行CABAC码处理的装置,其特征在 于,所述多个熵切片的高度等于多个宏块的高度;以及在每一熵切片的CABAC码处理中,所 述装置在所述熵切片内利用序列斜光栅宏块位置变换,来分别对所述熵切片的所述多个宏 块执行所述CABAC码处理。
16.如权利要求11所述的用于对有序熵切片执行平行CABAC码处理的装置,其特征在 于,所述因果约束确保译码时,若存在上面宏块及左面宏块时,每一所述多个宏块在所述上 面宏块及所述左面宏块剖析后被剖析。
17.如权利要求11所述的用于对有序熵切片执行平行CABAC码处理的装置,其特征在 于,所述因果约束确保编码时,若存在上面宏块及左面宏块时,每一所述多个宏块在所述上 面宏块及所述左面宏块写入后被写入。
18.如权利要求11所述的用于对有序熵切片执行平行CABAC码处理的装置,其特征在 于,所述因果约束确保译码时,若存在左上面宏块、上面宏块、右上面宏块及左面宏块时,每 一所述多个宏块于所述左上面宏块、所述上面宏块处理、所述右上面宏块及所述左面宏块 被剖析及重建后被剖析。
19.如权利要求11所述的用于对有序熵切片执行平行CABAC码处理的装置,其特征在 于,所述因果约束确保编码时,若存在左上面宏块、上面宏块、右上面宏块及左面宏块时,每 一所述多个宏块在所述左上面宏块、所述上面宏块处理、所述右上面宏块及所述左面宏块被模式决定、重建及写入处理后被写入。
20.如权利要求11所述的用于对有序熵切片执行平行CABAC码处理的装置,其特征在 于,所述CABAC码处理是CABAC译码或CABAC编码。
全文摘要
本发明公开了一种用于对有序熵切片执行平行CABAC码处理的方法,上述方法包含提供图像内的多个熵切片给多个处理元件,其中熵切片具有基于因果约束的处理顺序,以及每一熵切片包含多个宏块,且每一熵切片具有至少一宏块的熵切片高度;以及分别开始每一处理元件,以根据因果约束对多个熵切片执行CABAC码处理,如此在至少一部分CABAC处理时间内,至少一部分处理元件平行执行上述CABAC码处理。本发明还公开了一种用于对有序熵切片执行平行CABAC码处理的相关装置,包含多个处理元件以及一控制器。处理元件用来处理熵切片。另外,控制器用来给熵切片提供因果约束,并且控制处理元件的操作。
文档编号H04N7/26GK101836454SQ200980000556
公开日2010年9月15日 申请日期2009年8月31日 优先权日2008年12月3日
发明者郭峋, 黄毓文 申请人:联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1