利用通过锯齿扫描的自适应上下文模型选择的代码化和解码的制作方法

文档序号:7540490阅读:161来源:国知局
利用通过锯齿扫描的自适应上下文模型选择的代码化和解码的制作方法
【专利摘要】存在一种代码化。所述代码化可以包括利用处理器基于源图片来准备视频压缩数据。所述准备可以包括处理生成的变换单元,包括生成具有有效性映射阵列的有效性映射,有效性映射阵列具有与变换阵列的y-x位置相对应的y-x位置。所述生成可以包括利用锯齿扫描样式来扫描有效性映射阵列中的多个有效性映射元素。所述生成还可以包括利用锯齿扫描样式来确定上下文模型,用于基于与有效性映射阵列中的有效性映射元素的至少一个代码化的邻居有效性映射元素相关联的值对多个有效性映射元素中的一个有效性映射元素进行代码化。还存在一种包括对代码化中生成的视频压缩数据进行处理的解码。
【专利说明】利用通过锯齿扫描的自适应上下文模型选择的代码化和解码
[0001]优先权
[0002]本发明要求Jian Lou等在2010年10月5日提交的名为“Adaptive ContextSelection for Zigzag Scan”的序列号61/389,932的美国临时专利申请的优先权的权益,通过引用将其公开全部合并于此。
[0003]相关申请的交叉引用
[0004]本申请与Jian Lou等在2011年10月5日提交的名为“Coding and DecodingUtilizing Context Model Selection with Adaptive Scan Pattern” 的序列号13/253,933的美国专利申请相关,上述申请要求Jian Lou等在2010年10月14日提交的名为 “Context Selection for Adaptive Scanning Pattern” 的序列号 61/393,198 的美国临时专利申请的优先权,通过引用将其公开全部合并于此。
【背景技术】
[0005]视频压缩利用块处理用于多种操作。在块处理中,相邻像素的块被分组到代码化单元,并且压缩操作将此像素组视为一个单元,以利用代码化单元内相邻像素之间的相关性。基于块的处理经常包括预测代码化和变换代码化。带有量化的变换代码化是一种类型的数据压缩,这种类型的数据压缩由于从源图片取得的变换块的量化经常丢弃与源图片中的变换块相关联的数据而通常“有损”,从而降低了其带宽要求,但是通常也导致从源图片的原始变换块的再现质量较低。
[0006]MPEG-4AVC,也被称为H.264,是利用块处理中的变换代码化的已建立的视频压缩标准。在H.264中,图片被划分为16 X 16像素的宏块(MB)。每个MB经常进一步被划分为较小的块。使用图片内/图片间预测来预测规模等于或小于MB的块,并且空间变换和量化一起被应用于预测残差。通常使用熵代码化方法(即,可变长度代码化或算术代码化)对残差的量化变换系数进行编码。H.264中引入上下文自适应二进制算术代码化(CABAC),以通过将自适应二进制算术代码化技术与一组上下文模型组合来提供基本无损的压缩效率。上下文模型选择在CABAC中在提供一定程度的自适应和减少冗余上起作用。H.264指定2D块上的两种扫描样式。锯齿扫描用于利用逐行扫描视频压缩技术代码化的图片,并且交替扫描用于利用隔行扫描视频压缩技术代码化的图片。
[0007]H.264使用块规模2X2、4X4和8X8的2D基于块的变换。基于块的变换将空间域的像素块转换成变换域中的系数块。然后量化将变换系数映射到有限集合。在量化之后,许多高频系数变为O。对于2D变换和量化操作之后具有至少一个非零系数的块,开展有效性映射,该有效性映射指定2D变换域内非零量化系数的位置。具体地,在给定量化的2D变换块的情况下,如果位置(y,x)的量化系数的值是非零,那么认为有效,并将“I”指派给关联的有效性映射的位置(y,x)。否则,将“O”指派给有效性映射中的位置(y,x)。在H.264中,CABAC用于对有效性映射中的每个元素进行代码化和解码。
[0008]HEVC (高效率视频代码化),继H.264之后开发的国际视频代码化标准,变换块规模从16X 16扩展到32X32像素,以有益于高清晰度(HD)视频代码化。在考虑HEVC的模型下,可以使得变换系数代码化和解码工具的集合能够用于熵代码化和解码。这些工具之中是自适应扫描方案被应用于有效性映射代码化和解码。如果有效性映射阵列规模大于8X8,则此方案自适应地在用于对有效性映射进行代码化和解码的两种扫描样式之间切换。
[0009]自适应扫描方案通过每个对角线(从左下角到右上角或从右上角到左下角的对
角线)在两个预定义的扫描样式之间切换来指示对有效性映射进行代码化和解码的扫描
顺序。切换在每个对角子扫描的端部发生,并且由两个计数器控制。第一计数器Cl跟踪位
于变换块的左下半的代码化有效性变换系数的数目。第二计数器c2跟踪位于变换块的右
上半的代码化有效性变换系数的数目。在使用两种扫描样式和两个计数器的情况下考虑
HEVC的模型实现带来了大量的计算复杂性和额外的存储器要求。这些复杂性包括跟踪位于
变换的左下半或右上半的代码化有效性变换系数的计数,执行分支操作以及对有效性映射
代码化和解码中的系数进行扫描选择。另一方面,自适应扫描方案仅实现了微不足道的性
能增益。或者,在减小对于与变换处理相关联的压缩数据的带宽要求方面没有提供实质增.、
Mo

【发明内容】

[0010]根据本发明的原理,存在提供利用锯齿扫描下的自适应上下文模型选择的代码化和解码的系统、方法和计算机可读介质(CRM)。通过利用锯齿扫描下的自适应上下文模型选择,减少了变换处理中的低效率。这些包括基于与计算复杂度相关联的开销的低效率,包括跟踪位于变换的左下半或右上半的代码化有效性变换系数的计数,执行分支操作和在有效性映射代码化和解码中进行系数的扫描选择。
[0011]根据本发明的第一原理,存在一种用于代码化的系统。所述系统可以包括处理器,该处理器被配置成基于源图片准备视频压缩数据。所述准备可以包括将源图片分区成代码化单元。所述准备还可以包括生成具有变换阵列的一个或多个变换单元。所述变换阵列可以包括作为条目被指派给变换阵列的y-x位置的变换系数。变换系数可以基于与代码化单元相关联的残差测量。所述准备可以包括处理所生成的变换单元。所述处理可以包括生成具有有效性映射阵列的有效性映射,其中有效性映射阵列具有与变换阵列的y-χ位置相对应的y-χ位置。所述处理还可以包括利用锯齿扫描样式扫描有效性映射阵列中的多个有效性映射元素。所述处理还可以包括利用锯齿扫描样式来确定上下文模型,用于基于与有效性映射阵列中的有效性映射元素的至少一个代码化的邻居有效性映射元素相关联的值对多个有效性映射元素中的一个有效性映射元素进行代码化。
[0012]根据本发明的第二原理,存在一种用于代码化的方法。所述方法可以包括基于源图片准备视频压缩数据。所述准备可以包括将源图片分区成代码化单元。所述准备还可以包括生成具有变换阵列的一个或多个变换单元。所述变换阵列可以包括作为条目被指派给变换阵列的y-χ位置的变换系数。变换系数可以基于与代码化单元相关联的残差测量。所述准备可以包括处理所生成的变换单元。所述处理可以包括生成具有有效性映射阵列的有效性映射,有效性映射阵列具有与变换阵列的y-χ位置相对应的y-χ位置。所述处理还可以包括利用锯齿扫描样式扫描有效性映射阵列中的多个有效性映射元素。所述处理还可以包括利用锯齿扫描样式来确定上下文模型,用于基于与有效性映射阵列中的有效性映射元素的至少一个代码化的邻居有效性映射元素相关联的值对多个有效性映射元素中的一个有效性映射元素进行编码。
[0013]根据本发明的第三原理,存在一种存储计算机可读指令的非临时性CRM,当计算机系统执行所述计算机可读指令时,执行一种用于代码化的方法。所述方法可以包括基于源图片准备视频压缩数据。所述准备可以包括将源图片分区成代码化单元。所述准备还可以包括生成具有变换阵列的一个或多个变换单元。所述变换阵列可以包括作为条目被指派给变换阵列的y-χ位置的变换系数。变换系数可以基于与代码化单元相关联的残差测量。所述准备可以包括处理所生成的变换单元。所述处理可以包括生成具有有效性映射阵列的有效性映射,有效性映射阵列具有与变换阵列的y-χ位置相对应的y-χ位置。所述处理还可以包括利用锯齿扫描样式扫描有效性映射阵列中的多个有效性映射元素。所述处理还可以包括利用锯齿扫描样式来确定上下文模型,用于基于与有效性映射阵列中的有效性映射元素的至少一个代码化的邻居有效性映射元素相关联的值对多个有效性映射元素中的一个有效性映射元素进行代码化。
[0014]根据本发明的第四原理,存在一种用于解码的系统。所述系统可以包括接口,该接口被配置为接收视频压缩数据。所述系统还可以包括处理器,该处理器被配置为处理接收到的视频压缩数据。接收到的视频压缩数据可以基于处理的变换单元,基于源图片。所述准备可以包括将源图片分区成代码化单元。所述准备还可以包括生成具有变换阵列的一个或多个变换单元。所述变换阵列可以包括作为条目被指派给变换阵列的y-χ位置的变换系数。变换系数可以基于与代码化单元相关联的残差测量。所述准备可以包括处理所生成的变换单元。所述处理可以包括生成具有有效性映射阵列的有效性映射,有效性映射阵列具有与变换阵列的y-χ位置相对应的y-χ位置。所述处理还可以包括利用锯齿扫描样式扫描有效性映射阵列中的多个有效性映射元素。所述处理还可以包括利用锯齿扫描样式来确定上下文模型,用于基于与有效性映射阵列中的有效性映射元素的至少一个代码化的邻居有效性映射元素相关联的值对多个有效性映射元素中的一个有效性映射元素进行代码化。
[0015]根据本发明的第五原理,存在一种用于解码的方法。所述方法可以包括接收视频压缩数据。所述方法还可以包括处理接收到的视频压缩数据。接收到的视频压缩数据可以基于处理的变换单元,基于源图片。所述准备可以包括将源图片分区成代码化单元。所述准备还可以包括生成具有变换阵列的一个或多个变换单元。所述变换阵列可以包括作为条目被指派给变换阵列的y-χ位置的变换系数。变换系数可以基于与代码化单元相关联的残差测量。所述准备可以包括处理所生成的变换单元。所述处理可以包括生成具有有效性映射阵列的有效性映射,有效性映射阵列具有与变换阵列的y-χ位置相对应的y-χ位置。所述处理还可以包括利用锯齿扫描样式扫描有效性映射阵列中的多个有效性映射元素。所述处理还可以包括利用锯齿扫描样式来确定上下文模型,用于基于与有效性映射阵列中的有效性映射元素的至少一个代码化的邻居有效性映射元素相关联的值对多个有效性映射元素中的一个有效性映射元素进行代码化。
[0016]根据本发明的第六原理,存在一种存储计算机可读指令的CRM,当计算机系统执行所述计算机可读指令时,执行一种用于解码的方法。所述方法可以包括处理接收到的视频压缩数据。接收到的视频压缩数据可以基于处理的变换单元,基于源图片。所述准备可以包括将源图片分区成代码化单元。所述准备还可以包括生成具有变换阵列的一个或多个变换单元。所述变换阵列可以包括作为条目被指派给变换阵列的y-x位置的变换系数。变换系数可以基于与代码化单元相关联的残差测量。所述准备可以包括处理所生成的变换单元。所述处理可以包括生成具有有效性映射阵列的有效性映射,有效性映射阵列具有与变换阵列的y-χ位置相对应的y-χ位置。所述处理还可以包括利用锯齿扫描样式扫描有效性映射阵列中的多个有效性映射元素。所述处理还可以包括利用锯齿扫描样式来确定上下文模型,用于基于与有效性映射阵列中的有效性映射元素的至少一个代码化的邻居有效性映射元素相关联的值对多个有效性映射元素中的一个有效性映射元素进行代码化。
[0017]根据在提供利用锯齿扫描下的自适应上下文模型选择的代码化和解码的系统、方法和CRM时的本发明的原理实现了这些和其他目的。根据附图以及下面优选实施例的详细描述,另外的特征、其性质和各种优点将是更明显的。
【专利附图】

【附图说明】
[0018]根据下面参照附图的描述,示例和公开的特征对于本领域的技术人员是明显的,在附图中:
[0019]图1是图示根据示例的通过锯齿扫描利用自适应上下文模型选择的代码化系统和解码系统的框图;
[0020]图2A是图示根据示例的用于有效性映射代码化和解码的锯齿扫描的扫描样式;
[0021]图2B是图示根据比较示例的比较目的的用于有效性映射代码化和解码的自适应分裂锯齿扫描的扫描样式;
[0022]图3是图示根据示例的在有效性映射代码化和解码中通过锯齿扫描的自适应上下文模型选择的模型;
[0023]图4A是图示根据示例的在有效性映射代码化和解码中固定模型选择的模型;
[0024]图4B是图示根据示例的在4X4阵列的有效性映射代码化和解码中固定模型选择的模型;
[0025]图4C是图示根据示例的在8X8阵列的有效性映射代码化和解码中固定模型选择的模型;
[0026]图5是图示根据示例的在锯齿扫描下利用自适应上下文模型选择准备代码化的有效性映射的方法的流程图;
[0027]图6是图示根据示例的用于在锯齿扫描下利用自适应上下文模型选择的代码化的方法的流程图;
[0028]图7是图示根据示例的用于在锯齿扫描下利用自适应上下文模型选择的解码的方法的流程图;以及
[0029]图8是图示根据示例的用于为在锯齿扫描下利用自适应上下文模型选择的代码化的系统和/或解码的系统提供平台的计算机系统的框图。
【具体实施方式】
[0030]为了简单和说明性目的,通过主要参考本发明的实施例、原理和示例来描述本发明。在下面的描述中,阐述了多个特定细节以便提供对本发明的全面理解。然而,容易明显的是,可以在没有这些特性细节的限定的情况下实践实施例。在其他实例中,没有详细描述一些方法和结构,以便避免不必要地混淆本描述。此外,下面描述了不同实施例。实施例可以按照不同组合一起使用或执行。
[0031]如在此使用的,术语“包括”意思是“至少包括”,但不限于术语“仅包括”。术语“基于”意思是“至少部分基于”。术语“图片”意思是等同于帧或等同于与帧相关联的场的图片,诸如作为隔行扫描视频帧的一组或两组隔行扫描行的场。术语“比特流”是数字数据流。术语“代码化”可以是指未压缩视频序列的编码。术语“代码化”也可以是指压缩视频比特流从一个压缩格式到另一压缩格式的转码。术语“解码”可以是指压缩视频比特流的解码。
[0032]如下示例和实施例所演示的,存在存储在计算机可读介质(例如,CRM)上用于在锯齿扫描下利用自适应上下文模型选择的代码化和解码的系统、方法和机器可读指令。参照图1,公开了一种内容分发系统100,包括在锯齿扫描下利用自适应上下文模型选择的代码化系统110和解码系统140。
[0033]在代码化系统110中,锯齿扫描下的自适应上下文模型选择通过将源图片分区成代码化单元并基于代码化单元处理变换单元而与基于源图片准备视频压缩数据相关联。
[0034]在解码系统140中,锯齿扫描下的自适应上下文模型选择通过将源图片分区成代码化单元并基于代码化单元处理变换单元而与解码接收到的视频压缩信息相关联,该视频压缩信息是在基于源图片准备视频压缩数据时在锯齿扫描下利用自适应上下文模型选择而准备的。
[0035]变换单元的代码化可以包括三个方面:(I)有效性映射代码化,(2)非零系数水平代码化,和(3)非零系数符号代码化。根据示例,基于与代码化单元相关联的残差测量,通过生成具有包括作为条目被指派给变换阵列的y-x位置的变换系数的变换阵列的变换单元,在生成视频压缩数据时处理变换单元。生成的变换单元的处理可以包括生成具有有效性映射阵列的有效性映射,所述有效性映射阵列具有与变换阵列的y-χ位置相对应的y-x位置。生成有效性映射可以包括检查所生成的变换单元内的变换系数。有效性映射的代码化可以包括利用锯齿扫描样式来扫描有效性映射阵列中的多个有效性映射元素。所述生成还可以包括确定用于对有效性映射元素进行代码化的上下文模型。在下面详细描述锯齿扫描下的自适应上下文模型选择之后,更加详细地描述代码化系统110和解码系统140。
[0036]图2A是用于对变换单元(即,具有自适应上下文模型选择的变换阵列的变换单元)进行有效性映射代码化和解码的锯齿扫描200的示例。例如,图2A示出16X 16块的锯齿扫描。自适应上下文模型选择利用锯齿扫描,以确定处理诸如变换系数的变换元素的序列。根据示例,利用锯齿扫描样式200可以完成上下文模型的确定。可以基于与有效性映射阵列中的有效性映射元素的至少一个代码化的邻居有效性映射元素相关联的一个或多个值,选择上下文模型。通过比较,在考虑HEVC的模型中,使用自适应分割锯齿扫描。图2B是自适应分割锯齿扫描250的比较性示例,并且将在下面的比较性示例中更加详细地讨论。
[0037]根据示例,在锯齿扫描下的自适应上下文选择中,锯齿扫描200用于所有阵列规模的有效性映射代码化和解码。基于元素的代码化的邻居的值(O或I)来确定有效性映射中元素的上下文模型。作为自适应上下文模型确定的一个示例,在给定有效性映射的情况下,可以确定有效性映射中元素的上下文模型,如图3所示,表明用于确定代码化和解码的上下文模型的自适应上下文模型准则300,包括处理变换单元。所述处理可以包括生成具有与变换单元的阵列(诸如,大于8X8条目的有效性映射阵列)相对应的阵列的有效性映射。基于与基于源图片的代码化单元相关联的残差测量,有效性映射阵列可以包括作为条目指派给有效性映射阵列的y-x位置的有效性映射元素。对于位置(0,O)、(O, I)或(1,O)的有效性映射元素,如图3所示的阵列中,可以指派唯一的上下文模型。
[0038]对于位置(0,χ>1)的有效性映射元素,如图3所示的阵列中,可以基于位置(O, χ-l), (O, x-2), (I, x-2)以及在X是偶数情况下位置为(l,x-l)的元素的邻居的值(O或I),来选择上下文模型。
[0039]对于位置(y>l,0)的有效性映射元素,如图3所示的阵列中,可以基于位置(y>l,0)、(y-2, O), (y-2, I)以及在y是奇数情况下位置为(y_l,I)的元素的邻居的值(O或I),来选择上下文模型。
[0040]对于位置(y>0,x>0)的有效性映射元素,如图3所示的阵列中,可以基于位置(y-1, χ-l) > (y-1, χ) > (y, χ-l)以及下述位置元素的邻居的值(O或I)来选择上下文模型:在X大于I情况下的位置(y_l,x-2)和(y,χ-2);在χ大于I且y小于高度-1情况下的位置(y+1, x-2);在y大于I情况下的位置(y_2, χ-l)和(y-2, χ);在y大于I且χ小于宽度-1情况下的位置(y_2,x+l);在1与y之和是奇数且χ小于宽度-1情况下的位置(y-Ι,χ+1);以及在χ与I之和是偶数且I小于高度-1情况下的位置(y+1,χ-l)。
[0041]对于基于具有小于或等于8X8条目的变换阵列的变换单元的有效性映射,可以基于有效性映射的阵列中的位置来应用固定准则模型。图4A至图4C示出2X2、4X4和8X8有效性映射阵列的上下文模型。他们是基于以下假设设计的:对于相同规模的阵列,在有效性映射的特定位置的值(O或I)可以遵循类似统计模型。图4A、图4B和图4C中描述的上下文选择方案利用阵列位置作为上下文选择准则。然而,对于较大阵列规模,增加的阵列位置可能大大增加可能的上下文选择的数目,这样指示需要更多存储器。可以利用应用通过锯齿扫描的自适应上下文模型选择,以将大于8X8的阵列的上下文选择的数目保持在实际限度。
[0042]作为比较示例,在TMuC0.7中,考虑HEVC的一个模型实现了变换系数代码化和解码工具的集合。当熵代码化选项是CABAC/PIPE时,在默认情况下开启。在这些工具之中,如图2B所示,自适应分割锯齿扫描250应用于有效性映射代码化和解码。实验结果指示此自适应分割锯齿扫描250方案仅实现了微不足道的性能增益。但是,如与图2A所示的锯齿扫描相比,还引入了附加存储器和计算复杂度。
[0043]在TMuC0.7中,在默认情况下,熵代码化被设置为使用选项CABAC/PIPE,其合并了变换系数代码化和解码工具的集合。其他HEVC模型中的代码化和解码工具的集合包括自适应扫描方案,如果变换规模大于8 X 8,那么该自适应扫描方案自适应地在有效性映射代码化和解码的两种扫描方案之间切换。在TMuC0.7中,允许用于代码化和解码有效性映射的扫描顺序在每个对角线(即,从左下角到右上角或从右上角到左下角的对角线)在两种预定义的扫描样式之间切换。在每个对角子扫描的端部发生切换,且由两个计数器控制,Cl控制位于变换块的左下半的代码化有效性变换系数的数目,并且c2控制位于变换块的右上半的代码化有效性变换系数的数目。
[0044]图2B示出16X16块的自适应扫描的比较示例,其中,对角扫描可以是两种方式的任何一个。在当前实现TMuC0.7的有效性映射代码化和解码的情况下,与一个锯齿扫描样式和两个计数器C1和C2相比,此自适应扫描需要用于两个扫描样式的附加存储器。由于对于位于左下半或右上半的代码化有效性变换系数的数目进行计数,分支操作和最后有效性系数之前每个系数的扫描选择,也引入了附加计算复杂度。基于有效性映射中代码化的相邻元素来选择有效性映射中元素的上下文模型。由于对角扫描可以是两种方式的任一个,因此有必要检查右上元素或左下元素是否可用于有效性映射代码化和解码中的给定当前元素。这引起附加分支操作。实验结果指示此自适应扫描方案仅实现了微不足道的性能增益,但是需要附加存储器并增加了计算复杂度。
[0045]在根据本发明原理的示例中,当选择CABAC/PIPE时,作为锯齿扫描的锯齿扫描200用于有效性映射代码化和解码。对于较大的变换单元(即,具有大于8X8阵列的变换单元),可以修改TMuC0.7以替换锯齿扫描200下的自适应扫描。例如,图2示出16X16阵列的锯齿扫描。由于固定了扫描样式,因此也固定了上下文选择的相邻关系。不再存在与TMuC0.7种的自适应扫描相关联的附加存储器需求和计算复杂度,并且可以利用自适应上下文选择,诸如图3所示并且如上所述的自适应上下文准则300。
[0046]由于变换处理中的低效率被减小,因此利用锯齿扫描下的自适应上下文模型选择改善了代码化效率。这些包括基于与计算复杂度相关联的开销的低效率,包括跟踪位于变换的左下半或右上半的代码化有效性变换系数的计数,执行分支操作和在有效性映射代码化和解码中进行系数的扫描选择。
[0047]再参照图1,代码化系统110包括输入接口 130、控制器111、计数器112、帧存储器113、编码单元114、发射机缓冲器115和输出接口 135。解码系统140包括接收机缓冲器150、解码单元151、帧存储器152和控制器153。代码化系统110和解码系统140经由包括压缩比特流105的传输路径彼此耦合。代码化系统110的控制器111基于接收机缓冲器150的容量来控制要发射的数据量,并且可以包括其他参数,诸如每单位时间的数据量。控制器111控制编码单元114,以防止解码系统140的接收信号解码操作发生失败。控制器111可以是处理器,或者包括例如具有处理器、随机存取存储器和只读存储器的微型计算机。
[0048]例如,从内容提供者提供的源图片120可以包括视频帧序列,包括视频序列的源图片。源图片120可以是未压缩或压缩的。如果源图片120是未压缩,则代码化系统100可以与编码功能相关联。如果源图片120是压缩的,则代码化系统110可以与转码功能相关联。可以利用控制器111从源图片获得代码化单元。帧存储器113可以具有第一区域,该第一区域可以用于存储来自源图片120的传入源图片;以及第二区域,该第二区域可以用于读出源图片并将它们输出到编码单元114。控制器111可以向帧存储器113输出区域切换控制信号123。区域切换控制信号123可以指示是利用第一区域还是第二区域。
[0049]控制器111向编码单元114输出编码控制信号124。编码控制信号124使得编码单元114开始编码操作,诸如基于源图片来准备代码化单元。响应于来自控制器111的编码控制信号124,编码单元114开始读出准备的代码化单元,以进行高效编码处理,诸如预测代码化处理或变换代码化处理,其处理准备的代码化单元以基于与代码化单元相关联的源图片生成视频压缩数据。
[0050]编码单元114可以将生成的视频压缩数据打包成包括视频分组的打包基本流(PES)。编码单元114可以使用控制信息和节目时间戳(PTS)将视频分组映射到编码视频信号122,并且编码视频信号122可以被信号传输到发射机缓冲器115。
[0051]包括所生成的视频压缩数据的编码视频信号122可以被存储在发射机缓冲器115中。信息量计数器112递增,以指示发射机缓冲器115中的数据总量。随着从缓冲器检索和去除数据,计数器112可以递减,以反映发射机缓冲器115中的数据量。占据区域信息信号126可以被发射到计数器112,以指示来自编码单元114的数据是已经添加到发射机缓冲器115还是从发射机缓冲器115去除,从而可以使计数器112递增或递减。控制器111可以基于可以通信传输的占据区域信息126来控制由编码单元114产生的视频分组的产品,以便防止发射机缓冲器115中出现上溢或下溢。
[0052]信息量计数器112可以响应于由控制器111生成和输出的预设信号128被复位。在信息量计数器112被复位之后,可以对由编码单元114输出的数据进行计数,并且获得已经生成的视频压缩数据和/或视频分组的量。然后,信息量计数器112可以向控制器111提供表示获得的信息量的信息量信号129。控制器111可以控制编码单元114,使得在发射机缓冲器115处没有上溢。
[0053]解码系统140包括输入接口 170、接收机缓冲器150、控制器153、帧存储器152、解码单元151和输出接口 175。解码系统140的接收机缓冲器150可以临时存储压缩比特流105,压缩比特流105包括来自源图片120的基于源图片的接收视频压缩数据和视频分组。解码系统140可以读取与接收数据中的视频分组相关联的控制信息和呈现时间戳信息,并且输出巾贞数目信号163,巾贞数目信号163被应用于控制器153。控制器153可以以预定间间隔监管计数的帧数目,例如,每次解码单元151完成解码操作时。
[0054]当帧数目信号163指示接收机缓冲器150处于预定容量时,控制器153可以向解码单元151输出解码开始信号164。当帧数目信号163指示接收机缓冲器150小于预定容量时,控制器153可以等待计数的帧数目变得等于预定量的情况出现。当帧数目信号163指示接收机缓冲器150处于预定容量时,控制器153可以输出解码开始信号164。编码的视频分组和视频压缩数据可以基于与编码的视频分组相关联的呈现时间戳以单一顺序(即,增加或减小)被解码。
[0055]响应于解码开始信号164,解码单元151可以对总计与帧相关联的一个图片的数据和与来自接收机缓冲器150的视频分组相关联的图片相关联的压缩视频数据进行解码。解码单元151可以将解码的视频信号162写入帧存储器152中。帧存储器152可以具有解码视频信号被写入的第一区域和用于将解码图片160读出到输出接口 175的第二区域。
[0056]根据不同示例,代码化系统110可以在头端与转码器或编码设备合并或者以其他方式相关联,并且解码系统140可以与下游设备(诸如移动设备、机顶盒或转码器)合并或者相关联。在处理变换单元时,在利用锯齿扫描下的自适应上下文模型选择的代码化和/或解码方法中,单独或一起利用这些。下面参照描述方法500、600和700的图5、图6和图7更加详细地描述可以实现代码化系统110和解码系统140的各种方式。
[0057]方法500是一种用于利用锯齿扫描下的自适应上下文模型选择来准备代码化的有效性映射的方法。方法600是一种用于利用代码化单元和代码化的有效性映射进行代码化的方法,其中,代码化的有效性映射是利用使用锯齿扫描下的自适应上下文模型选择处理的变换单元准备的。方法700是一种用于利用通过利用代码化单元和代码化的有效性映射生成的压缩数据进行解码的方法,其中,代码化的有效性映射是利用使用锯齿扫描下的自适应上下文模型选择处理的变换单元准备的。对本领域普通技术人员明显的是,方法500,600和700表示广义说明并且可以添加其他步骤,且在不脱离方法500、600和700的范围的情况下可以去除、修改或重新布置现有步骤。参照图1描述的代码化系统110和解码系统140具体描述方法500、600和700。然而,应当理解,在不脱离方法500、600和700的范围的情况下可以在与代码化系统110和解码系统140不同的系统和/或设备中实现方法500,600 和 700。
[0058]参照图5中的方法500,在步骤501,与代码化系统110相关联的控制器111诸如通过四叉树格式将源图片分区成代码化单元。
[0059]在步骤502,基于与代码化单元相关联的残差测量,控制器111生成变换单元,包括具有变换阵列的至少一个变换单元,变换阵列包括作为条目被指派给变换阵列的y-x位置的变换元素。可以在预测处理之后生成变换单元,该预测处理也在生成视频压缩数据时使用。
[0060]在步骤503,控制器111通过生成具有有效性映射阵列的有效性映射来处理所生成的变换单元,该有效性映射阵列具有与变换阵列中的y-x位置相对应的y-χ位置。步骤503可以被进一步划分成步骤503A-503B,如下所示。
[0061]在步骤503A,控制器111和编码单元114利用锯齿扫描样式来扫描有效性映射阵列中的多个有效性映射元素。
[0062]在步骤503B,控制器111基于有效性映射中与有效性映射元素的至少一个邻居有效性映射元素相关联的值来确定用于对多个有效性映射元素中的一个有效性映射元素进行代码化的上下文模型。
[0063]在步骤503C,控制器111和编码单元114利用确定的上下文模型对有效性映射元素进行代码化,以形成代码化的有效性映射的有效性映射元素。此代码化处理可以是熵代码化处理,以将有效性映射的y-x阵列减小到较简单的矩阵。
[0064]参照图6中的方法600,在步骤601,代码化系统110的接口 130和帧存储器113接收包括源图片的源图片120。
[0065]在步骤602,控制器111准备代码化单元和变换单元,包括基于源图片的变换单元。可以如上参照图5所述执行该准备。
[0066]在步骤603,控制器111和编码单元114处理准备的变换单元,该准备的变换单元基于代码化单元来生成视频压缩数据。
[0067]在步骤604,控制器111和编码单元114对所生成的视频压缩数据进行打包。
[0068]在步骤605,控制器111和发射机缓冲器115经由接口 135在压缩比特流105中发射打包的视频压缩数据。
[0069]参照图7中的方法700,在步骤701,解码系统140经由接口 170和接收机缓冲器150接收包括视频压缩数据的压缩比特流105。
[0070]在步骤702,解码系统140经由接口 170和接收机缓冲器150接收与视频压缩数据相关联的残差图片。
[0071]在步骤703,解码单元151和控制器153处理接收到的视频压缩数据。
[0072]在步骤704,解码单元151和控制器153基于处理后的视频压缩数据和接收到的残差图片来生成重构的图片。[0073]在步骤705,解码单元151和控制器153对所生成的重构图片进行打包,并且然后将它们信号传输到帧存储器152。
[0074]在步骤706,控制器153经由接口 175以解码的信号180用信号传输所生成的重构的图片。
[0075]上述方法和操作的一些或全部可以作为存储在计算机可读存储介质上的机器可读指令(诸如工具、计算机程序等)提供,计算机可读存储介质可以是非临时性,诸如硬件存储设备或其他类型存储设备。例如,他们可以作为包括以源代码、目标代码、可执行代码或其他格式的程序指令的程序而存在。
[0076]计算机可读存储介质的示例包括传统计算机系统RAM、ROM、EPROM、EEPROM和磁盘或光盘或带。前述具体示例包括CD ROM上的程序分发。因此,应当理解,能够执行上述功能的任何电子设备可以执行上述列举的那些功能。
[0077]参照图8,示出平台800,在利用锯齿扫描下的自适应上下文模型选择的代码化或解码系统中,诸如代码化系统100和/或解码系统200,平台800可以用作计算设备。平台800也可以用于上游编码装置、转码器或下游设备(诸如机顶盒、手机、移动电话或其他移动设备)、可以利用锯齿扫描下的自适应上下文模型选择以及使用锯齿扫描下的自适应上下文模型选择处理的变换单元和关联代码化单元的转码器和其他设备与装置。可以理解,平台800的图示是广义的图示,且平台800可以包括附加组件,并且在不脱离平台800的范围的情况下可以去除和/或修改描述的组件中的一些组件。
[0078]平台800包括处理器801,诸如中央处理单元;显示器802,诸如监视器;接口 803,诸如简单输入接口和/或与局域网(LAN)、无线802.1lx LAN、3G或4G移动WAN或WiMaxWAN的网络接口 ;和计算机可读介质804。这些组件中的每一个可以操作地耦合到总线808。例如,总线 808 可以是 EISA、PC1、USB、火线(FireWire)、NuBus 或 PDS。
[0079]计算机可读介质(CRM),诸如CRM804可以是参与将指令提供给处理器801用于执行的任何适当介质。例如,CRM804可以是非易失性介质,诸如光或磁盘;易失性介质,诸如存储器;和传输介质,诸如同轴线缆、铜线和光纤。传输介质也可以采取声、光或射频波的形式。CRM804也可以存储其他指令或指令集,包括文字处理器、浏览器、电子邮件、即时消息收发、媒体播放器和电话代码。
[0080]CRM804也可以存储操作系统805,诸如MAC OS、MSffINDOffS, UNIX或LINUX ;应用806,网络应用、文字处理器、电子表格应用、浏览器、电子邮件、即时消息收发、媒体播放器(诸如游戏或移动应用(例如,“apps”));以及数据结构管理应用807。操作系统805可以是多用户、多处理、多任务、多线程、实时等。操作系统805也可以执行基本任务,诸如识别来自接口 803的输入,包括来自诸如键盘或键区的输入设备;向显示器802发送输出和跟踪在CRM804上的文件和目录;控制外围设备,诸如硬盘驱动、打印机、图像捕获设备;以及管理总线808上的业务。应用806可以包括用于建立和维护网络连接的各种组件,诸如用于实现通信协议(包括TCP/IP、HTTP、以太网、USB和FireWire)的代码或指令。
[0081]如上所述,对于非易失性存储器,诸如数据结构管理应用807的数据结构管理应用提供用于构建/更新计算机可读系统(CRS)架构的各种代码组件。在特定示例中,由数据结构管理应用807执行的一些或全部处理可以集成到操作系统805中。在特定示例中,处理可以至少部分地实现在数字电子电路中、计算机硬件、固件、代码、指令集或其任何组 由
口卞O
[0082]根据本发明的原理,存在提供用于在锯齿扫描下利用自适应上下文模型选择的代码化和解码的系统、方法和计算机可读介质(CRM)。通过在锯齿扫描下利用自适应上下文模型选择,可以减少变换处理中的低效率。这些包括基于另外与计算复杂度相关联的开销的低效率,包括跟踪位于变换的左下半或右上半的代码化有效性变换系数的计数,执行分支操作和在有效性映射代码化和解码中进行系数的扫描选择。
[0083]虽然遍及整个本公开具体描述了代表性示例,但是代表性示例在很宽的应用范围内具有实用性,并且上述讨论不意在限制性且不应被理解为是限制性。仅通过说明方式阐述在此使用的术语、描述和附图,而不意味着限制性。本领域的普通技术人员将认识到,在本发明的精神和范围内,许多变型是可能的。尽管已经参照示例描述了示例,但是在不脱离所附权利要求及其等同物描述的示例的范围的情况下,可以对所描述的示例进行各种修改。
【权利要求】
1.一种用于代码化的系统,所述系统包括: 处理器,所述处理器被配置为基于源图片来准备视频压缩数据,所述准备包括: 将所述源图片分区成代码化单元, 基于与所述代码化单元相关联的残差测量,来生成具有变换阵列的至少一个变换单元,所述变换阵列包括变换系数,所述变换系数作为条目被指派给所述变换阵列的y-x位置;以及 处理所生成的变换单元,所述处理包括: 生成具有有效性映射阵列的有效性映射,所述有效性映射阵列具有与所述变换阵列的所述y-χ位置相对应的y-χ位置, 利用锯齿扫描样式来扫描所述有效性映射阵列中的多个有效性映射元素,和 利用所述锯齿扫描样式来确定上下文模型,用于基于与所述有效性映射阵列中所述有效性映射元素的至少一个代码化邻居有效性映射元素相关联的值,来对所述多个有效性映射元素中的有效性映射元素进行代码化。
2.如权利要求1所述的 系统,其中,利用预定上下文模型,对所述有效性映射中具有y-x位置为(O,O)、(O,I)和(1,0)之一的有效性映射元素进行代码化。
3.如权利要求1所述的系统,其中,利用选定的上下文模型来对所述有效性映射阵列中具有y-χ位置为(θ,χ>?)的有效性映射元素进行代码化,其中通过与所述有效性映射阵列中具有y-x位置为(O, X-1)、(O, X-2)、(1,X-2)以及在X是偶数情况下y-x位置为(1,x_l)的至少一个邻居有效性映射元素相关联的值,来确定所述选定的上下文模型。
4.如权利要求1所述的系统,其中,利用选定的上下文模型来对所述有效性映射阵列中具有y-x位置为(y>i,o)的有效性映射元素进行代码化,其中通过与所述有效性映射阵列中具有y-x位置为(y-1,O)、(y-2, O)、(y-2, I)以及在y是奇数情况下y-χ位置为(y_l, I)的至少一个邻居有效性映射元素相关联的值,来确定所述选定的上下文模型。
5.如权利要求1所述的系统,其中,利用选定的上下文模型来对所述有效性映射阵列中具有y-χ位置为(y>0,x>0)的有效性映射元素进行代码化,其中通过与所述有效性映射阵列中具有y-x位置为(y-1, x-1)、(y-1, X)、(y, x-1)以及下述y-χ位置的至少一个邻居有效性映射元素相关联的值来确定所述选定的上下文模型,所述y-x位置是: 在X大于I的情况下,(y-1, x-2)和(y, χ-2); 在X大于I且y小于所述有效性映射阵列的高度减去I的情况下,(y+1, χ-2); 在I大于I的情况下,(y-2, χ-1)和(y-2, x); 在y大于I且X小于所述有效性映射阵列的宽度减去I的情况下,(y-2, χ+1); 在X与y之和是奇数且X小于所述有效性映射阵列的宽度减去I的情况下,(y-Ι,χ+Ι);以及 在X与y之和是偶数且y小于所述有效性映射阵列的高度减去I的情况下,(y+Ι, χ-l)。
6.如权利要求1所述的系统,其中,处理所生成的变换单元包括:利用所确定的上下文模型来对所述有效性映射元素进行代码化。
7.如权利要求1所述的系统,其中,基于预测处理来生成与所述代码化单元相关联的残差测量,其中基于所述代码化单元对预测单元执行所述预测处理。
8.如权利要求1所述的系统,其中,所述有效性映射与有效性映射阵列规模8X8、16X16、32X32、64X64、128X128 和 256X256 条目中的一个相关联。
9.一种用于代码化的方法,所述方法包括: 利用处理器,基于源图片来准备视频压缩数据,所述准备包括: 将所述源图片分区成代码化单元, 基于与所述代码化单元相关联的残差测量,来生成具有变换阵列的至少一个变换单元,所述变换阵列包括变换系数,所述变换系数作为条目被指派给所述变换阵列的y-χ位置;以及 处理所生成的变换单元,所述处理包括: 生成具有有效性映射阵列的有效性映射,所述有效性映射阵列具有与所述变换阵列的所述y-χ位置相对应的y-χ位置, 利用锯齿扫描样式来扫描所述有效性映射阵列中的多个有效性映射元素,和利用所述锯齿扫描样式来确定上下文模型,用于基于与所述有效性映射阵列中所述有效性映射元素的至少一个代码化邻居有效性映射元素相关联的值,来对所述多个有效性映射元素中的有效性映射元素进行代码化。
10.一种存储计算机可读指令的非临时性计算机可读介质,当计算机系统执行所述计算机可读指令时,执行一种用 于代码化的方法,所述方法包括: 利用处理器,基于源图片来准备视频压缩数据,所述准备包括: 将所述源图片分区成代码化单元, 基于与所述代码化单元相关联的残差测量,来生成具有变换阵列的至少一个变换单元,所述变换阵列包括变换系数,所述变换系数作为条目被指派给所述变换阵列的y-χ位置;以及 处理所生成的变换单元,所述处理包括: 生成具有有效性映射阵列的有效性映射,所述有效性映射阵列具有与所述变换阵列的所述y-χ位置相对应的y-χ位置, 利用锯齿扫描样式来扫描所述有效性映射阵列中的多个有效性映射元素,和利用所述锯齿扫描样式来确定上下文模型,用于基于与所述有效性映射阵列中所述有效性映射元素的至少一个代码化邻居有效性映射元素相关联的值,来对所述多个有效性映射元素中的有效性映射元素进行代码化。
11.一种用于解码的系统,所述系统包括: 接口,所述接口被配置为接收视频压缩数据;以及 处理器,所述处理器被配置为处理接收到的视频压缩数据, 其中,所述接收到的视频压缩数据基于所处理的变换单元,基于源图片,通过包括以下内容的步骤来准备所处理的变换单元: 将所述源图片分区成代码化单元, 基于与所述代码化单元相关联的残差测量,来生成具有变换阵列的至少一个变换单元,所述变换阵列包括变换系数,所述变换系数作为条目被指派给所述变换阵列的y-χ位置;以及 处理所生成的变换单元,所述处理包括: 生成具有有效性映射阵列的有效性映射,所述有效性映射阵列具有与所述变换阵列的所述y-χ位置相对应的y-χ位置, 利用锯齿扫描样式来扫描所述有效性映射阵列中的多个有效性映射元素,和 利用所述锯齿扫描样式来确定上下文模型,用于基于与所述有效性映射阵列中所述有效性映射元素的至少一个代码化邻居有效性映射元素相关联的值,来对所述多个有效性映射元素中的有效性映射元素进行代码化。
12.如权利要求11所述的系统,其中,利用预定上下文模型对所述有效性映射中具有y-x位置为(O,O)、(O,I)和(1,0)之一的有效性映射元素进行代码化。
13.如权利要求11所述的系统,其中,利用选定的上下文模型来对所述有效性映射阵列中具有y-χ位置为(θ,χ>?)的有效性映射元素进行代码化,其中通过与所述有效性映射阵列中具有y-x位置为(0,χ-1)、(O,X-2)、(I, Χ-2)以及在X是偶数情况下y-X位置为(I, χ-l)的至少一个邻居有效性映射元素相关联的值,来确定所述选定的上下文模型。
14.如权利要求11所述的系统,其中,利用选定的上下文模型来对所述有效性映射阵列中具有y-x位置为(y>i,o)的有效性映射元素进行代码化,其中通过与所述有效性映射阵列中具有y-x位置为(y-1, O)、(y-2, O)、(y-2, I)以及在y是奇数情况下y-χ位置为(y-1, D的至少一个邻居有效性映射元素相关联的值,来确定所述选定的上下文模型。
15.如权利要求11所述的系统,其中,利用选定的上下文模型来对所述有效性映射阵列中具有y-x位置为(y>0,X>0)的有效性映射元素进行代码化,其中通过与所述有效性映射阵列中具有y-χ位置为(y-1, X-1)、(y-1, X)、(y, Χ-l)以及下述y_X位置的至少一个邻居有效性映射元素相关联的值来确定所述选定的上下文模型,所述y-x位置是: 在X大于I的情况下,(y-1, x-2)和(y, χ-2); 在X大于I且y小于所述有效性映射阵列的高度减去I的情况下,(y+Ι, χ-2); 在I大于I的情况下,(y-2, χ-l)和(y-2, x); 在y大于I且X小于所述有效性映射阵列的宽度减去I的情况下,(y_2,χ+1); 在X与y之和是奇数且X小于所述有效性映射阵列的宽度减去I的情况下,(y-Ι,χ+Ι);以及 在X与y之和是偶数且y小于所述有效性映射阵列的高度减去I的情况下,(y+1, χ-l)。
16.如权利要求11所述的系统,其中,处理所生成的变换单元包括:利用所确定的上下文模型对所述有效性映射元素进行代码化。
17.如权利要求11所述的系统,其中,基于预测处理来生成与代码化单元相关联的残差测量,其中基于所述代码化单元对预测单元执行所述预测处理。
18.如权利要求11所述的系统,其中,所述有效性映射与有效性映射阵列规模8X8、16X16、32X32、64X64、128X128 和 256X256 条目中的一个相关联。
19.一种用于解码的方法,所述方法包括: 接收视频压缩数据;以及 利用处理器处理接收到的视频压缩数据, 其中,所述接收到的视频压缩数据基于所处理的变换单元,基于源图片,并且通过包括以下内容的步骤来准备所处理的变换单元: 将所述源图片分区成代码化单元, 基于与所述代码化单元相关联的残差测量,来生成具有变换阵列的至少一个变换单元,所述变换阵列包括变换系数,所述变换系数作为条目被指派给所述变换阵列的y-χ位置; 处理所生成的变换单元,所述处理包括: 生成具有有效性映射阵列的有效性映射,所述有效性映射阵列具有与所述变换阵列的所述y-χ位置相对应的y-χ位置, 利用锯齿扫描样式来扫描所述有效性映射阵列中的多个有效性映射元素,和利用所述锯齿扫描样式来确定上下文模型,用于基于与所述有效性映射阵列中所述有效性映射元素的至少一个代码化邻居有效性映射元素相关联的值,来对所述多个有效性映射元素中的有效性映射元素进行代码化。
20.一种存储计算机可读指令的非临时性计算机可读介质,当计算机系统执行所述计算机可读指令时,执行用于解码的方法,所述方法包括: 接收视频压缩数据;以及 利用处理器处理接收到的视频压缩数据, 其中,所述接收到的视频压缩数据基于所处理的变换单元,基于源图片,并且通过包括以下内容的步骤来准备所处理的变换单元: 将所述源图片分区成代码化单元, 基于与所述代码化单元相关联的残差测量,来生成具有变换阵列的至少一个变换单元,所述变换阵列包括变换系数,所述变换系数作为条目被指派给所述变换阵列的y-χ位置;和 处理所生成的变换单元,所述处理包括: 生成具有有效性映射阵列的有效性映射,所述有效性映射阵列具有与所述变换阵列的所述y-χ位置相对应的y-χ位置, 利用锯齿扫描样式来扫描所述有效性映射阵列中的多个有效性映射元素, 利用所述锯齿扫描样式来确定上下文模型,用于基于与所述有效性映射阵列中所述有效性映射元素的至少一个代码化邻居有效性映射元素相关联的值,来对所述多个有效性映射元素中的有效性映射元素进行代码化。
【文档编号】H03M7/40GK103548354SQ201180048271
【公开日】2014年1月29日 申请日期:2011年10月5日 优先权日:2011年10月5日
【发明者】娄健, 克里特·帕努索波内, 王利民 申请人:通用仪表公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1